aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-03-09 22:31:25 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-03-10 00:05:58 +0100
commit2ee54513196bad8e663e78ac695b6ffa0da49051 (patch)
tree4686b32c86fd484da0acfa35da69454659504cf7 /gnu
parentfe2b2f860e1fd7dfdc333f65893e65f131e290c7 (diff)
parent7b9a23ea315d2b4efde755c3bd0b1db3cacba9c2 (diff)
downloadguix-2ee54513196bad8e663e78ac695b6ffa0da49051.tar
guix-2ee54513196bad8e663e78ac695b6ffa0da49051.tar.gz
Merge branch 'master' into gnome-team
Diffstat (limited to 'gnu')
-rw-r--r--gnu/home/services/dotfiles.scm115
-rw-r--r--gnu/local.mk14
-rw-r--r--gnu/packages/admin.scm2
-rw-r--r--gnu/packages/bioconductor.scm27
-rw-r--r--gnu/packages/bioinformatics.scm2
-rw-r--r--gnu/packages/bittorrent.scm17
-rw-r--r--gnu/packages/check.scm14
-rw-r--r--gnu/packages/containers.scm64
-rw-r--r--gnu/packages/cran.scm227
-rw-r--r--gnu/packages/crates-io.scm81
-rw-r--r--gnu/packages/crates-web.scm339
-rw-r--r--gnu/packages/databases.scm78
-rw-r--r--gnu/packages/dezyne.scm6
-rw-r--r--gnu/packages/emacs-xyz.scm49
-rw-r--r--gnu/packages/fonts.scm34
-rw-r--r--gnu/packages/games.scm6
-rw-r--r--gnu/packages/gcc.scm10
-rw-r--r--gnu/packages/gimp.scm94
-rw-r--r--gnu/packages/gnome.scm3
-rw-r--r--gnu/packages/golang-compression.scm52
-rw-r--r--gnu/packages/golang-web.scm60
-rw-r--r--gnu/packages/golang-xyz.scm549
-rw-r--r--gnu/packages/golang.scm282
-rw-r--r--gnu/packages/gtk.scm2
-rw-r--r--gnu/packages/guile-xyz.scm78
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/image-viewers.scm8
-rw-r--r--gnu/packages/ipfs.scm4
-rw-r--r--gnu/packages/java.scm5
-rw-r--r--gnu/packages/kde-plasma.scm4
-rw-r--r--gnu/packages/lisp-xyz.scm66
-rw-r--r--gnu/packages/llvm.scm127
-rw-r--r--gnu/packages/lua.scm4
-rw-r--r--gnu/packages/machine-learning.scm36
-rw-r--r--gnu/packages/markup.scm4
-rw-r--r--gnu/packages/maths.scm10
-rw-r--r--gnu/packages/mc.scm5
-rw-r--r--gnu/packages/messaging.scm88
-rw-r--r--gnu/packages/multiprecision.scm57
-rw-r--r--gnu/packages/package-management.scm43
-rw-r--r--gnu/packages/patches/hubbub-maybe-uninitialized.patch40
-rw-r--r--gnu/packages/patches/libcss-check-format.patch13
-rw-r--r--gnu/packages/patches/libtommath-fix-linkage.patch55
-rw-r--r--gnu/packages/patches/libtommath-integer-overflow.patch140
-rw-r--r--gnu/packages/patches/netsurf-message-timestamp.patch4
-rw-r--r--gnu/packages/patches/podman-program-lookup.patch120
-rw-r--r--gnu/packages/patches/python-3.12-fix-tests.patch334
-rw-r--r--gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch52
-rw-r--r--gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch291
-rw-r--r--gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch20
-rw-r--r--gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch129
-rw-r--r--gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch28
-rw-r--r--gnu/packages/patches/sioyek-fix-build.patch82
-rw-r--r--gnu/packages/patchutils.scm4
-rw-r--r--gnu/packages/pdf.scm60
-rw-r--r--gnu/packages/perl6.scm916
-rw-r--r--gnu/packages/photo.scm4
-rw-r--r--gnu/packages/python-compression.scm80
-rw-r--r--gnu/packages/python-xyz.scm73
-rw-r--r--gnu/packages/python.scm387
-rw-r--r--gnu/packages/radio.scm5
-rw-r--r--gnu/packages/rust-apps.scm73
-rw-r--r--gnu/packages/scribus.scm14
-rw-r--r--gnu/packages/shells.scm8
-rw-r--r--gnu/packages/statistics.scm41
-rw-r--r--gnu/packages/telegram.scm107
-rw-r--r--gnu/packages/text-editors.scm4
-rw-r--r--gnu/packages/time.scm25
-rw-r--r--gnu/packages/tor-browsers.scm18
-rw-r--r--gnu/packages/version-control.scm14
-rw-r--r--gnu/packages/video.scm73
-rw-r--r--gnu/packages/vim.scm7
-rw-r--r--gnu/packages/web.scm131
-rw-r--r--gnu/packages/webkit.scm11
-rw-r--r--gnu/packages/wm.scm38
-rw-r--r--gnu/packages/xdisorg.scm4
-rw-r--r--gnu/packages/xiph.scm30
-rw-r--r--gnu/services/virtualization.scm5
-rw-r--r--gnu/system/linux-initrd.scm14
79 files changed, 4037 insertions, 2087 deletions
diff --git a/gnu/home/services/dotfiles.scm b/gnu/home/services/dotfiles.scm
index 6a740c42ce..823bdb03fb 100644
--- a/gnu/home/services/dotfiles.scm
+++ b/gnu/home/services/dotfiles.scm
@@ -20,17 +20,25 @@
(define-module (gnu home services dotfiles)
#:use-module (gnu home services)
#:use-module (gnu services)
+ #:use-module (gnu services configuration)
#:autoload (guix build utils) (find-files)
+ #:use-module (guix diagnostics)
#:use-module (guix gexp)
- #:use-module (guix records)
+ #:use-module (guix i18n)
#:use-module ((guix utils) #:select (current-source-directory))
#:use-module (srfi srfi-1)
#:use-module (ice-9 ftw)
+ #:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:export (home-dotfiles-service-type
+ home-dotfiles-configuration->files
+
home-dotfiles-configuration
home-dotfiles-configuration?
+ home-dotfiles-configuration-fields
+ home-dotfiles-configuration-layout
home-dotfiles-configuration-source-directory
+ home-dotfiles-configuration-packages
home-dotfiles-configuration-directories
home-dotfiles-configuration-excluded))
@@ -40,26 +48,64 @@
"\\.git"
"\\.gitignore"))
-(define-record-type* <home-dotfiles-configuration>
- home-dotfiles-configuration make-home-dotfiles-configuration
- home-dotfiles-configuration?
- (source-directory home-dotfiles-configuration-source-directory
- (default (current-source-directory))
- (innate))
- (directories home-dotfiles-configuration-directories ;list of strings
- (default '()))
- (excluded home-dotfiles-configuration-excluded ;list of strings
- (default %home-dotfiles-excluded)))
-
-(define (import-dotfiles directory files)
+(define %home-dotfiles-layouts
+ '(plain stow))
+
+(define (sanitize-layout value)
+ (if (member value %home-dotfiles-layouts)
+ value
+ (raise
+ (formatted-message
+ (G_ "layout field of home-dotfiles-configuration should be either 'plain
+or 'stow, but ~a was found.")
+ value))))
+
+(define list-of-strings?
+ (list-of string?))
+
+(define-maybe list-of-strings)
+
+(define-configuration/no-serialization home-dotfiles-configuration
+ (source-directory
+ (string (current-source-directory))
+ "The path where dotfile directories are resolved. By default dotfile
+directories are resolved relative the source location where
+@code{home-dotfiles-configuration} appears.")
+ (layout
+ (symbol 'plain)
+ "The intended layout of the specified @code{directory}. It can be either
+@code{'stow} or @code{'plain}."
+ (sanitizer sanitize-layout))
+ (directories
+ (list-of-strings '())
+ "The list of dotfiles directories where @code{home-dotfiles-service-type}
+will look for application dotfiles.")
+ (packages
+ (maybe-list-of-strings)
+ "The names of a subset of the GNU Stow package layer directories. When provided
+the @code{home-dotfiles-service-type} will only provision dotfiles from this
+subset of applications. This field will be ignored if @code{layout} is set
+to @code{'plain}.")
+ (excluded
+ (list-of-strings %home-dotfiles-excluded)
+ "The list of file patterns @code{home-dotfiles-service-type} will exclude
+while visiting @code{directory}."))
+
+(define (strip-stow-dotfile file-name directory)
+ (let ((dotfile-name (string-drop file-name (1+ (string-length directory)))))
+ (match (string-split dotfile-name #\/)
+ ((package parts ...)
+ (string-join parts "/")))))
+
+(define (strip-plain-dotfile file-name directory)
+ (string-drop file-name (+ 1 (string-length directory))))
+
+(define (import-dotfiles directory files strip)
"Return a list of objects compatible with @code{home-files-service-type}'s
value. Each object is a pair where the first element is the relative path
of a file and the second is a gexp representing the file content. Objects are
generated by recursively visiting DIRECTORY and mapping its contents to the
user's home directory, excluding files that match any of the patterns in EXCLUDED."
- (define (strip file)
- (string-drop file (+ 1 (string-length directory))))
-
(define (format file)
;; Remove from FILE characters that cannot be used in the store.
(string-append
@@ -73,7 +119,7 @@ user's home directory, excluding files that match any of the patterns in EXCLUDE
file)))
(map (lambda (file)
- (let ((stripped (strip file)))
+ (let ((stripped (strip file directory)))
(list stripped
(local-file file (format stripped)
#:recursive? #t))))
@@ -81,18 +127,25 @@ user's home directory, excluding files that match any of the patterns in EXCLUDE
(define (home-dotfiles-configuration->files config)
"Return a list of objects compatible with @code{home-files-service-type}'s
-value, generated following GNU Stow's algorithm for each of the
-directories in CONFIG, excluding files that match any of the patterns configured."
+value, excluding files that match any of the patterns configured."
+ (define stow? (eq? (home-dotfiles-configuration-layout config) 'stow))
(define excluded
(home-dotfiles-configuration-excluded config))
(define exclusion-rx
(make-regexp (string-append "^.*(" (string-join excluded "|") ")$")))
- (define (directory-contents directory)
- (find-files directory
- (lambda (file stat)
- (not (regexp-exec exclusion-rx
- (basename file))))))
+ (define* (directory-contents directory #:key (packages #f))
+ (define (filter-files directory)
+ (find-files directory
+ (lambda (file stat)
+ (not (regexp-exec exclusion-rx
+ (basename file))))))
+ (if (and stow? packages (maybe-value-set? packages))
+ (append-map filter-files
+ (map (lambda (pkg)
+ (string-append directory "/" pkg))
+ packages))
+ (filter-files directory)))
(define (resolve directory)
;; Resolve DIRECTORY relative to the 'source-directory' field of CONFIG.
@@ -103,15 +156,23 @@ directories in CONFIG, excluding files that match any of the patterns configured
(append-map (lambda (directory)
(let* ((directory (resolve directory))
- (contents (directory-contents directory)))
- (import-dotfiles directory contents)))
+ (packages
+ (home-dotfiles-configuration-packages config))
+ (contents
+ (directory-contents directory
+ #:packages packages))
+ (strip
+ (if stow? strip-stow-dotfile strip-plain-dotfile)))
+ (import-dotfiles directory contents strip)))
(home-dotfiles-configuration-directories config)))
(define-public home-dotfiles-service-type
(service-type (name 'home-dotfiles)
(extensions
(list (service-extension home-files-service-type
- home-dotfiles-configuration->files)))
+ (lambda (config)
+ (when config
+ (home-dotfiles-configuration->files config))))))
(default-value (home-dotfiles-configuration))
(description "Files that will be put in the user's home directory
following GNU Stow's algorithm, and further processed during activation.")))
diff --git a/gnu/local.mk b/gnu/local.mk
index 9fbfc754a0..5546e33465 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1295,7 +1295,6 @@ dist_patch_DATA = \
%D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \
%D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \
%D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch \
- %D%/packages/patches/gegl-compatibility-old-librsvg.patch \
%D%/packages/patches/gemmi-fix-pegtl-usage.patch \
%D%/packages/patches/gemmi-fix-sajson-types.patch \
%D%/packages/patches/genimage-mke2fs-test.patch \
@@ -1450,7 +1449,6 @@ dist_patch_DATA = \
%D%/packages/patches/http-parser-CVE-2020-8287.patch \
%D%/packages/patches/htslib-for-stringtie.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
- %D%/packages/patches/hubbub-maybe-uninitialized.patch \
%D%/packages/patches/hueplusplus-mbedtls.patch \
%D%/packages/patches/hurd-add-without-rump-configure-option.patch \
%D%/packages/patches/hurd-fix-rumpdisk-build.patch \
@@ -1521,6 +1519,7 @@ dist_patch_DATA = \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-Use-MPFR-4.2.patch \
%D%/packages/patches/libcall-ui-make-it-installable.patch \
+ %D%/packages/patches/libcss-check-format.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
@@ -1617,8 +1616,6 @@ dist_patch_DATA = \
%D%/packages/patches/libtiff-CVE-2022-34526.patch \
%D%/packages/patches/libtirpc-CVE-2021-46828.patch \
%D%/packages/patches/libtirpc-hurd.patch \
- %D%/packages/patches/libtommath-fix-linkage.patch \
- %D%/packages/patches/libtommath-integer-overflow.patch \
%D%/packages/patches/libtool-grep-compat.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libtree-fix-check-non-x86.patch \
@@ -1798,6 +1795,7 @@ dist_patch_DATA = \
%D%/packages/patches/plasp-fix-normalization.patch \
%D%/packages/patches/plasp-include-iostream.patch \
%D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \
+ %D%/packages/patches/podman-program-lookup.patch \
%D%/packages/patches/pokerth-boost.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/procps-strtod-test.patch \
@@ -1805,6 +1803,7 @@ dist_patch_DATA = \
%D%/packages/patches/prusa-slicer-fix-tests.patch \
%D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch \
%D%/packages/patches/pthreadpool-system-libraries.patch \
+ %D%/packages/patches/python-3.12-fix-tests.patch \
%D%/packages/patches/python-accupy-use-matplotx.patch \
%D%/packages/patches/python-accupy-fix-use-of-perfplot.patch \
%D%/packages/patches/python-chai-drop-python2.patch \
@@ -1828,11 +1827,6 @@ dist_patch_DATA = \
%D%/packages/patches/quodlibet-fix-invalid-glob.patch \
%D%/packages/patches/quodlibet-fix-mtime-tests.patch \
%D%/packages/patches/qxlsx-fix-include-directory.patch \
- %D%/packages/patches/scribus-1.5.8-poppler-22.03.0.patch \
- %D%/packages/patches/scribus-1.5.8-poppler-22.04.0.patch \
- %D%/packages/patches/scribus-1.5.8-poppler-22.09.0.patch \
- %D%/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch \
- %D%/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch \
%D%/packages/patches/sdcc-disable-non-free-code.patch \
%D%/packages/patches/sdl-pango-api_additions.patch \
%D%/packages/patches/sdl-pango-blit_overflow.patch \
@@ -1840,6 +1834,7 @@ dist_patch_DATA = \
%D%/packages/patches/sdl-pango-header-guard.patch \
%D%/packages/patches/sdl-pango-matrix_declarations.patch \
%D%/packages/patches/sdl-pango-sans-serif.patch \
+ %D%/packages/patches/sioyek-fix-build.patch \
%D%/packages/patches/smalltalk-multiplication-overflow.patch \
%D%/packages/patches/sqlite-hurd.patch \
%D%/packages/patches/strace-readlink-tests.patch \
@@ -2026,6 +2021,7 @@ dist_patch_DATA = \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/s7-flint-3.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
+ %D%/packages/patches/sajson-build-with-gcc10.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 023a85f136..c12d47da4b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -5188,7 +5188,7 @@ disk utilization, priority, username, state, and exit code.")
`())
(inputs
`(("go-golang-org-x-text" ,go-golang-org-x-text)
- ("go-github.com-ulikunitz-xz" ,go-github.com-ulikunitz-xz)))
+ ("go-github-com-ulikunitz-xz" ,go-github-com-ulikunitz-xz)))
(synopsis "UEFI image editor")
(description "This package provides a command-line UEFI image editor.")
(home-page "https://github.com/linuxboot/fiano")
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index f38b787bdf..4dc7000250 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -6198,20 +6198,21 @@ mapping.")
(define-public r-nebulosa
(package
(name "r-nebulosa")
- (version "1.12.0")
+ (version "1.12.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Nebulosa" version))
(sha256
(base32
- "0kzkdwxrhl7plbcbqr58gnadhhbhx2811ian0s4kds14y4mxl26c"))))
+ "11wn6l27cshhb1djsgqaqr8d33j4bipy0w0gafp3fkvg7mnpnhps"))))
(properties `((upstream-name . "Nebulosa")))
(build-system r-build-system)
(propagated-inputs (list r-ggplot2
+ r-ggrastr
r-ks
r-matrix
r-patchwork
- r-seurat
+ r-seuratobject
r-singlecellexperiment
r-summarizedexperiment))
(native-inputs (list r-knitr))
@@ -7211,13 +7212,13 @@ self-defined annotation graphics.")
(define-public r-conos
(package
(name "r-conos")
- (version "1.5.1")
+ (version "1.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "conos" version))
(sha256
- (base32 "01d2knwyf0g2pvqq3dy5vhf0i7mc5f7rzg3a7cbglsw3l9irsixv"))))
+ (base32 "0p66gb308w2zfsppm0k1vsvgr33kzzhql0vh7l39vlsgayi00skk"))))
(properties `((upstream-name . "conos")))
(build-system r-build-system)
(propagated-inputs
@@ -13866,14 +13867,14 @@ data.")
(define-public r-ggtree
(package
(name "r-ggtree")
- (version "3.10.0")
+ (version "3.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ggtree" version))
(sha256
(base32
- "12w2l1q0c5aznd5fls04wvgsmjidqhr1kkqj4gajz1abj9f49cqf"))))
+ "1p475vh567q4szb8hy2qk72pvqh5rlbyqfjcdd0i83fa2y4bi31d"))))
(properties `((upstream-name . "ggtree")))
(build-system r-build-system)
(propagated-inputs
@@ -18395,14 +18396,14 @@ manipulation of flow cytometry data.")
(define-public r-ggcyto
(package
(name "r-ggcyto")
- (version "1.30.0")
+ (version "1.30.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ggcyto" version))
(sha256
(base32
- "13zc5952drl187fl07v1nh6gv0g6ba11vxpxl4ghvavnknvi5phd"))))
+ "0ig23b6apyp35rxxiqd5nw46yjm2784njlafsgw98akhl8ck0g7n"))))
(properties `((upstream-name . "ggcyto")))
(build-system r-build-system)
(propagated-inputs
@@ -21299,13 +21300,13 @@ routines.")
(define-public r-s4arrays
(package
(name "r-s4arrays")
- (version "1.2.0")
+ (version "1.2.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "S4Arrays" version))
(sha256
(base32
- "0x420l98f6b10r3qrdjq5ijs2p0msdcg6d6aghr3yvj1f9g06h8y"))))
+ "1z6kcgjb5fzslr02vmsvchbilrhwpgh1ghk1zmlq0h0lyzncaapd"))))
(properties `((upstream-name . "S4Arrays")))
(build-system r-build-system)
(propagated-inputs
@@ -23015,13 +23016,13 @@ segmented data for individual and multiple arrays.")
(define-public r-snprelate
(package
(name "r-snprelate")
- (version "1.36.0")
+ (version "1.36.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "SNPRelate" version))
(sha256
(base32
- "0jw9ziz0a472mnnvmqwas5w646xfgx8dn1bdpwz8c99m663d8ayp"))))
+ "0d15r7qwwrr6m9saikx4x6hj56kb3p2w3v1awkgm3wfqfgdf1pin"))))
(properties `((upstream-name . "SNPRelate")))
(build-system r-build-system)
(propagated-inputs (list r-gdsfmt))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index e7816eb1d1..b8ecea013c 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -22484,7 +22484,7 @@ useful for bioinformatic analysis.")
#:tests? #false)) ;require network access
(propagated-inputs
(list go-gopkg-in-check-v1
- go-github.com-ulikunitz-xz
+ go-github-com-ulikunitz-xz
go-github-com-kortschak-utter))
(synopsis "HTS CRAM module for biogo")
(description "This package provides tools for handling CRAM files.")))
diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm
index 264e9e9724..d53f717f0d 100644
--- a/gnu/packages/bittorrent.scm
+++ b/gnu/packages/bittorrent.scm
@@ -574,7 +574,7 @@ features.")
#~(cons "-DGUI=OFF" #$configure-flags))))
(inputs
(modify-inputs (package-inputs base)
- (delete "qtsvg-5"))))))
+ (delete "qtsvg"))))))
(define-public qbittorrent-nox
(deprecated-package "qbittorrent-nox" qbittorrent-no-x))
@@ -583,7 +583,7 @@ features.")
(package
(inherit qbittorrent)
(name "qbittorrent-enhanced")
- (version "4.6.1.10")
+ (version "4.6.3.10")
(source
(origin
(method git-fetch)
@@ -593,7 +593,7 @@ features.")
(file-name (git-file-name name version))
(sha256
(base32
- "101a9n2vk9d6b4vc3schkmpc56l0i0i60fcjh8hwadc6amc2ymvy"))))
+ "09b8237h0gn6y3s0a7qg247hsdra5f5kg6xhirnhhfvjd8k6qviv"))))
(home-page "https://github.com/c0re100/qBittorrent-Enhanced-Edition")
(description
"qBittorrent Enhanced is a bittorrent client based on qBittorrent with
@@ -607,12 +607,15 @@ the following features:
@item Peer whitelist/blacklist
@end itemize")))
-(define-public qbittorrent-enhanced-nox
+(define-public qbittorrent-enhanced-no-x
(package
(inherit qbittorrent-enhanced)
- (name "qbittorrent-enhanced-nox")
- (arguments (package-arguments qbittorrent-nox))
- (inputs (package-inputs qbittorrent-nox))))
+ (name "qbittorrent-enhanced-no-x")
+ (arguments (package-arguments qbittorrent-no-x))
+ (inputs (package-inputs qbittorrent-no-x))))
+
+(define-public qbittorrent-enhanced-nox
+ (deprecated-package "qbittorrent-enhanced-nox" qbittorrent-enhanced-no-x))
(define-public deluge
(package
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 2dcf33a460..49a026bd20 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -49,6 +49,7 @@
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -609,7 +610,7 @@ pattern.")
(define-public catch2-3
(package
(name "catch2")
- (version "3.5.1")
+ (version "3.5.3")
(home-page "https://github.com/catchorg/Catch2")
(source (origin
(method git-fetch)
@@ -619,19 +620,12 @@ pattern.")
(file-name (git-file-name name version))
(sha256
(base32
- "0p7rk01n4qfnnm1bgakllyqi83n1kbpz11gh65z1vspfz58hs9iv"))))
+ "11yla93vm2896fzhm3fz8lk3y3iz5iy7vd6wa7wnwvhsfd2dbfq3"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
- #~(list #$@(match (%current-system)
- ((or "x86_64-linux" "i686-linux")
- ;; Tests fail on i686-linux without SSE2 for floats, see
- ;; upstream report
- ;; <https://github.com/catchorg/Catch2/issues/2796>.
- '("-DCMAKE_CXX_FLAGS=-msse2 -mfpmath=sse"))
- (_ '()))
- "-DCATCH_DEVELOPMENT_BUILD=ON"
+ #~(list "-DCATCH_DEVELOPMENT_BUILD=ON"
"-DCATCH_ENABLE_WERROR=OFF"
"-DBUILD_SHARED_LIBS=ON")))
(inputs (list python-wrapper))
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 2b5acdc3bc..aa270a25f3 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -248,6 +248,46 @@ containers or various tools.")
network namespaces.")
(license license:gpl2+)))
+(define-public passt
+ (package
+ (name "passt")
+ (version "2023_12_30.f091893")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://passt.top/passt/snapshot/passt-" version
+ ".tar.gz"))
+ (sha256
+ (base32 "1nyd4h93qlxn1r01ffijpsd7r7ny62phki5j58in8gz021jj4f3d"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ "RLIMIT_STACK_VAL=1024" ; ¯\_ (ツ)_/¯
+ (string-append "VERSION=" #$version)
+ (string-append "prefix=" #$output))
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure))))
+ (home-page "https://passt.top")
+ (synopsis "Plug A Simple Socket Transport")
+ (description
+ "passt implements a thin layer between guest and host, that only
+implements what's strictly needed to pretend processes are running locally.
+The TCP adaptation doesn't keep per-connection packet buffers, and reflects
+observed sending windows and acknowledgements between the two sides. This TCP
+adaptation is needed as passt runs without the CAP_NET_RAW capability: it
+can't create raw IP sockets on the pod, and therefore needs to map packets at
+Layer-2 to Layer-4 sockets offered by the host kernel.
+
+Also provides pasta, which similarly to slirp4netns, provides networking to
+containers by creating a tap interface available to processes in the
+namespace, and mapping network traffic outside the namespace using native
+Layer-4 sockets.")
+ (license (list license:gpl2+ license:bsd-3))))
+
(define-public cni-plugins
(package
(name "cni-plugins")
@@ -302,7 +342,7 @@ configure network interfaces in Linux containers.")
(define-public podman
(package
(name "podman")
- (version "4.4.1")
+ (version "4.9.3")
(source
(origin
(method git-fetch)
@@ -313,8 +353,11 @@ configure network interfaces in Linux containers.")
;; FIXME: Btrfs libraries not detected by these scripts.
(snippet '(substitute* "Makefile"
((".*hack/btrfs.*") "")))
+ (patches
+ (search-patches
+ "podman-program-lookup.patch"))
(sha256
- (base32 "0qbr6rbyig3c2hvdvmd94jjkg820hpdz6j7dgyv62dl6wfwvj5jj"))
+ (base32 "17g7n09ndxhpjr39s9qwxdcv08wavjj0g5nmnrvrkz2wgdqigl1x"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
@@ -341,10 +384,11 @@ configure network interfaces in Linux containers.")
(invoke "make" "remotesystem"))))
(add-after 'unpack 'fix-hardcoded-paths
(lambda _
- (substitute* (find-files "libpod" "\\.go")
- (("exec.LookPath[(][\"]slirp4netns[\"][)]")
- (string-append "exec.LookPath(\""
- (which "slirp4netns") "\")")))
+ (substitute* "vendor/github.com/containers/common/pkg/config/config.go"
+ (("@SLIRP4NETNS_DIR@")
+ (string-append #$slirp4netns "/bin"))
+ (("@PASST_DIR@")
+ (string-append #$passt "/bin")))
(substitute* "hack/install_catatonit.sh"
(("CATATONIT_PATH=\"[^\"]+\"")
(string-append "CATATONIT_PATH=" (which "true"))))
@@ -374,11 +418,12 @@ configure network interfaces in Linux containers.")
libassuan
libseccomp
libselinux
+ passt
slirp4netns))
(native-inputs
(list bats
git
- go-1.19
+ go-1.21
; strace ; XXX debug
pkg-config
python))
@@ -387,7 +432,10 @@ configure network interfaces in Linux containers.")
(description
"Podman (the POD MANager) is a tool for managing containers and images,
volumes mounted into those containers, and pods made from groups of
-containers.")
+containers.
+
+The @code{machine} subcommand is not supported due to gvproxy not being
+packaged.")
(license license:asl2.0)))
(define-public buildah
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 8d7425e4c1..dbbf30c551 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -1026,27 +1026,26 @@ axis breaks of a ggplot.")
(define-public r-ggdist
(package
(name "r-ggdist")
- (version "3.3.1")
+ (version "3.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggdist" version))
(sha256
- (base32 "0agr1l65s7vimdb88a7n3ahr6pp9ng5zf9mypdic26vhaaifh1b7"))))
+ (base32 "1wc3pqnf2r0324jm0vv1872smriv25h0lx0mni7qp93wrf8k0mpn"))))
(properties `((upstream-name . "ggdist")))
(build-system r-build-system)
(propagated-inputs (list r-cli
r-distributional
- r-dplyr
r-ggplot2
r-glue
+ r-gtable
r-numderiv
r-quadprog
r-rcpp
r-rlang
r-scales
r-tibble
- r-tidyselect
r-vctrs
r-withr))
(native-inputs (list r-knitr))
@@ -2710,13 +2709,13 @@ respecting the grammar of its graphics paradigm.")
(define-public r-ggside
(package
(name "r-ggside")
- (version "0.3.0")
+ (version "0.3.1")
(source (origin
(method url-fetch)
(uri (cran-uri "ggside" version))
(sha256
(base32
- "0mx6j9wi54inklmyydcqm0ahbx0b6c6y4sfh2awqsbgwigc3056p"))))
+ "1r36hsnha9bqzfb3rhpj11zg307wzacnkn4i6hi627xrx4knj5cl"))))
(properties `((upstream-name . "ggside")))
(build-system r-build-system)
(propagated-inputs
@@ -2977,13 +2976,13 @@ functions which can speed up workflow.")
(define-public r-pagoda2
(package
(name "r-pagoda2")
- (version "1.0.11")
+ (version "1.0.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "pagoda2" version))
(sha256
- (base32 "13x2l7hcvd6975921c5hba8hm2qijkslviszfizah8wxynhbayy1"))))
+ (base32 "1kck12ri52nwsrxhjs8ghjji3rv1dxxjy8bxn1kk1hbg30265fsw"))))
(properties `((upstream-name . "pagoda2")))
(build-system r-build-system)
(propagated-inputs
@@ -3973,13 +3972,13 @@ scraping tasks, inspired by libraries like @code{BeautifulSoup}.")
(define-public r-secretbase
(package
(name "r-secretbase")
- (version "0.3.0")
+ (version "0.3.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "secretbase" version))
(sha256
- (base32 "1wgbk16by9w933cff5ybb2sa0ndgj3sv9ahr2r1843vgqiyvx2xi"))))
+ (base32 "0mhfkkl35g10lgz4llm017f2jbgp7vmgi0g301r4agx1iqj5g51w"))))
(properties `((upstream-name . "secretbase")))
(build-system r-build-system)
(home-page "https://shikokuchuo.net/secretbase/")
@@ -4704,13 +4703,13 @@ LaTeX.")
(define-public r-curl
(package
(name "r-curl")
- (version "5.2.0")
+ (version "5.2.1")
(source (origin
(method url-fetch)
(uri (cran-uri "curl" version))
(sha256
(base32
- "12gldddkfkdwm6h0lb1pjrcpqc9kmqwfwz18wn9brilzbw8s9nxz"))))
+ "147smp4am6z23c3j21bd0zcjxsmhnkkssn4wrlpwl6xa1264syja"))))
(properties
`((upstream-name . "curl")
(updater-extra-inputs . ("curl"))))
@@ -5824,14 +5823,14 @@ contained in the navigation bar.")
(define-public r-spelling
(package
(name "r-spelling")
- (version "2.2.1")
+ (version "2.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "spelling" version))
(sha256
(base32
- "0vr5mgw9grnsnzsc29al72p05z786hnd6b9c6wq0c0dabk5szm2g"))))
+ "0fxa0wpmmx7bal7xb4yy3134s2bskj98kwhqn25bqga3inzqdm6d"))))
(properties `((upstream-name . "spelling")))
(build-system r-build-system)
(propagated-inputs
@@ -7642,13 +7641,13 @@ provides an interactive R manager and worker environment.")
(define-public r-rmumps
(package
(name "r-rmumps")
- (version "5.2.1-27")
+ (version "5.2.1-28")
(source
(origin
(method url-fetch)
(uri (cran-uri "rmumps" version))
(sha256
- (base32 "08zvmbhjgcrlgdhfn8ssajy8vnwcyaw90zgc0v1ncn95z310gpl3"))))
+ (base32 "1cq7zrq730lj1z5xirzk5fvvlvdq101ppg47n0z7c0v17rvs80n6"))))
(properties `((upstream-name . "rmumps")))
(build-system r-build-system)
(inputs (list zlib))
@@ -7996,14 +7995,14 @@ those for the gamma distribution in the @code{stats} package.")
(define-public r-bdsmatrix
(package
(name "r-bdsmatrix")
- (version "1.3-6")
+ (version "1.3-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "bdsmatrix" version))
(sha256
(base32
- "1g300x11rv56f826mbv7mbb67a5xz3dv74hpjc18jh3q8gap3j7r"))))
+ "08krrd7454ixqv4nq55hgf3djp1pz1vl3ndslsrh2pkdq1d5wl63"))))
(properties `((upstream-name . "bdsmatrix")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/bdsmatrix/")
@@ -8462,17 +8461,22 @@ these progress updates.")
(define-public r-lava
(package
(name "r-lava")
- (version "1.7.3")
+ (version "1.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "lava" version))
(sha256
(base32
- "023av1mz4hr1lqv8cpbx0j1y3c7ljyns35rm838c618b6pqps22f"))))
+ "0zz8hzmqd4qa14y52c8gw9hr6gn0d7srffrddxrmhb01rbp9dfcd"))))
(build-system r-build-system)
(propagated-inputs
- (list r-future-apply r-numderiv r-progressr r-squarem r-survival))
+ (list r-cli
+ r-future-apply
+ r-numderiv
+ r-progressr
+ r-squarem
+ r-survival))
(native-inputs
(list r-knitr))
(home-page "https://github.com/kkholst/lava")
@@ -9549,6 +9553,34 @@ imputations.")
;; Any of these two versions.
(license (list license:gpl2 license:gpl3))))
+(define-public r-transformr
+ (package
+ (name "r-transformr")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "transformr" version))
+ (sha256
+ (base32 "125y99wpgvp92qsg7934nzjqy6irjzaj21c0dcq7apqd2hqamfxw"))))
+ (properties `((upstream-name . "transformr")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-cpp11
+ r-lpsolve
+ r-rlang
+ r-sf
+ r-tweenr
+ r-vctrs))
+ (home-page "https://github.com/thomasp85/transformr")
+ (synopsis "Polygon and path transformations")
+ (description
+ "In order to smoothly animate the transformation of polygons and paths,
+many aspects needs to be taken into account, such as differing number of
+control points, changing center of rotation, etc. The transformr package
+provides an extensive framework for manipulating the shapes of polygons and
+paths and can be seen as the spatial brother to the tweenr package.")
+ (license license:expat)))
+
(define-public r-truncnorm
(package
(name "r-truncnorm")
@@ -10739,13 +10771,13 @@ features:
(define-public r-n2r
(package
(name "r-n2r")
- (version "1.0.1")
+ (version "1.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "N2R" version))
(sha256
- (base32 "12bv7xx6j6222qgpv6g61i68017fz0x6fjg9a9k5yhgw3zk05hpk"))))
+ (base32 "0bbxl0y36bmsxwi4rs4f6jwhf9bhag2rkvvzcg5669vgm2p4scjr"))))
(properties `((upstream-name . "N2R")))
(build-system r-build-system)
(propagated-inputs
@@ -13408,14 +13440,14 @@ those searches and pull data into their R sessions.")
(define-public r-renv
(package
(name "r-renv")
- (version "1.0.4")
+ (version "1.0.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "renv" version))
(sha256
(base32
- "0jfrkxslx1bw4b2akkp12bgvpfc58dh2vrm91hgb1xa5xydai7j6"))))
+ "07y1xqnx5jkgk0cqgf8c4p5vm3qy87zjl31zv6s0jssy3v7amq4p"))))
(properties `((upstream-name . "renv")))
(build-system r-build-system)
(native-inputs
@@ -13677,14 +13709,14 @@ Sequence logos can easily be combined with other ggplot2 plots.")
(define-public r-ggsci
(package
(name "r-ggsci")
- (version "3.0.0")
+ (version "3.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggsci" version))
(sha256
(base32
- "0ag1cj4ycl5xmll8mqmmikyvq94l8yx96pb8m2i853yp2rjk20c9"))))
+ "030rkjx64mlhy19d74p3blsi92nyjq9vbn33323dvm1rihb8avgi"))))
(build-system r-build-system)
(propagated-inputs
(list r-ggplot2 r-scales))
@@ -13847,14 +13879,14 @@ clustering.")
(define-public r-factominer
(package
(name "r-factominer")
- (version "2.9")
+ (version "2.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "FactoMineR" version))
(sha256
(base32
- "0c2j3xid85qffsdjwndqiwihclzw6k1nkbpzcc7whhd6k79rh9l8"))))
+ "1kjb0hk7zck8702inw9ayxrpbi8raq3rldxsq848lk15z3wg9r6w"))))
(properties `((upstream-name . "FactoMineR")))
(build-system r-build-system)
(propagated-inputs
@@ -13989,21 +14021,21 @@ results to the user.")
(define-public r-hdf5r
(package
(name "r-hdf5r")
- (version "1.3.9")
+ (version "1.3.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "hdf5r" version))
(sha256
(base32
- "1av3pafbfff4wanw9s1iqgwkcdmc5f8c8h3z0byqll9i661kz3pg"))))
+ "0khj94z6ls6dnc6fpxwf1w93mk6f3z2p39mbihf0lz52jc36wjcj"))))
(build-system r-build-system)
(inputs
(list hdf5 zlib))
(propagated-inputs
(list r-bit64 r-r6))
(native-inputs
- (list r-knitr))
+ (list pkg-config r-knitr))
(home-page "https://hhoeflin.github.io/hdf5r")
(synopsis "Interface to the HDF5 binary data format")
(description
@@ -14540,13 +14572,13 @@ tidyverse workflow.")
(define-public r-nodbi
(package
(name "r-nodbi")
- (version "0.10.2")
+ (version "0.10.3")
(source (origin
(method url-fetch)
(uri (cran-uri "nodbi" version))
(sha256
(base32
- "1pznlnln0p55qqwy22h9m79ddf3wgnx3vaxx2q39wvgqwj0kk1b0"))))
+ "17ghgp6sabj4dlmx3cdn9rrhci7050a73cd17fymjksgvy1jbwf6"))))
(properties `((upstream-name . "nodbi")))
(build-system r-build-system)
(propagated-inputs
@@ -16173,13 +16205,13 @@ for the reconstruction of gene regulatory networks.")
(define-public r-partr2
(package
(name "r-partr2")
- (version "0.9.1")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri (cran-uri "partR2" version))
(sha256
(base32
- "06ky0hhrq0mcsn9rwrzvwn0rrjj0l8rxs0hqp10668gdq5hjk8bn"))))
+ "09x8ykg90y4xq0sqm6zvx41sccgdbglmhpqm9sp3m74a87j4bjly"))))
(properties `((upstream-name . "partR2")))
(build-system r-build-system)
(propagated-inputs (list r-dplyr
@@ -19295,14 +19327,14 @@ over-plotting in scatter plots with text.")
(define-public r-colorramps
(package
(name "r-colorramps")
- (version "2.3.1")
+ (version "2.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "colorRamps" version))
(sha256
(base32
- "12jnkj50yh2hc5l7j56lrrrmn58akrj9dwj98vzf42iq4h42kwb1"))))
+ "0cq8l6ybhff2q2dj2i73b4cnw6v2c6ql24jbrkh0xrpc9wjsarxj"))))
(properties `((upstream-name . "colorRamps")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/colorRamps")
@@ -19985,14 +20017,14 @@ conditional reporting based on the current \"output level\".")
(define-public r-tractor-base
(package
(name "r-tractor-base")
- (version "3.3.5.1")
+ (version "3.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "tractor.base" version))
(sha256
(base32
- "0fxbzbhpi6l55m14nmww8y3kdxgchzj4mw1yf4xkm2y6s68phvgc"))))
+ "12mp5x6c7c82a4z7p39cb478kwwf6lkrgbis6ak00yibsd3n6na3"))))
(properties `((upstream-name . "tractor.base")))
(build-system r-build-system)
(propagated-inputs
@@ -20342,14 +20374,14 @@ library.")
(define-public r-ontologyindex
(package
(name "r-ontologyindex")
- (version "2.11")
+ (version "2.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "ontologyIndex" version))
(sha256
(base32
- "17ndvqvb74b980gpb3hpg9bd68bb5f52k9s1i2kd1f9cdrdjvw97"))))
+ "0gf0z0vgc1f4f70f2zpwz9bka0gbgbj4w3fcxncv1b7lbrxddrd8"))))
(properties `((upstream-name . "ontologyIndex")))
(build-system r-build-system)
(native-inputs
@@ -21634,14 +21666,14 @@ them in distributed compute environments.")
(define-public r-parallelly
(package
(name "r-parallelly")
- (version "1.37.0")
+ (version "1.37.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "parallelly" version))
(sha256
(base32
- "19zrfiakg5xg51r9va4r976b4lnnsj5nsk6i6srxsl227q45xra1"))))
+ "189ngbh9i6mqmfn4z6446in7687ddlpdq6v5rj3hr8zqinqlwznz"))))
(properties `((upstream-name . "parallelly")))
(build-system r-build-system)
(home-page "https://github.com/HenrikBengtsson/parallelly")
@@ -23366,14 +23398,14 @@ sampling.")
(define-public r-deldir
(package
(name "r-deldir")
- (version "2.0-2")
+ (version "2.0-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "deldir" version))
(sha256
(base32
- "1qzfq47fs3pr0946m53z6cq93pbpkgwwhqkcdgfahxsq1izpigz9"))))
+ "0ls69b9yynvsiy6madvzafcb0jdvxw66sin7cinpnw63israq66l"))))
(build-system r-build-system)
(native-inputs (list gfortran))
(home-page "https://cran.r-project.org/web/packages/deldir")
@@ -23942,13 +23974,13 @@ SELECT or UPDATE queries to an end-point.")
(define-public r-bookdown
(package
(name "r-bookdown")
- (version "0.37")
+ (version "0.38")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
- "18j8ylaq5wnw1c0lif9a002kbymv04pd0i43ahmqkskkv1b13hdk"))
+ "1i0z75sxvy3cb582siz544az6b9bs3vk2kyij9zx5jdpc1247fgd"))
;; TODO: there is one more file to replace:
;; inst/resources/gitbook/js/app.min.js
(snippet
@@ -24587,14 +24619,14 @@ packages with Rcpp.")
(define-public r-tweenr
(package
(name "r-tweenr")
- (version "2.0.2")
+ (version "2.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "tweenr" version))
(sha256
(base32
- "1wqzcsxlz1isb1j0v5g6dgvd40q3q9qlahvgcgiq0j4d87nzvfv4"))))
+ "1glc7ks5yymcm4pi0fjpi1zh7m5d4cz7zy20pa3kfraxlh9fbazg"))))
(build-system r-build-system)
(arguments
(list
@@ -24797,28 +24829,27 @@ databases, including ENA, PDB or ChEMBL are also accessible.")
(define-public r-ggraph
(package
(name "r-ggraph")
- (version "2.1.0")
+ (version "2.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggraph" version))
(sha256
(base32
- "07sw4h94dzbs44dcvvj80g8v8252k4iw8pkmzdrk4qagvhidnvv8"))))
+ "0zs02xyzvimk8hj1z465zxp1hlca3gfirdcwb3gqriwsmnfhg661"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
- r-digest
+ r-cpp11
r-dplyr
r-ggforce
r-ggplot2
r-ggrepel
r-graphlayouts
- r-gtable
r-igraph
r-lifecycle
r-mass
- r-rcpp
+ r-memoise
r-rlang
r-scales
r-tidygraph
@@ -26956,13 +26987,13 @@ guaranteeing well-connected communities.\" <arXiv:1810.08473>.")
(define-public r-leidenalg
(package
(name "r-leidenalg")
- (version "1.1.2")
+ (version "1.1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "leidenAlg" version))
(sha256
- (base32 "0wqay0rf28pgaf88bsvmrwgggzbma93rv9nqbydhjf1lc96ay1lz"))))
+ (base32 "0g4gs6rrz3wn97ag7wsfr6qa4zgb75i0k9jc1siii4pf6h689d1x"))))
(properties
`((upstream-name . "leidenAlg")
(updater-extra-inputs . ("gmp"))))
@@ -28072,14 +28103,14 @@ server-side.")
(define-public r-sysfonts
(package
(name "r-sysfonts")
- (version "0.8.8")
+ (version "0.8.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "sysfonts" version))
(sha256
(base32
- "1fq5dn4l09sgrbznfz9cakf4vgc3761zwicvqaazh0s8mzbaicpn"))))
+ "124zcnw88xnlhx27qjm07mw59f98jiwspmm65v94k815lqs9qiaj"))))
(properties `((upstream-name . "sysfonts")))
(build-system r-build-system)
(inputs
@@ -28118,14 +28149,14 @@ package.")
(define-public r-showtext
(package
(name "r-showtext")
- (version "0.9-6")
+ (version "0.9-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "showtext" version))
(sha256
(base32
- "0c4cssqk4s27pxfyb7fii97zhy4awzapj7bx9zkbki4va75mkjhf"))))
+ "12a8j87ca39fd8vn9ixzfgkbffz8ajyslhsx2hqjry1gzbk864i5"))))
(properties `((upstream-name . "showtext")))
(build-system r-build-system)
(inputs
@@ -29825,14 +29856,14 @@ variable observed over time.")
(define-public r-fda
(package
(name "r-fda")
- (version "6.1.4")
+ (version "6.1.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "fda" version))
(sha256
(base32
- "0595887hv80blx9aq63qnmc9vr022p21zqhgp2wmdjvq1g68x0g2"))))
+ "00hiz15v31zs5l0bqdkim1fpfd3bjvssv77iczq0si724s4fqxiq"))))
(properties `((upstream-name . "fda")))
(build-system r-build-system)
(propagated-inputs
@@ -31332,14 +31363,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.")
(define-public r-forecast
(package
(name "r-forecast")
- (version "8.21.1")
+ (version "8.22.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "forecast" version))
(sha256
(base32
- "09w1vh96cf9wz071why5f4265cvvwqi2b3wb0khrjvkzgkiaq7l1"))))
+ "09s5fdyzc6f5l8dy7ynjmd6l5fk3wvz59q0kfv2fd9da5c1mqd8w"))))
(properties `((upstream-name . "forecast")))
(build-system r-build-system)
(propagated-inputs
@@ -31925,14 +31956,14 @@ perform @dfn{exploratory mediation} (XMed).")
(define-public r-stanheaders
(package
(name "r-stanheaders")
- (version "2.32.5")
+ (version "2.32.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "StanHeaders" version))
(sha256
(base32
- "0wqps6xy2xypxsg3p3grdiw67a0xla3vh9x9hcf2ln03yhgkn4jl"))))
+ "18p1rch5ipj0f4jdvr8mnlk8pg1l4njjj4cgbp7ni7kcngsn3049"))))
(properties `((upstream-name . "StanHeaders")))
(build-system r-build-system)
(inputs (list pandoc))
@@ -32329,14 +32360,14 @@ Latent regression models and plausible value imputation are also supported.")
(define-public r-erm
(package
(name "r-erm")
- (version "1.0-4")
+ (version "1.0-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "eRm" version))
(sha256
(base32
- "0rp2lxkwkh09zmv101rzk7x1v1pmscp71qpf8f4chxp3idg6rpid"))))
+ "0bkivhiy02pibdcvb9z0i0yvc3wz3v33n6slhkkik61gcw1idmf0"))))
(properties `((upstream-name . "eRm")))
(build-system r-build-system)
(propagated-inputs
@@ -33047,26 +33078,17 @@ statistics and p-values of the correlation coefficients.")
(define-public r-hrbrthemes
(package
(name "r-hrbrthemes")
- (version "0.8.0")
+ (version "0.8.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "hrbrthemes" version))
(sha256
- (base32 "057h60b5p53dcyjyfwlgjc1ry968s9s64dw78p443w8717zk7zpc"))))
+ (base32 "0vwrwcx3yp5yi1fw45zb5b3rhhbhrmzkl935s5apvf9lwjz2wjas"))))
(properties `((upstream-name . "hrbrthemes")))
(build-system r-build-system)
(propagated-inputs
- (list r-extrafont
- r-gdtools
- r-ggplot2
- r-htmltools
- r-knitr
- r-magrittr
- r-rmarkdown
- r-scales))
- (native-inputs
- (list r-knitr))
+ (list r-extrafont r-gdtools r-ggplot2 r-magrittr r-scales))
(home-page "https://github.com/hrbrmstr/hrbrthemes/")
(synopsis "Additional themes, theme components and utilities for @code{ggplot2}")
(description
@@ -34669,14 +34691,14 @@ package.")
(define-public r-spatstat-geom
(package
(name "r-spatstat-geom")
- (version "3.2-8")
+ (version "3.2-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "spatstat.geom" version))
(sha256
(base32
- "08q9k7065gpjmwja4xac9q8jv2hdkgmwvdncrnhdk9xkzc0z9mjb"))))
+ "05ymr4h6g5kp6kinm8qi6mcwi51d2rp671cm3hqgyrhk91k72cx7"))))
(properties `((upstream-name . "spatstat.geom")))
(build-system r-build-system)
(propagated-inputs
@@ -34755,13 +34777,13 @@ for spatial data on a linear network.")
(define-public r-spatstat-random
(package
(name "r-spatstat-random")
- (version "3.2-2")
+ (version "3.2-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "spatstat.random" version))
(sha256
- (base32 "01rsh7z9prsdrqlbc2761sf54w24z7jzj64ijfzy8l5ca56fxij8"))))
+ (base32 "19rl757lccr169fj00zmhb1a20bxw4kljzb81hbbr5xhj0za6lp0"))))
(properties `((upstream-name . "spatstat.random")))
(build-system r-build-system)
(propagated-inputs (list r-spatstat-data r-spatstat-geom r-spatstat-utils))
@@ -36870,13 +36892,13 @@ other R users.")
(define-public r-seurat
(package
(name "r-seurat")
- (version "5.0.1")
+ (version "5.0.2")
(source (origin
(method url-fetch)
(uri (cran-uri "Seurat" version))
(sha256
(base32
- "038mqnavn3gxxx41yzq0q7gfnnx15dizryv8l374zwavpqsb84q7"))))
+ "1d49a9mhip81lvnkr8i4dznkmzyskdzrpi485w7yw2sr0qbyzg5c"))))
(properties `((upstream-name . "Seurat")))
(build-system r-build-system)
(propagated-inputs
@@ -37053,11 +37075,11 @@ goal of enhancing interoperability between Seurat and Scanpy.")
(license license:gpl3))))
(define-public r-seuratdata
- (let ((commit "b59556b24d7d6728a5744c9c715dd5f7f32ed7a5")
+ (let ((commit "4dc08e022f51c324bc7bf785b1b5771d2742701d")
(revision "1"))
(package
(name "r-seuratdata")
- (version (git-version "0.2.1" revision commit))
+ (version (git-version "0.2.2.9001" revision commit))
(source
(origin
(method git-fetch)
@@ -37066,7 +37088,7 @@ goal of enhancing interoperability between Seurat and Scanpy.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1xfdmdmgn4r0z6w4cxa98ic6xk8i6qz054r215dvqbjs1vydsbf9"))))
+ (base32 "1wac1jqh42nbaikkd8v3apr1lwqcn1ppprfkwqfnqs6mvavgqavp"))))
(properties `((upstream-name . "SeuratData")))
(build-system r-build-system)
(arguments
@@ -37076,8 +37098,7 @@ goal of enhancing interoperability between Seurat and Scanpy.")
;; the included list of packages.
(add-after 'unpack 'set-HOME
(lambda _ (setenv "HOME" "/tmp"))))))
- (propagated-inputs
- (list r-cli r-crayon r-rappdirs))
+ (propagated-inputs (list r-cli r-crayon r-rappdirs r-seurat r-seuratobject))
(home-page "https://github.com/satijalab/seurat-data")
(synopsis "Install and manage Seurat datasets")
(description
@@ -37609,13 +37630,13 @@ implemented as @code{R6} classes.")
(define-public r-mlr3
(package
(name "r-mlr3")
- (version "0.17.2")
+ (version "0.18.0")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3" version))
(sha256
(base32
- "0kcny3wxc7qc2538hxxdzs9bw4pq55s4abhlnpf1r13b2gkns323"))))
+ "0v83lwigpm227dqr8hz5x1khcjqf3q0glqvz812sckbcf74ibhdz"))))
(build-system r-build-system)
(propagated-inputs
(list r-backports
@@ -37674,14 +37695,14 @@ vector machines, and gradient boosting.")
(define-public r-bbotk
(package
(name "r-bbotk")
- (version "0.7.3")
+ (version "0.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bbotk" version))
(sha256
(base32
- "1ddr5w7n68d3imcrm0ipgk1waml8zj4szi566dmmiqvlpzpgdr3p"))))
+ "1ggfl1lhvjnnkxib4svqd82agrvjcg1101cbf4g2c0kzgzm1jaj6"))))
(properties `((upstream-name . "bbotk")))
(build-system r-build-system)
(propagated-inputs
@@ -37704,13 +37725,13 @@ annealing.")
(define-public r-mlr3tuning
(package
(name "r-mlr3tuning")
- (version "0.19.2")
+ (version "0.20.0")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3tuning" version))
(sha256
(base32
- "1d27m6yzwr7chpf19q6mwpj2fyz9vv8k6nbg8z9615hmbp96lan5"))))
+ "1y1cqfqdx9v0lfb4619y2hw6clhhjzi7hjwrpwzdpd7ymcx3dgi3"))))
(build-system r-build-system)
(propagated-inputs
(list r-bbotk
@@ -39190,14 +39211,14 @@ complex functions.")
(define-public r-gganimate
(package
(name "r-gganimate")
- (version "1.0.8")
+ (version "1.0.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "gganimate" version))
(sha256
(base32
- "1jabs9qr0319w508kdsk5nmzfhl6nzykpp1by7l639yfvrfqcbd1"))))
+ "016nky797h4093qrpynq5rr1p7h4chpv1hyngpcs2csr1064rjmz"))))
(properties `((upstream-name . "gganimate")))
(build-system r-build-system)
(arguments
@@ -39212,13 +39233,17 @@ complex functions.")
;; For video output.
(list ffmpeg))
(propagated-inputs
- (list r-ggplot2
+ (list r-cli
+ r-ggplot2
r-glue
+ r-lifecycle
r-progress
r-rlang
r-scales
r-stringi
+ r-transformr
r-tweenr
+ r-vctrs
;; For GIF/SVG output. gifski is faster, but depends on Rust.
r-magick
;; For HTML output.
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index aaf2157661..1a08748392 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -41,6 +41,7 @@
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
+;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3909,8 +3910,36 @@ capacity and random or least recently used (LRU) replacement.")
Rust.")
(license (list license:expat license:asl2.0))))
+(define-public rust-async-broadcast-0.6
+ (package
+ (name "rust-async-broadcast")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "async-broadcast" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0d1xk2pr5khk1radkbaf7pp7pbjkb18m43n2rgkfsfxk177pak9k"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-event-listener" ,rust-event-listener-3)
+ ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.1)
+ ("rust-futures-core" ,rust-futures-core-0.3))
+ #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)
+ ("rust-doc-comment" ,rust-doc-comment-0.3)
+ ("rust-easy-parallel" ,rust-easy-parallel-3)
+ ("rust-futures-lite" ,rust-futures-lite-1)
+ ("rust-futures-util" ,rust-futures-util-0.3))))
+ (home-page "https://github.com/smol-rs/async-broadcast")
+ (synopsis "Async broadcast channels")
+ (description "This package provides async broadcast channels in Rust.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-async-broadcast-0.5
(package
+ (inherit rust-async-broadcast-0.6)
(name "rust-async-broadcast")
(version "0.5.1")
(source (origin
@@ -3920,7 +3949,6 @@ Rust.")
(sha256
(base32
"0avdqbci1qdlfc4glc3wqrb0wi5ffc7bqv2q1wg14syayvdwqj3w"))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-event-listener" ,rust-event-listener-2)
@@ -3930,11 +3958,7 @@ Rust.")
("rust-doc-comment" ,rust-doc-comment-0.3)
("rust-easy-parallel" ,rust-easy-parallel-3)
("rust-futures-lite" ,rust-futures-lite-1)
- ("rust-futures-util" ,rust-futures-util-0.3))))
- (home-page "https://github.com/smol-rs/async-broadcast")
- (synopsis "Async broadcast channels")
- (description "This package provides async broadcast channels in Rust.")
- (license (list license:expat license:asl2.0))))
+ ("rust-futures-util" ,rust-futures-util-0.3))))))
(define-public rust-async-channel-2
(package
@@ -11700,6 +11724,34 @@ stream of tokens.")
(("rust-clap" ,rust-clap-3)
("rust-snapbox" ,rust-snapbox-0.2))))))
+(define-public rust-clap-verbosity-flag-2
+ (package
+ (name "rust-clap-verbosity-flag")
+ (version "2.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "clap-verbosity-flag" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "15f419hg1xskf7pwzk5n27cpn05n0ccbd6sbji906ymi47576zxm"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-clap" ,rust-clap-4)
+ ("rust-log" ,rust-log-0.4))
+ #:cargo-development-inputs
+ (("rust-clap" ,rust-clap-4)
+ ("rust-env-logger" ,rust-env-logger-0.10)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-tracing-log" ,rust-tracing-log-0.2)
+ ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
+ (home-page "https://github.com/clap-rs/clap-verbosity-flag")
+ (synopsis "Easily add a `--verbose` flag to CLIs using Clap")
+ (description
+ "This package provides a way to add a `--verbose` flag to CLIs using
+Clap.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-clearscreen-1
(package
(name "rust-clearscreen")
@@ -22343,6 +22395,23 @@ blocking data structures.")
(description "This package provides block and poll on event_listener.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-event-listener-strategy-0.1
+ (package
+ (inherit rust-event-listener-strategy-0.4)
+ (name "rust-event-listener-strategy")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "event-listener-strategy" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1z99km9lwya36bxhvrz4rsl3nhqhhlnnx7a2gdz4nzpa6177pj8m"))))
+ (arguments
+ `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-3)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2))
+ #:cargo-development-inputs (("rust-futures-lite" ,rust-futures-lite-1))))))
+
(define-public rust-executable-path-1
(package
(name "rust-executable-path")
diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm
index 6650c26913..60c735efa7 100644
--- a/gnu/packages/crates-web.scm
+++ b/gnu/packages/crates-web.scm
@@ -2045,6 +2045,27 @@ transfer coding.")
(description "This package provides an async HTTP/3 implementation.")
(license license:expat)))
+(define-public rust-h3-0.0.2
+ (package
+ (inherit rust-h3-0.0.3)
+ (name "rust-h3")
+ (version "0.0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "h3" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "17nbmkz6xs848257xv7gdhrnhyhagfb0dbqla82zv1nixr1wmrkd"))))
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs (("rust-bytes" ,rust-bytes-1)
+ ("rust-fastrand" ,rust-fastrand-1)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-http" ,rust-http-0.2)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing" ,rust-tracing-0.1))))))
+
(define-public rust-h3-quinn-0.0.4
(package
(name "rust-h3-quinn")
@@ -2071,6 +2092,26 @@ transfer coding.")
"This package provides QUIC transport implementation based on Quinn.")
(license license:expat)))
+(define-public rust-h3-quinn-0.0.3
+ (package
+ (inherit rust-h3-quinn-0.0.4)
+ (name "rust-h3-quinn")
+ (version "0.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "h3-quinn" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0kf6bqmm751gwj24dqgb2rrwq8ibhv7z5v7ix4pfiwz4ccbiljid"))))
+ (arguments
+ `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
+ ("rust-futures" ,rust-futures-0.3)
+ ("rust-h3" ,rust-h3-0.0.2)
+ ("rust-quinn" ,rust-quinn-0.10)
+ ("rust-quinn-proto" ,rust-quinn-proto-0.10)
+ ("rust-tokio-util" ,rust-tokio-util-0.7))))))
+
(define-public rust-headers-0.3
(package
(name "rust-headers")
@@ -2158,6 +2199,304 @@ transfer coding.")
(("rust-bytes" ,rust-bytes-0.4)
("rust-http" ,rust-http-0.1))))))
+(define-public rust-hickory-client-0.24
+ (package
+ (name "rust-hickory-client")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hickory-client" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0bj6g69h86d7mbclrwaj7cgl1plr6pvllv8qn69xmpgh9h90hgkz"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-test-flags
+ '("--release" "--lib" "--bins" "--tests" "--"
+ ;; Some tests require network access.
+ "--skip=client::async_client::tests::async_client")
+ #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-data-encoding" ,rust-data-encoding-2)
+ ("rust-futures-channel" ,rust-futures-channel-0.3)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-hickory-proto" ,rust-hickory-proto-0.24)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-radix-trie" ,rust-radix-trie-0.2)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rustls" ,rust-rustls-0.21)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing" ,rust-tracing-0.1))
+ #:cargo-development-inputs
+ (("rust-futures" ,rust-futures-0.3)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
+ (native-inputs
+ (list openssl pkg-config))
+ (home-page "https://hickory-dns.org/")
+ (synopsis "Client library for Hickory DNS, with DNSSEC support")
+ (description
+ "Hickory DNS is a safe and secure DNS library. This is the Client
+library with DNSSEC support. DNSSEC with NSEC validation for negative
+records, is complete. The client supports dynamic DNS with SIG0 authenticated
+requests, implementing easy to use high level funtions. Hickory DNS is based
+on the Tokio and Futures libraries, which means it should be easily integrated
+into other software that also use those libraries.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-hickory-proto-0.24
+ (package
+ (name "rust-hickory-proto")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hickory-proto" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1kxvdzmwwi1d6wsp9bcs91ipmwxcyhpwbvz3an9h0q28ryy6y6h9"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
+ ("rust-backtrace" ,rust-backtrace-0.3)
+ ("rust-bytes" ,rust-bytes-1)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-data-encoding" ,rust-data-encoding-2)
+ ("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
+ ("rust-futures-channel" ,rust-futures-channel-0.3)
+ ("rust-futures-io" ,rust-futures-io-0.3)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-h2" ,rust-h2-0.3)
+ ("rust-h3" ,rust-h3-0.0.2)
+ ("rust-h3-quinn" ,rust-h3-quinn-0.0.3)
+ ("rust-http" ,rust-http-0.2)
+ ("rust-idna" ,rust-idna-0.4)
+ ("rust-ipnet" ,rust-ipnet-2)
+ ("rust-js-sys" ,rust-js-sys-0.3)
+ ("rust-native-tls" ,rust-native-tls-0.2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-quinn" ,rust-quinn-0.10)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-ring" ,rust-ring-0.16)
+ ("rust-rustls" ,rust-rustls-0.21)
+ ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
+ ("rust-rustls-pemfile" ,rust-rustls-pemfile-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-socket2" ,rust-socket2-0.5)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-tinyvec" ,rust-tinyvec-1)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
+ ("rust-tokio-openssl" ,rust-tokio-openssl-0.6)
+ ("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-url" ,rust-url-2)
+ ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
+ ("rust-webpki-roots" ,rust-webpki-roots-0.25))
+ #:cargo-development-inputs
+ (("rust-futures-executor" ,rust-futures-executor-0.3)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
+ (native-inputs
+ (list openssl pkg-config))
+ (home-page "https://hickory-dns.org/")
+ (synopsis
+ "Foundational DNS protocol library for all Hickory DNS projects")
+ (description
+ "Hickory DNS is a safe and secure DNS library. This is the foundational
+DNS protocol library for all Hickory DNS projects.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-hickory-recursor-0.24
+ (package
+ (name "rust-hickory-recursor")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hickory-recursor" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "146ifrml22hjydrw16qgfw32kv3v9wvvl4dqh45pg6fymxvw8xgi"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-async-recursion" ,rust-async-recursion-1)
+ ("rust-async-trait" ,rust-async-trait-0.1)
+ ("rust-bytes" ,rust-bytes-1)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-hickory-proto" ,rust-hickory-proto-0.24)
+ ("rust-hickory-resolver" ,rust-hickory-resolver-0.24)
+ ("rust-lru-cache" ,rust-lru-cache-0.1)
+ ("rust-parking-lot" ,rust-parking-lot-0.12)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing" ,rust-tracing-0.1))
+ #:cargo-development-inputs
+ (("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
+ (home-page "https://hickory-dns.org/")
+ (synopsis
+ "Hickory DNS Recursor is a DNS recursive resolver with DNSSEC support")
+ (description
+ "*WARNING* This library is experimental
+
+Hickory DNS Recursor is a safe and secure DNS recursive resolver with DNSSEC
+support. Hickory DNS is based on the Tokio and Futures libraries, which means
+it should be easily integrated into other software that also use those
+libraries. This library can be used as in the server and binary for
+performing recursive lookups.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-hickory-resolver-0.24
+ (package
+ (name "rust-hickory-resolver")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hickory-resolver" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1s3486qczv9gaw8dap06c0bwb2bpqm23a0ihj169hsjf2qhz1f1m"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-test-flags
+ '("--release" "--lib" "--bins" "--tests" "--"
+ ;; Some tests require network access.
+ "--skip=async_resolver::tests::test_domain_search"
+ "--skip=async_resolver::tests::test_fqdn"
+ "--skip=async_resolver::tests::test_idna"
+ "--skip=async_resolver::tests::test_large_ndots"
+ "--skip=async_resolver::tests::test_lookup_cloudflare"
+ "--skip=async_resolver::tests::test_lookup_google"
+ "--skip=async_resolver::tests::test_lookup_quad9"
+ "--skip=async_resolver::tests::test_ndots"
+ "--skip=async_resolver::tests::test_search_list"
+ "--skip=hosts::tests::test_read_hosts_conf"
+ "--skip=name_server::name_server::tests::test_name_server"
+ "--skip=name_server::name_server_pool::tests::test_multi_use_conns"
+ "--skip=resolver::tests::test_lookup"
+ "--skip=system_conf::unix::tests::test_read_resolv_conf")
+ #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-hickory-proto" ,rust-hickory-proto-0.24)
+ ("rust-ipconfig" ,rust-ipconfig-0.3)
+ ("rust-lru-cache" ,rust-lru-cache-0.1)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-parking-lot" ,rust-parking-lot-0.12)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-resolv-conf" ,rust-resolv-conf-0.7)
+ ("rust-rustls" ,rust-rustls-0.21)
+ ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-smallvec" ,rust-smallvec-1)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3)
+ ("rust-tokio-openssl" ,rust-tokio-openssl-0.6)
+ ("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-webpki-roots" ,rust-webpki-roots-0.25))
+ #:cargo-development-inputs
+ (("rust-futures-executor" ,rust-futures-executor-0.3)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
+ (home-page "https://hickory-dns.org/")
+ (synopsis
+ "Hickory DNS Resolver library built on top of tokio's @code{async-io}")
+ (description
+ "Hickory DNS Resolver is a safe and secure DNS library. The Resolver is
+intended to be a high-level library for any DNS record resolution, see
+@code{Resolver} and @code{AsyncResolver} for supported resolution types. The
+@code{Client} can be used for other queries.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-hickory-server-0.24
+ (package
+ (name "rust-hickory-server")
+ (version "0.24.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hickory-server" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1dbwsrmxgf9nxkn3cp5fpjw96wywrzihbirjax25dd6wqidv9fsg"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-test-flags
+ '("--release" "--"
+ ;; Not all files included.
+ "--skip=store::file::authority::tests::test_load_zone"
+ "--skip=basic::file::test_a_lookup"
+ "--skip=basic::file::test_aname"
+ "--skip=basic::file::test_aname_a_lookup"
+ "--skip=basic::file::test_aname_chain"
+ "--skip=basic::file::test_cname"
+ "--skip=basic::file::test_cname_alias"
+ "--skip=basic::file::test_cname_chain"
+ "--skip=basic::file::test_dots_in_name"
+ "--skip=basic::file::test_invalid_lookup"
+ "--skip=basic::file::test_mx"
+ "--skip=basic::file::test_mx_to_null"
+ "--skip=basic::file::test_ns"
+ "--skip=basic::file::test_ns_lookup"
+ "--skip=basic::file::test_soa"
+ "--skip=basic::file::test_srv"
+ "--skip=basic::file::test_update_errors"
+ "--skip=basic::file::test_wildcard"
+ "--skip=basic::file::test_wildcard_chain"
+ "--skip=test_all_lines_are_loaded"
+ "--skip=test_implicit_in_class"
+ "--skip=test_ttl_wilcard")
+ #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1)
+ ("rust-basic-toml" ,rust-basic-toml-0.1)
+ ("rust-bytes" ,rust-bytes-1)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-enum-as-inner" ,rust-enum-as-inner-0.6)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-h2" ,rust-h2-0.3)
+ ("rust-h3" ,rust-h3-0.0.2)
+ ("rust-h3-quinn" ,rust-h3-quinn-0.0.3)
+ ("rust-hickory-proto" ,rust-hickory-proto-0.24)
+ ("rust-hickory-recursor" ,rust-hickory-recursor-0.24)
+ ("rust-hickory-resolver" ,rust-hickory-resolver-0.24)
+ ("rust-http" ,rust-http-0.2)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-rusqlite" ,rust-rusqlite-0.29)
+ ("rust-rustls" ,rust-rustls-0.21)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-time" ,rust-time-0.3)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tokio-openssl" ,rust-tokio-openssl-0.6)
+ ("rust-tokio-rustls" ,rust-tokio-rustls-0.24)
+ ("rust-tokio-util" ,rust-tokio-util-0.7)
+ ("rust-tracing" ,rust-tracing-0.1))
+ #:cargo-development-inputs
+ (("rust-futures-executor" ,rust-futures-executor-0.3)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3))))
+ (home-page "https://hickory-dns.org/")
+ (synopsis "Hickory DNS Server is a DNS server with DNSSEC support")
+ (description
+ "Hickory DNS Server is a safe and secure DNS server with DNSSEC support.
+Eventually this could be a replacement for BIND9. The DNSSEC support allows
+for live signing of all records, in it does not currently support records
+signed offline. The server supports dynamic DNS with SIG0 authenticated
+requests. Hickory DNS is based on the Tokio and Futures libraries, which
+means it should be easily integrated into other software that also use those
+libraries.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-http-1
(package
(name "rust-http")
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index db4fe0b447..62739fa1c0 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -45,7 +45,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
-;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021, 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl>
@@ -62,6 +62,7 @@
;;; Copyright © 2023 Felix Gruber <felgru@posteo.ne
;;; Copyright © 2023 Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -110,6 +111,7 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
@@ -143,6 +145,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
@@ -4984,6 +4987,77 @@ implementation, along with tools for interoperability with pandas, NumPy, and
other traditional Python scientific computing packages.")
(license license:asl2.0)))
+(define-public python-fastparquet
+ (package
+ (name "python-fastparquet")
+ (version "2024.2.0")
+ (source
+ (origin
+ ;; Fastparquet uses setuptools-scm to find the current version. This
+ ;; only works when we use the PyPI tarball, which does not contain
+ ;; tests. Instead, we use the git-fetch method and set the version via
+ ;; envar.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dask/fastparquet")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f32dj1xvd11l0siznqd33dpjlhg9siylcjcfkcdlqfcy45jfj3v"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-n" "auto")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ ;; Remove dependencies on git.
+ (("^.*\"git\", \"status\".*$") "")
+ ;; Guix is only compatible with a single version of numpy
+ ;; at a time. We can safely remove this dependency.
+ (("'oldest-supported-numpy'") ""))))
+ (add-before 'build 'pretend-version
+ ;; The version string is usually derived via setuptools-scm, but
+ ;; without the git metadata available, the version string is set
+ ;; to '0.0.0'.
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
+ (add-before 'check 'build-cython-extensions
+ ;; Cython extensions need to be built for the check phase.
+ (lambda _
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+ (propagated-inputs
+ (list python-cramjam
+ python-fsspec
+ python-lzo
+ python-numpy
+ python-packaging
+ python-pandas))
+ (native-inputs
+ (list python-cython
+ python-pytest-runner
+ python-pytest-xdist
+ python-setuptools-scm))
+ (home-page "https://github.com/dask/fastparquet")
+ (synopsis "Python implementation of the Parquet file format")
+ (description
+ "@code{fastparquet} is a Python implementation of the Parquet file
+format. @code{fastparquet} is used implicitly by @code{dask}, @code{pandas}
+and @code{intake-parquet}. It supports the following compression algorithms:
+
+@itemize
+@item Gzip
+@item Snappy
+@item Brotli
+@item LZ4
+@item Zstd
+@item LZO (optionally)
+@end itemize")
+ (license license:asl2.0)))
+
(define-public python-crate
(package
(name "python-crate")
@@ -5302,6 +5376,8 @@ compatible with SQLite using a graphical user interface.")
go-github-com-mattn-go-runewidth
go-golang-org-x-xerrors
go-gopkg-in-yaml-v2))
+ (native-inputs (list go-github-com-google-go-cmp-cmp
+ go-github-com-k0kubun-pp))
(synopsis "SQL language server written in Go")
(description
"This package implements the @acronym{LSP, Language Server Protocol} for SQL.")
diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm
index a5732f75bf..7ea2c155aa 100644
--- a/gnu/packages/dezyne.scm
+++ b/gnu/packages/dezyne.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2022, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2022, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,14 +34,14 @@
(define-public dezyne
(package
(name "dezyne")
- (version "2.18.0")
+ (version "2.18.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://dezyne.org/download/dezyne/"
name "-" version ".tar.gz"))
(sha256
- (base32 "1lbrxycpvwmvif3gpjnz8iskvlxp7f8bl71k44j7acwqrp8j2szi"))))
+ (base32 "0i8a8bzsh58mpgrgb0sg0qfszmf144grdmr741qwxwww5b2nsmbj"))))
(propagated-inputs (list boost
guile-json-4
guile-readline
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index a93165404e..7fa5df9202 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -137,6 +137,7 @@
;;; Copyright © 2023 Thanos Apollo <public@thanosapollo.com>
;;; Copyright © 2023 Ian Eure <ian@retrospec.tv>
;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
+;;; Copyright © 2024 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -371,14 +372,14 @@
(define-public emacs-activities
(package
(name "emacs-activities")
- (version "0.5.1")
+ (version "0.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/activities-" version ".tar"))
(sha256
- (base32 "0ng9sgajcpal881s3kavkmz0fc38f2h207hpqj62cf14z7bsk0zk"))))
+ (base32 "03dc2d9w40qp0qacv5vk49498qyb9y9n6ppd79jbglkpr0a60y21"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-persist))
(home-page "https://github.com/alphapapa/activities.el")
@@ -23494,7 +23495,7 @@ according to a parsing expression grammar.")
(define-public emacs-eldev
(package
(name "emacs-eldev")
- (version "1.8.2")
+ (version "1.9")
(source
(origin
(method git-fetch)
@@ -23503,7 +23504,7 @@ according to a parsing expression grammar.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "108px7lnf39ngvb8rcqb9qh2amcbs1h22dbwd1q7js2np2nd132y"))))
+ (base32 "0mhp3m4d5na844nnv107j706552h0q6xs93jkp4rmqiig73kq17w"))))
(build-system emacs-build-system)
(arguments
(list
@@ -23841,6 +23842,29 @@ Citar note support:
@end itemize")
(license license:gpl3+)))
+(define-public emacs-citar-denote
+ (package
+ (name "emacs-citar-denote")
+ (version "2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pprevos/citar-denote")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g476awbrdws7k7smk1qasz15df20zilx3wqbi3wj0i1q2dbsi8z"))))
+ (build-system emacs-build-system)
+ (propagated-inputs (list emacs-citar emacs-denote))
+ (home-page "https://github.com/pprevos/citar-denote")
+ (synopsis "Emacs package to create and retrieve bibliography notes with
+Citar and Denote")
+ (description
+ "@code{citar-denote} is a minor-mode integrating the Emacs Citar and
+Denote packages to enable create managing bibliographic notes and citations.")
+ (license license:gpl3+)))
+
(define-public emacs-helm-bibtex
(let ((commit "8ebf50d5bd368082d0b7ab79d26a52f372cdef98")
(revision "1"))
@@ -33667,22 +33691,7 @@ simple but powerful Org contents.")
(list
#:include #~(cons "^src/" %default-include)
#:tests? #t
- ;; <https://github.com/emacs-eldev/eldev/issues/99#issuecomment-1912637609>
- #:test-command #~(list "eldev" "-X" "-dtTC" "test")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'configure-eldev
- (lambda _
- (setenv "HOME"
- (string-append (getcwd) "/.eldev"))
- (with-output-to-file "Eldev-local"
- (lambda _
- (format #t "~s"
- '(dolist (d (split-string (getenv
- "EMACSLOADPATH")
- ":" t))
- (ignore-errors
- (eldev-use-local-dependency d)))))))))))
+ #:test-command #~(list "eldev" "--use-emacsloadpath" "-dtTC" "test")))
(native-inputs (list emacs-buttercup emacs-eldev))
(propagated-inputs (list emacs-org))
(home-page "https://github.com/ox-tufte/ox-tufte")
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 2cc420f7ba..368d4c331d 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1013,7 +1013,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
- (version "15.1.01")
+ (version "15.1.05")
(source
(origin
(method url-fetch)
@@ -1023,7 +1023,7 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
- (base32 "1dydcqa2nvmnij5jzj10carrzssd3ar24i8zd18pk4zpl84l4pz1"))
+ (base32 "1yi33kxlgw7ds99za5bclh537sw8ggl94nrhhq7hwxaq8dgzaxfj"))
(snippet
'(begin
(use-modules (guix build utils))
@@ -3280,7 +3280,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
- (version "1.315")
+ (version "1.320")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3288,7 +3288,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
- "0isb7rbg8yb6hv8xk1ngngkgzpyb3papkl19jczwrwm373m8bn3f"))))
+ "1wvab2g2hcy8wqi23zva17rymqfrrfwd7yh0wbhfb67mz18wbjpm"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")
@@ -3302,7 +3302,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
(package
(inherit font-lxgw-wenkai)
(name "font-lxgw-wenkai-tc")
- (version "1.011")
+ (version "1.320")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3310,7 +3310,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
(sha256
(base32
- "0x83a7zg1w82bpilk84ajlisccf90kl01gz89fipgqji9nii71bv"))))
+ "0lzfci4zpia62vbnyv22ajlrd8gvwj1ff7iaa0mxs66dbb0p6pq8"))))
(home-page "https://github.com/lxgw/LxgwWenKaitc")
(synopsis "Traditional Chinese Imitation Song typeface")
(description
@@ -3321,7 +3321,7 @@ dialects in Hong Kong and Taiwan.")))
(define-public font-chiron-sung-hk
(package
(name "font-chiron-sung-hk")
- (version "1.010")
+ (version "1.011")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3330,8 +3330,22 @@ dialects in Hong Kong and Taiwan.")))
(file-name (git-file-name name version))
(sha256
(base32
- "065p1gc5xjwc4kfw8bqpsbhaf1p4w0k4l0j04vjsjhcl4k9vyvfz"))))
+ "1916bb834y4r4312g14zid7w3pbx1i70jcgkkfbf4z20grrj891m"))))
(build-system font-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (let ((install (assoc-ref %standard-phases 'install)))
+ (with-directory-excursion "VAR"
+ (for-each delete-file (find-files "." "\\.ttf$"))
+ (install #:outputs `(("out" . ,#$output))))
+ (with-directory-excursion "OTF"
+ (install #:outputs `(("out" . ,#$output:otf))))
+ (with-directory-excursion "TTF"
+ (install #:outputs `(("out" . ,#$output:ttf))))))))))
+ (outputs '("out" "otf" "ttf"))
(home-page "https://chiron-fonts.github.io/")
(synopsis "Traditional Chinese Song typeface")
(description
@@ -3345,7 +3359,7 @@ prevalent typefaces in Traditional Chinese regions.")
(package
(inherit font-chiron-sung-hk)
(name "font-chiron-hei-hk")
- (version "2.508")
+ (version "2.509")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3354,7 +3368,7 @@ prevalent typefaces in Traditional Chinese regions.")
(file-name (git-file-name name version))
(sha256
(base32
- "0drvkqk629z63k62v3ds559phl82dmkyvpx2r8mi99nnsz22a8ps"))))
+ "0bwx909sijpnc474355hlfjwgxin0m9yxd5k9qwmgxkp2rzqiwnk"))))
(synopsis "Traditional Chinese Gothic typeface")
(description
"Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 41bfe40dff..9ff08e5e74 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -30,7 +30,7 @@
;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2017-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
@@ -7089,7 +7089,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public crawl
(package
(name "crawl")
- (version "0.30.1")
+ (version "0.31.0")
(source
(origin
(method git-fetch)
@@ -7098,7 +7098,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rlp8z1n7ziv7aaa3fb4h4nnq24pfz1m23a99c1ra582fh0yx1pl"))
+ (base32 "0igrl0a9qd2g27q3wr86xjkpqcqs4y7bh3na1saqvpd4vc8mbayk"))
(patches (search-patches "crawl-upgrade-saves.patch"))))
(build-system gnu-build-system)
(inputs
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index ff830f8b35..c8902de6a0 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -618,12 +619,12 @@ Go. It also includes runtime support libraries for these languages.")
(define %gcc-11-x86_64-micro-architectures
;; Suitable '-march' values for GCC 11.
(append %gcc-10-x86_64-micro-architectures
- '("sapphirerapids" "alterlake" "rocketlake" ;Intel
+ '("sapphirerapids" "alderlake" "rocketlake" ;Intel
"btver1" "btver2" ;AMD
;; psABI micro-architecture levels
- "x86-64-v1" "x86-64-v2" "x86-64-v3" "x86-64-v4")))
+ "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4")))
;; Suitable '-march' values for GCC 12.
(define %gcc-12-aarch64-micro-architectures
@@ -672,6 +673,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-7.5-aarch64-micro-architectures)
("armhf" ,@%gcc-7.5-armhf-micro-architectures)
+ ("i686" ,@%gcc-7.5-x86_64-micro-architectures)
("x86_64" ,@%gcc-7.5-x86_64-micro-architectures))
,@(package-properties gcc-6)))))
@@ -728,6 +730,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-10-aarch64-micro-architectures)
("armhf" ,@%gcc-10-armhf-micro-architectures)
+ ("i686" ,@%gcc-10-x86_64-micro-architectures)
("x86_64" ,@%gcc-10-x86_64-micro-architectures))
,@(package-properties gcc-8)))))
@@ -763,6 +766,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-11-aarch64-micro-architectures)
("armhf" ,@%gcc-11-armhf-micro-architectures)
+ ("i686" ,@%gcc-11-x86_64-micro-architectures)
("x86_64" ,@%gcc-11-x86_64-micro-architectures))
,@(package-properties gcc-8)))))
@@ -785,6 +789,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-12-aarch64-micro-architectures)
("armhf" ,@%gcc-12-armhf-micro-architectures)
+ ("i686" ,@%gcc-12-x86_64-micro-architectures)
("x86_64" ,@%gcc-12-x86_64-micro-architectures))
,@(package-properties gcc-11)))))
@@ -807,6 +812,7 @@ It also includes runtime support libraries for these languages.")
`((compiler-cpu-architectures
("aarch64" ,@%gcc-13-aarch64-micro-architectures)
("armhf" ,@%gcc-13-armhf-micro-architectures)
+ ("i686" ,@%gcc-13-x86_64-micro-architectures)
("x86_64" ,@%gcc-13-x86_64-micro-architectures))
,@(package-properties gcc-11)))))
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index 9c8100dc7b..b458a6397c 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages documentation)
@@ -175,7 +176,7 @@ of a larger interface.")
(define-public babl
(package
(name "babl")
- (version "0.1.96")
+ (version "0.1.108")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
@@ -189,12 +190,11 @@ of a larger interface.")
"/babl-" version ".tar.xz")))
(sha256
(base32
- "1xj5hlmm834lb84rpjlfxbqnm5piswgzhjas4h8z90x9b7j3yrrk"))))
+ "0x8lxvnhfpssj84x47y3y06vsvhd5afb9jknw38c8ymbxafzxpi6"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
- (list "-Denable-gir=false"
- "-Dwith-docs=false")))
+ (list "-Dwith-docs=false")))
(native-inputs
(list gobject-introspection pkg-config vala))
(propagated-inputs
@@ -215,7 +215,7 @@ provided, as well as a framework to add new color models and data types.")
(define-public gegl
(package
(name "gegl")
- (version "0.4.46")
+ (version "0.4.48")
(source
(origin
(method url-fetch)
@@ -228,15 +228,11 @@ provided, as well as a framework to add new color models and data types.")
(string-append "ftp://ftp.gtk.org/pub/gegl/"
(version-major+minor version)
"/gegl-" version ".tar.xz")))
- (patches
- (search-patches "gegl-compatibility-old-librsvg.patch"))
(sha256
- (base32 "14p8n6vily0yp6gqafl2xy7d2rh1j48pcj0a7mglqxy83d4b5cyh"))))
+ (base32 "0iw2wag3sls7va4c3dmczisbs9na4ml0rppnk1ymv0789gcjd321"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags
- (list "-Dintrospection=false")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'extend-test-time-outs
(lambda _
@@ -287,8 +283,27 @@ buffers.")
;; application and GUI binary gegl is licensed under GPL.
(license (list license:lgpl3+ license:gpl3+))))
-;; gnome-photos does not build against gegl 0.4.46 yet.
+;; gnome-photos does not build against gegl 0.4.46 or newer yet.
;; See also <https://gitlab.gnome.org/GNOME/gnome-photos/-/issues/214>.
+(define-public babl-0.1.96
+ (package
+ (inherit babl)
+ (version "0.1.96")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (list (string-append "https://download.gimp.org/pub/babl/"
+ (version-major+minor version)
+ "/babl-" version ".tar.xz")
+ (string-append "https://ftp.gtk.org/pub/babl/"
+ (version-major+minor version)
+ "/babl-" version ".tar.xz")
+ (string-append "ftp://ftp.gtk.org/pub/babl/"
+ (version-major+minor version)
+ "/babl-" version ".tar.xz")))
+ (sha256
+ (base32 "1xj5hlmm834lb84rpjlfxbqnm5piswgzhjas4h8z90x9b7j3yrrk"))))))
+
(define-public gegl-0.4.44
(package
(inherit gegl)
@@ -306,12 +321,15 @@ buffers.")
(version-major+minor version)
"/gegl-" version ".tar.xz")))
(sha256
- (base32 "09k1sn4h0bakgmq2hgd1iamprngpr81ky3fd9446lh2ycd0xnk0a"))))))
+ (base32 "09k1sn4h0bakgmq2hgd1iamprngpr81ky3fd9446lh2ycd0xnk0a"))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs gegl)
+ (replace "babl" babl-0.1.96)))))
(define-public gimp
(package
(name "gimp")
- (version "2.10.34")
+ (version "2.10.36")
(source
(origin
(method url-fetch)
@@ -319,7 +337,7 @@ buffers.")
(version-major+minor version)
"/gimp-" version ".tar.bz2"))
(sha256
- (base32 "18vscmy293q6wq78almv0m7r8jh4j8szvmrw56j9icsisd14c044"))))
+ (base32 "1cnvgkni2q4psv8syyl5yd9kk84fv5g3imd2kgm3mnsbkb3c6frx"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML
@@ -393,6 +411,52 @@ as well as specialized ones. It features a highly customizable interface
that is extensible via a plugin system.")
(license license:gpl3+))) ; some files are lgplv3
+(define-public gimp-next
+ (package
+ (inherit gimp)
+ (name "gimp-next")
+ (version "2.99.18")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://download.gimp.org/pub/gimp/v"
+ (version-major+minor version)
+ "/gimp-" version ".tar.xz"))
+ (sha256
+ (base32 "0vnvdl7x88njyyxkbgdbhz6jwz1qasrxh0fpwk6x1m609alvf6wc"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:modules `((ice-9 popen)
+ (ice-9 rdelim)
+ (guix build meson-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-gcc-reference
+ ;; Avoid reference to GCC.
+ (lambda _
+ (let* ((port (open-input-pipe "gcc -v 2>&1 | tail -n 1"))
+ (cc-version (read-line port)))
+ (close-pipe port)
+ (substitute* "app/gimp-version.c"
+ (("CC_VERSION") (string-append "\"" cc-version "\""))))))
+ (add-after 'install 'move-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share"))
+ (rename-file (string-append out "/share/doc")
+ (string-append doc "/share/doc"))))))))
+ (inputs (modify-inputs (package-inputs gimp)
+ (replace "gtk+" gtk+)
+ (prepend libxmu libxt)
+ (prepend python gjs)
+ (prepend libxslt)))
+ (native-inputs (modify-inputs (package-native-inputs gimp)
+ (prepend appstream-glib
+ gi-docgen
+ libarchive)))))
+
(define-public gimp-fourier
(package
(name "gimp-fourier")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 103065141e..97e7f25532 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5602,6 +5602,9 @@ file.")
"-Dlocalstatedir=/var"
"-Dman=false"
"-Dsystemd=false") ;no systemd
+ ;; Apparently the tests are known to fail on big-endian systems.
+ #:tests? (not (or (%current-target-system)
+ (not (target-little-endian?))))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
diff --git a/gnu/packages/golang-compression.scm b/gnu/packages/golang-compression.scm
index 568fdd12b9..b999c063ee 100644
--- a/gnu/packages/golang-compression.scm
+++ b/gnu/packages/golang-compression.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -84,6 +85,30 @@ the @code{c2go} tool at
compression format.")
(license license:bsd-3)))
+(define-public go-github-com-hhrutter-lzw
+ (package
+ (name "go-github-com-hhrutter-lzw")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hhrutter/lzw")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n13qhf8ih08jzm10wprdvjy56ylmy6fhakyqrddm6nszf397wch"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hhrutter/lzw"))
+ (home-page "https://github.com/hhrutter/lzw")
+ (synopsis "Extended version of @code{compress/lzw}")
+ (description
+ "This package provides an enhanced version of the @code{compress/lzw}
+library included in the stdlib, and supports GIF, TIFF and PDF.")
+ (license license:bsd-3)))
+
(define-public go-github-com-klauspost-compress
(package
(name "go-github-com-klauspost-compress")
@@ -115,9 +140,32 @@ compression format.")
(description "@code{compress} provides various compression algorithms.")
(license license:bsd-3)))
-(define-public go-github.com-ulikunitz-xz
+(define-public go-github-com-nwaples-rardecode-v2
+ (package
+ (name "go-github-com-nwaples-rardecode-v2")
+ (version "2.0.0-beta.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nwaples/rardecode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1344mxfdgs5fps6mqxk6352arrfszi33kmq394rgmqpf4394f1y7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/nwaples/rardecode"))
+ (home-page "https://github.com/nwaples/rardecode")
+ (synopsis "Reading RAR archives in Go")
+ (description
+ "This package provides a library for reading RAR archives with Golang.")
+ (license license:bsd-2)))
+
+(define-public go-github-com-ulikunitz-xz
(package
- (name "go-github.com-ulikunitz-xz")
+ (name "go-github-com-ulikunitz-xz")
(version "0.5.8")
(source
(origin
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm
index 4f2c6f8c1a..1d7ad01af2 100644
--- a/gnu/packages/golang-web.scm
+++ b/gnu/packages/golang-web.scm
@@ -1216,6 +1216,34 @@ which produce colorized output using github.com/fatih/color.")
(description "OpenTracing-Go is a Go implementation of the OpenTracing API.")
(license license:asl2.0)))
+(define-public go-github-com-pkg-sftp
+ (package
+ (name "go-github-com-pkg-sftp")
+ (version "1.13.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pkg/sftp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n35lzfrnrffjqy34ny6gxs27kq81s67ply6q8s1g19mhfzm6my7"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/pkg/sftp"))
+ (propagated-inputs (list go-golang-org-x-crypto go-github-com-kr-fs))
+ (native-inputs (list go-github-com-stretchr-testify))
+ (home-page "https://github.com/pkg/sftp")
+ (synopsis "SFTP implementation for Go")
+ (description
+ "This package provides an @acronym{SFTP, SSH File Transfer Protocol}
+implementation, as described in
+@url{https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt},
+for Go.")
+ (license license:bsd-2)))
+
(define-public go-github-com-pquerna-cachecontrol
(package
(name "go-github-com-pquerna-cachecontrol")
@@ -1394,6 +1422,38 @@ an interface to implement any other minifier.")
sockets.")
(license license:expat))))
+(define-public go-github-com-ugorji-go-codec
+ (package
+ (name "go-github-com-ugorji-go-codec")
+ (version "1.2.12")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ugorji/go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11j0sd7kli2bh2npfr2znnvdjsk118rs8khqzfdp6pb5jm0l20ib"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ugorji/go/codec"
+ #:unpack-path "github.com/ugorji/go"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-benchmarks
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively (string-append "src/"
+ import-path
+ "/bench")))))))
+ (propagated-inputs (list go-golang-org-x-tools))
+ (home-page "https://github.com/ugorji/go")
+ (synopsis "Codec and encoding library for various serialization formats")
+ (description
+ "This package provides a high performance and feature rich codec and
+encoding library for the MessagePack, CBOR, JSON and the Binc formats.")
+ (license license:expat)))
+
(define-public go-github-com-valyala-fasthttp
(package
(name "go-github-com-valyala-fasthttp")
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index e68948e495..0b3db6e379 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -1,20 +1,26 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
-;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2020, 2021 raingloom <raingloom@riseup.net>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
+;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2022 Dominic Martinez <dom@dominicm.dev>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
+;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Thomas Ieong <th.ieong@free.fr>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
-;;; Copyright © 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -44,7 +50,8 @@
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-compression)
- #:use-module (gnu packages golang-crypto))
+ #:use-module (gnu packages golang-crypto)
+ #:use-module (gnu packages linux))
;;; Commentary:
;;;
@@ -348,6 +355,35 @@ quantiles over an unbounded data stream within low memory and CPU bounds.")
similar to Go's standard library @code{json} and @code{xml} package.")
(license license:expat)))
+(define-public go-github-com-cheggaaa-pb-v3
+ (package
+ (name "go-github-com-cheggaaa-pb-v3")
+ (version "3.0.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cheggaaa/pb/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/cheggaaa/pb/v3"
+ #:unpack-path "github.com/cheggaaa/pb"))
+ (propagated-inputs
+ (list go-github-com-fatih-color
+ go-github-com-mattn-go-colorable
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-runewidth
+ go-github-com-vividcortex-ewma))
+ (home-page "https://github.com/cheggaaa/pb/")
+ (synopsis "Console progress bar for Go")
+ (description
+ "This package is a Go library that draws progress bars on the terminal.")
+ (license license:bsd-3)))
+
(define-public go-github-com-coocood-freecache
(package
(name "go-github-com-coocood-freecache")
@@ -503,6 +539,31 @@ its C API.")))
(description "Go bindings to systemd for (de)serialization and comparison
of unit files.")))
+(define-public go-github-com-cskr-pubsub
+ (package
+ (name "go-github-com-cskr-pubsub")
+ (version "2.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cskr/pubsub")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18kqfdzkfs7z8266a5q5wldwkcvnhc7yw09b9vr8r0s7svy8d5s6"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:tests? #t ; Tests require network interface access
+ #:go go-1.18
+ #:import-path "github.com/cskr/pubsub"))
+ (home-page "https://github.com/cskr/pubsub")
+ (synopsis "Simple pubsub package for go")
+ (description
+ "Package @code{pubsub} implements a simple multi-topic pub-sub library.")
+ (license license:bsd-2)))
+
(define-public go-github-com-cyberdelia-go-metrics-graphite
(package
(name "go-github-com-cyberdelia-go-metrics-graphite")
@@ -529,6 +590,29 @@ of unit files.")))
metrics to Graphite.")
(license license:bsd-2)))
+(define-public go-github-com-dave-jennifer
+ (package
+ (name "go-github-com-dave-jennifer")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dave/jennifer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01sgafbds8n5zs61qf057whn06yj6avz30xgxk6pllf22528558m"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.20
+ #:import-path "github.com/dave/jennifer"))
+ (home-page "https://github.com/dave/jennifer")
+ (synopsis "Code generator for Go")
+ (description "This package provides functionality to generate Go code.")
+ (license license:expat)))
+
(define-public go-github-com-dimchansky-utfbom
(package
(name "go-github-com-dimchansky-utfbom")
@@ -686,6 +770,223 @@ Differentiation between text and binary files}.
@end itemize")
(license license:expat)))
+(define-public go-github-com-hashicorp-errwrap
+ (package
+ (name "go-github-com-hashicorp-errwrap")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/errwrap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p5wdz8p7dmwphmb33gwhy3iwci5k9wkfqmmfa6ay1lz0cqjwp7a"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/errwrap"))
+ (home-page "https://github.com/hashicorp/errwrap")
+ (synopsis "Wrapping and querying errors for Golang")
+ (description
+ "@code{errwrap} is a package for Go that formalizes the pattern of
+wrapping errors and checking if an error contains another error.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-hcl
+ (package
+ (name "go-github-com-hashicorp-hcl")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/hcl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/hcl"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew))
+ (synopsis "Go implementation of HashiCorp Configuration Language V1")
+ (description
+ "This package contains the main implementation of the @acronym{HCL,
+HashiCorp Configuration Language}. HCL is designed to be a language for
+expressing configuration which is easy for both humans and machines to read.")
+ (home-page "https://github.com/hashicorp/hcl")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-hcl-v2
+ (package
+ (name "go-github-com-hashicorp-hcl-v2")
+ (version "2.11.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/hcl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/hcl/v2"))
+ (native-inputs
+ (list go-github-com-davecgh-go-spew))
+ (inputs
+ (list go-github-com-agext-levenshtein
+ go-github-com-apparentlymart-go-textseg-v13
+ go-github-com-mitchellh-go-wordwrap
+ go-github-com-zclconf-go-cty))
+ (synopsis "Go implementation of HashiCorp Configuration Language V2")
+ (description
+ "This package contains the main implementation of the @acronym{HCL,
+HashiCorp Configuration Language}. HCL is designed to be a language for
+expressing configuration which is easy for both humans and machines to read.")
+ (home-page "https://github.com/hashicorp/hcl")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-go-multierror
+ (package
+ (name "go-github-com-hashicorp-go-multierror")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-multierror")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0l4s41skdpifndn9s8y6s9vzgghdzg4z8z0lld9qjr28888wzp00"))))
+ (build-system go-build-system)
+ (inputs (list go-github-com-hashicorp-errwrap))
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-multierror"))
+ (home-page "https://github.com/hashicorp/go-multierror")
+ (synopsis "Representing a errors list as a single error for Golang")
+ (description
+ "@code{go-multierror} is Golang module providing a mechanism for
+representing a list of @code{error} values as a single @code{error}. It is
+fully compatible with the standard @code{errors} package, including
+the functions @code{As}, @code{Is}, and @code{Unwrap}. This provides a
+standardized approach for introspecting on error values.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-go-syslog
+ (package
+ (name "go-github-com-hashicorp-go-syslog")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-syslog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-syslog"))
+ (home-page "https://github.com/hashicorp/go-syslog")
+ (synopsis "Golang syslog wrapper, cross-compile friendly")
+ (description
+ "This package is a very simple wrapper around log/syslog")
+ (license license:expat)))
+
+(define-public go-github-com-hashicorp-go-uuid
+ (package
+ (name "go-github-com-hashicorp-go-uuid")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-uuid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hashicorp/go-uuid"))
+ (home-page "https://github.com/hashicorp/go-uuid")
+ (synopsis "Generate UUID-format strings")
+ (description
+ "This package generates UUID-format strings using high quality bytes.
+It is not intended to be RFC compliant, merely to use a well-understood string
+representation of a 128-bit value. It can also parse UUID-format strings into
+their component bytes.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hashicorp-go-version
+ (package
+ (name "go-github-com-hashicorp-go-version")
+ (version "1.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-version")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fw6hwvjadpbfj10yk7f64ypw8lmv5s5ny3s4ria0nv6xam1wpai"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hashicorp/go-version"))
+ (home-page "https://github.com/hashicorp/go-version")
+ (synopsis "Go library for parsing and verifying versions and version
+constraints")
+ (description
+ "This package is a library for parsing versions and version
+constraints, and verifying versions against a set of constraints. It can sort
+a collection of versions properly, handles prerelease/beta versions, can
+increment versions.")
+ (license license:mpl2.0)))
+
+(define-public go-github-com-hhrutter-tiff
+ (package
+ (name "go-github-com-hhrutter-tiff")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hhrutter/tiff")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09fzgvxwkd34izbfd26ln8vdbhc4j9gxpar3s7h9h125psrjvg0k"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/hhrutter/tiff"))
+ (propagated-inputs (list go-golang-org-x-image go-github-com-hhrutter-lzw))
+ (home-page "https://github.com/hhrutter/tiff")
+ (synopsis "Extended version of @code{golang.org/x/image/tiff}")
+ (description "This package is an enhanced version of the
+@code{golang.org/x/image/tiff} library featuring:
+
+@itemize
+@item Read support for CCITT Group3/4 compressed images.
+@item Read/write support for LZW compressed images.
+@item Read/write support for the CMYK color model.
+@end itemize")
+ (license license:bsd-3)))
+
(define-public go-github-com-jinzhu-copier
(package
(name "go-github-com-jinzhu-copier")
@@ -709,6 +1010,33 @@ Differentiation between text and binary files}.
struct to another.")
(license license:expat)))
+(define-public go-github-com-k0kubun-pp
+ (package
+ (name "go-github-com-k0kubun-pp")
+ (version "3.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/k0kubun/pp")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vpp5n3kdazk4s1ljhwbrhz3kilzvdvx5hya922bg0q9vnjqqvvc"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/k0kubun/pp"))
+ (propagated-inputs (list go-github-com-mattn-go-colorable
+ go-golang-org-x-text))
+ (home-page "https://github.com/k0kubun/pp")
+ (synopsis "Colored pretty-printer for Go")
+ (description
+ "This package provides a pretty-printer for Go. The functions defined by
+@code{pp} follow an API similar to @code{fmt} and its configuration can be
+customized globally.")
+ (license license:expat)))
+
(define-public go-github-com-matryer-try
(package
(name "go-github-com-matryer-try")
@@ -1092,6 +1420,78 @@ Metrics library.")
(home-page "https://github.com/rcrowley/go-metrics")
(license license:bsd-2))))
+(define-public go-github-com-shirou-gopsutil
+ (package
+ (name "go-github-com-shirou-gopsutil")
+ (version "2.21.11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shirou/gopsutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gpb10xkdwfimn1sp4jhrvzz4p3zgmdb78q8v23nap3yi6v4bff5"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/shirou/gopsutil"
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-v3
+ (lambda* (#:key import-path #:allow-other-keys)
+ ;; We remove the separately included v3 module.
+ (delete-file-recursively (string-append "src/"
+ import-path
+ "/v3"))))
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ ;; host_test.go tries to access files such as
+ ;; /var/run/utmp that do not exist in the build
+ ;; environment.
+ (string-append "src/" import-path "/host/host_test.go")))))))
+ (propagated-inputs
+ (list go-github-com-tklauser-go-sysconf go-golang-org-x-sys))
+ (native-inputs
+ (list go-github-com-stretchr-testify procps))
+ (synopsis "Process and system monitoring in Go")
+ (description
+ "This package provides a library for retrieving information
+on running processes and system utilization (CPU, memory, disks, network,
+sensors).")
+ (home-page "https://github.com/shirou/gopsutil")
+ (license license:bsd-3)))
+
+(define-public go-github-com-shirou-gopsutil-v3
+ (package
+ (inherit go-github-com-shirou-gopsutil)
+ (name "go-github-com-shirou-gopsutil-v3")
+ (version "3.24.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shirou/gopsutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xlfcx6giqaxdah2m02q2i8ynwlzar953wr8wqx1j3004xdgaivd"))))
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/shirou/gopsutil"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ ;; host_test.go tries to access files such as
+ ;; /var/run/utmp that do not exist in the build
+ ;; environment.
+ (string-append "src/" import-path "/host/host_test.go")))))))))
+
(define-public go-github-com-skip2-go-qrcode
(package
(name "go-github-com-skip2-go-qrcode")
@@ -1189,6 +1589,102 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
(home-page "https://github.com/stathat/go")
(license license:expat))))
+(define-public go-github-com-tklauser-go-sysconf
+ (package
+ (name "go-github-com-tklauser-go-sysconf")
+ (version "0.3.13")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tklauser/go-sysconf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07vkimncnmh89706s49599h2w9gwa6jyrv70f8ifw90nsh766km9"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/tklauser/go-sysconf"
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ ;; sysconf_test.go (among others) tries to read the
+ ;; number of online CPUs using /proc/stat and
+ ;; /sys/devices/system/cpu/online. These files are not
+ ;; accessible in the test environment.
+ (string-append "src/" import-path
+ "/cgotest/sysconf_test.go")))))))
+ (propagated-inputs (list go-golang-org-x-sys
+ go-github-com-tklauser-numcpus))
+ (home-page "https://github.com/tklauser/go-sysconf")
+ (synopsis "Go implementation of @code{sysconf}")
+ (description
+ "This package implements @code{sysconf} and provides the associated
+@code{SC_*} constants to query system configuration values at run time.")
+ (license license:bsd-3)))
+
+(define-public go-github-com-tklauser-numcpus
+ (package
+ (name "go-github-com-tklauser-numcpus")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tklauser/numcpus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xcwk42zr6q72zvkqdd9nbyhvq11rmwm2164mr2rvbb9z7alkff8"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/tklauser/numcpus"
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'remove-failing-tests
+ (lambda* (#:key import-path #:allow-other-keys)
+ (with-directory-excursion (string-append "src/"
+ import-path)
+ (for-each delete-file-recursively
+ ;; These tests try to access
+ ;; /sys/devices/system/cpu, which is not
+ ;; available in the test environment.
+ '("numcpus_test.go" "numcpus_linux_test.go"))))))))
+ (propagated-inputs (list go-golang-org-x-sys))
+ (home-page "https://github.com/tklauser/numcpus")
+ (synopsis "Provides information about the number of CPUs in the system")
+ (description
+ "This package provides both library functions and a command-line tool to
+query information regarding the number of CPUs available to the system.")
+ (license license:asl2.0)))
+
+(define-public go-github-com-vividcortex-ewma
+ (package
+ (name "go-github-com-vividcortex-ewma")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/VividCortex/ewma")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq"))))
+ (build-system go-build-system)
+ (arguments '(#:import-path "github.com/VividCortex/ewma"))
+ (home-page "https://github.com/VividCortex/ewma")
+ (synopsis "Exponentially Weighted Moving Average algorithms for Go")
+ (description
+ "This package implements algorithms for
+@url{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average,exponentially
+weighted moving averages}.")
+ (license license:expat)))
+
(define-public go-go-uber-org-automaxprocs
(package
(name "go-go-uber-org-automaxprocs")
@@ -1214,6 +1710,39 @@ Use waterutil with it to work with TUN/TAP packets/frames.")
CPU quota.")
(license license:expat)))
+(define-public go-go-uber-org-zap
+ (package
+ (name "go-go-uber-org-zap")
+ (version "1.24.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uber-go/zap")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "go.uber.org/zap"
+ #:tests? #f)) ; TODO: Fix tests
+ (native-inputs
+ (list go-github-com-stretchr-testify
+ go-golang-org-x-lint
+ go-honnef-co-go-tools))
+ (propagated-inputs
+ (list go-github-com-pkg-errors
+ go-go-uber-org-atomic
+ go-go-uber-org-multierr
+ go-gopkg-in-yaml-v2))
+ (home-page "https://go.uber.org/zap")
+ (synopsis "Logging library for Go")
+ (description
+ "This package provides a library for fast, structured, leveled logging in
+Go.")
+ (license license:expat)))
+
(define-public go-gopkg-in-op-go-logging-v1
(package
(inherit go-github-com-op-go-logging)
@@ -1227,6 +1756,20 @@ CPU quota.")
;;; Executables:
;;;
+(define-public go-numcpus
+ (package
+ (inherit go-github-com-tklauser-numcpus)
+ (name "go-numcpus")
+ (arguments
+ (list
+ #:go go-1.18
+ #:import-path "github.com/tklauser/numcpus/cmd/numcpus"
+ #:unpack-path "github.com/tklauser/numcpus"
+ #:install-source? #f))
+ (description
+ "This package provides a CLI build from the
+go-github-com-tklauser-numcpus source.")))
+
(define-public go-pixelmatch
(package
(inherit go-github-com-orisano-pixelmatch)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0bcd231a93..49e25320fa 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -870,7 +870,8 @@ in the style of communicating sequential processes (@dfn{CSP}).")
("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures))))))
(define %go-1.18-x86_64-micro-architectures
- (list "x86_64-v1" "x86_64-v2" "x86_64-v3" "x86_64-v4"))
+ ;; GOAMD defaults to 'v1' so we match the default elsewhere.
+ (list "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
(define-public go-1.18
(package
@@ -3304,64 +3305,6 @@ command-line parsers.")
(home-page "https://github.com/tj/docopt")
(license license:expat)))
-(define-public go-github-com-hashicorp-hcl
- (package
- (name "go-github-com-hashicorp-hcl")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hashicorp/hcl")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/hashicorp/hcl"))
- (native-inputs
- (list go-github-com-davecgh-go-spew))
- (synopsis "Go implementation of HashiCorp Configuration Language V1")
- (description
- "This package contains the main implementation of the @acronym{HCL,
-HashiCorp Configuration Language}. HCL is designed to be a language for
-expressing configuration which is easy for both humans and machines to read.")
- (home-page "https://github.com/hashicorp/hcl")
- (license license:mpl2.0)))
-
-(define-public go-github-com-hashicorp-hcl-v2
- (package
- (name "go-github-com-hashicorp-hcl-v2")
- (version "2.11.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hashicorp/hcl")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/hashicorp/hcl/v2"))
- (native-inputs
- (list go-github-com-davecgh-go-spew))
- (inputs
- (list go-github-com-agext-levenshtein go-github-com-mitchellh-go-wordwrap
- go-github-com-zclconf-go-cty
- go-github-com-apparentlymart-go-textseg-v13))
- (synopsis "Go implementation of HashiCorp Configuration Language V2")
- (description
- "This package contains the main implementation of the @acronym{HCL,
-HashiCorp Configuration Language}. HCL is designed to be a language for
-expressing configuration which is easy for both humans and machines to read.")
- (home-page "https://github.com/hashicorp/hcl")
- (license license:mpl2.0)))
-
(define-public govulncheck
(package
(name "govulncheck")
@@ -3500,61 +3443,6 @@ editor.")
spec in Go.")
(license license:bsd-3))))
-(define-public go-github-com-hashicorp-go-uuid
- (package
- (name "go-github-com-hashicorp-go-uuid")
- (version "1.0.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hashicorp/go-uuid")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/hashicorp/go-uuid"))
- (home-page "https://github.com/hashicorp/go-uuid")
- (synopsis "Generate UUID-format strings")
- (description
- "This package generates UUID-format strings using high quality bytes.
-It is not intended to be RFC compliant, merely to use a well-understood string
-representation of a 128-bit value. It can also parse UUID-format strings into
-their component bytes.")
- (license license:mpl2.0)))
-
-(define-public go-github-com-hashicorp-go-version
- (let ((commit
- "03c5bf6be031b6dd45afec16b1cf94fc8938bc77")
- (revision "0"))
- (package
- (name "go-github-com-hashicorp-go-version")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hashicorp/go-version")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/hashicorp/go-version"))
- (home-page
- "https://github.com/hashicorp/go-version")
- (synopsis "Go library for parsing and verifying versions and version
-constraints")
- (description "This package is a library for parsing versions and version
-constraints, and verifying versions against a set of constraints. It can sort
-a collection of versions properly, handles prerelease/beta versions, can
-increment versions.")
- (license license:mpl2.0))))
-
(define-public go-github-com-jpillora-backoff
(let ((commit
"06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d")
@@ -3781,8 +3669,7 @@ containers.")
(build-system go-build-system)
(arguments
`(#:import-path "github.com/spf13/afero"))
- (propagated-inputs
- `(("golang.org/x/text" ,go-golang-org-x-text)))
+ (propagated-inputs (list go-github-com-pkg-sftp go-golang-org-x-text))
(home-page "https://github.com/spf13/afero")
(synopsis "File system abstraction for Go")
(description
@@ -3914,21 +3801,21 @@ GNU extensions} to the POSIX recommendations for command-line options.")
"099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c"))))
(build-system go-build-system)
(arguments
- '(#:import-path "github.com/spf13/viper"))
+ (list
+ #:import-path "github.com/spf13/viper"))
(propagated-inputs
- `(("github.com/spf13/afero" ,go-github-com-spf13-afero)
- ("github.com/spf13/cast" ,go-github-com-spf13-cast)
- ("github.com/spf13/pflag" ,go-github-com-spf13-pflag)
- ("github.com/spf13/jwalterweatherman" ,go-github-com-spf13-jwalterweatherman)
- ("github.com/fsnotify/fsnotify" ,go-github-com-fsnotify-fsnotify)
- ("github.com/hashicorp/hcl" ,go-github-com-hashicorp-hcl)
- ("github.com/magiconair/properties" ,go-github-com-magiconair-properties)
- ("github.com/mitchellh/mapstructure" ,go-github-com-mitchellh-mapstructure)
- ("github.com/pelletier/go-toml" ,go-github-com-pelletier-go-toml)
- ("github.com/subosito/gotenv" ,go-github-com-subosito-gotenv)
-
- ("gopkg.in/ini.v1" ,go-gopkg-in-ini-v1)
- ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2)))
+ (list go-github-com-fsnotify-fsnotify
+ go-github-com-hashicorp-hcl
+ go-github-com-magiconair-properties
+ go-github-com-mitchellh-mapstructure
+ go-github-com-pelletier-go-toml
+ go-github-com-spf13-afero
+ go-github-com-spf13-cast
+ go-github-com-spf13-jwalterweatherman
+ go-github-com-spf13-pflag
+ go-github-com-subosito-gotenv
+ go-gopkg-in-ini-v1
+ go-gopkg-in-yaml-v2))
(native-inputs
(list go-github-com-stretchr-testify))
(home-page "https://github.com/spf13/viper")
@@ -6337,31 +6224,6 @@ and aid debugging.")
a cron spec parser and job runner.")
(license license:expat)))
-(define-public go-github-com-shirou-gopsutil
- (let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399")
- (revision "0"))
- (package
- (name "go-github-com-shirou-gopsutil")
- (version (git-version "v2.19.7" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shirou/gopsutil")
- (commit commit))) ; XXX
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/shirou/gopsutil"))
- (synopsis "Process and system monitoring in Go")
- (description "This package provides a library for retrieving information
-on running processes and system utilization (CPU, memory, disks, network,
-sensors).")
- (home-page "https://github.com/shirou/gopsutil")
- (license license:bsd-3))))
-
(define-public go-github-com-danwakefield-fnmatch
(let ((commit "cbb64ac3d964b81592e64f957ad53df015803288")
(revision "0"))
@@ -8779,42 +8641,6 @@ error messages.")
inspired by the causal messaging system in the Pony programming language.")
(license license:expat))))
-(define-public go-github-com-cheggaaa-pb-v3
- (package
- (name "go-github-com-cheggaaa-pb-v3")
- (version "3.0.8")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cheggaaa/pb/")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/cheggaaa/pb/v3"
- ;; XXX: it does have tests but I'm not sure how to run them.
- ;; go-build-system is looking in the wrong directory.
- #:tests? #f))
- (propagated-inputs
- (list go-golang-org-x-sys
- go-github-com-rivo-uniseg
- go-github-com-mattn-go-runewidth
- go-github-com-mattn-go-isatty
- go-github-com-mattn-go-colorable
- go-github-com-fatih-color
- go-github-com-vividcortex-ewma))
- (home-page "https://github.com/cheggaaa/pb/")
- (synopsis "Console progress bar for Go")
- (description "This package is a Go library that draws progress bars on
-the terminal.")
- (license license:bsd-3)))
-
-(define-public go-github-com-cheggaaa-pb
- (deprecated-package "go-github-com-cheggaaa-pb" go-github-com-cheggaaa-pb-v3))
-
(define-public go-github-com-gologme-log
;; this is the same as v1.2.0, only the LICENSE file changed
(let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
@@ -8843,28 +8669,6 @@ is unchanged. This package contains a series of small enhancements and
additions.")
(license license:bsd-3))))
-(define-public go-github-com-hashicorp-go-syslog
- (package
- (name "go-github-com-hashicorp-go-syslog")
- (version "1.0.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hashicorp/go-syslog")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/hashicorp/go-syslog"))
- (home-page "https://github.com/hashicorp/go-syslog")
- (synopsis "Golang syslog wrapper, cross-compile friendly")
- (description "This package is a very simple wrapper around log/syslog")
- (license license:expat)))
-
(define-public go-golang-zx2c4-com-wireguard
(package
(name "go-golang-zx2c4-com-wireguard")
@@ -9381,36 +9185,6 @@ be used as both a binary and a library.")
(native-inputs '())
(inputs '())))
-(define-public go-go-uber-org-zap
- (package
- (name "go-go-uber-org-zap")
- (version "1.16.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/uber-go/zap")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "05ix5wg1r8pgi7fb6084lg4x7mrkvzkh1nxa7zj337w5b9xj0myr"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "go.uber.org/zap"
- #:tests? #f)) ; TODO: Fix tests
- (native-inputs
- (list go-github-com-stretchr-testify go-golang-org-x-lint
- go-honnef-co-go-tools))
- (propagated-inputs
- (list go-github-com-pkg-errors go-go-uber-org-atomic
- go-go-uber-org-multierr go-gopkg-in-yaml-v2))
- (home-page "https://go.uber.org/zap")
- (synopsis "Logging library for Go")
- (description
- "This package provides a library for fast, structured, leveled logging in
-Go.")
- (license license:expat)))
-
(define-public go-github-com-davecgh-go-xdr
(package
(name "go-github-com-davecgh-go-xdr")
@@ -9617,28 +9391,6 @@ programming language.")
parser.")
(license license:bsd-2)))
-(define-public go-github-com-vividcortex-ewma
- (package
- (name "go-github-com-vividcortex-ewma")
- (version "1.2.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/VividCortex/ewma")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq"))))
- (build-system go-build-system)
- (arguments '(#:import-path "github.com/vividcortex/ewma"))
- (home-page "https://github.com/VividCortex/ewma")
- (synopsis "Exponentially Weighted Moving Average algorithms for Go")
- (description
- "This package implements algorithms for exponentially weighted moving
-averages.")
- (license license:expat)))
-
(define-public go-github-com-rivo-uniseg
(package
(name "go-github-com-rivo-uniseg")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 950476815f..b9d6ed2893 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016, 2017, 2020-2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org>
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index a2ac9a6cba..d0c443d38c 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2895,7 +2895,7 @@ See http://minikanren.org/ for more on miniKanren generally.")
(define-public guile-irregex
(package
(name "guile-irregex")
- (version "0.9.6")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2903,25 +2903,46 @@ See http://minikanren.org/ for more on miniKanren generally.")
version ".tar.gz"))
(sha256
(base32
- "1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq"))))
+ "026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19"))))
(build-system guile-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'move-files-around
- (lambda _
- ;; Move the relevant source files to src/ and create the
- ;; rx/ directory to match the expected module hierarchy.
- (mkdir-p "src/rx/source")
- (rename-file "irregex-guile.scm"
- "src/rx/irregex.scm")
- (rename-file "irregex.scm"
- "src/rx/source/irregex.scm")
- ;; Not really reachable via guile's packaging system,
- ;; but nice to have around.
- (rename-file "irregex-utils.scm"
- "src/rx/source/irregex-utils.scm")
- #t)))
- #:source-directory "src"))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'move-files-around
+ (lambda _
+ ;; Copy the relevant source files to src/ and create the
+ ;; rx/ directory to match the expected module hierarchy.
+ (mkdir-p "src/rx/source")
+ (copy-file "irregex-guile.scm"
+ "src/rx/irregex.scm")
+ (copy-file "irregex.scm"
+ "src/rx/source/irregex.scm")
+
+ (mkdir-p "src/rx/irregex")
+ (copy-file "irregex-utils-guile.scm"
+ "src/rx/irregex/utils.scm")
+ (copy-file "irregex-utils.scm"
+ "src/rx/source/irregex-utils.scm")))
+ (add-after 'build 'check
+ (lambda _
+ (for-each (lambda (f)
+ (invoke "guile" "--no-auto-compile" "-L" "." "-s" f))
+ (find-files "tests" "^guile-.*\\.scm"))))
+ (add-after 'install 'check-installed
+ (lambda _
+ (define-values (scm go) (target-guile-scm+go #$output))
+ (for-each
+ (lambda (f)
+ (substitute* f
+ (("\\(load-from-path \"irregex\"\\)")
+ "(use-modules (rx irregex))")
+ (("\\(load-from-path \"irregex-utils\"\\)")
+ "(use-modules (rx irregex utils))"))
+ (invoke "guile" "-L" scm "-C" go "-L" "tests" f))
+ (delete "tests/guile-cset.scm" ; Tests non-exported API
+ (find-files "tests" "^guile-.*\\.scm"))))))
+ #:source-directory "src"))
(native-inputs
(list guile-3.0))
(home-page "https://synthcode.com/scheme/irregex")
@@ -2936,6 +2957,27 @@ inspired by the SCSH regular expression system.")
(package
(inherit guile-irregex)
(name "guile2.0-irregex")
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile-irregex)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ ;; For some reason guile 2.0 cannot load foo.scm using
+ ;; (load-from-path "foo"). So create symlinks to work around it.
+ (add-before 'check 'create-symlinks
+ (lambda _
+ (use-modules (ice-9 regex))
+ (for-each
+ (lambda (f)
+ (symlink (regexp-substitute #f (string-match "/([^/]+)$" f)
+ 1 ".scm")
+ f))
+ '("tests/guile/test-support"
+ "tests/test-cset"
+ "tests/test-irregex"
+ "tests/test-irregex-from-gauche"
+ "tests/test-irregex-pcre"
+ "tests/test-irregex-scsh"
+ "tests/test-irregex-utf8"))))))))
(native-inputs (list guile-2.0))))
(define-public guile2.2-irregex
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index 3288b0d0a9..3fce4f803c 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -294,7 +294,7 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
- (version "10.20230926")
+ (version "10.20240227")
(source
(origin
;; hackage release doesn't include everything needed for extra bits.
@@ -304,7 +304,7 @@ to @code{cabal repl}).")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0zsq686b0q7mlkybm1xrc0kpl32ymvf0ybar01p68wx800031b2b"))))
+ (base32 "023gk1v01ks367h4zz67ksn2xaw6pgcfhmniay6ipkncfqv8rsra"))))
(build-system haskell-build-system)
(properties '((upstream-name . "git-annex")))
(arguments
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 4769f136e0..dab7d9d1f2 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -767,7 +767,7 @@ displayed in a terminal.")
(define-public imv
(package
(name "imv")
- (version "4.4.0")
+ (version "4.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -775,7 +775,7 @@ displayed in a terminal.")
(commit (string-append "v" version))))
(sha256
(base32
- "1zlds43z17jrnsrfz3rf3sb3pa5gkmxaibq87509ikc7p1p09c9c"))
+ "0988rpgzyhb27sbhrh5f2zqccqirmq7xb0naqh9nbl8j1dg897b8"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(arguments
@@ -792,13 +792,15 @@ displayed in a terminal.")
(("imv") (string-append bin "/imv")))))))))
(native-inputs
(list asciidoc
+ cmocka
pkg-config))
(inputs
(list freeimage
glu
libheif
- libjpeg-turbo
libinih
+ libjpeg-turbo
+ libjxl
libnsgif
(librsvg-for-system)
libtiff
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 830e2ccd32..36eed11802 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -227,7 +227,7 @@ written in Go.")
(define-public kubo
(package
(name "kubo")
- (version "0.19.0")
+ (version "0.22.0")
(source
(origin
(method url-fetch/tarbomb)
@@ -235,7 +235,7 @@ written in Go.")
"https://dist.ipfs.io/kubo/v" version
"/kubo-source.tar.gz"))
(sha256
- (base32 "0k0mw44fq6306pmfp6v4wawgigry9plnl2ij8i5f46606j55c31w"))
+ (base32 "0p8iaa56lnac1lxnbzp4fbjqzps50z5yqs34szcp53xjq8rmjzjd"))
(file-name (string-append name "-" version "-source"))
(modules '((guix build utils)))
(snippet '(for-each delete-file-recursively
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 8be5d98a77..151fc8aa89 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2024 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -13578,14 +13579,14 @@ network protocols, and core version control algorithms.")
":"
share "abcl-contrib.jar")))
(display (string-append
- "#!" (which "sh") "\n"
+ "#!" (which "bash") "\n"
"if [[ -z $CLASSPATH ]]; then\n"
" cp=\"" classpath "\"\n"
"else\n"
" cp=\"" classpath ":$CLASSPATH\"\n"
"fi\n"
"exec " (which "java")
- " -cp $cp org.armedbear.lisp.Main $@\n")))))
+ " -cp \"$cp\" org.armedbear.lisp.Main \"$@\"\n")))))
(chmod (string-append bin "abcl") #o755)
#t))))))
(home-page "https://abcl.org/")
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 331ab28cd1..cf45fa59f7 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2020, 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2020, 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
@@ -1787,7 +1787,7 @@ the KDE Plasma 5 desktop.")
qtdeclarative-5
qtquickcontrols-5
qtquickcontrols2-5
- qtwayland
+ qtwayland-5
qtx11extras
wayland
wayland-protocols
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 6ee8ef22d2..435f588ab3 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.com>
;;; Copyright © 2024 Michal Atlas <michal_atlas+git@posteo.net>
;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
+;;; Copyright © 2024 Nik Gaffney <nik@fo.am>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1221,6 +1222,43 @@ Features:
(define-public ecl-coleslaw
(sbcl-package->ecl-package sbcl-coleslaw))
+(define-public sbcl-cl-all
+ (let ((commit "4ce1ea9d9f33c0dd6212044e7952a0c854757ace")
+ (revision "0"))
+ (package
+ (name "sbcl-cl-all")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shinmera/cl-all")
+ (commit commit)))
+ (file-name (git-file-name "cl-all" version))
+ (sha256
+ (base32 "0n4sjarj373zpxn78m32rmhxnsnr8qahdslrd9vrkkwjpzar2bwp"))))
+ (build-system asdf-build-system/sbcl)
+ (outputs '("out" "bin"))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'create-asdf-configuration 'build-program
+ (lambda* (#:key outputs #:allow-other-keys)
+ (build-program
+ (string-append (assoc-ref outputs "bin") "/bin/cl-all")
+ outputs
+ #:entry-program '((cl-all:toplevel arguments))
+ #:compress? #t))))))
+ (home-page "https://github.com/Shinmera/cl-all")
+ (synopsis "Evaluate Common Lisp expressions in multiple implementations")
+ (description "@samp{cl-all} is a library and script for evaluating Common
+Lisp expressions in multiple implementations.")
+ (license license:zlib))))
+
+(define-public cl-all
+ (sbcl-package->cl-source-package sbcl-cl-all))
+
(define-public sbcl-tripod
(let ((commit "b019a27cd7eb895870f84b0eb6c3edc5d7b05928")
(revision "1"))
@@ -17839,8 +17877,8 @@ compression/decompression using bindings to the libzstd C library.")
(sbcl-package->ecl-package sbcl-zstd))
(define-public sbcl-agnostic-lizard
- (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952")
- (revision "1"))
+ (let ((commit "fe1a1d7d80c8b56163754e0e5b3653fd750ad298")
+ (revision "2"))
(package
(name "sbcl-agnostic-lizard")
(version (git-version "0.0.0" revision commit))
@@ -17850,9 +17888,9 @@ compression/decompression using bindings to the libzstd C library.")
(uri (git-reference
(url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard")
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-agnostic-lizard" version))
(sha256
- (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d"))))
+ (base32 "0amzshh6v3mp24j0h2cinv4zvdlg4kih04md5biakwhnmcw4j4pr"))))
(build-system asdf-build-system/sbcl)
(synopsis "Almost correct portable code walker for Common Lisp")
(description
@@ -25694,11 +25732,11 @@ Common Lisp.")
(sbcl-package->ecl-package sbcl-cl-collider))
(define-public sbcl-osc
- (let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad")
+ (let ((commit "f647738ccc22925ed740a8ca9132fda76a05baeb")
(revision "0"))
(package
(name "sbcl-osc")
- (version (git-version "0.7" revision commit))
+ (version (git-version "0.9" revision commit))
(source
(origin
(method git-fetch)
@@ -25707,16 +25745,18 @@ Common Lisp.")
(commit commit)))
(file-name (git-file-name "cl-osc" version))
(sha256
- (base32 "0gh29zcl9pmy3xlmwzpf9www2z06ah6b4jk06sj2cvxbc15nblqa"))))
+ (base32 "1x4cavspaxcr604g0hwak1ncy4m9cqq03ji4v56g2h1443n7h48a"))))
(build-system asdf-build-system/sbcl)
- (inputs (list sbcl-usocket))
+ (native-inputs (list sbcl-fiveam))
+ (inputs (list sbcl-ieee-floats))
(synopsis "Implementation of the Open Sound Control protocol")
- (description "This package provides a common lisp implementation
-of the Open Sound Control Protocol aka OSC. The code should be close
-to the ansi standard, and does not rely on any external code/ffi/etc+
-to do the basic encoding and decoding of packets.")
+ (description "This is a lisp implementation of the Open Sound Control
+protocol (or more accurately “data transport specification” or
+“encoding”). The code should be close to ANSI standard common lisp and
+provides self contained code for encoding and decoding of OSC data, messages,
+and bundles.")
(home-page "https://github.com/zzkt/osc/")
- (license (list license:gpl3 license:llgpl)))))
+ (license license:gpl3+))))
(define-public cl-osc
(sbcl-package->cl-source-package sbcl-osc))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 2778d0ec38..c002f62cac 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -482,67 +482,72 @@ code analysis tools.")
(define (clang-properties version)
"Return package properties for Clang VERSION."
`((compiler-cpu-architectures
- ("x86_64"
- ;; This list was obtained by running:
- ;;
- ;; guix shell clang -- llc -march=x86-64 -mattr=help
- ;;
- ;; filtered from uninteresting entries such as "i686" and "pentium".
- ,@(if (version>=? version "10.0") ;TODO: refine
- '("atom"
- "barcelona"
- "bdver1"
- "bdver2"
- "bdver3"
- "bdver4"
- "bonnell"
- "broadwell"
- "btver1"
- "btver2"
- "c3"
- "c3-2"
- "cannonlake"
- "cascadelake"
- "cooperlake"
- "core-avx-i"
- "core-avx2"
- "core2"
- "corei7"
- "corei7-avx"
- "generic"
- "geode"
- "goldmont"
- "goldmont-plus"
- "haswell"
- "icelake-client"
- "icelake-server"
- "ivybridge"
- "k8"
- "k8-sse3"
- "knl"
- "knm"
- "lakemont"
- "nehalem"
- "nocona"
- "opteron"
- "opteron-sse3"
- "sandybridge"
- "silvermont"
- "skx"
- "skylake"
- "skylake-avx512"
- "slm"
- "tigerlake"
- "tremont"
- "westmere"
- "x86-64"
- "x86-64-v2"
- "x86-64-v3"
- "x86-64-v4"
- "znver1"
- "znver2"
- "znver3")
- '())))))
+ ("powerpc64le"
+ ;; This list was obtained from clang/test/Misc/target-invalid-cpu-note.c
+ ;; and then trimmed down.
+ ,@(if (version>=? version "11.0")
+ '("power8" "power9" "power10" "powerpc64le")))
+ ("x86_64"
+ ;; This list was obtained from clang/test/Misc/target-invalid-cpu-note.c
+ ,@(cond
+ ((version>=? version "17.0")
+ '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
+ "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
+ "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
+ "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
+ "cascadelake" "cooperlake" "cannonlake" "icelake-client"
+ "rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
+ "alderlake" "raptorlake" "meteorlake" "sierraforest" "grandridge"
+ "graniterapids" "graniterapids-d" "emeraldrapids" "knl" "knm" "k8"
+ "athlon64" "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3"
+ "opteron-sse3" "amdfam10" "barcelona" "btver1" "btver2" "bdver1"
+ "bdver2" "bdver3" "bdver4" "znver1" "znver2" "znver3" "znver4"
+ "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
+ ((version>=? version "16.0")
+ '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
+ "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
+ "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
+ "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
+ "cascadelake" "cooperlake" "cannonlake" "icelake-client"
+ "rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
+ "alderlake" "raptorlake" "meteorlake" "sierraforest" "grandridge"
+ "graniterapids" "emeraldrapids" "knl" "knm" "k8" "athlon64"
+ "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3" "opteron-sse3"
+ "amdfam10" "barcelona" "btver1" "btver2" "bdver1" "bdver2"
+ "bdver3" "bdver4" "znver1" "znver2" "znver3" "znver4" "x86-64"
+ "x86-64-v2" "x86-64-v3" "x86-64-v4"))
+ ((version>=? version "15.0")
+ '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
+ "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
+ "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
+ "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
+ "cascadelake" "cooperlake" "cannonlake" "icelake-client"
+ "rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
+ "alderlake" "knl" "knm" "k8" "athlon64" "athlon-fx" "opteron"
+ "k8-sse3" "athlon64-sse3" "opteron-sse3" "amdfam10" "barcelona"
+ "btver1" "btver2" "bdver1" "bdver2" "bdver3" "bdver4" "znver1"
+ "znver2" "znver3" "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
+ ((version>=? version "13.0")
+ '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm"
+ "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere"
+ "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell"
+ "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx"
+ "cascadelake" "cooperlake" "cannonlake" "icelake-client"
+ "rocketlake" "icelake-server" "tigerlake" "sapphirerapids"
+ "alderlake" "knl" "knm" "k8" "athlon64" "athlon-fx" "opteron"
+ "k8-sse3" "athlon64-sse3" "opteron-sse3" "amdfam10" "barcelona"
+ "btver1" "btver2" "bdver1" "bdver2" "bdver3" "bdver4" "znver1"
+ "znver2" "znver3" "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))
+ ((version>=? version "9.0")
+ '("atom" "silvermont" "slm" "goldmont" "goldmont-plus" "tremont"
+ "nehalem" "corei7" "westmere" "sandybridge" "corei7-avx"
+ "ivybridge" "core-avx-i" "haswell" "core-avx2" "broadwell"
+ "skylake" "skylake-avx512" "skx" "cascadelake" "cooperlake"
+ "cannonlake" "icelake-client" "icelake-server" "knl" "knm" "k8"
+ "athlon64" "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3"
+ "opteron-sse3" "amdfam10" "barcelona" "btver1" "btver2" "bdver1"
+ "bdver2" "bdver3" "bdver4" "znver1" "znver2" "x86-64"))
+ (else '()))))))
(define-public (make-clang-toolchain clang libomp)
(package
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 1cde6bd66c..c35bbe8bcd 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -1233,7 +1233,7 @@ enabled.")
(define-public fennel
(package
(name "fennel")
- (version "1.3.1")
+ (version "1.4.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1242,7 +1242,7 @@ enabled.")
(file-name (git-file-name name version))
(sha256
(base32
- "12zm3rd0vvkqazv1cv5bhwk6igsj18im2qakqw7cf4a20rc9wpmx"))))
+ "1h1i87jx889n1wczw5jvqmkx0jmlrq83pjspyd9v27j360d9fcik"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list (string-append "PREFIX="
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 6e94e21f3e..5c18a2e9d5 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -26,6 +26,7 @@
;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2024 David Pflug <david@pflug.io>
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
+;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -523,8 +524,8 @@ Performance is achieved by using the LLVM JIT compiler.")
(deprecated-package "guile-aiscm-next" guile-aiscm))
(define-public llama-cpp
- (let ((commit "f31b5397143009d682db90fd2a6cde83f1ef00eb")
- (revision "0"))
+ (let ((commit "03bf161eb6dea6400ee49c6dc6b69bdcfa9fd3fc")
+ (revision "1"))
(package
(name "llama-cpp")
(version (git-version "0.0.0" revision commit))
@@ -533,10 +534,10 @@ Performance is achieved by using the LLVM JIT compiler.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/ggerganov/llama.cpp")
- (commit (string-append "master-" (string-take commit 7)))))
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0ys6n53n032zq1ll9f3vgxk8sw0qq7x3fi7awsyy13adzp3hn08p"))))
+ (base32 "1ag1jash84hasz10h0piw72a8ginm8kzvhihbzzljz96gq2kjm88"))))
(build-system cmake-build-system)
(arguments
(list
@@ -563,8 +564,10 @@ Performance is achieved by using the LLVM JIT compiler.")
(get-string-all input))))))
(chmod (string-append bin script) #o555)))
(mkdir-p bin)
- (make-script "convert-pth-to-ggml")
+ (make-script "convert-hf-to-gguf")
+ (make-script "convert-llama-ggml-to-gguf")
(make-script "convert-lora-to-ggml")
+ (make-script "convert-persimmon-to-gguf")
(make-script "convert"))))
(add-after 'install-python-scripts 'wrap-python-scripts
(assoc-ref python:%standard-phases 'wrap))
@@ -1782,6 +1785,29 @@ scikit-learn inclusion criteria, for instance due to their novelty or lower
citation number.")
(license license:bsd-3))))
+(define-public python-mord
+ (package
+ (name "python-mord")
+ (version "0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mord" version))
+ (sha256
+ (base32 "1cvv9b9w69v0inq0zgcw0vmkiq3zn9q9r6clkynpzjik9rrh405n"))))
+ (build-system pyproject-build-system)
+ ;; v0.7 does not provide any test cases
+ ;; v0.6 relies on deprecated scikit-learn functionality
+ (arguments `(#:tests? #f))
+ (inputs (list python-numpy python-scipy python-scikit-learn))
+ (home-page "https://pypi.org/project/mord/")
+ (synopsis "Ordinal regression models for scikit-learn")
+ (description
+ "This package provides a collection of ordinal regression models for
+machine learning in Python. They are intended to be used with scikit-learn
+and are compatible with its API.")
+ (license license:bsd-3)))
+
(define-public python-thinc
(package
(name "python-thinc")
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm
index 4a9a382104..375367d395 100644
--- a/gnu/packages/markup.scm
+++ b/gnu/packages/markup.scm
@@ -333,7 +333,7 @@ convert HTML to Markdown.")
(define-public cmark
(package
(name "cmark")
- (version "0.30.3")
+ (version "0.31.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -342,7 +342,7 @@ convert HTML to Markdown.")
(file-name (git-file-name name version))
(sha256
(base32
- "07d30s5v893nb1m7qbam5c3x9b3d84m80kzlj7fmkwhgjrlz7d7z"))))
+ "0llj68l9rxdhral0zyv0bz6yzqsxgq8d3730082sl3kx78lsq5qq"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "test"))
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index f797e18fdd..7398175837 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -30,7 +30,7 @@
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;; Copyright © 2018, 2021, 2024 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
-;;; Copyright © 2019, 2021-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019, 2021-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@@ -426,13 +426,13 @@ programming language.")
(define-public units
(package
(name "units")
- (version "2.22")
+ (version "2.23")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
- "0j2q2a9sgldqwcifsnb7qagsmp8fvj91vfh6v4k7gzi1fwhf24sx"))))
+ "0w3kl58y7fq9paaq8ayn5gwylc4n8jbk6lf42kkcj9ar4i8v8myr"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)
@@ -8736,7 +8736,7 @@ management via the GIMPS project's Primenet server.")
(define-public nauty
(package
(name "nauty")
- (version "2.8.6")
+ (version "2.8.8")
(source
(origin
(method url-fetch)
@@ -8744,7 +8744,7 @@ management via the GIMPS project's Primenet server.")
"https://pallini.di.uniroma1.it/"
"nauty" (string-join (string-split version #\.) "_") ".tar.gz"))
(sha256
- (base32 "1yp6wpz2drq0viww8px1vl4pw919nq3xgxrmrrdhycx8bhi9ikpj"))))
+ (base32 "1ki9z60qcyx3va68hp7iv6451n5d86v1xmhc850b4sqah5b2378m"))))
(build-system gnu-build-system)
(outputs '("out" "lib"))
(arguments
diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm
index 994f89f524..8cf760ac53 100644
--- a/gnu/packages/mc.scm
+++ b/gnu/packages/mc.scm
@@ -40,14 +40,14 @@
(define-public mc
(package
(name "mc")
- (version "4.8.30")
+ (version "4.8.31")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-"
version ".tar.xz"))
(sha256
- (base32 "1py7jm620lsas7rcv5j69608gdshmp25d9gx958hr5sb2jr3rg2y"))))
+ (base32 "06mbnhxd2k29jah4wp1ciicw1gb51a5d3af43zivhxbncvw1q694"))))
(build-system gnu-build-system)
(arguments
(list
@@ -68,7 +68,6 @@
(list "lib/utilunix.c"
"src/filemanager/ext.c"
"src/usermenu.c"
- "src/vfs/fish/fish.c"
;; This file hard-codes other shells, but they're never
;; tried after mc's first choice (bash) is found.
"lib/shell.c")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 98c1c9bf67..03b7368ae0 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -40,6 +40,7 @@
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2024 Carlo Zancanaro <carlo@zancanaro.id.au>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -143,6 +144,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system go)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@@ -1577,11 +1579,18 @@ system on which to rapidly develop added functionality, or prototype new
protocols.")
(license license:x11)))
-(define-public prosody-http-upload
- (let ((changeset "765735bb590b")
- (revision "1"))
+(define (prosody-module module-name)
+ (let ((changeset "fba64b043c52")
+ (revision "2")
+ (package-name (string-append
+ "prosody-"
+ (string-replace-substring
+ (if (string-prefix? "mod_" module-name)
+ (substring module-name 4)
+ module-name)
+ "_" "-"))))
(package
- (name "prosody-http-upload")
+ (name package-name)
(version (string-append "0-" revision "." (string-take changeset 7)))
(source (origin
(method hg-fetch)
@@ -1591,56 +1600,37 @@ protocols.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "142wrcism70nf8ffahhd961cqg2pi1h7ic8adfs3zwh0j3pnf41f"))))
- (build-system trivial-build-system)
+ "1nvka8s3zqs97jqsknhp2q956rrdga1qaxa1y3i0h8zx3g9vgdch"))))
+ (build-system copy-build-system)
(arguments
- '(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let ((out (assoc-ref %outputs "out"))
- (source (assoc-ref %build-inputs "source")))
- (with-directory-excursion (in-vicinity source "mod_http_upload")
- (install-file "mod_http_upload.lua" out))
- #t))))
- (home-page "https://modules.prosody.im/mod_http_upload.html")
- (synopsis "XEP-0363: Allow clients to upload files over HTTP")
- (description "This module implements XEP-0363: it allows clients to
-upload files over HTTP.")
+ `(#:install-plan '((,(string-append module-name "/") "."))))
+ (home-page (string-append "https://modules.prosody.im/"
+ module-name ".html"))
+ (synopsis #f)
+ (description #f)
(license (package-license prosody)))))
+(define-public prosody-http-upload
+ (package
+ (inherit (prosody-module "mod_http_upload"))
+ (synopsis "XEP-0363: Allow clients to upload files over HTTP")
+ (description "This module implements XEP-0363: it allows clients to
+upload files over HTTP.")))
+
(define-public prosody-smacks
- (let ((changeset "67f1d1f22625")
- (revision "1"))
- (package
- (name "prosody-smacks")
- (version (string-append "0-" revision "." (string-take changeset 7)))
- (source (origin
- (method hg-fetch)
- (uri (hg-reference
- (url "https://hg.prosody.im/prosody-modules/")
- (changeset changeset)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "020ngpax30fgarah98yvlj0ni8rcdwq60if03a9hqdw8mic0nxxs"))))
- (build-system trivial-build-system)
- (arguments
- '(#:modules ((guix build utils))
- #:builder
- (begin
- (use-modules (guix build utils))
- (let ((out (assoc-ref %outputs "out"))
- (source (assoc-ref %build-inputs "source")))
- (with-directory-excursion (in-vicinity source "mod_smacks")
- (install-file "mod_smacks.lua" out))
- #t))))
- (home-page "https://modules.prosody.im/mod_smacks.html")
- (synopsis "XEP-0198: Reliability and fast reconnects for XMPP")
- (description "This module implements XEP-0198: when supported by both
+ (package
+ (inherit (prosody-module "mod_smacks"))
+ (synopsis "XEP-0198: Reliability and fast reconnects for XMPP")
+ (description "This module implements XEP-0198: when supported by both
the client and server, it can allow clients to resume a disconnected session,
-and prevent message loss.")
- (license (package-license prosody)))))
+and prevent message loss.")))
+
+(define-public prosody-vcard-muc
+ (package
+ (inherit (prosody-module "mod_vcard_muc"))
+ (synopsis "Support for MUC vCards and avatars")
+ (description "This module adds the ability to set vCard for MUC rooms. One
+of the most common use cases is to define avatars for MUC rooms.")))
(define-public libtoxcore
(let ((revision "2")
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 591170b508..daa3144bd3 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -455,7 +455,7 @@ number generators, public key cryptography and a plethora of other routines.")
(define-public libtommath
(package
(name "libtommath")
- (version "1.2.0")
+ (version "1.2.1")
(outputs '("out" "static"))
(source
(origin
@@ -464,8 +464,7 @@ number generators, public key cryptography and a plethora of other routines.")
"download/v" version "/ltm-" version ".tar.xz"))
(sha256
(base32
- "1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp"))
- (patches (search-patches "libtommath-integer-overflow.patch"))))
+ "07qdxnmp5bhfw5za6mr2l2w0vb7494v9zs9h5vp6y9vlngbjaq4q"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -476,13 +475,11 @@ number generators, public key cryptography and a plethora of other routines.")
;; We want the shared library by default so force it to be the
;; default makefile target.
(delete-file "makefile")
- (symlink "makefile.shared" "makefile")
- #t))
+ (symlink "makefile.shared" "makefile")))
(add-after 'install 'remove-static-library
(lambda* (#:key outputs #:allow-other-keys)
(delete-file (string-append (assoc-ref outputs "out")
- "/lib/libtommath.a"))
- #t))
+ "/lib/libtommath.a"))))
(replace 'check
(lambda* (#:key tests? test-target make-flags #:allow-other-keys)
(when tests?
@@ -504,48 +501,6 @@ number generators, public key cryptography and a plethora of other routines.")
integer library written entirely in C. It's designed to provide an API that is
simple to work with that provides fairly efficient routines that build out of
the box without configuration.")
+ (properties `((upstream-name . "ltm")
+ (lint-hidden-cve . ("CVE-2023-36328"))))
(license unlicense)))
-
-(define-public libtommath-1.1
- (package
- (inherit libtommath)
- (version "1.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/libtom/libtommath/releases/"
- "download/v" version "/ltm-" version ".tar.xz"))
- (sha256
- (base32
- "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh"))
- (patches (search-patches "libtommath-fix-linkage.patch"))))
- (arguments
- (substitute-keyword-arguments (package-arguments libtommath)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'patch-coreutils-call
- (lambda _
- ;; Don't pull in coreutils.
- (substitute* "makefile_include.mk"
- (("arch") "uname -m"))
- #t))))
- ((#:test-target _) "test_standalone")))))
-
-(define-public libtommath-1.0
- (package
- (inherit libtommath-1.1)
- (version "1.0.1")
- (outputs '("out"))
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/libtom/libtommath/releases/"
- "download/v" version "/ltm-" version ".tar.xz"))
- (sha256
- (base32
- "0sbccdwbkfc680id2fi0x067j23biqcjqilwkk7y9339knrjy0s7"))))
- (arguments
- (substitute-keyword-arguments (package-arguments libtommath-1.1)
- ((#:phases phases)
- `(modify-phases ,phases
- (delete 'install-static-library)))))))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 5d6bc47b8b..f155edaca0 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2019-2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
@@ -120,6 +120,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages version-control)
#:autoload (guix build-system channel) (channel-build-system)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system guile)
@@ -682,15 +683,12 @@ overridden by setting the 'current-guix-package' parameter."
(define-public guix-icons
(package
- (inherit guix)
(name "guix-icons")
(version "0.1")
(source %artwork-repository)
(build-system trivial-build-system)
(native-inputs
(list imagemagick))
- (inputs
- '())
(arguments
`(#:modules ((guix build utils)
(gnu build svg))
@@ -738,10 +736,29 @@ overridden by setting the 'current-guix-package' parameter."
#:width size
#:height size)))
sizes))))))
+ (home-page "https://www.gnu.org/software/guix/")
(synopsis "GNU Guix icons")
(description "This package contains GNU Guix icons organized according to
the Icon Theme Specification. They can be used by applications querying the
-GTK icon cache for instance.")))
+GTK icon cache for instance.")
+ (license license:cc-by-sa4.0)))
+
+(define-public guix-backgrounds
+ (package
+ (name "guix-backgrounds")
+ (version "0.1")
+ (source %artwork-repository)
+ (build-system copy-build-system)
+ (arguments
+ (list #:install-plan
+ #~'(("backgrounds" "share/backgrounds/guix" #:exclude ("README")))))
+ (home-page "https://www.gnu.org/software/guix/")
+ (synopsis "Background images for GNU Guix")
+ (description "The SVG files in this directory are intended to be used as
+backgrounds for different components of the GNU system like login managers and
+desktop environments. The backgrounds are available in different aspect ratios
+which are indicated in the file name.")
+ (license (list license:public-domain license:cc-by-sa4.0))))
(define-public guix-modules
(package
@@ -974,8 +991,8 @@ transactions from C or Python.")
(license license:gpl2+)))
(define-public bffe
- (let ((commit "1c12da4e6f3c7d3ab557781769fb848354362748")
- (revision "3"))
+ (let ((commit "006b96a9ff41f5d8e639f93f81eeab87d204bd89")
+ (revision "4"))
(package
(name "bffe")
(version (git-version "0" revision commit))
@@ -986,7 +1003,7 @@ transactions from C or Python.")
(commit commit)))
(sha256
(base32
- "0qa63mssv85g38m3bcblgp3yscywgz0hrg4lc84dxx99b07pmfc3"))
+ "1ai3dzwp5ddn5i7xzvg0qcj0nbip03jx0d3vhvxqr1vnlr71rzvh"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
@@ -1001,7 +1018,7 @@ transactions from C or Python.")
guix
guix-data-service
guix-build-coordinator
- guile-fibers-1.3
+ guile-fibers
guile-prometheus
guile-lib))
(propagated-inputs
@@ -1010,7 +1027,7 @@ transactions from C or Python.")
guix
guix-data-service
guix-build-coordinator
- guile-fibers-1.3
+ guile-fibers
guile-prometheus
guile-lib))
(home-page "https://git.cbaines.net/guix/bffe")
@@ -1513,8 +1530,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
- (let ((commit "9f1545b15269523eac109b54e1a62f4c0cda837e")
- (revision "97"))
+ (let ((commit "1c80525d21f183ed2556def6fcd021f6ea9a88a4")
+ (revision "98"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1525,7 +1542,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "1h35jjpvl7lipbys8q7ivx13cffkya6n0jpc91ckag3z2vb09iwp"))
+ "0krw4v04ynp8v12zgc87cx6d3rldr13b48kix9rzq4z17x7f39yc"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/patches/hubbub-maybe-uninitialized.patch b/gnu/packages/patches/hubbub-maybe-uninitialized.patch
deleted file mode 100644
index 6f289a770e..0000000000
--- a/gnu/packages/patches/hubbub-maybe-uninitialized.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 69d81a8a4d4c223aad67cde0fdf64d64351b9802 Mon Sep 17 00:00:00 2001
-From: Andy Tai <atai@atai.org>
-Date: Sat, 27 May 2023 00:01:34 -0700
-Subject: [PATCH] prevent -Werror=maybe-uninitialized build failure with gcc 11
- when building tests tokeniser2 and tokeniser3
-
----
- test/tokeniser2.c | 2 +-
- test/tokeniser3.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/tokeniser2.c b/test/tokeniser2.c
-index c8ab9c0..4caae38 100644
---- a/test/tokeniser2.c
-+++ b/test/tokeniser2.c
-@@ -438,7 +438,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw)
- /* Expected token only contained part of the data
- * Calculate how much is left, then try again with
- * the next expected token */
-- hubbub_token t;
-+ hubbub_token t = { 0 };
-
- t.type = HUBBUB_TOKEN_CHARACTER;
- t.data.character.ptr += len;
-diff --git a/test/tokeniser3.c b/test/tokeniser3.c
-index e33d018..b3be901 100644
---- a/test/tokeniser3.c
-+++ b/test/tokeniser3.c
-@@ -447,7 +447,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw)
- /* Expected token only contained part of the data
- * Calculate how much is left, then try again with
- * the next expected token */
-- hubbub_token t;
-+ hubbub_token t = { 0 };
-
- t.type = HUBBUB_TOKEN_CHARACTER;
- t.data.character.ptr += len;
---
-2.40.1
-
diff --git a/gnu/packages/patches/libcss-check-format.patch b/gnu/packages/patches/libcss-check-format.patch
new file mode 100644
index 0000000000..b297ac1c92
--- /dev/null
+++ b/gnu/packages/patches/libcss-check-format.patch
@@ -0,0 +1,13 @@
+Submitted upstream at https://bugs.netsurf-browser.org/mantis/view.php?id=2870
+
+--- libcss-0.9.2/test/dump.h.orig
++++ libcss-0.9.2/test/dump.h
+@@ -131,7 +131,7 @@ void dump_rule_media(css_rule_media *s, char **buf, size_t *buflen)
+ char *ptr = *buf;
+ css_rule *rule;
+
+- ptr += sprintf(ptr, "| @media %s%03lx",
++ ptr += sprintf(ptr, "| @media %s%03" PRIx64,
+ s->media->negate_type ? "not " : "",
+ s->media->type);
+
diff --git a/gnu/packages/patches/libtommath-fix-linkage.patch b/gnu/packages/patches/libtommath-fix-linkage.patch
deleted file mode 100644
index 1a9d46eb7c..0000000000
--- a/gnu/packages/patches/libtommath-fix-linkage.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-https://github.com/libtom/libtommath/commit/93dea3a4162527346cd8856bfda6f17ffe98ab04.patch
-
-From 93dea3a4162527346cd8856bfda6f17ffe98ab04 Mon Sep 17 00:00:00 2001
-From: Steffen Jaeckel <s@jaeckel.eu>
-Date: Thu, 31 Jan 2019 14:12:03 +0100
-Subject: [PATCH] makefile.shared: fix compilation and linkage
-
----
- makefile.shared | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/makefile.shared b/makefile.shared
-index 3955f830..870b18d1 100644
---- a/makefile.shared
-+++ b/makefile.shared
-@@ -18,6 +18,7 @@ ifndef LIBTOOL
- endif
- endif
- LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC)
-+LTLINK = $(LIBTOOL) --mode=link --tag=CC $(CC)
-
- LCOV_ARGS=--directory .libs --directory .
-
-@@ -59,7 +60,7 @@ objs: $(OBJECTS)
- LOBJECTS = $(OBJECTS:.o=.lo)
-
- $(LIBNAME): $(OBJECTS)
-- $(LIBTOOL) --mode=link --tag=CC $(CC) $(LDFLAGS) $(LOBJECTS) -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_SO) $(LIBTOOLFLAGS)
-+ $(LTLINK) $(LDFLAGS) $(LOBJECTS) -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_SO) $(LIBTOOLFLAGS)
-
- install: $(LIBNAME)
- install -d $(DESTDIR)$(LIBPATH)
-@@ -76,16 +77,16 @@ uninstall:
- rm $(DESTDIR)$(LIBPATH)/pkgconfig/libtommath.pc
-
- test: $(LIBNAME) demo/demo.o
-- $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o
-- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
-+ $(LTCOMPILE) $(CFLAGS) -c demo/demo.c -o demo/demo.o
-+ $(LTLINK) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
-
- test_standalone: $(LIBNAME) demo/demo.o
-- $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o
-- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
-+ $(LTCOMPILE) $(CFLAGS) -c demo/demo.c -o demo/demo.o
-+ $(LTLINK) $(LDFLAGS) -o test demo/demo.o $(LIBNAME)
-
- .PHONY: mtest
- mtest:
-- cd mtest ; $(CC) $(CFLAGS) $(LDFLAGS) mtest.c -o mtest
-+ cd mtest ; $(CC) $(CFLAGS) -O0 mtest.c $(LDFLAGS) -o mtest
-
- timing: $(LIBNAME) demo/timing.c
-- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME) -o timing
-+ $(LTLINK) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME) -o timing
diff --git a/gnu/packages/patches/libtommath-integer-overflow.patch b/gnu/packages/patches/libtommath-integer-overflow.patch
deleted file mode 100644
index 5241726775..0000000000
--- a/gnu/packages/patches/libtommath-integer-overflow.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-This patch is from upstream:
-https://github.com/libtom/libtommath/pull/546
-
-From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001
-From: czurnieden <czurnieden@gmx.de>
-Date: Tue, 9 May 2023 17:17:12 +0200
-Subject: [PATCH] Fix possible integer overflow
-
----
- bn_mp_2expt.c | 4 ++++
- bn_mp_grow.c | 4 ++++
- bn_mp_init_size.c | 5 +++++
- bn_mp_mul_2d.c | 4 ++++
- bn_s_mp_mul_digs.c | 4 ++++
- bn_s_mp_mul_digs_fast.c | 4 ++++
- bn_s_mp_mul_high_digs.c | 4 ++++
- bn_s_mp_mul_high_digs_fast.c | 4 ++++
- 8 files changed, 33 insertions(+)
-
-diff --git a/bn_mp_2expt.c b/bn_mp_2expt.c
-index 0ae3df1bf..23de0c3c5 100644
---- a/bn_mp_2expt.c
-+++ b/bn_mp_2expt.c
-@@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b)
- {
- mp_err err;
-
-+ if (b < 0) {
-+ return MP_VAL;
-+ }
-+
- /* zero a as per default */
- mp_zero(a);
-
-diff --git a/bn_mp_grow.c b/bn_mp_grow.c
-index 9e904c547..2b1682651 100644
---- a/bn_mp_grow.c
-+++ b/bn_mp_grow.c
-@@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size)
- int i;
- mp_digit *tmp;
-
-+ if (size < 0) {
-+ return MP_VAL;
-+ }
-+
- /* if the alloc size is smaller alloc more ram */
- if (a->alloc < size) {
- /* reallocate the array a->dp
-diff --git a/bn_mp_init_size.c b/bn_mp_init_size.c
-index d62268721..99573833f 100644
---- a/bn_mp_init_size.c
-+++ b/bn_mp_init_size.c
-@@ -6,6 +6,11 @@
- /* init an mp_init for a given size */
- mp_err mp_init_size(mp_int *a, int size)
- {
-+
-+ if (size < 0) {
-+ return MP_VAL;
-+ }
-+
- size = MP_MAX(MP_MIN_PREC, size);
-
- /* alloc mem */
-diff --git a/bn_mp_mul_2d.c b/bn_mp_mul_2d.c
-index 87354de20..bfeaf2eb2 100644
---- a/bn_mp_mul_2d.c
-+++ b/bn_mp_mul_2d.c
-@@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c)
- mp_digit d;
- mp_err err;
-
-+ if (b < 0) {
-+ return MP_VAL;
-+ }
-+
- /* copy */
- if (a != c) {
- if ((err = mp_copy(a, c)) != MP_OKAY) {
-diff --git a/bn_s_mp_mul_digs.c b/bn_s_mp_mul_digs.c
-index 64509d4cb..3682b4980 100644
---- a/bn_s_mp_mul_digs.c
-+++ b/bn_s_mp_mul_digs.c
-@@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
- mp_word r;
- mp_digit tmpx, *tmpt, *tmpy;
-
-+ if (digs < 0) {
-+ return MP_VAL;
-+ }
-+
- /* can we use the fast multiplier? */
- if ((digs < MP_WARRAY) &&
- (MP_MIN(a->used, b->used) < MP_MAXFAST)) {
-diff --git a/bn_s_mp_mul_digs_fast.c b/bn_s_mp_mul_digs_fast.c
-index b2a287b02..3c4176a87 100644
---- a/bn_s_mp_mul_digs_fast.c
-+++ b/bn_s_mp_mul_digs_fast.c
-@@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs)
- mp_digit W[MP_WARRAY];
- mp_word _W;
-
-+ if (digs < 0) {
-+ return MP_VAL;
-+ }
-+
- /* grow the destination as required */
- if (c->alloc < digs) {
- if ((err = mp_grow(c, digs)) != MP_OKAY) {
-diff --git a/bn_s_mp_mul_high_digs.c b/bn_s_mp_mul_high_digs.c
-index 2bb2a5098..c9dd355f8 100644
---- a/bn_s_mp_mul_high_digs.c
-+++ b/bn_s_mp_mul_high_digs.c
-@@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
- mp_word r;
- mp_digit tmpx, *tmpt, *tmpy;
-
-+ if (digs < 0) {
-+ return MP_VAL;
-+ }
-+
- /* can we use the fast multiplier? */
- if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST)
- && ((a->used + b->used + 1) < MP_WARRAY)
-diff --git a/bn_s_mp_mul_high_digs_fast.c b/bn_s_mp_mul_high_digs_fast.c
-index a2c4fb692..4ce7f590c 100644
---- a/bn_s_mp_mul_high_digs_fast.c
-+++ b/bn_s_mp_mul_high_digs_fast.c
-@@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int
- mp_digit W[MP_WARRAY];
- mp_word _W;
-
-+ if (digs < 0) {
-+ return MP_VAL;
-+ }
-+
- /* grow the destination as required */
- pa = a->used + b->used;
- if (c->alloc < pa) {
diff --git a/gnu/packages/patches/netsurf-message-timestamp.patch b/gnu/packages/patches/netsurf-message-timestamp.patch
index 8df9dbf8f7..03bfdfde3f 100644
--- a/gnu/packages/patches/netsurf-message-timestamp.patch
+++ b/gnu/packages/patches/netsurf-message-timestamp.patch
@@ -1,5 +1,5 @@
---- netsurf-3.8/utils/split-messages.pl.orig 1969-12-31 18:00:00.000000000 -0600
-+++ netsurf-3.8/utils/split-messages.pl 2018-08-30 00:18:58.158367530 -0500
+--- netsurf-3.11/tools/split-messages.pl.orig
++++ netsurf-3.11/tools/split-messages.pl
@@ -238,7 +238,7 @@
if( $opt{gzip} )
diff --git a/gnu/packages/patches/podman-program-lookup.patch b/gnu/packages/patches/podman-program-lookup.patch
new file mode 100644
index 0000000000..27a9421285
--- /dev/null
+++ b/gnu/packages/patches/podman-program-lookup.patch
@@ -0,0 +1,120 @@
+From 914aed3e04f71453fbdc30f4287e13ca3ce63a36 Mon Sep 17 00:00:00 2001
+From: Tomas Volf <~@wolfsden.cz>
+Date: Wed, 14 Feb 2024 20:02:03 +0100
+Subject: [PATCH] Modify search for binaries to fit Guix model
+
+Podman basically looked into the $PATH and into its libexec. That does not fit
+Guix's model very well, to an additional option to specify additional
+directories during compilation was added.
+
+* pkg/rootless/rootless_linux.go
+(tryMappingTool): Also check /run/setuid-programs.
+* vendor/github.com/containers/common/pkg/config/config.go
+(extraGuixDir): New function.
+(FindHelperBinary): Use it.
+* vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
+(guixLookupSetuidPath): New function.
+(Start): Use it.
+---
+ pkg/rootless/rootless_linux.go | 3 +++
+ .../containers/common/pkg/config/config.go | 23 +++++++++++++++++++
+ .../storage/pkg/unshare/unshare_linux.go | 14 +++++++++--
+ 3 files changed, 38 insertions(+), 2 deletions(-)
+
+diff --git a/pkg/rootless/rootless_linux.go b/pkg/rootless/rootless_linux.go
+index d303c8b..0191d90 100644
+--- a/pkg/rootless/rootless_linux.go
++++ b/pkg/rootless/rootless_linux.go
+@@ -102,6 +102,9 @@ func tryMappingTool(uid bool, pid int, hostID int, mappings []idtools.IDMap) err
+ idtype = "setgid"
+ }
+ path, err := exec.LookPath(tool)
++ if err != nil {
++ path, err = exec.LookPath("/run/setuid-programs/" + tool)
++ }
+ if err != nil {
+ return fmt.Errorf("command required for rootless mode with multiple IDs: %w", err)
+ }
+diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
+index 75b917f..ed2f131 100644
+--- a/vendor/github.com/containers/common/pkg/config/config.go
++++ b/vendor/github.com/containers/common/pkg/config/config.go
+@@ -1102,6 +1102,24 @@ func findBindir() string {
+ return bindirCached
+ }
+
++func extraGuixDir(bin_name string) string {
++ if (bin_name == "slirp4netns") {
++ return "@SLIRP4NETNS_DIR@";
++ } else if (bin_name == "pasta") {
++ return "@PASST_DIR@";
++ } else if (strings.HasPrefix(bin_name, "qemu-")) {
++ return "@QEMU_DIR@";
++ } else if (bin_name == "gvproxy") {
++ return "@GVPROXY_DIR@";
++ } else if (bin_name == "netavark") {
++ return "@NETAVARK_DIR@";
++ } else if (bin_name == "aardvark-dns") {
++ return "@AARDVARK_DNS_DIR@";
++ } else {
++ return "";
++ }
++}
++
+ // FindHelperBinary will search the given binary name in the configured directories.
+ // If searchPATH is set to true it will also search in $PATH.
+ func (c *Config) FindHelperBinary(name string, searchPATH bool) (string, error) {
+@@ -1109,6 +1127,11 @@ func (c *Config) FindHelperBinary(name string, searchPATH bool) (string, error)
+ bindirPath := ""
+ bindirSearched := false
+
++ if dir := extraGuixDir(name); dir != "" {
++ /* If there is a Guix dir, skip the PATH search. */
++ dirList = append([]string{dir}, dirList...)
++ }
++
+ // If set, search this directory first. This is used in testing.
+ if dir, found := os.LookupEnv("CONTAINERS_HELPER_BINARY_DIR"); found {
+ dirList = append([]string{dir}, dirList...)
+diff --git a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
+index a8dc1ba..0b0d755 100644
+--- a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
++++ b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go
+@@ -26,6 +26,16 @@ import (
+ "github.com/syndtr/gocapability/capability"
+ )
+
++func guixLookupSetuidPath(prog string) (string, error) {
++ path, err := exec.LookPath(prog)
++ if err != nil {
++ path, err = exec.LookPath("/run/setuid-programs/" + prog)
++ }
++ return path, err
++}
++
++
++
+ // Cmd wraps an exec.Cmd created by the reexec package in unshare(), and
+ // handles setting ID maps and other related settings by triggering
+ // initialization code in the child.
+@@ -237,7 +247,7 @@ func (c *Cmd) Start() error {
+ gidmapSet := false
+ // Set the GID map.
+ if c.UseNewgidmap {
+- path, err := exec.LookPath("newgidmap")
++ path, err := guixLookupSetuidPath("newgidmap")
+ if err != nil {
+ return fmt.Errorf("finding newgidmap: %w", err)
+ }
+@@ -297,7 +307,7 @@ func (c *Cmd) Start() error {
+ uidmapSet := false
+ // Set the UID map.
+ if c.UseNewuidmap {
+- path, err := exec.LookPath("newuidmap")
++ path, err := guixLookupSetuidPath("newuidmap")
+ if err != nil {
+ return fmt.Errorf("finding newuidmap: %w", err)
+ }
+--
+2.41.0
+
diff --git a/gnu/packages/patches/python-3.12-fix-tests.patch b/gnu/packages/patches/python-3.12-fix-tests.patch
new file mode 100644
index 0000000000..fa5c8027ce
--- /dev/null
+++ b/gnu/packages/patches/python-3.12-fix-tests.patch
@@ -0,0 +1,334 @@
+From f0698133e7d6c353a3e6ae0fc62e57ba558a9bc0 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Wed, 28 Oct 2020 22:55:05 -0400
+Subject: [PATCH] Skip problematic Python 3 tests in Guix.
+
+A subset of the hunks in this patch is tracked upstream at
+https://bugs.python.org/issue38845, which was contributed by Tanguy Le
+Carrour <tanguy@bioneland.org>.
+
+diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
+index e42c7ab4bd..8087c84dab 100644
+--- a/Lib/test/_test_multiprocessing.py
++++ b/Lib/test/_test_multiprocessing.py
+@@ -1695,6 +1695,7 @@ def _test_wait_result(cls, c, pid):
+ if pid is not None:
+ os.kill(pid, signal.SIGINT)
+
++ @unittest.skipIf(True, "This fails for unknown reasons on Guix")
+ def test_wait_result(self):
+ if isinstance(self, ProcessesMixin) and sys.platform != 'win32':
+ pid = os.getpid()
+@@ -4150,6 +4151,7 @@ def test_shared_memory_across_processes(self):
+ sms.close()
+
+ @unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms")
++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+ def test_shared_memory_SharedMemoryServer_ignores_sigint(self):
+ # bpo-36368: protect SharedMemoryManager server process from
+ # KeyboardInterrupt signals.
+diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py
+index 85c8152d49..e35cfffe84 100644
+--- a/Lib/test/test_asyncio/test_base_events.py
++++ b/Lib/test/test_asyncio/test_base_events.py
+@@ -1377,6 +1377,8 @@ def test_create_connection_no_inet_pton(self, m_socket):
+ self._test_create_connection_ip_addr(m_socket, False)
+
+ @patch_socket
++ @unittest.skipUnless(support.is_resource_enabled('network'),
++ 'network is not enabled')
+ def test_create_connection_service_name(self, m_socket):
+ m_socket.getaddrinfo = socket.getaddrinfo
+ sock = m_socket.socket.return_value
+diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py
+index a41e94971d..1291af3057 100644
+--- a/Lib/test/test_ctypes/test_find.py
++++ b/Lib/test/test_ctypes/test_find.py
+@@ -117,6 +117,7 @@ def test_find_library_with_gcc(self):
+ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None):
+ self.assertNotEqual(find_library('c'), None)
+
++ @unittest.skipIf(True, 'Fails on Guix.')
+ def test_find_library_with_ld(self):
+ with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \
+ unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None):
+diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
+index 1ee9958445..ab6b41befe 100644
+--- a/Lib/test/test_generators.py
++++ b/Lib/test/test_generators.py
+@@ -34,6 +34,7 @@ def generator2(self):
+ else:
+ return "FAILED"
+
++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment')
+ def test_raise_and_yield_from(self):
+ gen = self.generator1()
+ gen.send(None)
+diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
+index ec105ae1a0..ae4c5b672e 100644
+--- a/Lib/test/test_pathlib.py
++++ b/Lib/test/test_pathlib.py
+@@ -3069,6 +3069,7 @@ def test_rglob(self):
+ 'pwd module does not expose getpwall()')
+ @unittest.skipIf(sys.platform == "vxworks",
+ "no home directory on VxWorks")
++ @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests")
+ def test_expanduser(self):
+ P = self.cls
+ import_helper.import_module('pwd')
+diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
+index 51b844262e..004d3133cf 100644
+--- a/Lib/test/test_pdb.py
++++ b/Lib/test/test_pdb.py
+@@ -1580,6 +1580,7 @@ def test_pdb_next_command_subiterator():
+ (Pdb) continue
+ """
+
++@unittest.skipIf(True, 'Fails on Guix… but skipIf not taken into account?!')
+ def test_pdb_issue_20766():
+ """Test for reference leaks when the SIGINT handler is set.
+
+@@ -1598,11 +1599,11 @@ def test_pdb_issue_20766():
+ > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
+ -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+ (Pdb) continue
+- pdb 1: <built-in function default_int_handler>
++ pdb 1: 1
+ > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
+ -> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
+ (Pdb) continue
+- pdb 2: <built-in function default_int_handler>
++ pdb 2: 1
+ """
+
+ def test_pdb_issue_43318():
+diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
+index 2ab6f6a986..8cf6b4d1c8 100644
+--- a/Lib/test/test_regrtest.py
++++ b/Lib/test/test_regrtest.py
+@@ -1049,6 +1049,7 @@ def test_fromfile(self):
+ output = self.run_tests('--fromfile', filename)
+ self.check_executed_tests(output, tests, stats=stats)
+
++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
+ def test_interrupted(self):
+ code = TEST_INTERRUPTED
+ test = self.create_test('sigint', code=code)
+@@ -1066,6 +1067,7 @@ def test_slowest(self):
+ % (self.TESTNAME_REGEX, len(tests)))
+ self.check_line(output, regex)
+
++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
+ def test_slowest_interrupted(self):
+ # Issue #25373: test --slowest with an interrupted test
+ code = TEST_INTERRUPTED
+diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py
+index 317e7ca8f8..7f272daf24 100644
+--- a/Lib/test/test_resource.py
++++ b/Lib/test/test_resource.py
+@@ -151,6 +151,7 @@ def test_freebsd_contants(self):
+
+ @unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit')
+ @support.requires_linux_version(2, 6, 36)
++ @unittest.skipIf(True, "Bug: the PermissionError is not raised")
+ def test_prlimit(self):
+ self.assertRaises(TypeError, resource.prlimit)
+ self.assertRaises(ProcessLookupError, resource.prlimit,
+diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
+index bf60f37934..5e3a96380a 100644
+--- a/Lib/test/test_shutil.py
++++ b/Lib/test/test_shutil.py
+@@ -1743,6 +1743,7 @@ def test_make_archive(self):
+ base_name = os.path.join(tmpdir, 'archive')
+ self.assertRaises(ValueError, make_archive, base_name, 'xxx')
+
++ @unittest.skipIf(True, "The Guix build container has no root user")
+ @support.requires_zlib()
+ def test_make_archive_owner_group(self):
+ # testing make_archive with owner and group, with various combinations
+@@ -1771,6 +1772,7 @@ def test_make_archive_owner_group(self):
+ self.assertTrue(os.path.isfile(res))
+
+
++ @unittest.skipIf(True, "The Guix build container has no root user")
+ @support.requires_zlib()
+ @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
+ def test_tarfile_root_owner(self):
+diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
+index 637a0ca3b3..2fb804e340 100644
+--- a/Lib/test/test_signal.py
++++ b/Lib/test/test_signal.py
+@@ -160,6 +160,7 @@ def test_valid_signals(self):
+ self.assertLess(signum, signal.NSIG)
+
+ @unittest.skipUnless(sys.executable, "sys.executable required.")
++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+ @support.requires_subprocess()
+ def test_keyboard_interrupt_exit_code(self):
+ """KeyboardInterrupt triggers exit via SIGINT."""
+@@ -211,6 +212,7 @@ def test_issue9324(self):
+ signal.signal(7, handler)
+
+ @unittest.skipUnless(sys.executable, "sys.executable required.")
++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+ @support.requires_subprocess()
+ def test_keyboard_interrupt_exit_code(self):
+ """KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT."""
+@@ -1407,6 +1409,7 @@ def cycle_handlers():
+
+ class RaiseSignalTest(unittest.TestCase):
+
++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+ def test_sigint(self):
+ with self.assertRaises(KeyboardInterrupt):
+ signal.raise_signal(signal.SIGINT)
+@@ -1452,6 +1455,7 @@ def __del__(self):
+
+ class PidfdSignalTest(unittest.TestCase):
+
++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
+ @unittest.skipUnless(
+ hasattr(signal, "pidfd_send_signal"),
+ "pidfd support not built in",
+diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
+index 4eb5af99d6..9c7b8f6dbc 100644
+--- a/Lib/test/test_socket.py
++++ b/Lib/test/test_socket.py
+@@ -1016,6 +1016,8 @@ def testHostnameRes(self):
+ if not fqhn in all_host_names:
+ self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
+
++ @unittest.skipUnless(support.is_resource_enabled('network'),
++ 'network is not enabled')
+ def test_host_resolution(self):
+ for addr in [socket_helper.HOSTv4, '10.0.0.1', '255.255.255.255']:
+ self.assertEqual(socket.gethostbyname(addr), addr)
+@@ -1161,6 +1163,8 @@ def testNtoHErrors(self):
+ self.assertRaises(OverflowError, socket.ntohl, k)
+ self.assertRaises(OverflowError, socket.htonl, k)
+
++ @unittest.skipUnless(os.path.exists("/etc/services"),
++ "getservbyname uses /etc/services, which is not in the chroot")
+ def testGetServBy(self):
+ eq = self.assertEqual
+ # Find one service that exists, then check all the related interfaces.
+@@ -1521,6 +1525,8 @@ def test_sio_loopback_fast_path(self):
+ raise
+ self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None)
+
++ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++ "getaddrinfo() will fail")
+ def testGetaddrinfo(self):
+ try:
+ socket.getaddrinfo('localhost', 80)
+@@ -1653,6 +1659,8 @@ def test_getnameinfo(self):
+ # only IP addresses are allowed
+ self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0)
+
++ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
++ "getaddrinfo() will fail")
+ @unittest.skipUnless(support.is_resource_enabled('network'),
+ 'network is not enabled')
+ def test_idna(self):
+diff --git a/Lib/test/test_spwd.py b/Lib/test/test_spwd.py
+index 50766c2548..0c7eb7a83a 100644
+--- a/Lib/test/test_spwd.py
++++ b/Lib/test/test_spwd.py
+@@ -9,8 +9,7 @@
+ spwd = import_helper.import_module('spwd')
+
+
+-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0,
+- 'root privileges required')
++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
+ class TestSpwdRoot(unittest.TestCase):
+
+ def test_getspall(self):
+@@ -60,8 +59,7 @@ def test_getspnam(self):
+ self.assertRaises(TypeError, spwd.getspnam, bytes_name)
+
+
+-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0,
+- 'non-root user required')
++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
+ class TestSpwdNonRoot(unittest.TestCase):
+
+ def test_getspnam_exception(self):
+diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
+index 71489ea493..33351919fe 100644
+--- a/Lib/test/test_tarfile.py
++++ b/Lib/test/test_tarfile.py
+@@ -2911,9 +2911,12 @@ def root_is_uid_gid_0():
+ import pwd, grp
+ except ImportError:
+ return False
+- if pwd.getpwuid(0)[0] != 'root':
+- return False
+- if grp.getgrgid(0)[0] != 'root':
++ try:
++ if pwd.getpwuid(0)[0] != 'root':
++ return False
++ if grp.getgrgid(0)[0] != 'root':
++ return False
++ except KeyError:
+ return False
+ return True
+
+diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
+index 00d9e591c7..2515603715 100644
+--- a/Lib/test/test_threading.py
++++ b/Lib/test/test_threading.py
+@@ -1962,6 +1962,7 @@ def check_interrupt_main_noerror(self, signum):
+ # Restore original handler
+ signal.signal(signum, handler)
+
++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
+ def test_interrupt_main_subthread(self):
+ # Calling start_new_thread with a function that executes interrupt_main
+ # should raise KeyboardInterrupt upon completion.
+@@ -1973,6 +1974,8 @@ def call_interrupt():
+ t.join()
+ t.join()
+
++
++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
+ def test_interrupt_main_mainthread(self):
+ # Make sure that if interrupt_main is called in main thread that
+ # KeyboardInterrupt is raised instantly.
+diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py
+index 0e7ed67de7..6539a2983b 100644
+--- a/Lib/test/test_tools/test_freeze.py
++++ b/Lib/test/test_tools/test_freeze.py
+@@ -23,6 +23,7 @@
+ 'test is too slow with PGO')
+ class TestFreeze(unittest.TestCase):
+
++ @unittest.skipIf(True, 'Fails on Guix.')
+ @support.requires_resource('cpu') # Building Python is slow
+ def test_freeze_simple_script(self):
+ script = textwrap.dedent("""
+diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
+index 515c3840cb..a96dfad0fe 100644
+--- a/Lib/test/test_unicodedata.py
++++ b/Lib/test/test_unicodedata.py
+@@ -342,6 +342,7 @@ def test_linebreak_7643(self):
+ self.assertEqual(len(lines), 1,
+ r"\u%.4x should not be a linebreak" % i)
+
++@requires_resource('network')
+ class NormalizationTest(unittest.TestCase):
+ @staticmethod
+ def check_version(testfile):
+diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
+index 445a34ae3e..8f750537c3 100644
+--- a/Tools/scripts/run_tests.py
++++ b/Tools/scripts/run_tests.py
+@@ -69,7 +69,7 @@ def main(regrtest_args):
+ else:
+ args.extend(['-j', '0']) # Use all CPU cores
+ if not any(is_resource_use_flag(arg) for arg in regrtest_args):
+- args.extend(['-u', 'all,-largefile,-audio,-gui'])
++ args.extend(['-u', 'all,-largefile,-audio,-gui,-network'])
+
+ if cross_compile and hostrunner:
+ # If HOSTRUNNER is set and -p/--python option is not given, then
diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch
deleted file mode 100644
index f7a0c03fdd..0000000000
--- a/gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From f19410ac3b27e33dd62105746784e61e85b90a1d Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Wed, 2 Mar 2022 22:22:53 +0000
-Subject: [PATCH] #16764: Build break with poppler 22.03.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24982 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/importpdf.cpp | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp
-index 154e58a3f0..392dcd9e64 100644
---- a/scribus/plugins/import/pdf/importpdf.cpp
-+++ b/scribus/plugins/import/pdf/importpdf.cpp
-@@ -89,7 +89,11 @@ QImage PdfPlug::readThumbnail(const QString& fName)
- #endif
- globalParams->setErrQuiet(gTrue);
-
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
-+ PDFDoc pdfDoc{ std::make_unique<GooString>(fname) };
-+#else
- PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr};
-+#endif
- if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted)
- return QImage();
-
-@@ -342,7 +346,11 @@ bool PdfPlug::convert(const QString& fn)
- globalParams->setErrQuiet(gTrue);
- // globalParams->setPrintCommands(gTrue);
- QList<OptionalContentGroup*> ocgGroups;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
-+ auto pdfDoc = std::make_unique<PDFDoc>(std::make_unique<GooString>(fname));
-+#else
- auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr));
-+#endif
- if (pdfDoc)
- {
- if (pdfDoc->getErrorCode() == errEncrypted)
-@@ -361,8 +369,13 @@ bool PdfPlug::convert(const QString& fn)
- #else
- auto fname = new GooString(QFile::encodeName(fn).data());
- #endif
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0)
-+ std::optional<GooString> userPW(std::in_place, text.toLocal8Bit().data());
-+ pdfDoc.reset(new PDFDoc(std::make_unique<GooString>(fname), userPW, userPW, nullptr));
-+#else
- auto userPW = new GooString(text.toLocal8Bit().data());
- pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr));
-+#endif
- qApp->changeOverrideCursor(QCursor(Qt::WaitCursor));
- }
- if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone))
diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch
deleted file mode 100644
index 290484e7e8..0000000000
--- a/gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-https://bugs.gentoo.org/843287
-https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch
-
-From f2237b8f0b5cf7690e864a22ef7a63a6d769fa36 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Fri, 1 Apr 2022 23:52:32 +0000
-Subject: [PATCH] Fix build with poppler 22.04.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@25074 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/slaoutput.cpp | 123 ++++++++++++++---------
- 1 file changed, 78 insertions(+), 45 deletions(-)
-
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index e20a81f99e..5626fe3477 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -174,8 +174,13 @@ void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s)
- int shade = 100;
- currColorText = getColor(state->getFillColorSpace(), state->getFillColor(), &shade);
- fontSize = state->getFontSize();
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ if (state->getFont() && state->getFont()->getName())
-+ fontName = new GooString(state->getFont()->getName().value());
-+#else
- if (state->getFont())
- fontName = state->getFont()->getName()->copy();
-+#endif
- itemText = s->copy();
- }
-
-@@ -357,7 +362,12 @@ std::unique_ptr<LinkAction> SlaOutputDev::SC_getAdditionalAction(const char *key
- GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data)
- {
- SlaOutputDev *dev = (SlaOutputDev*)user_data;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ const PDFRectangle& annotRect = annota->getRect();;
-+ const PDFRectangle* box = &annotRect;
-+#else
- PDFRectangle *box = annota->getRect();
-+#endif
- double xCoor = dev->m_doc->currentPage()->xOffset() + box->x1 - dev->cropOffsetX;
- double yCoor = dev->m_doc->currentPage()->yOffset() + dev->m_doc->currentPage()->height() - box->y2 + dev->cropOffsetY;
- double width = box->x2 - box->x1;
-@@ -684,7 +694,12 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor,
- if (apa || !achar)
- {
- AnoOutputDev *annotOutDev = new AnoOutputDev(m_doc, m_importedColors);
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ const PDFRectangle& annotaRect = annota->getRect();
-+ Gfx* gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), &annotaRect, nullptr);
-+#else
- Gfx *gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), annota->getRect(), nullptr);
-+#endif
- ano->draw(gfx, false);
- if (!bgFound)
- m_currColorFill = annotOutDev->currColorFill;
-@@ -2916,22 +2931,27 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
-
- void SlaOutputDev::updateFont(GfxState *state)
- {
-- GfxFont *gfxFont;
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ std::optional<GfxFontLoc> fontLoc;
-+ std::string fileName;
-+ std::unique_ptr<FoFiTrueType> ff;
-+ std::optional<std::vector<unsigned char>> tmpBuf;
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
- std::optional<GfxFontLoc> fontLoc;
- const GooString * fileName = nullptr;
- std::unique_ptr<FoFiTrueType> ff;
-+ char* tmpBuf = nullptr;
- #else
- GfxFontLoc * fontLoc = nullptr;
- GooString * fileName = nullptr;
- FoFiTrueType * ff = nullptr;
-+ char* tmpBuf = nullptr;
- #endif
- GfxFontType fontType;
- SlaOutFontFileID *id;
- SplashFontFile *fontFile;
- SplashFontSrc *fontsrc = nullptr;
- Object refObj, strObj;
-- char *tmpBuf = nullptr;
- int tmpBufLen = 0;
- int *codeToGID = nullptr;
- const double *textMat = nullptr;
-@@ -2943,7 +2963,11 @@ void SlaOutputDev::updateFont(GfxState *state)
-
- m_font = nullptr;
-
-- gfxFont = state->getFont();
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ GfxFont* gfxFont = state->getFont().get();
-+#else
-+ GfxFont* gfxFont = state->getFont();
-+#endif
- if (!gfxFont)
- goto err1;
-
-@@ -2968,15 +2992,23 @@ void SlaOutputDev::updateFont(GfxState *state)
- if (fontLoc->locType == gfxFontLocEmbedded)
- {
- // if there is an embedded font, read it to memory
-- tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ tmpBuf = gfxFont->readEmbFontFile((xref) ? xref : pdfDoc->getXRef());
- if (! tmpBuf)
- goto err2;
-+#else
-+ tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen);
-+ if (!tmpBuf)
-+ goto err2;
-+#endif
-
- // external font
- }
- else
- { // gfxFontLocExternal
--#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ fileName = fontLoc->path;
-+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
- fileName = fontLoc->pathAsGooString();
- #else
- fileName = fontLoc->path;
-@@ -2985,52 +3017,54 @@ void SlaOutputDev::updateFont(GfxState *state)
- }
-
- fontsrc = new SplashFontSrc;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ if (!fileName.empty())
-+ fontsrc->setFile(fileName);
-+ else
-+ fontsrc->setBuf(std::move(tmpBuf.value()));
-+#else
- if (fileName)
- fontsrc->setFile(fileName, gFalse);
- else
- fontsrc->setBuf(tmpBuf, tmpBufLen, gTrue);
-+#endif
-
- // load the font file
- switch (fontType) {
- case fontType1:
-- if (!(fontFile = m_fontEngine->loadType1Font(
-- id,
-- fontsrc,
-- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
-+ if (!(fontFile = m_fontEngine->loadType1Font(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
- {
-- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- goto err2;
- }
- break;
- case fontType1C:
-- if (!(fontFile = m_fontEngine->loadType1CFont(
-- id,
-- fontsrc,
-- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
-+ if (!(fontFile = m_fontEngine->loadType1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
- {
-- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- goto err2;
- }
- break;
- case fontType1COT:
-- if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(
-- id,
-- fontsrc,
-- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
-+ if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding())))
- {
-- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- goto err2;
- }
- break;
- case fontTrueType:
- case fontTrueTypeOT:
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ if (!fileName.empty())
-+ ff = FoFiTrueType::load(fileName.c_str());
-+ else
-+ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
-+#else
- if (fileName)
- ff = FoFiTrueType::load(fileName->getCString());
- else
- ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
-+#endif
- if (ff)
- {
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-@@ -3047,24 +3081,17 @@ void SlaOutputDev::updateFont(GfxState *state)
- codeToGID = nullptr;
- n = 0;
- }
-- if (!(fontFile = m_fontEngine->loadTrueTypeFont(
-- id,
-- fontsrc,
-- codeToGID, n)))
-+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n)))
- {
-- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- goto err2;
- }
- break;
- case fontCIDType0:
- case fontCIDType0C:
-- if (!(fontFile = m_fontEngine->loadCIDFont(
-- id,
-- fontsrc)))
-+ if (!(fontFile = m_fontEngine->loadCIDFont(id, fontsrc)))
- {
-- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- goto err2;
- }
- break;
-@@ -3080,10 +3107,7 @@ void SlaOutputDev::updateFont(GfxState *state)
- codeToGID = nullptr;
- n = 0;
- }
-- if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(
-- id,
-- fontsrc,
-- codeToGID, n)))
-+ if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(id, fontsrc, codeToGID, n)))
- {
- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-@@ -3105,10 +3129,17 @@ void SlaOutputDev::updateFont(GfxState *state)
- }
- else
- {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
-+ if (!fileName.empty())
-+ ff = FoFiTrueType::load(fileName.c_str());
-+ else
-+ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size());
-+#else
- if (fileName)
- ff = FoFiTrueType::load(fileName->getCString());
- else
- ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
-+#endif
- if (! ff)
- goto err2;
- #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-@@ -3119,13 +3150,9 @@ void SlaOutputDev::updateFont(GfxState *state)
- delete ff;
- #endif
- }
-- if (!(fontFile = m_fontEngine->loadTrueTypeFont(
-- id,
-- fontsrc,
-- codeToGID, n, faceIndex)))
-+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n, faceIndex)))
- {
-- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'",
-- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- goto err2;
- }
- break;
-@@ -3269,9 +3296,15 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub
- GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen)
- {
- // qDebug() << "beginType3Char";
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0)
- GfxFont *gfxFont;
-+ if (!(gfxFont = state->getFont().get()))
-+ return gTrue;
-+#else
-+ GfxFont* gfxFont;
- if (!(gfxFont = state->getFont()))
- return gTrue;
-+#endif
- if (gfxFont->getType() != fontType3)
- return gTrue;
- F3Entry f3e;
diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch
deleted file mode 100644
index 106a6f5162..0000000000
--- a/gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -3741,9 +3741,16 @@ void SlaOutputDev::getPenState(GfxState *state)
- break;
- }
- double lw = state->getLineWidth();
-- double *dashPattern;
- int dashLength;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 9, 0)
-+ const double *dashPattern;
-+ const std::vector<double> &dash = state->getLineDash(&DashOffset);
-+ dashPattern = dash.data();
-+ dashLength = dash.size();
-+#else
-+ double *dashPattern;
- state->getLineDash(&dashPattern, &dashLength, &DashOffset);
-+#endif
- QVector<double> pattern(dashLength);
- for (int i = 0; i < dashLength; ++i)
- {
diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch
deleted file mode 100644
index 4e0f607c6a..0000000000
--- a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 85c0dff3422fa3c26fbc2e8d8561f597ec24bd92 Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Wed, 2 Feb 2022 23:12:52 +0000
-Subject: [PATCH] #16734: Build break with poppler 22.2.0
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24884 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/slaoutput.cpp | 47 +++++++++++++++++++-----
- 1 file changed, 37 insertions(+), 10 deletions(-)
-
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index 5894bf2ad6..3650c96f52 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -7,6 +7,11 @@ for which a new license (GPL+exception) is in place.
-
- #include "slaoutput.h"
-
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+#include <memory>
-+#include <optional>
-+#endif
-+
- #include <poppler/GlobalParams.h>
- #include <poppler/poppler-config.h>
- #include <poppler/FileSpec.h>
-@@ -3027,18 +3032,24 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties)
- void SlaOutputDev::updateFont(GfxState *state)
- {
- GfxFont *gfxFont;
-- GfxFontLoc *fontLoc;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+ std::optional<GfxFontLoc> fontLoc;
-+ const GooString * fileName = nullptr;
-+ std::unique_ptr<FoFiTrueType> ff;
-+#else
-+ GfxFontLoc * fontLoc = nullptr;
-+ GooString * fileName = nullptr;
-+ FoFiTrueType * ff = nullptr;
-+#endif
- GfxFontType fontType;
- SlaOutFontFileID *id;
- SplashFontFile *fontFile;
- SplashFontSrc *fontsrc = nullptr;
-- FoFiTrueType *ff;
- Object refObj, strObj;
-- GooString *fileName;
-- char *tmpBuf;
-+ char *tmpBuf = nullptr;
- int tmpBufLen = 0;
-- int *codeToGID;
-- const double *textMat;
-+ int *codeToGID = nullptr;
-+ const double *textMat = nullptr;
- double m11, m12, m21, m22, fontSize;
- SplashCoord mat[4];
- int n = 0;
-@@ -3046,9 +3057,6 @@ void SlaOutputDev::updateFont(GfxState *state)
- SplashCoord matrix[6];
-
- m_font = nullptr;
-- fileName = nullptr;
-- tmpBuf = nullptr;
-- fontLoc = nullptr;
-
- gfxFont = state->getFont();
- if (!gfxFont)
-@@ -3083,7 +3091,11 @@ void SlaOutputDev::updateFont(GfxState *state)
- }
- else
- { // gfxFontLocExternal
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+ fileName = fontLoc->pathAsGooString();
-+#else
- fileName = fontLoc->path;
-+#endif
- fontType = fontLoc->fontType;
- }
-
-@@ -3136,9 +3148,14 @@ void SlaOutputDev::updateFont(GfxState *state)
- ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
- if (ff)
- {
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+ codeToGID = ((Gfx8BitFont*) gfxFont)->getCodeToGIDMap(ff.get());
-+ ff.reset();
-+#else
- codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff);
-- n = 256;
- delete ff;
-+#endif
-+ n = 256;
- }
- else
- {
-@@ -3209,8 +3226,13 @@ void SlaOutputDev::updateFont(GfxState *state)
- ff = FoFiTrueType::make(tmpBuf, tmpBufLen);
- if (! ff)
- goto err2;
-+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0)
-+ codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n);
-+ ff.reset();
-+#else
- codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n);
- delete ff;
-+#endif
- }
- if (!(fontFile = m_fontEngine->loadTrueTypeFont(
- id,
-@@ -3247,14 +3269,19 @@ void SlaOutputDev::updateFont(GfxState *state)
- mat[3] = -m22;
- m_font = m_fontEngine->getFont(fontFile, mat, matrix);
-
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
- delete fontLoc;
-+#endif
- if (fontsrc && !fontsrc->isFile)
- fontsrc->unref();
- return;
-
- err2:
- delete id;
-+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0)
- delete fontLoc;
-+#endif
-+
- err1:
- if (fontsrc && !fontsrc->isFile)
- fontsrc->unref();
diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch
deleted file mode 100644
index 73beac2d70..0000000000
--- a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f75c1613db67f4067643d0218a2db3235e42ec9f Mon Sep 17 00:00:00 2001
-From: Jean Ghali <jghali@libertysurf.fr>
-Date: Thu, 3 Feb 2022 19:46:13 +0000
-Subject: [PATCH] Small update vs latest code in poppler
-
-git-svn-id: svn://scribus.net/trunk/Scribus@24885 11d20701-8431-0410-a711-e3c959e3b870
----
- scribus/plugins/import/pdf/slaoutput.cpp | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp
-index 3650c96f52..a6f4e00fa9 100644
---- a/scribus/plugins/import/pdf/slaoutput.cpp
-+++ b/scribus/plugins/import/pdf/slaoutput.cpp
-@@ -3072,10 +3072,10 @@ void SlaOutputDev::updateFont(GfxState *state)
- delete id;
- else
- {
-- if (!(fontLoc = gfxFont->locateFont(xref, nullptr)))
-+ fontLoc = gfxFont->locateFont((xref) ? xref : pdfDoc->getXRef(), nullptr);
-+ if (!fontLoc)
- {
-- error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'",
-- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
-+ error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)");
- goto err2;
- }
-
diff --git a/gnu/packages/patches/sioyek-fix-build.patch b/gnu/packages/patches/sioyek-fix-build.patch
new file mode 100644
index 0000000000..521b361f2a
--- /dev/null
+++ b/gnu/packages/patches/sioyek-fix-build.patch
@@ -0,0 +1,82 @@
+Patch fetched from https://git.alpinelinux.org/aports/tree/community/sioyek/mupdf-0.23.0.patch
+
+From 86e913eccf19b97a16f25d9b6cdf0f50232f1226 Mon Sep 17 00:00:00 2001
+From: ptrcnull <git@ptrcnull.me>
+Date: Fri, 25 Aug 2023 22:44:26 +0200
+Subject: community/sioyek: fix build with mupdf-0.23.0
+
+---
+
+diff --git a/pdf_viewer/document_view.cpp b/pdf_viewer/document_view.cpp
+index f48d05e..0bc3855 100644
+--- a/pdf_viewer/document_view.cpp
++++ b/pdf_viewer/document_view.cpp
+@@ -1121,7 +1121,7 @@ std::vector<DocumentPos> DocumentView::find_line_definitions() {
+
+ std::optional<PdfLink> pdf_link = current_document->get_link_in_page_rect(get_center_page_number(), line_rects[line_index]);
+ if (pdf_link.has_value()) {
+- auto parsed_uri = parse_uri(mupdf_context, pdf_link.value().uri);
++ auto parsed_uri = parse_uri(mupdf_context, current_document->doc, pdf_link.value().uri);
+ result.push_back({ parsed_uri.page - 1, parsed_uri.x, parsed_uri.y });
+ return result;
+ }
+diff --git a/pdf_viewer/main_widget.cpp b/pdf_viewer/main_widget.cpp
+index 19b568b..335a93f 100644
+--- a/pdf_viewer/main_widget.cpp
++++ b/pdf_viewer/main_widget.cpp
+@@ -170,7 +170,7 @@ void MainWidget::set_overview_position(int page, float offset) {
+
+ void MainWidget::set_overview_link(PdfLink link) {
+
+- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, link.uri);
+ if (page >= 1) {
+ set_overview_position(page - 1, offset_y);
+ }
+@@ -3178,7 +3178,7 @@ void MainWidget::handle_pending_text_command(std::wstring text) {
+ open_web_url(utf8_decode(selected_link->uri));
+ }
+ else{
+- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, selected_link->uri);
++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, selected_link->uri);
+ long_jump_to_destination(page-1, offset_y);
+ }
+ }
+@@ -3863,7 +3863,7 @@ void MainWidget::handle_link_click(const PdfLink& link) {
+ return;
+ }
+
+- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri);
++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, link.uri);
+
+ // convert one indexed page to zero indexed page
+ page--;
+diff --git a/pdf_viewer/utils.cpp b/pdf_viewer/utils.cpp
+index 22d4265..3150e66 100644
+--- a/pdf_viewer/utils.cpp
++++ b/pdf_viewer/utils.cpp
+@@ -116,8 +116,9 @@ bool rects_intersect(fz_rect rect1, fz_rect rect2) {
+ return range_intersects(rect1.x0, rect1.x1, rect2.x0, rect2.x1) && range_intersects(rect1.y0, rect1.y1, rect2.y0, rect2.y1);
+ }
+
+-ParsedUri parse_uri(fz_context* mupdf_context, std::string uri) {
+- fz_link_dest dest = pdf_parse_link_uri(mupdf_context, uri.c_str());
++ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, std::string uri) {
++ pdf_document* doc = pdf_document_from_fz_document(mupdf_context, fz_doc);
++ fz_link_dest dest = pdf_resolve_link_dest(mupdf_context, doc, uri.c_str());
+ return { dest.loc.page + 1, dest.x, dest.y };
+ }
+
+diff --git a/pdf_viewer/utils.h b/pdf_viewer/utils.h
+index 2a12211..643b030 100644
+--- a/pdf_viewer/utils.h
++++ b/pdf_viewer/utils.h
+@@ -55,7 +55,7 @@ void get_flat_toc(const std::vector<TocNode*>& roots, std::vector<std::wstring>&
+ int mod(int a, int b);
+ bool range_intersects(float range1_start, float range1_end, float range2_start, float range2_end);
+ bool rects_intersect(fz_rect rect1, fz_rect rect2);
+-ParsedUri parse_uri(fz_context* mupdf_context, std::string uri);
++ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, std::string uri);
+ char get_symbol(int key, bool is_shift_pressed, const std::vector<char>&special_symbols);
+
+ template<typename T>
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index 3d7ffdcd88..afe4af3eb3 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -301,7 +301,7 @@ GiB).")
(define-public meld
(package
(name "meld")
- (version "3.22.0")
+ (version "3.22.1")
(source
(origin
(method url-fetch)
@@ -309,7 +309,7 @@ GiB).")
(version-major+minor version)
"/meld-" version ".tar.xz"))
(sha256
- (base32 "03f4j27amyi28flkks8i9bhqzd6xhm6d3c6jzxc57rzniv4hgh9z"))))
+ (base32 "0dk8j27jlqhxcjrkc8pa3rl7fz7pfwvrbyrhfsx1ld6lvcrbvlvd"))))
(build-system meson-build-system)
(native-inputs
(list desktop-file-utils
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 0d796f65bb..f32403b954 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2024 dan <i@dan.games>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1710,3 +1711,62 @@ python library.
Keywords: html2pdf, htmltopdf")
(license license:bsd-3)))
+
+(define-public sioyek
+ (package
+ (name "sioyek")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ahrm/sioyek")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vmmp2s032ygh1byz77pg9aljmp8hx745fr7mmz11831f96mlmhq"))
+ (modules '((guix build utils)))
+ ;; libmupdf-third.so no longer available since mupdf 1.18.0.
+ (snippet '(substitute* "pdf_viewer_build_config.pro"
+ (("-lmupdf-third") "")))
+ ;; XXX: Fix build with mupdf-0.23.0+.
+ ;; See also: https://github.com/ahrm/sioyek/issues/804
+ (patches (search-patches "sioyek-fix-build.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda _
+ (substitute* "pdf_viewer/main.cpp"
+ (("/usr/share")
+ (string-append #$output "/share"))
+ (("/etc")
+ (string-append #$output "/etc")))))
+ (replace 'configure
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (apply invoke "qmake" configure-flags)))
+ (add-after 'install 'instal-man-page
+ (lambda _
+ (install-file "resources/sioyek.1"
+ (string-append #$output "/share/man/man1")))))))
+ (inputs
+ (list freetype
+ gumbo-parser
+ harfbuzz
+ jbig2dec
+ libjpeg-turbo
+ mujs
+ mupdf
+ openjpeg
+ qt3d-5
+ qtbase-5
+ zlib))
+ (home-page "https://sioyek.info/")
+ (synopsis "PDF viewer with a focus on technical books and research papers")
+ (description
+ "Sioyek is a PDF viewer with a focus on textbooks and research papers.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm
index dab9dd477b..10eb33be25 100644
--- a/gnu/packages/perl6.scm
+++ b/gnu/packages/perl6.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,48 +23,55 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix build-system perl)
#:use-module (guix build-system rakudo)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls))
(define-public moarvm
(package
(name "moarvm")
- (version "2019.03")
+ (version "2022.04")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://moarvm.org/releases/MoarVM-"
- version ".tar.gz"))
- (sha256
- (base32
- "017w1zvr6yl0cgjfc1b3ddlc6vjw9q8p7alw1vvsckw95190xc14"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;(delete-file-recursively "3rdparty/dynasm") ; JIT
- (delete-file-recursively "3rdparty/dyncall")
- (delete-file-recursively "3rdparty/freebsd")
- (delete-file-recursively "3rdparty/libatomicops")
- (delete-file-recursively "3rdparty/libuv")
- (delete-file-recursively "3rdparty/libtommath")
- (delete-file-recursively "3rdparty/msinttypes")
- #t))))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://moarvm.org/releases/MoarVM-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0128fxqaz7cwjf6amaz2cgd7xl52zvi5fr7bwnj229snll5za1mf"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;(delete-file-recursively "3rdparty/dynasm") ; JIT
+ (delete-file-recursively "3rdparty/dyncall")
+ (delete-file-recursively "3rdparty/freebsd")
+ (delete-file-recursively "3rdparty/libatomicops")
+ (delete-file-recursively "3rdparty/libuv")
+ (delete-file-recursively "3rdparty/libtommath")
+ (delete-file-recursively "3rdparty/msinttypes")))))
(build-system perl-build-system)
(arguments
- '(#:phases
+ `(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build
+ (lambda _
+ (substitute* "build/Makefile.in"
+ (("^ +3rdparty/freebsd/.*") ""))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
+ (let ((out (assoc-ref outputs "out"))
(pkg-config (assoc-ref inputs "pkg-config")))
(setenv "CFLAGS" "-fcommon")
- (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib"))
+ (setenv "LDFLAGS"
+ ,@(if (target-ppc32?)
+ `((string-append "-Wl,-rpath=" out "/lib" " -latomic"))
+ `((string-append "-Wl,-rpath=" out "/lib"))))
(invoke "perl" "Configure.pl"
"--prefix" out
"--pkgconfig" (string-append pkg-config "/bin/pkg-config")
@@ -72,11 +80,11 @@
"--has-libffi"
"--has-libuv")))))))
(home-page "https://moarvm.org/")
- ;; These should be inputs but moar.h can't find them when building rakudo
- (propagated-inputs
- (list libatomic-ops libffi libtommath-1.0 libuv))
(native-inputs
(list pkg-config))
+ ;; These should be inputs but moar.h can't find them when building Rakudo.
+ (propagated-inputs
+ (list libatomic-ops libffi libtommath libuv))
(synopsis "VM for NQP And Rakudo Perl 6")
(description
"Short for \"Metamodel On A Runtime\", MoarVM is a modern virtual machine
@@ -96,156 +104,254 @@ with native libraries.
@end itemize")
(license license:artistic2.0)))
+(define-public nqp-configure
+ (let ((commit "9b98931e0bfb8c4aac61590edf5074e63aa8ea4b"))
+ (package
+ (name "nqp-configure")
+ ;; NQP and Rakudo use the same version of nqp-configure.
+ ;; We may as well set nqp-configure's version to the same as theirs.
+ (version "2022.04")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Raku/nqp-configure")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vc1q11kjb964jal9dhgf5vwp371a3rfw7gj987n33kzli7a10n0"))))
+ (build-system perl-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'create-makefile-and-manifest
+ (lambda _
+ (call-with-output-file "Makefile.PL"
+ (lambda (port)
+ (format port "
+use ExtUtils::MakeMaker;
+WriteMakefile(NAME => 'NQP::Config');\n")))
+ (call-with-output-file "MANIFEST"
+ (lambda (port)
+ (format port "
+LICENSE
+MANIFEST
+Makefile.PL
+README.md
+bin/make.nqp
+doc/Macros.md
+doc/NQP-Config.md
+lib/NQP/Config.pm
+lib/NQP/Config/Test.pm
+lib/NQP/Macros.pm
+t/10-config.t
+t/20-macros.t
+t/30-if-macro.t\n")))))
+ (add-after 'patch-source-shebangs 'patch-more-shebangs
+ (lambda _
+ (substitute* '("bin/make.nqp"
+ "lib/NQP/Config.pm")
+ (("/bin/sh") (which "sh"))))))))
+ (home-page "https://github.com/Raku/nqp-configure")
+ (synopsis "Configuration and build modules for NQP")
+ (description "This library provides support modules for NQP and Rakudo
+@file{Configure.pl} scripts.")
+ (license license:artistic2.0))))
+
(define-public nqp
(package
(name "nqp")
- (version "2019.03")
+ (version "2022.04")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://rakudo.perl6.org/downloads/nqp/nqp-"
- version ".tar.gz"))
- (sha256
- (base32
- "183zhll13fx416s3hkg4bkvib77kyr857h0nydgrl643fpacxp83"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file-recursively "3rdparty") #t))))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/Raku/nqp/releases/download/"
+ version "/nqp-" version ".tar.gz"))
+ (sha256
+ (base32 "1777shxr8qw6m2492ckb0r301qdx5gls6kphz554dh6k4n74avam"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "3rdparty"))))
(build-system perl-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'remove-calls-to-git
+ (lambda _
+ (invoke "perl" "-ni" "-e"
+ "print if not /^BEGIN {/ .. /^}/"
+ "Configure.pl")))
+ (add-after 'remove-calls-to-git 'fix-paths
+ (lambda _
+ (substitute* "tools/build/gen-version.pl"
+ (("catfile\\(\\$libdir, 'MAST', \\$_\\)")
+ (string-append "catfile('"
+ (assoc-ref %build-inputs "moarvm")
+ "/share/nqp/lib"
+ "', 'MAST', $_)")))))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
- (substitute* '("tools/build/install-jvm-runner.pl.in"
+ (substitute* '("t/nqp/111-spawnprocasync.t"
+ "t/nqp/113-run-command.t"
"tools/build/gen-js-cross-runner.pl"
"tools/build/gen-js-runner.pl"
"tools/build/install-js-runner.pl"
- "tools/build/install-moar-runner.pl"
- "tools/build/gen-moar-runner.pl"
- "t/nqp/111-spawnprocasync.t"
- "t/nqp/113-run-command.t")
- (("/bin/sh") (which "sh")))
- #t))
- (add-after 'unpack 'patch-source-date
- (lambda _
- (substitute* "tools/build/gen-version.pl"
- (("gmtime") "gmtime(0)"))
- #t))
- (add-after 'unpack 'remove-failing-test
- ;; One subtest fails for unknown reasons
- (lambda _
- (delete-file "t/nqp/019-file-ops.t")
- #t))
+ "tools/build/install-jvm-runner.pl.in")
+ (("/bin/sh") (which "sh")))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
+ (let ((out (assoc-ref outputs "out"))
(moar (assoc-ref inputs "moarvm")))
(invoke "perl" "Configure.pl"
"--backends=moar"
"--with-moar" (string-append moar "/bin/moar")
"--prefix" out)))))))
+ (native-inputs
+ (list nqp-configure))
(inputs
(list moarvm))
- (home-page "https://github.com/perl6/nqp")
+ (home-page "https://github.com/Raku/nqp")
(synopsis "Not Quite Perl")
- (description "This is \"Not Quite Perl\" -- a lightweight Perl 6-like
-environment for virtual machines. The key feature of NQP is that it's designed
-to be a very small environment (as compared with, say, perl6 or Rakudo) and is
-focused on being a high-level way to create compilers and libraries for virtual
-machines like MoarVM, the JVM, and others.
-
-Unlike a full-fledged implementation of Perl 6, NQP strives to have as small a
-runtime footprint as it can, while still providing a Perl 6 object model and
+ (description "This is \"Not Quite Perl\" -- a lightweight Raku-like
+environment for virtual machines. The key feature of NQP is that it's
+designed to be a very small environment (as compared with, say, Rakudo) and is
+focused on being a high-level way to create compilers and libraries for
+virtual machines like MoarVM, the JVM, and others.
+
+Unlike a full-fledged implementation of Raku, NQP strives to have as small a
+runtime footprint as it can, while still providing a Raku object model and
regular expression engine for the virtual machine.")
(license license:artistic2.0)))
(define-public rakudo
(package
(name "rakudo")
- (version "2019.03.1")
+ (version "2022.04")
(source
- (origin
- (method url-fetch)
- (uri (string-append "https://rakudo.perl6.org/downloads/rakudo/rakudo-"
- version ".tar.gz"))
- (sha256
- (base32
- "1nllf69v8xr6v3kkj7pmryg11n5m3ajfkr7j72pvhrgnjy8lv3r1"))))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/rakudo/rakudo/releases/download/"
+ version "/rakudo-" version ".tar.gz"))
+ (sha256
+ (base32 "0x0w5b8g5kna1mlvsli9dqmnwvqalrar3cgpixmyiyvyjb6ah4vy"))
+ (modules '((guix build utils)))
+ (snippet
+ '(delete-file-recursively "3rdparty"))))
(build-system perl-build-system)
(arguments
- '(#:phases
+ `(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-source-date
+ (add-after 'unpack 'remove-calls-to-git
(lambda _
- (substitute* "tools/build/gen-version.pl"
- (("gmtime") "gmtime(0)"))
- #t))
+ (invoke "perl" "-ni" "-e" "print if not /^BEGIN {/ .. /^}/"
+ "Configure.pl")))
+ (add-after 'remove-calls-to-git 'fix-paths
+ (lambda _
+ (substitute* "tools/templates/Makefile-common-macros.in"
+ (("NQP_CONFIG_DIR = .*")
+ (string-append "NQP_CONFIG_DIR = "
+ (assoc-ref %build-inputs "nqp-configure")
+ "/lib/perl5/site_perl/"
+ ,(package-version perl)
+ "\n")))))
+ ;; These tests pass when run manually.
+ (add-after 'fix-paths 'disable-failing-tests
+ (lambda _
+ (substitute* "t/02-rakudo/repl.t"
+ (("^plan 47;\n") "plan 46;\n"))
+ (invoke "perl" "-ni" "-e"
+ "printf if not /^ \\(temp %\\*ENV\\)/ .. /^ }/"
+ "t/02-rakudo/repl.t")
+ (substitute* "t/09-moar/01-profilers.t"
+ (("^plan 12;\n") "plan 10;\n")
+ (("^ok \\$htmlpath\\.IO\\.f, .*") "")
+ (("^ok \\(try \\$htmlpath\\.IO\\.s .*") ""))))
(add-after 'patch-source-shebangs 'patch-more-shebangs
(lambda _
- (substitute* '("tools/build/create-js-runner.pl"
- "tools/build/create-moar-runner.p6"
- "tools/build/create-jvm-runner.pl"
- "src/core/Proc.pm6")
- (("/bin/sh") (which "sh")))
- #t))
+ (substitute* '("src/core.c/Proc.pm6"
+ "t/spec/S29-os/system.t"
+ "tools/build/create-js-runner.pl"
+ "tools/build/create-jvm-runner.pl")
+ (("/bin/sh") (which "sh")))))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(nqp (assoc-ref inputs "nqp")))
- (invoke "perl" "./Configure.pl"
+ (invoke "perl" "Configure.pl"
"--backend=moar"
"--with-nqp" (string-append nqp "/bin/nqp")
"--prefix" out))))
- ;; This is the recommended tool for distro maintainers to install perl6
+ ;; This is the recommended tool for distro maintainers to install Raku
;; modules systemwide. See: https://github.com/ugexe/zef/issues/117
(add-after 'install 'install-dist-tool
(lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
+ (let* ((out (assoc-ref outputs "out"))
(dest (string-append out "/share/perl6/tools")))
- (install-file "tools/install-dist.p6" dest)
- (substitute* (string-append dest "/install-dist.p6")
- (("/usr/bin/env perl6")
- (string-append out "/bin/perl6"))))
- #t)))))
+ (install-file "tools/install-dist.raku" dest)
+ (substitute* (string-append dest "/install-dist.raku")
+ (("/usr/bin/env raku")
+ (string-append out "/bin/raku")))))))))
+ (native-inputs
+ (list nqp-configure))
(inputs
(list moarvm nqp openssl))
(home-page "https://rakudo.org/")
(native-search-paths
- (list (search-path-specification
- (variable "PERL6LIB")
- (separator ",")
- (files '("share/perl6/lib"
- "share/perl6/site/lib"
- "share/perl6/vendor/lib")))))
- (synopsis "Perl 6 Compiler")
- (description "Rakudo Perl is a compiler that implements the Perl 6
-specification and runs on top of several virtual machines.")
+ (list (search-path-specification
+ (variable "PERL6LIB")
+ (separator ",")
+ (files '("share/perl6/lib"
+ "share/perl6/site/lib"
+ "share/perl6/vendor/lib")))))
+ (synopsis "Raku Compiler")
+ (description "Rakudo is a compiler that implements the Raku specification
+and runs on top of several virtual machines.")
(license license:artistic2.0)))
+(define-public perl6-format-lisp
+ (let ((commit "1ae31e2a9366b287a83a9d451295fc9e3fb6d36f")
+ (revision "0"))
+ (package
+ (name "perl6-format-lisp")
+ (version (git-version "0.0.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raku-community-modules/Format-Lisp")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rhkd11xdyw99vl6ickjin0x7nhlgkq3qhpf8zp9jky0k711gxmr"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/raku-community-modules/Format-Lisp")
+ (synopsis "Common Lisp's format call in Raku")
+ (description "This Raku module implements Common Lisp's @code{format}
+language.")
+ (license license:artistic2.0))))
+
(define-public perl6-grammar-debugger
- ;; Last commit was September 2017
+ ;; Last commit was September 2017.
(let ((commit "0375008027c8caa216bd869476ce59ae09b2a702")
(revision "1"))
(package
(name "perl6-grammar-debugger")
(version (git-version "1.0.1" revision commit))
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jnthn/grammar-debugger")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jnthn/grammar-debugger")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-terminal-ansicolor))
(home-page "https://github.com/jnthn/grammar-debugger")
- (synopsis "Simple tracing and debugging support for Perl 6 grammars")
+ (synopsis "Simple tracing and debugging support for Raku grammars")
(description "This module provides a simple debugger for grammars. Just
@code{use} it: use @code{Grammar::Debugger;} and any grammar in the lexical
scope of the use statement will automatically have debugging enabled. The
@@ -254,82 +360,80 @@ prompt.")
(license license:artistic2.0))))
(define-public perl6-grammar-profiler-simple
- ;; Last commit was June 2017
+ ;; Last commit was June 2017.
(let ((commit "c0aca5fab323b2974821dabd6b89330c609e0b7d")
(revision "1"))
(package
(name "perl6-grammar-profiler-simple")
(version (git-version "0.02" revision commit))
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/perlpilot/Grammar-Profiler-Simple")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/perlpilot/Grammar-Profiler-Simple")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/perlpilot/Grammar-Profiler-Simple")
- (synopsis "Simple rule profiling for Perl 6 grammars")
- (description "This module provides a simple profiler for Perl 6 grammars.
+ (synopsis "Simple rule profiling for Raku grammars")
+ (description "This module provides a simple profiler for Raku grammars.
To enable profiling simply add use @code{Grammar::Profiler::Simple;} to your
code. Any grammar in the lexical scope of the use statement will automatically
have profiling information collected when the grammar is used.")
(license license:artistic2.0))))
(define-public perl6-json
- (package
- (name "perl6-json")
- (version "1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
+ ;; The commit where 1.0 was “tagged”.
+ (let ((commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99"))
+ (package
+ (name "perl6-json")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
(url "https://github.com/moritz/json")
- ;; The commit where 1.0 was "tagged"
- (commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/moritz/json")
- (synopsis "Minimal JSON (de)serializer")
- (description "This module is a simple Perl 6 module for serializing and
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/moritz/json")
+ (synopsis "Minimal JSON (de)serializer")
+ (description "This module is a simple Raku module for serializing and
deserializing JSON.")
- (license license:artistic2.0)))
+ (license license:artistic2.0))))
(define-public perl6-json-class
(package
(name "perl6-json-class")
- (version "0.0.12")
+ (version "0.0.18")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Class")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1zyzajc57j3m8q0nr72h9pw4w2nx92rafywlvysgphc5q9sb8np2"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/JSON-Class")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0686qpcb6p5isjcsksrgsr1rh926cnhs6r091p5p3lh2fd575g1d"))))
(build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-marshal perl6-json-unmarshal))
(native-inputs
(list perl6-json-fast))
+ (propagated-inputs
+ (list perl6-json-marshal perl6-json-unmarshal))
(home-page "https://github.com/jonathanstowe/JSON-Class")
- (synopsis "Provide simple serialisation/deserialisation of objects to/from JSON")
+ (synopsis "Provide simple serialization/deserialization of objects to/from JSON")
(description "This is a simple role that provides methods to instantiate a
-class from a JSON string that (hopefully,) represents it, and to serialise an
+class from a JSON string that (hopefully) represents it, and to serialize an
object of the class to a JSON string. The JSON created from an instance
should round trip to a new instance with the same values for the public
attributes. Private attributes (that is ones without accessors,) will be
-ignored for both serialisation and de-serialisation. The exact behaviour
+ignored for both serialization and deserialization. The exact behaviour
depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal}
respectively.")
(license license:artistic2.0)))
@@ -337,47 +441,46 @@ respectively.")
(define-public perl6-json-fast
(package
(name "perl6-json-fast")
- (version "0.10")
+ (version "0.17")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/timo/json_fast")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1g8hr1mdrxwdpzc7hvs9l5r12phvba6y6a5chgkj90ing77ji4b2"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/timo/json_fast")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gckca9m6jkz6s59rpwf59721q6icfm45jj49sw3vdjr6jh2dgdb"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/timo/json_fast")
- (synopsis "Perl6 json parser")
- (description "A naive imperative json parser in pure perl6 (but with direct
+ (synopsis "Raku JSON parser")
+ (description "A naive imperative JSON parser in pure Raku (but with direct
access to @code{nqp::} ops), to evaluate performance against @code{JSON::Tiny}.
-It is a drop-in replacement for @code{JSON::Tiny}'s from-json and to-json subs,
-but it offers a few extra features.")
+It is a drop-in replacement for @code{JSON::Tiny}'s @code{from-json} and
+@code{to-json} subs, but it offers a few extra features.")
(license license:artistic2.0)))
(define-public perl6-json-marshal
(package
(name "perl6-json-marshal")
- (version "0.0.16")
+ (version "0.0.23")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Marshal")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qy7j83h6gjzyyv74ncd92cd9h45rv8diaz3vldiv3b6fqwz4c6i"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/JSON-Marshal")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "057xmdadhy5wkbhr6w1iybv2j7qf4bf8d4cp8m4qdcgk6pqzpkgc"))))
(build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-fast perl6-json-name))
(native-inputs
(list perl6-json-fast))
+ (propagated-inputs
+ (list perl6-json-fast perl6-json-name))
(home-page "https://github.com/jonathanstowe/JSON-Marshal")
- (synopsis "Simple serialisation of objects to JSON")
+ (synopsis "Simple serialization of objects to JSON")
(description "This library provides a single exported subroutine to create
a JSON representation of an object. It should round trip back into an object
of the same class using @code{JSON::Unmarshal}.")
@@ -386,46 +489,69 @@ of the same class using @code{JSON::Unmarshal}.")
(define-public perl6-json-name
(package
(name "perl6-json-name")
- (version "0.0.3")
+ (version "0.0.6")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Name")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "130qwdpbj5qdlsdz05y0rksd79lzbq79scy47n6lnf21b0hz1qjc"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/JSON-Name")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fbwp3av4kh7zlbrmgbka4x6s3d6fsw2qxafi9hyq0y896wsaf94"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
+ (propagated-inputs
+ (list perl6-json-optin))
(home-page "https://github.com/jonathanstowe/JSON-Name")
- (synopsis "Provides a trait to store an alternative JSON Name")
+ (synopsis "Provide a trait to store an alternative JSON name")
(description "This is released as a dependency of @code{JSON::Marshal} and
@code{JSON::Unmarshal} in order to save duplication, it is intended to store a
separate JSON name for an attribute where the name of the JSON attribute might be
changed, either for aesthetic reasons or the name is not a valid Perl identifier.
It will of course also be needed in classes thar are going to use
-@code{JSON::Marshal} or @code{JSON::Unmarshal} for serialisation/de-serialisation.")
+@code{JSON::Marshal} or @code{JSON::Unmarshal} for serialization/deserialization.")
+ (license license:artistic2.0)))
+
+(define-public perl6-json-optin
+ (package
+ (name "perl6-json-optin")
+ (version "0.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/JSON-OptIn")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0iz1wd3rfcb3kdc8cylwfxr8p02bpivk7kcf3dmm2l4mmdhyk7np"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/jonathanstowe/JSON-OptIn")
+ (synopsis "Provide a trait and role to identify opt-in JSON serialization")
+ (description "This provides a trait and a role for the identification of
+`opt in' serializable attributes in, e.g., @code{JSON::Marshal}. It's
+probably not necessary to use this directly as it will be required by, e.g.,
+@code{JSON::Name}, but it's just more convenient to package it separately.")
(license license:artistic2.0)))
(define-public perl6-json-unmarshal
- ;; Last commit was May 2017
+ ;; Last commit was May 2017.
(let ((commit "e1b6288c5f3165058f36c0f4e171cdf2dfd640da")
(revision "1"))
(package
(name "perl6-json-unmarshal")
(version (git-version "0.0.0" revision commit))
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tadzik/JSON-Unmarshal")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "14azsmzmwdn8k0gqcpvballharcvzylmlyrx2wmv4kpqfnz29fjc"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tadzik/JSON-Unmarshal")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14azsmzmwdn8k0gqcpvballharcvzylmlyrx2wmv4kpqfnz29fjc"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-json-fast perl6-json-name))
@@ -438,17 +564,16 @@ create an object from a JSON representation of an object.")
(define-public perl6-license-spdx
(package
(name "perl6-license-spdx")
- (version "3.4.0")
+ (version "3.16.0")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/License-SPDX")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0dl263c3fbxk001gm5fisrzqz1dx182ipaa0x2qva2gxvl075xm8"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/License-SPDX")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0sv9rrrfn437crynmbs3aks5xcqchjkbr1k31fq0dphfaw88k5v3"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-json-class))
@@ -463,78 +588,74 @@ licences therein.")
(define-public perl6-meta6
(package
(name "perl6-meta6")
- (version "0.0.23")
+ (version "0.0.26")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/META6")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xnlaamfbdlfb2zidim3bbc4mawsrg6qxhxi6gbld46z1cyry1cw"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/META6")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jg8z0y29df9sy6za285jy38c3v6dl54ar54dp6marzcih02payx"))))
(build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-json-class))
(native-inputs
(list perl6-json-fast))
+ (propagated-inputs
+ (list perl6-json-class))
(home-page "https://github.com/jonathanstowe/META6")
- (synopsis "Do things with Perl 6 [META files]")
- (description "This provides a representation of the Perl 6 META files
-specification - the META file data can be read, created, parsed and written in a
-manner that is conformant with the specification.
-
-Where they are known about it also makes allowance for customary usage in
-existing software (such as installers and so forth.)
-
-The intent of this is allow the generation and testing of META files for
-module authors, so it can provide meta-information whether the attributes are
-mandatory as per the spec and where known the places that customary attributes
-are used.")
+ (synopsis "Do things with Raku META files")
+ (description "This provides a representation of the Raku META files
+specification -- the META file data can be read, created, parsed and written
+in a manner that is conformant with the specification.
+
+Where they are known about, it also makes allowance for customary usage in
+existing software (such as installers and so forth).
+
+The intent of this is to allow the generation and testing of META files for
+module authors, so it can provide meta-information about whether the
+attributes are mandatory as per the spec and, where known, the places that
+customary attributes are used.")
(license license:artistic2.0)))
(define-public perl6-mime-base64
(package
(name "perl6-mime-base64")
- (version "1.2.1")
+ (version "1.2.3")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/perl6/Perl6-MIME-Base64")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0l67m8mvz3gxml425sd1ggfnhzh4lf754k7w8fngfr453s6lsza1"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raku-community-modules/MIME-Base64")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19bndwbjr05gg8rrq2msmw1ik8xw2r3gbd77vxrp8l6c674zgy95"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
- (home-page "https://github.com/perl6/Perl6-MIME-Base64")
+ (home-page "https://github.com/raku-community-modules/MIME-Base64")
(synopsis "Encoding and decoding Base64 ASCII strings")
- (description "This Perl 6 module implements encoding and decoding to and
+ (description "This Raku module implements encoding and decoding to and
from base64.")
(license license:artistic2.0)))
(define-public perl6-oo-monitors
(package
(name "perl6-oo-monitors")
- (version "1.1")
+ (version "1.1.1")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jnthn/oo-monitors")
- ;; The commit where 1.1 was "tagged"
- (commit "494db3a3852854f30a80c9bd1489a7d5e429e7c5")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1sbw2x54wwjjanghjnc7ipmplaw1srvbrphsdv4ym6cipnbmbj9x"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jnthn/oo-monitors")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1aqb0x2vnmpi3knkf5v5aix6h29ln80gpxwa181i8kwfpxs8ir9f"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/jnthn/oo-monitors")
- (synopsis "Monitors with condition variables for Perl 6")
+ (synopsis "Monitors with condition variables for Raku")
(description "A monitor provides per-instance mutual exclusion for objects.
This means that for a given object instance, only one thread can ever be inside
its methods at a time. This is achieved by a lock being associated with each
@@ -543,56 +664,54 @@ monitor. Condition variables are also supported.")
(license license:artistic2.0)))
(define-public perl6-svg
- ;; Latest commit, basically unchanged since August 2015
+ ;; Latest commit, basically unchanged since August 2015.
(let ((commit "07190c0602aa276e5319f06aa0012452dbff3582")
(revision "1"))
(package
(name "perl6-svg")
(version (git-version "0.0.0" revision commit))
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/moritz/svg")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0mkjdhg7ajksdn61n8fqhyzfd7ly9myazsvpsm02a5c2q73hdygg"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moritz/svg")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mkjdhg7ajksdn61n8fqhyzfd7ly9myazsvpsm02a5c2q73hdygg"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-xml-writer))
(home-page "https://github.com/moritz/svg")
- (synopsis "Perl 6 module to generate SVG")
- (description "This is a Perl 6 module that makes it easy to write
+ (synopsis "Raku module to generate SVG")
+ (description "This is a Raku module that makes it easy to write
@dfn{Scalable Vector Graphic files} (SVG). Right now it is a shallow wrapper
-around @code{XML::Writer}, adding only the xmlns attributes that identifies an
-XML file as SVG.")
+around @code{XML::Writer}, adding only the @samp{xmlns} attributes that
+identify an XML file as SVG.")
(license license:artistic2.0))))
(define-public perl6-svg-plot
- ;; Latest commit
+ ;; Latest commit.
(let ((commit "062570a78fd38c3c6baba29dfe2fbb8ca014f4de")
(revision "1"))
(package
(name "perl6-svg-plot")
(version (git-version "0.0.0" revision commit))
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/moritz/svg-plot")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "095ga5hbg92jnmczxvhk1hjz14yr334zyf8cph4w5w5frcza44my"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moritz/svg-plot")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "095ga5hbg92jnmczxvhk1hjz14yr334zyf8cph4w5w5frcza44my"))))
(build-system rakudo-build-system)
(propagated-inputs
(list perl6-svg))
(home-page "https://github.com/moritz/svg-plot")
- (synopsis "Perl 6 charting and plotting library that produces SVG output")
- (description "@code{SVG::Plot} is a simple 2D chart plotter for Perl 6.
+ (synopsis "Raku charting and plotting library that produces SVG output")
+ (description "@code{SVG::Plot} is a simple 2D chart plotter for Raku.
It currently supports bars, stacked bars, lines and points (both equally spaced
with optional labels, or xy plots).")
(license license:artistic2.0))))
@@ -600,17 +719,16 @@ with optional labels, or xy plots).")
(define-public perl6-tap-harness
(package
(name "perl6-tap-harness")
- (version "0.0.7")
+ (version "0.3.5")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/perl6/tap-harness6")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1lig8i0my3fgqvlay9532xslbf3iis2d7wz89gniwvwqffi2kh6r"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Raku/tap-harness6")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "162crdy8g6xhnry26pjma2panm0c79n26igmljg79al4bqj9lyc9"))))
(build-system rakudo-build-system)
(arguments
'(#:with-zef? #f
@@ -619,109 +737,109 @@ with optional labels, or xy plots).")
(modify-phases %standard-phases
(replace 'check
(lambda _
- (invoke "perl6" "-Ilib" "bin/prove6" "-l" "t"))))))
- (home-page "https://github.com/perl6/tap-harness6/")
- (synopsis "TAP harness for perl6")
+ (apply invoke "raku" "-MTAP" "-Ilib" (find-files "t" "\\.t$")))))))
+ (home-page "https://github.com/Raku/tap-harness6")
+ (synopsis "TAP harness for Raku")
(description "This module provides the @command{prove6} command which runs a
TAP based test suite and prints a report. The @command{prove6} command is a
minimal wrapper around an instance of this module.")
(license license:artistic2.0)))
(define-public perl6-terminal-ansicolor
- (package
- (name "perl6-terminal-ansicolor")
- (version "0.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
+ ;; The commit where 0.5 was “tagged”.
+ (let ((commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212"))
+ (package
+ (name "perl6-terminal-ansicolor")
+ (version "0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
(url "https://github.com/tadzik/Terminal-ANSIColor")
- ;; The commit where 0.5 was "tagged"
- (commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/tadzik/Terminal-ANSIColor")
- (synopsis "Colorize terminal output")
- (description "This is a @code{Terminal::ANSIColor} module for Perl 6.")
- (license license:expat)))
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/tadzik/Terminal-ANSIColor")
+ (synopsis "Colorize terminal output")
+ (description "This is a @code{Terminal::ANSIColor} module for Raku.")
+ (license license:expat))))
(define-public perl6-test-meta
(package
(name "perl6-test-meta")
- (version "0.0.14")
+ (version "0.0.17")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathanstowe/Test-META")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1mzrglb7lbiy5h9dlc7dyhvv9gppxmdmpmrv6nzbd695jzr38bri"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathanstowe/Test-META")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0kd4yixx6lac240lcx0f5pfswspvpp43034mq2vs65zxghsvvcmf"))))
(build-system rakudo-build-system)
(propagated-inputs
- (list perl6-meta6 perl6-uri))
+ (list perl6-license-spdx perl6-meta6 perl6-uri))
(home-page "https://github.com/jonathanstowe/Test-META")
- (synopsis "Test a distributions META file")
+ (synopsis "Test a distribution's META file")
(description "This provides a simple mechanism for module authors to have
some confidence that they have a working distribution META description file.")
(license license:artistic2.0)))
(define-public perl6-test-mock
- (package
- (name "perl6-test-mock")
- (version "1.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
+ (let ((commit "1130427f4d9f3866fa39e113251bb142d7fa5cc8")
+ (revision "0"))
+ (package
+ (name "perl6-test-mock")
+ (version (git-version "1.5" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
(url "https://github.com/jnthn/test-mock")
- ;; The commit where 1.5 was "tagged"
- (commit "6eddb42f73f40b9ac29c14badb41ce4a04d876f2")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "07yr3qimc8fl29p23562ayj2j9h53madcnf9sgqvgf2kcprh0zd2"))))
- (build-system rakudo-build-system)
- (propagated-inputs
- (list perl6-oo-monitors))
- (home-page "https://github.com/jnthn/test-mock")
- (synopsis "Module for simply generating and checking mock objects")
- (description "@code{Test::Mock} is a module that works alongside the
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03qq6z9ilw0ak3dx9i24ygr4c21wf4xvli8px02hmshpkhavclj5"))))
+ (build-system rakudo-build-system)
+ (propagated-inputs
+ (list perl6-oo-monitors))
+ (home-page "https://github.com/jnthn/test-mock")
+ (synopsis "Module for simply generating and checking mock objects")
+ (description "@code{Test::Mock} is a module that works alongside the
standard Test module to help you write tests when you want to verify what
methods are called on an object, while still having calls to undefined methods
-die. You get started just as normal with the test file, but also add a use
-statement for @code{Test::Mock}.")
- (license license:artistic2.0)))
+die. You get started just as normal with the test file, but also add a
+@code{use} statement for @code{Test::Mock}.")
+ (license license:artistic2.0))))
(define-public perl6-uri
- (package
- (name "perl6-uri")
- (version "0.1.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/perl6-community-modules/uri")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0h318g75jqn2ckw051g35iqyfxz1mps0jyg5z6pd857y3kacbkpl"))))
- (build-system rakudo-build-system)
- (arguments '(#:with-zef? #f))
- (home-page "https://github.com/perl6-community-modules/uri")
- (synopsis "URI implementation using Perl 6")
- (description "A URI implementation using Perl 6 grammars to implement RFC
+ ;; The commit where 0.3.5 was “tagged”.
+ (let ((commit "2e62d0f117c95a43e61ddb018dcacba8036aa3d5"))
+ (package
+ (name "perl6-uri")
+ (version "0.3.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/raku-community-modules/URI")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a03r80zxpvnsjf2z5r8lk434v2ysrpaymqa6xq975l4124gckkx"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/raku-community-modules/URI")
+ (synopsis "URI implementation using Raku")
+ (description "A URI implementation using Raku grammars to implement RFC
3986 BNF. Currently only implements parsing. Includes @code{URI::Escape} to
(un?)escape characters that aren't otherwise allowed in a URI with % and a hex
character numbering.")
- (license license:artistic2.0)))
+ (license license:artistic2.0))))
(define-public perl6-xml-writer
;; Last commit was May 2017
@@ -731,36 +849,34 @@ character numbering.")
(name "perl6-xml-writer")
(version (git-version "0.0.0" revision commit))
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/masak/xml-writer")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1kwrf7akp70kyzw1b90khp71a6hpilihwndy2jsjpffcd4hd4m4z"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/masak/xml-writer")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kwrf7akp70kyzw1b90khp71a6hpilihwndy2jsjpffcd4hd4m4z"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/masak/xml-writer")
- (synopsis "Perl 6 module to generate XML")
- (description "@code{XML::Writer} is a module for creating XML in Perl 6.")
+ (synopsis "Raku module to generate XML")
+ (description "@code{XML::Writer} is a module for creating XML in Raku.")
(license license:artistic2.0))))
(define-public perl6-zef
(package
(name "perl6-zef")
- (version "0.6.7")
+ (version "0.13.8")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ugexe/zef")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "07n7g1xw2c4g860rs890gx85vyhdq0ysgwbrnzw6q905jph2bkv7"))))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ugexe/zef")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zmx2gavi975811kskv5j4j2zsysnxfklwx0azn8rffraadnhscm"))))
(build-system rakudo-build-system)
(arguments
'(#:with-zef? #f
@@ -769,11 +885,11 @@ character numbering.")
(replace 'check
(lambda _
(setenv "HOME" "/tmp")
- (invoke "perl6" "-I." "bin/zef" "--debug"
+ (invoke "raku" "-I." "bin/zef" "--debug"
"--tap-harness" "test" "."))))))
(home-page "https://github.com/ugexe/zef")
- (synopsis "Perl6 Module Management")
- (description "Zef is a Perl 6 package (module) manager. It can be used to
-download and install Perl 6 modules in your home directory or as a system-wide
+ (synopsis "Raku Module Management")
+ (description "Zef is a Raku package (module) manager. It can be used to
+download and install Raku modules in your home directory or as a system-wide
module.")
(license license:artistic2.0)))
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 48f1c38695..1018d2e801 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -530,7 +530,7 @@ photographic equipment.")
(define-public darktable
(package
(name "darktable")
- (version "4.6.0")
+ (version "4.6.1")
(source
(origin
(method url-fetch)
@@ -538,7 +538,7 @@ photographic equipment.")
"https://github.com/darktable-org/darktable/releases/"
"download/release-" version "/darktable-" version ".tar.xz"))
(sha256
- (base32 "1hmcib37b5v8893d69i2qgvmbkmils8a0gn5dpg2462d43ijfjvj"))))
+ (base32 "1zbsrx5cfyifzbi657izw8rfkgd9pm4hx8afv8y2sgi9f2hc1v8n"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 6f249dd3af..691fbd3065 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020, 2022, 2023 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
-;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,12 +30,14 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages libffi)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crates-io)
#:use-module (gnu packages check)
#:use-module (gnu packages maths)
#:use-module (gnu packages pkg-config)
@@ -44,6 +46,7 @@
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages rust-apps)
#:use-module (gnu packages sphinx))
(define-public python-multivolumefile
@@ -73,6 +76,81 @@ file-object abstraction, making it possible to use multiple files as if they
were a single file.")
(license license:lgpl2.1+)))
+(define-public python-cramjam
+ (package
+ (name "python-cramjam")
+ (version "2.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cramjam" version))
+ (sha256
+ (base32 "1b69qlr0q7q3spa7zy55xc1dr5pjgsdavxx8ijhv2j60xqjbg7sp"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:imported-modules `(,@%cargo-build-system-modules
+ ,@%pyproject-build-system-modules)
+ #:modules '((guix build cargo-build-system)
+ ((guix build pyproject-build-system)
+ #:prefix py:)
+ (guix build utils))
+ #:phases #~(modify-phases %standard-phases
+ ;; We use Maturin to build the project.
+ (replace 'build
+ (assoc-ref py:%standard-phases
+ 'build))
+ ;; Before being able to run Python tests, we need to
+ ;; install the module and add it to PYTHONPATH.
+ (delete 'install)
+ (add-after 'build 'install
+ (assoc-ref py:%standard-phases
+ 'install))
+ (add-after 'install 'add-install-to-pythonpath
+ (assoc-ref py:%standard-phases
+ 'add-install-to-pythonpath))
+ ;; Finally run the tests. Only Python tests are provided.
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ ;; Without the CI variable, tests are run in "local"
+ ;; mode, which sets a deadline for hypothesis. For a
+ ;; deterministic build, we need to set CI.
+ (setenv "CI" "1")
+ (invoke "pytest" "-vv" "tests")))))
+ #:cargo-inputs `(("rust-brotli" ,rust-brotli-3)
+ ("rust-bzip2" ,rust-bzip2-0.4)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-lz4" ,rust-lz4-1)
+ ("rust-pyo3" ,rust-pyo3-0.18)
+ ("rust-snap" ,rust-snap-1)
+ ("rust-zstd" ,rust-zstd-0.11))
+ #:install-source? #f))
+ (native-inputs (list maturin
+ python-pytest
+ python-pytest-xdist
+ python-numpy
+ python-hypothesis
+ python-wrapper))
+ (home-page "https://github.com/milesgranger/cramjam")
+ (synopsis "Python bindings to compression algorithms in Rust")
+ (description
+ "This package provides thin Python bindings to compression and
+decomporession algorithms implemented in Rust. This allows for using
+algorithms such as Snappy without additional system dependencies. The
+following algorithms are available:
+
+@itemize
+@item Snappy
+@item Brotli
+@item Bzip2
+@item LZ4
+@item Gzip
+@item Deflate
+@item Zstd
+@end itemize")
+ (license license:expat)))
+
(define-public python-pybcj
(package
(name "python-pybcj")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ac1a913a6f..870f542019 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -147,6 +147,7 @@
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
+;;; Copyright © 2024 Ian Eure <ian@retrospec.tv>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25956,6 +25957,43 @@ cases, generating additional test cases, testing for your code, and
submitting it.")
(license license:expat)))
+(define-public python-mpv-jsonipc
+ (package
+ (name "python-mpv-jsonipc")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-mpv-jsonipc" version))
+ (sha256
+ (base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691"))))
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/iwalton3/python-mpv-jsonipc")
+ (synopsis "Python API to control MPV using JSON IPC")
+ (description "Python MPV JSONIPC implements an interface similar to
+python-mpv, but it uses the JSON IPC protocol instead of the C API.")
+ (license license:asl2.0)))
+
+(define-public python-jellyfin-apiclient
+ (package
+ (name "python-jellyfin-apiclient")
+ (version "1.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jellyfin-apiclient-python" version))
+ (sha256
+ (base32 "0r67cp9nizvn3cbslgi30zpd3mw4a6zal0ygik3jv5lni1xdkk5w"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-certifi python-requests python-urllib3
+ python-websocket-client))
+ (home-page "https://github.com/jellyfin/jellyfin-apiclient-python")
+ (synopsis "Python API client for Jellyfin")
+ (description "The Jellyfin ApiClient Python package makes it possible
+to use the Jellyfin API from Python. It was extracted from the Jellyfin
+Kodi plugin.")
+ (license license:gpl3+)))
+
(define-public python-parso
(package
(name "python-parso")
@@ -31885,6 +31923,41 @@ handling those variations.")
Qt applications.")
(license license:expat)))
+(define-public python-pystray
+ (package
+ (name "python-pystray")
+ (version "0.19.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moses-palmer/pystray")
+ (commit "1907f8681d6d421517c63d94f425f9cdd74d0034")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1vj6c8s7rbc7xc4bi5brx5629ls1ri9prcw9290v85hagilmp609"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ ;; The test suite requires user interaction, there are no automated
+ ;; tests.
+ #:tests? #false
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'sanity-check 'use-dummy-backend
+ (lambda _
+ ;; Without setting this, pystray tries to connect to
+ ;; X11 on import.
+ (setenv "PYSTRAY_BACKEND" "dummy"))))))
+ (native-inputs (list python-sphinx))
+ (propagated-inputs (list python-pillow python-six python-xlib))
+ (home-page "https://github.com/moses-palmer/pystray")
+ (synopsis "Create a system tray icon")
+ (description "This library allows you to create a system tray icon.
+It makes it possible to specify an icon, a title and a callback for when
+the icon is activated. The icon and title can be changed after the icon
+has been created, and the visibility of the icon can be toggled.")
+ (license license:lgpl3+)))
+
(define-public python-bitstring
(package
(name "python-bitstring")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 51d5f598d7..0ae3709b99 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -55,7 +55,7 @@
;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
-;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2019, 2024 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
@@ -596,6 +596,391 @@ data types.")
(variable "PYTHONTZPATH")
(files (list "share/zoneinfo")))))))
+(define-public python-3.12
+ (package
+ (name "python-next")
+ (version "3.12.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.python.org/ftp/python/" version
+ "/Python-" version ".tar.xz"))
+ (sha256
+ (base32 "0w6qyfhc912xxav9x9pifwca40b4l49vy52wai9j0gc1mhni2a5y"))
+ (patches (search-patches "python-3-deterministic-build-info.patch"
+ "python-3.12-fix-tests.patch"
+ "python-3-hurd-configure.patch"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Delete the bundled copy of libexpat.
+ (delete-file-recursively "Modules/expat")
+ (substitute* "Modules/Setup"
+ ;; Link Expat instead of embedding the bundled one.
+ (("^#pyexpat.*")
+ "pyexpat pyexpat.c -lexpat\n"))
+ ;; Delete windows binaries
+ (for-each delete-file
+ (find-files "Lib/distutils/command" "\\.exe$"))))))
+ (outputs '("out" "tk" ;tkinter; adds 50 MiB to the closure
+ "idle")) ;programming environment; weighs 5MB
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:configure-flags (list "--enable-shared" ;allow embedding
+ "--with-system-expat" ;for XML support
+ "--with-system-ffi" ;build ctypes
+ "--with-ensurepip=install" ;install pip and setuptools
+ "--with-computed-gotos" ;main interpreter loop optimization
+ "--enable-unicode=ucs4"
+ "--without-static-libpython"
+
+ ;; FIXME: These flags makes Python significantly faster,
+ ;; but leads to non-reproducible binaries.
+ ;; "--with-lto" ;increase size by 20MB, but 15% speedup
+ ;; "--enable-optimizations"
+
+ ;; Prevent the installed _sysconfigdata.py from retaining
+ ;; a reference to coreutils.
+ "INSTALL=install -c"
+ "MKDIR_P=mkdir -p"
+
+ ;; Disable runtime check failing if cross-compiling, see:
+ ;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html
+ ,@(if (%current-target-system)
+ '("ac_cv_buggy_getaddrinfo=no"
+ "ac_cv_file__dev_ptmx=no"
+ "ac_cv_file__dev_ptc=no")
+ '())
+ ;; -fno-semantic-interposition reinstates some
+ ;; optimizations by gcc leading to around 15% speedup.
+ ;; This is the default starting from python 3.10.
+ "CFLAGS=-fno-semantic-interposition"
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"
+ " -fno-semantic-interposition"))
+ ;; With no -j argument tests use all available cpus, so provide one.
+ #:make-flags (list (string-append (format #f "TESTOPTS=-j~d"
+ (parallel-job-count))
+ ;; those tests fail on low-memory systems
+ " --exclude test_mmap test_socket test_threading test_asyncio"
+ ,@(if (system-hurd?)
+ '(" test_posix" ;multiple errors
+ " test_time"
+ " test_pty"
+ " test_shutil"
+ " test_tempfile" ;chflags: invalid argument:
+ ;; tbv14c9t/dir0/dir0/dir0/test0.txt
+ " test_os" ;stty: 'standard input':
+ ;; Inappropriate ioctl for device
+ " test_openpty" ;No such file or directory
+ " test_selectors" ;assertEqual(NUM_FDS // 2, len(fds))
+ ;; 32752 != 4
+ " test_compileall" ;multiple errors
+ " test_poll" ;list index out of range
+ " test_subprocess" ;runs over 10min
+ " test_asyncore" ;multiple errors
+ " test_threadsignals"
+ " test_eintr" ;Process return code is -14
+ " test_io" ;multiple errors
+ " test_logging"
+ " test_signal"
+ " test_flags" ;ERROR
+ " test_bidirectional_pty"
+ " test_create_unix_connection"
+ " test_unix_sock_client_ops"
+ " test_open_unix_connection"
+ " test_open_unix_connection_error"
+ " test_read_pty_output"
+ " test_write_pty"
+ " test_concurrent_futures" ;freeze
+ " test_venv" ;freeze
+ " test_multiprocessing_forkserver" ;runs over 10min
+ " test_multiprocessing_spawn" ;runs over 10min
+ " test_builtin"
+ " test_capi"
+ " test_dbm_ndbm"
+ " test_exceptions"
+ " test_faulthandler"
+ " test_getopt"
+ " test_importlib"
+ " test_json"
+ " test_multiprocessing_fork"
+ " test_multiprocessing_main_handling"
+ " test_pdb "
+ " test_regrtest"
+ " test_sqlite")
+ '())))
+
+ #:modules ((ice-9 ftw)
+ (ice-9 match)
+ (guix build utils)
+ (guix build gnu-build-system))
+
+ #:phases (modify-phases %standard-phases
+ ,@(if (system-hurd?)
+ `((add-after 'unpack
+ 'disable-multi-processing
+ (lambda _
+ (substitute* "Makefile.pre.in"
+ (("-j0")
+ "-j1")))))
+ '())
+ (add-before 'configure 'patch-lib-shells
+ (lambda _
+ ;; This variable is used in setup.py to enable cross compilation
+ ;; specific switches. As it is not set properly by configure
+ ;; script, set it manually.
+ ,@(if (%current-target-system)
+ '((setenv "_PYTHON_HOST_PLATFORM" ""))
+ '())
+ ;; Filter for existing files, since some may not exist in all
+ ;; versions of python that are built with this recipe.
+ (substitute* (filter file-exists?
+ '("Lib/subprocess.py"
+ "Lib/popen2.py"
+ "Lib/distutils/tests/test_spawn.py"
+ "Lib/test/support/__init__.py"
+ "Lib/test/test_subprocess.py"))
+ (("/bin/sh")
+ (which "sh")))))
+ (add-before 'configure 'do-not-record-configure-flags
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ ;; Remove configure flags from the installed '_sysconfigdata.py'
+ ;; and 'Makefile' so we don't end up keeping references to the
+ ;; build tools.
+ ;;
+ ;; Preserve at least '--with-system-ffi' since otherwise the
+ ;; thing tries to build libffi, fails, and we end up with a
+ ;; Python that lacks ctypes.
+ (substitute* "configure"
+ (("^CONFIG_ARGS=.*$")
+ (format #f "CONFIG_ARGS='~a'\n"
+ (if (member "--with-system-ffi"
+ configure-flags)
+ "--with-system-ffi" ""))))))
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; 'Lib/test/test_site.py' needs a valid $HOME
+ (setenv "HOME"
+ (getcwd))))
+ (add-after 'unpack 'set-source-file-times-to-1980
+ ;; XXX One of the tests uses a ZIP library to pack up some of the
+ ;; source tree, and fails with "ZIP does not support timestamps
+ ;; before 1980". Work around this by setting the file times in the
+ ;; source tree to sometime in early 1980.
+ (lambda _
+ (let ((circa-1980 (* 10 366 24 60 60)))
+ (ftw "."
+ (lambda (file stat flag)
+ (utime file circa-1980 circa-1980) #t)))))
+ (add-after 'unpack 'remove-windows-binaries
+ (lambda _
+ ;; Delete .exe from embedded .whl (zip) files
+ (for-each (lambda (whl)
+ (let ((dir "whl-content")
+ (circa-1980 (* 10 366 24 60 60)))
+ (mkdir-p dir)
+ (with-directory-excursion dir
+ (let ((whl (string-append "../" whl)))
+ (invoke "unzip" whl)
+ (for-each delete-file
+ (find-files "." "\\.exe$"))
+ (delete-file whl)
+ ;; Reset timestamps to prevent them from ending
+ ;; up in the Zip archive.
+ (ftw "."
+ (lambda (file stat flag)
+ (utime file circa-1980
+ circa-1980) #t))
+ (apply invoke "zip" "-X" whl
+ (find-files "."
+ #:directories? #t))))
+ (delete-file-recursively dir)))
+ (find-files "Lib/ensurepip" "\\.whl$"))))
+ (add-after 'install 'remove-tests
+ ;; Remove 25 MiB of unneeded unit tests. Keep test_support.*
+ ;; because these files are used by some libraries out there.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (match (scandir (string-append out "/lib")
+ (lambda (name)
+ (string-prefix? "python" name)))
+ ((pythonX.Y)
+ (let ((testdir (string-append out "/lib/" pythonX.Y
+ "/test")))
+ (with-directory-excursion testdir
+ (for-each delete-file-recursively
+ (scandir testdir
+ (match-lambda
+ ((or "." "..")
+ #f)
+ ("support" #f)
+ (file (not (string-prefix?
+ "test_support."
+ file))))))
+ (call-with-output-file "__init__.py"
+ (const #t))))
+ (let ((libdir (string-append out "/lib/" pythonX.Y)))
+ (for-each (lambda (directory)
+ (let ((dir (string-append libdir "/"
+ directory)))
+ (when (file-exists? dir)
+ (delete-file-recursively dir))))
+ '("email/test" "ctypes/test"
+ "unittest/test"
+ "tkinter/test"
+ "sqlite3/test"
+ "bsddb/test"
+ "lib-tk/test"
+ "json/tests"
+ "distutils/tests"))))))))
+ (add-after 'remove-tests 'move-tk-inter
+ (lambda* (#:key outputs inputs #:allow-other-keys)
+ ;; When Tkinter support is built move it to a separate output so
+ ;; that the main output doesn't contain a reference to Tcl/Tk.
+ (let ((out (assoc-ref outputs "out"))
+ (tk (assoc-ref outputs "tk")))
+ (when tk
+ (match (find-files out "tkinter.*\\.so")
+ ((tkinter.so)
+ ;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we
+ ;; want it under TK/lib/pythonX.Y/site-packages.
+ (let* ((len (string-length out))
+ (target (string-append tk "/"
+ (string-drop (dirname
+ (dirname
+ tkinter.so))
+ len)
+ "/site-packages")))
+ (install-file tkinter.so target)
+ (delete-file tkinter.so))))
+ ;; Remove explicit store path references.
+ (let ((tcl (assoc-ref inputs "tcl"))
+ (tk (assoc-ref inputs "tk")))
+ (substitute* (find-files (string-append out "/lib")
+ "^(_sysconfigdata_.*\\.py|Makefile)$")
+ (((string-append "-L" tk "/lib"))
+ "")
+ (((string-append "-L" tcl "/lib"))
+ "")))))))
+ (add-after 'move-tk-inter 'move-idle
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; when idle is built, move it to a separate output to save some
+ ;; space (5MB)
+ (let ((out (assoc-ref outputs "out"))
+ (idle (assoc-ref outputs "idle")))
+ (when idle
+ (for-each (lambda (file)
+ (let ((target (string-append idle
+ "/bin/"
+ (basename
+ file))))
+ (install-file file
+ (dirname target))
+ (delete-file file)))
+ (find-files (string-append out "/bin")
+ "^idle"))
+ (match (find-files out "^idlelib$"
+ #:directories? #t)
+ ((idlelib)
+ (let* ((len (string-length out))
+ (target (string-append idle "/"
+ (string-drop
+ idlelib len)
+ "/site-packages")))
+ (mkdir-p (dirname target))
+ (rename-file idlelib target))))))))
+ (add-after 'move-idle 'rebuild-bytecode
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Disable hash randomization to ensure the generated .pycs
+ ;; are reproducible.
+ (setenv "PYTHONHASHSEED" "0")
+
+ (for-each (lambda (output)
+ ;; XXX: Delete existing pycs generated by the build
+ ;; system beforehand because the -f argument does
+ ;; not necessarily overwrite all files, leading to
+ ;; indeterministic results.
+ (for-each (lambda (pyc)
+ (delete-file pyc))
+ (find-files output "\\.pyc$"))
+
+ (apply invoke
+ `(,,(if (%current-target-system)
+ "python3"
+ '(string-append out
+ "/bin/python3")) "-m"
+ "compileall"
+ "-o"
+ "0"
+ "-o"
+ "1"
+ "-o"
+ "2"
+ "-f" ;force rebuild
+ "--invalidation-mode=unchecked-hash"
+ ;; Don't build lib2to3, because it's
+ ;; Python 2 code.
+ "-x"
+ "lib2to3/.*"
+ ,output)))
+ (map cdr outputs)))))
+ (add-before 'check 'set-TZDIR
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; test_email requires the Olson time zone database.
+ (setenv "TZDIR"
+ (string-append (assoc-ref (or native-inputs
+ inputs) "tzdata")
+ "/share/zoneinfo"))))
+ (add-after 'install 'install-sitecustomize.py
+ ,(customize-site version)))))
+ (inputs (list bzip2
+ expat
+ gdbm
+ libffi ;for ctypes
+ sqlite ;for sqlite extension
+ openssl
+ readline
+ zlib
+ tcl
+ tk)) ;for tkinter
+ (native-inputs `(("tzdata" ,tzdata-for-tests)
+ ("unzip" ,unzip)
+ ("zip" ,(@ (gnu packages compression) zip))
+ ("pkg-config" ,pkg-config)
+ ("sitecustomize.py" ,(local-file (search-auxiliary-file
+ "python/sitecustomize.py")))
+ ;; When cross-compiling, a native version of Python itself is needed.
+ ,@(if (%current-target-system)
+ `(("python" ,this-package)
+ ("which" ,which))
+ '())))
+ (native-search-paths
+ (list (guix-pythonpath-search-path version)
+ ;; Used to locate tzdata by the zoneinfo module introduced in
+ ;; Python 3.9.
+ (search-path-specification
+ (variable "PYTHONTZPATH")
+ (files (list "share/zoneinfo")))))
+ (home-page "https://www.python.org")
+ (synopsis "High-level, dynamically-typed programming language")
+ (description
+ "Python is a remarkably powerful dynamic programming language that
+is used in a wide variety of application domains. Some of its key
+distinguishing features include: clear, readable syntax; strong
+introspection capabilities; intuitive object orientation; natural
+expression of procedural code; full modularity, supporting hierarchical
+packages; exception-based error handling; and very high level dynamic
+data types.")
+ (properties '((cpe-name . "python")))
+ (license license:psfl)))
+
+
+;; Next 3.x version.
+(define-public python-next python-3.12)
+
;; Current 3.x version.
(define-public python-3 python-3.10)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 2f258b0364..9c8225d22b 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -63,6 +63,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gps)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
@@ -790,7 +791,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(define-public gnuradio
(package
(name "gnuradio")
- (version "3.10.3.0")
+ (version "3.10.8.0")
(source
(origin
(method git-fetch)
@@ -799,7 +800,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0xdhb2blzajxpi0f2ch23hh6bzdwz5q7syi3bmiqzdjlj2yjfzd4"))))
+ (base32 "11p08qrbfh5dz6l5n4c2g8c2gv1qq8aiydq91ryzfzgp49r0j6p0"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 01e01ecba3..7313cdef77 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -30,6 +30,7 @@
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
+;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -71,6 +72,7 @@
#:use-module (gnu packages crates-windows)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages emacs)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages haskell-xyz)
@@ -99,6 +101,40 @@
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))
+(define-public aardvark-dns
+ (package
+ (name "aardvark-dns")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aardvark-dns" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0ldqv9v3v9a1m2kka660d5v15y2zasy5z7m4fh5hif74r089cx6x"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:install-source? #f
+ #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-async-broadcast" ,rust-async-broadcast-0.6)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-hickory-client" ,rust-hickory-client-0.24)
+ ("rust-hickory-proto" ,rust-hickory-proto-0.24)
+ ("rust-hickory-server" ,rust-hickory-server-0.24)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-nix" ,rust-nix-0.27)
+ ("rust-resolv-conf" ,rust-resolv-conf-0.7)
+ ("rust-signal-hook" ,rust-signal-hook-0.3)
+ ("rust-syslog" ,rust-syslog-6)
+ ("rust-tokio" ,rust-tokio-1))))
+ (home-page "https://github.com/containers/aardvark-dns")
+ (synopsis "Container-focused DNS server")
+ (description "This package provides a container-focused DNS server.")
+ (license license:asl2.0)))
+
(define-public agate
(package
(name "agate")
@@ -468,6 +504,43 @@ Features include:
@end enumerate\n")
(license license:gpl3)))
+(define-public emacs-lsp-booster
+ (package
+ (name "emacs-lsp-booster")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blahgeek/emacs-lsp-booster")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xx32ms3mpi1clxf74mx7nanj0iw9qkmhi0a53fx8fkz0jw2fq8f"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list
+ #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-clap-verbosity-flag" ,rust-clap-verbosity-flag-2)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-smallvec" ,rust-smallvec-1)
+ ("rust-env-logger" ,rust-env-logger-0.10))
+ #:cargo-development-inputs `(("rust-emacs" ,rust-emacs-0.18)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:install-source? #f))
+ (native-inputs (list emacs)) ; Not emacs-minimal
+ (home-page "https://github.com/blahgeek/emacs-lsp-booster")
+ (synopsis "Emacs LSP performance booster")
+ (description
+ "@code{emacs-lsp-booster} improves the performance of @code{lsp-mode} and
+@code{eglot} Emacs packages using a wrapper executable. See the home-page for
+configuration instructions.")
+ (license license:expat)))
+
(define-public eza
(package
(name "eza")
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
index ba32361575..02dd0e3c6e 100644
--- a/gnu/packages/scribus.scm
+++ b/gnu/packages/scribus.scm
@@ -50,20 +50,14 @@
(define-public scribus
(package
(name "scribus")
- (version "1.5.8")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
- version "/scribus-" version ".tar.xz"))
+ (uri (string-append "mirror://sourceforge/scribus/scribus/"
+ version "/scribus-" version ".tar.gz"))
(sha256
- (base32 "0x3bw58v920akca8jxvsfwf468pzjyglk93ay67ph1bdry7nx0a7"))
- (patches
- (search-patches "scribus-1.5.8-poppler-22.2.0-1.patch"
- "scribus-1.5.8-poppler-22.2.0-2.patch"
- "scribus-1.5.8-poppler-22.03.0.patch"
- "scribus-1.5.8-poppler-22.04.0.patch"
- "scribus-1.5.8-poppler-22.09.0.patch"))))
+ (base32 "1kqqffx5xz35mwd422s4i110794zzx9sc2bn2mg77rz02hrxdhxg"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test target
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 1822380ac8..ae4e73956e 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -547,14 +547,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
- (version "0.14.2")
+ (version "0.15.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
- "0fddxzd45zvfr687mvd90f5s376yz0a8ln7qbpl94q89z7l0y77k"))
+ "0427mimr4k75myg5mnig564kq7xbb5f5hws2ly3gxxl6g8mk79il"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -861,7 +861,7 @@ Shell (pdksh).")
(define-public oil
(package
(name "oil")
- (version "0.17.0")
+ (version "0.20.0")
(source
;; oil's sources contain a modified version of CPython 2.7.13.
;; According to https://www.oilshell.org/blog/2017/05/05.html
@@ -874,7 +874,7 @@ Shell (pdksh).")
(uri (string-append "https://www.oilshell.org/download/oil-"
version ".tar.gz"))
(sha256
- (base32 "01b67dq56iam44d7c81ba9w62jjnjx2z7wm928rkc1ff6bacm37r"))))
+ (base32 "1jpxhixwq29ik01jx372g9acib59wmww8lrdlcypq7jpg5b0b7pi"))))
(build-system gnu-build-system)
(arguments
(list #:strip-binaries? #f ; strip breaks the binary
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index d17061205f..0d9f593614 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -223,7 +223,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
(define r-with-tests
(package
(name "r-with-tests")
- (version "4.3.2")
+ (version "4.3.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cran/src/base/R-"
@@ -231,7 +231,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.")
version ".tar.gz"))
(sha256
(base32
- "0aj51j34q2b28y28xvlf0dwdj8vpnhjwpvqf7xm05s7fq857dxdk"))))
+ "0c03abq3kqg6d2yhrijy9j3fsl77har3k7pffwwbz19v74qi51c0"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1328,14 +1328,14 @@ agnes cluster diagrams.")
(define-public r-gdtools
(package
(name "r-gdtools")
- (version "0.3.6")
+ (version "0.3.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "gdtools" version))
(sha256
(base32
- "1d1sidm2qi1nrp1hhf010xji66aj8sn833fv4a39gli2c560p4i6"))))
+ "155ky9fdi023b5fjk1gh3607xlgm3hymq232fq03ip2aaywc74nj"))))
(build-system r-build-system)
(native-inputs
(list pkg-config))
@@ -1994,14 +1994,14 @@ side.")
(define-public r-locfit
(package
(name "r-locfit")
- (version "1.5-9.8")
+ (version "1.5-9.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "locfit" version))
(sha256
(base32
- "1qqxw69p42l4szr2fl73bdydpcbxn68iyxyyjy7qy3p56bxrn2hd"))))
+ "1m7ji1ykvffqvs9ly1pzadiwhwxcyv4xivziikmahp0w0sv45lck"))))
(build-system r-build-system)
(propagated-inputs
(list r-lattice))
@@ -2033,13 +2033,13 @@ times.")
(define-public r-data-table
(package
(name "r-data-table")
- (version "1.15.0")
+ (version "1.15.2")
(source (origin
(method url-fetch)
(uri (cran-uri "data.table" version))
(sha256
(base32
- "0qhh4ii10b6rbimhh83160gsax82gbrm3hqbqqddkzknpifxpdrr"))))
+ "04pfcm3pyl997rpyj5zdmbhi4ndaai81vfgv4whjp8rhqzjk7i6j"))))
(properties `((upstream-name . "data.table")))
(build-system r-build-system)
(inputs
@@ -3179,13 +3179,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
- (version "0.12.8.0.0")
+ (version "0.12.8.1.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
- "0pkn4334dh4k6hqfx4xln2nfvajyxdbfnfddajb8875il0f7kp0x"))))
+ "0ax4812dm33c67ckd902qabis3dgqmpkchk4s30bshnfv4fxx1z2"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(propagated-inputs
@@ -5861,13 +5861,13 @@ groupings.")
(define-public r-vgam
(package
(name "r-vgam")
- (version "1.1-9")
+ (version "1.1-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "VGAM" version))
(sha256
- (base32 "1l5gn6495k8vqp2b4hj4g5ani7j4cli2p7n8fwkw7bmc42q13m6l"))))
+ (base32 "04yy5rxid3fwn42sak9rjbxd1h4d7iigiznpbrvwxl06b1xficyb"))))
(properties `((upstream-name . "VGAM")))
(build-system r-build-system)
(native-inputs
@@ -5928,14 +5928,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.")
(define-public r-rcppeigen
(package
(name "r-rcppeigen")
- (version "0.3.3.9.4")
+ (version "0.3.4.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "RcppEigen" version))
(sha256
(base32
- "1faz1phvg7g14bchi88vizn5mfhgiwmsjg7jzkyf1yjg0f6vpsj1"))))
+ "0djiyimgka7g3kfakb6mfaq7cxna9kn6kgib59x9p7qj24ha1m18"))))
(properties `((upstream-name . "RcppEigen")))
(build-system r-build-system)
(propagated-inputs
@@ -6891,6 +6891,8 @@ Java package that provides routines for various statistical distributions.")
"ess-eval-line-test"
"ess-eval-region-test"
"ess-mock-remote-process"
+ "ess-r-eval-sink-freeze-test"
+ "ess-r-eval-ns-env-roxy-tracebug-test"
"ess-r-load-ESSR-github-fetch-no"
"ess-r-load-ESSR-github-fetch-yes"
"ess-set-working-directory-test"
@@ -7291,22 +7293,23 @@ normal model.")
(define-public r-naniar
(package
(name "r-naniar")
- (version "1.0.0")
+ (version "1.1.0")
(source (origin
(method url-fetch)
(uri (cran-uri "naniar" version))
(sha256
(base32
- "1x4ljc6yji7312g6cg1shc85jqv5kaf2zlf5q7sdmqh3wryskvf2"))))
+ "0i3gijr1l7hbcp75cyj26pxmm493lnvasl8aba9vv4w8lz1lck59"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
r-dplyr
- r-norm
r-forcats
r-ggplot2
r-glue
+ r-lifecycle
r-magrittr
+ r-norm
r-purrr
r-rlang
r-tibble
@@ -7355,14 +7358,14 @@ Michael Lim & Trevor Hastie (2015)")
(define-public r-datasaurus
(package
(name "r-datasaurus")
- (version "0.1.6")
+ (version "0.1.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "datasauRus" version))
(sha256
(base32
- "0vgylf3bab0xcfg08xwvfq9yhxy6w0fxi7wp4kkxfyjb0pw15qxk"))))
+ "08yx87k4kl3i9g3m1j9532whvs4l0l3v5gwj8sk7qlb3m3wajakr"))))
(properties `((upstream-name . "datasauRus")))
(build-system r-build-system)
(native-inputs (list r-knitr))
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index af90fc35eb..7d02824efa 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2023 Lu Hui <luhux76@gmail.com>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
+;;; Copyright © 2024 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -613,47 +614,50 @@ formerly a part of telegram-cli, but now being maintained separately.")
(base32 "0cf5s7ygslb5klg1qv9qdc3hivhspmvh3zkacyyhd2yyikb5p0f9"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; No target
+ (list
+ #:tests? #f ; No target
#:imported-modules
- ((guix build copy-build-system)
- ,@%gnu-build-system-modules)
+ `((guix build copy-build-system)
+ ,@%gnu-build-system-modules)
#:modules
- (((guix build copy-build-system)
- #:prefix copy:)
- (guix build gnu-build-system)
- (guix build utils))
+ '(((guix build copy-build-system)
+ #:prefix copy:)
+ (guix build gnu-build-system)
+ (guix build utils))
#:configure-flags
- (list
- ;; Use gcrypt instead of openssl.
- "--disable-openssl"
- ;; Enable extended queries system.
- "--enable-extf"
- ;; Include libevent-based net and timers.
- "--enable-libevent")
+ '(list
+ ;; Use gcrypt instead of openssl.
+ "--disable-openssl"
+ ;; Enable extended queries system.
+ "--enable-extf"
+ ;; Include libevent-based net and timers.
+ "--enable-libevent")
#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'trigger-bootstrap
- (lambda _
- (delete-file "configure")
- #t))
- (add-after 'trigger-bootstrap 'patch-tl-parser
- (lambda _
- (delete-file "Makefile.tl-parser")
- (substitute* "Makefile.in"
- (("include \\$\\{srcdir\\}/Makefile\\.tl-parser")
- "")
- (("\\$\\{EXE\\}/tl-parser")
- "tl-parser"))
- #t))
- (replace 'install
- (lambda args
- (apply (assoc-ref copy:%standard-phases 'install)
- #:install-plan
- '(("bin" "bin")
- ("." "include/tgl"
- #:include-regexp ("\\.h$"))
- ("libs" "lib/tgl"))
- args))))))
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'trigger-bootstrap
+ (lambda _
+ (delete-file "configure")))
+ (add-after 'trigger-bootstrap 'patch-tl-parser
+ (lambda _
+ (delete-file "Makefile.tl-parser")
+ (substitute* "Makefile.in"
+ (("include \\$\\{srcdir\\}/Makefile\\.tl-parser")
+ "")
+ (("\\$\\{EXE\\}/tl-parser")
+ "tl-parser"))))
+ (add-after 'unpack 'remove-Werror
+ (lambda _
+ (substitute* "Makefile.in"
+ (("-Werror") ""))))
+ (replace 'install
+ (lambda args
+ (apply (assoc-ref copy:%standard-phases 'install)
+ #:install-plan
+ '(("bin" "bin")
+ ("." "include/tgl"
+ #:include-regexp ("\\.h$"))
+ ("libs" "lib/tgl"))
+ args))))))
(native-inputs
(list autoconf automake libtool pkg-config))
(inputs
@@ -683,25 +687,29 @@ formerly a part of telegram-cli, but now being maintained separately.")
(base32 "0c1w7jgska71jjbvg1y09v52549pwa4zkdjly18yxywn7gayd2p6"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; No target
- #:imported-modules
- ((guix build copy-build-system)
+ (list
+ #:tests? #f ; No target
+ #:imported-modules
+ `((guix build copy-build-system)
,@%gnu-build-system-modules)
- #:modules
- (((guix build copy-build-system)
+ #:modules
+ '(((guix build copy-build-system)
#:prefix copy:)
(guix build gnu-build-system)
(guix build utils))
- #:configure-flags
- (list
+ #:configure-flags
+ '(list
;; Use gcrypt instead of openssl.
"--disable-openssl")
- #:phases
- (modify-phases %standard-phases
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'remove-Werror
+ (lambda _
+ (substitute* "Makefile.in"
+ (("-Werror") "-fcommon"))))
(add-after 'unpack 'trigger-bootstrap
(lambda _
- (delete-file "configure")
- #t))
+ (delete-file "configure")))
(add-after 'trigger-bootstrap 'patch-tgl-and-tlparser
(lambda* (#:key inputs #:allow-other-keys)
(for-each delete-file
@@ -721,8 +729,7 @@ formerly a part of telegram-cli, but now being maintained separately.")
"/include/tgl/auto"))
(("LIB=libs")
(string-append "LIB=" (assoc-ref inputs "tgl")
- "/lib/tgl")))
- #t))
+ "/lib/tgl")))))
(replace 'install
(lambda args
(apply (assoc-ref copy:%standard-phases 'install)
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 2c2b39312c..d1ab828eb4 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1555,14 +1555,14 @@ highlighting for dozens of languages. Jed is very small and fast.")
(define-public xnedit
(package
(name "xnedit")
- (version "1.5.2")
+ (version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/xnedit/" name "-"
version ".tar.gz"))
(sha256
(base32
- "09424qj03p7v7ih2gi3jnpm5iilr24ssab8rkijcjh6n9qn7izl0"))))
+ "10pw0yylhfmpcmhs74i3ikgsd8jq4dsy64zp9v14wj5s4qrac4c5"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index b0d800da94..0bb493c27f 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -40,6 +40,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages time)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -549,6 +550,30 @@ datetime type.")
"This package contains a library for parsing ISO 8601 datetime strings.")
(license bsd-3)))
+(define-public rdate
+ (let ((commit "91d84610e3695e90a884e2953908e95a856a9b74")
+ (revision "1"))
+ (package
+ (name "rdate")
+ (version (git-version "1.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/njh/rdate")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "002ryjq8gj1ml5la4v6dr3bh1zw5kxwy65rpziq8d2ccccarhv59"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake))
+ (synopsis "Get date and time based on RFC 868")
+ (description
+ "@code{rdate} connects to an RFC 868 time server over a TCP/IP network,
+printing the returned time and/or setting the system clock.")
+ (home-page "https://www.aelius.com/njh/rdate/")
+ (license gpl2+))))
+
(define-public datefudge
(package
(name "datefudge")
diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm
index 91b5018caa..da4e77f8c5 100644
--- a/gnu/packages/tor-browsers.scm
+++ b/gnu/packages/tor-browsers.scm
@@ -150,16 +150,16 @@
;; We copy the official build id, which can be found there:
;; https://aus1.torproject.org/torbrowser/update_3/release/.
-(define %torbrowser-build-date "20240213172118")
+(define %torbrowser-build-date "20240305132801")
;; To find the last version, look at https://www.torproject.org/download/.
-(define %torbrowser-version "13.0.10")
+(define %torbrowser-version "13.0.11")
;; To find the last Firefox version, browse
;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version>
;; There should be only one archive that starts with
;; "src-firefox-tor-browser-".
-(define %torbrowser-firefox-version "115.8.0esr-13.0-1-build1")
+(define %torbrowser-firefox-version "115.8.0esr-13.0-1-build2")
;; See tor-browser-build/projects/translation/config.
;; If Tor Browser and Mullvad Browser updates are not synchronized, maybe this
@@ -169,11 +169,11 @@
(method git-fetch)
(uri (git-reference
(url "https://gitlab.torproject.org/tpo/translation.git")
- (commit "cbd9b6c415ec2edb99237ef67ccd4f033a7b9c2a")))
+ (commit "16211a4b8524d71525f0ea73c07771c634132b30")))
(file-name "translation-base-browser")
(sha256
(base32
- "103dj1zzc68gxzjxwcpc4sbc6qca4zg8kkhdivzpq37ma07sp9sf"))))
+ "1452lpzbx0a049ksw84q7fj93bldfpllpp86aa4kggiv7vb3dqxk"))))
;; See tor-browser-build/projects/translation/config.
(define translation-tor-browser
@@ -181,11 +181,11 @@
(method git-fetch)
(uri (git-reference
(url "https://gitlab.torproject.org/tpo/translation.git")
- (commit "a50fa943d7428ebe6e4e6b09f175e098a97eec63")))
+ (commit "012f643d2d6b04ebf868bf62cdb7ad5b727734f5")))
(file-name "translation-tor-browser")
(sha256
(base32
- "0kvjdkgfdl0sh413wrli9pn7ygv9idrq5yvsi5q8c4bmnnxfig7c"))))
+ "1253zrpl59bwy6s71ip3f84k46m2wwid7ixgf72pzqrkkh5lcnkn"))))
(define torbrowser-assets
;; This is a prebuilt Torbrowser from which we take the assets we need.
@@ -201,7 +201,7 @@
version "/tor-browser-linux-x86_64-" version ".tar.xz"))
(sha256
(base32
- "1v4jbgzw640lnsyxk275w62xdyqbw0p0fwvkzfawpg4d3pqp7fpw"))))
+ "0qcl9yqndnaqkvgmmb6f5rrzvwdr323l3r4s3hd9mwv9q1x41h3b"))))
(arguments
(list
#:install-plan
@@ -237,7 +237,7 @@ Browser.")
".tar.xz"))
(sha256
(base32
- "0lbarj4i21f6jkpk2ji1cmgv625yhqyjksln97zgbbki43bx09v6"))))
+ "0c7jfliznxfdfs5xrwwgib486vgpmpcvq4s54rxxcxfk633kgz67"))))
(build-system mozilla-build-system)
(inputs
(list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index cbdd1a89a2..946b1f5aac 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -1131,8 +1131,8 @@ collaboration using typical untrusted file hosts or services.")
(license license:gpl3+)))
(define-public cgit
- (let ((commit "793c420897e18eb3474c751d54cf4e0983f85433")
- (rev "1"))
+ (let ((commit "8905003cba637e5b18069e625cd4f4c05ac30251")
+ (rev "2"))
(package
(name "cgit")
;; Update the ‘git-source’ input as well.
@@ -1144,7 +1144,7 @@ collaboration using typical untrusted file hosts or services.")
(commit commit)))
(sha256
(base32
- "1mhrm14wpqvralf9j33ih5ai6naiq3g2jg2z91gnw9dhh8f9ilwz"))
+ "1ha8d2n59mv89vv4bqgg3dk82n1rqh8kd8y654vqx7v1v7m645qz"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -1220,9 +1220,9 @@ collaboration using typical untrusted file hosts or services.")
(method url-fetch)
;; cgit is tightly bound to git. Use GIT_VER from the Makefile,
;; which may not match the current (package-version git).
- (uri "mirror://kernel.org/software/scm/git/git-2.43.0.tar.xz")
+ (uri "mirror://kernel.org/software/scm/git/git-2.44.0.tar.xz")
(sha256
- (base32 "1v3nkfm3gw8wr7595qy86qla8xyjvi85fmly4lfph4frfcz60ijl"))))
+ (base32 "1qqxd3pdsca6m93lxxkz9s06xs1sq0ah02lhrr0a6pjvrf6p6n73"))))
("bash-minimal" ,bash-minimal)
("openssl" ,openssl)
("python" ,python)
@@ -2900,13 +2900,13 @@ based on a manifest file published by servers.")
(define-public patatt
(package
(name "patatt")
- (version "0.4.9")
+ (version "0.6.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "patatt" version))
(sha256
- (base32 "0fpbkmdlnz9s1lakw11jlrzpz4mb6f4dksdiir9g1ppq0g34sy58"))))
+ (base32 "0a0a5ndlnv7dk2smn8algss6q17gbd6mc7yacz17c9cxabv2c24q"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; No tests.
(propagated-inputs
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 925f5ff83b..c4660c8998 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -162,6 +162,7 @@
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages messaging)
#:use-module (gnu packages music)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
@@ -2751,6 +2752,78 @@ possibility to play Youtube videos, download subtitles, remember
the last played position, etc.")
(license license:gpl2+)))
+(define-public jellyfin-mpv-shim
+ (package
+ (name "jellyfin-mpv-shim")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jellyfin-mpv-shim" version))
+ (sha256
+ (base32 "1cy2sfv84k5nw8bqy4aa7v0hdawp7gk5s7wq850xizqk0sz7cipp"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ ;; There is no test suite, but the code is ill-behaved and tries
+ ;; to open network connections at module import time, which makes
+ ;; `python setup.py test' fail.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; sanity-check loads console_scripts endpoints, which launches
+ ;; the program, which makes the build hang. Disable it.
+ (delete 'sanity-check)
+ (add-after 'unpack 'disable-updates
+ (lambda _
+ (substitute* "jellyfin_mpv_shim/conf.py"
+ (("check_updates: bool = True")
+ "check_updates: bool = False")
+ (("notify_updates: bool = True")
+ "notify_updates: bool = False"))))
+ (add-after 'install 'install-desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (apps (string-append out "/share/applications"))
+ (desktop-base "jellyfin_mpv_shim/integration/")
+ (package-id
+ "com.github.iwalton3.jellyfin-mpv-shim"))
+ (for-each (lambda (size)
+ (install-file (format #f
+ "~ajellyfin-~a.png"
+ desktop-base size) apps))
+ '(256 128 64 48 32 16))
+ (install-file (string-append desktop-base package-id
+ ".appdata.xml") apps)
+ (install-file (string-append desktop-base package-id
+ ".desktop") apps)))))))
+ (inputs (list `(,python "tk")
+ python-jellyfin-apiclient
+ python-jinja2
+ python-mpv
+ python-mpv-jsonipc
+ python-pypresence
+ python-pystray
+ python-requests))
+ (home-page "https://github.com/jellyfin/jellyfin-mpv-shim")
+ (synopsis "Cast media from Jellyfin Mobile and Web apps to MPV")
+ (description "Jellyfin MPV Shim is a cross-platform cast client for
+Jellyfin. It has support for various media files without transcoding.")
+ (license (list
+ ;; jellyfin-mpv-shim
+ license:gpl3
+
+ ;; jellyfin-mpv-shim, and Anime4K, FSRCNNX, NVIDIA Image
+ ;; Scaling, AMD FidelityFX Super Resolution, AMD
+ ;; FidelityFX Contrast Adaptive Sharpening shaders.
+ license:expat
+
+ ;; Static Grain shader.
+ license:public-domain
+
+ ;; KrigBilatera, SSimDownscaler, and NNEDI3 shaders.
+ license:lgpl3+))))
+
(define-public gallery-dl
(package
(name "gallery-dl")
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 7cacdd5f06..6b5eaabf8e 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -86,7 +86,7 @@
(define-public vim
(package
(name "vim")
- (version "9.1.0059")
+ (version "9.1.0146")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -95,7 +95,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "146zhwhagdsbsh3h7f8h7izbzrwh3hgry4cx2lalq9s275qy3hzb"))))
+ "05lz8ai39p9ypk22n7qc7g21868m08pl12sn4028jshx5nxwy2zn"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -116,7 +116,8 @@
(("/bin/sh") (which "sh")))
(substitute* "src/testdir/test_autocmd.vim"
(("/bin/kill") (which "kill")))
- (substitute* "src/if_cscope.c"
+ (substitute* '("runtime/syntax/sh.vim"
+ "src/if_cscope.c")
(("/bin/sh") (search-input-file inputs "/bin/sh")))))
(add-before 'check 'set-environment-variables
(lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 040be69240..ddc673896b 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3,10 +3,10 @@
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015-2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
+;;; Copyright © 2015-2020, 2024 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org>
@@ -4893,9 +4893,40 @@ their web site.")
"1p5i8wsi8q5fpq63i7n7ri1w1lnh4gpn17f88vhkbh14aah5wxj1"))))
(properties '(("upstream-name" . "python-lambda-4dn")))
(build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-pip-install
+ (lambda _
+ (substitute* "aws_lambda/aws_lambda.py"
+ ;; This package uses pip to install Python packages, wrap them
+ ;; up, and push them to AWS Lambda. We need to reset
+ ;; GUIX_PYTHONPATH to avoid introducing package conflicts that
+ ;; would cause pip to fail.
+ (("(subprocess.call\\(\\[sys.executable.*'--no-cache-dir'\\])\\)" _ m)
+ (string-append m ", env={\"GUIX_PYTHONPATH\":\""
+ #$(this-package-input "python")
+ "/lib/python"
+ #$(version-major+minor
+ (package-version (this-package-input "python")))
+ "/site-packages/\"})"))
+ ;; Zipfile uses the mtime of the temporary directory to build
+ ;; a zip file. But the temp directory has a timestamp of 0,
+ ;; and zipfile refuses to build a zip archive dated before
+ ;; 1980. So we reset the mtime of all temp files before they
+ ;; are added to the zip archive.
+ (("^( +)arcname = os.path.join" line indent)
+ (string-append indent
+ "os.utime(os.path.join(root, file), (315619200, 315619200))\n"
+ line))))))))
+ (inputs (list python))
(propagated-inputs
- (list python-boto3 python-botocore python-docutils
- python-six))
+ (list python-boto3
+ python-botocore
+ python-docutils
+ python-six
+ python-virtualenv))
(home-page "https://github.com/4dn-dcic/python-lambda")
(synopsis
"Toolkit for developing and deploying Python code in AWS Lambda")
@@ -4967,8 +4998,8 @@ Cloud.")
(license license:expat)))
(define-public guix-data-service
- (let ((commit "e13febc81706fbfb7f073bc4e9ce73fbc80d5180")
- (revision "44"))
+ (let ((commit "5f80856ad1587aea38ee4e7b54db558cdb43f6b7")
+ (revision "45"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -4980,7 +5011,7 @@ Cloud.")
(file-name (git-file-name name version))
(sha256
(base32
- "0pk86b44zg2yn73sxlcd9pqbz8xwprwzaib2npnq80y3yzc6qc22"))))
+ "18m002d9pkh0qn4xn4n6lijl541m9z7c3lbapl7m6zi41p3dywww"))))
(build-system gnu-build-system)
(arguments
(list
@@ -5428,7 +5459,7 @@ tools they trust (e.g. wget).")
(define netsurf-buildsystem
(package
(name "netsurf-buildsystem")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
@@ -5436,7 +5467,7 @@ tools they trust (e.g. wget).")
"buildsystem-" version ".tar.gz"))
(sha256
(base32
- "0alsmaig9ln8dgllb3z63gq90fiz75jz0ic71fi0k0k898qix14k"))))
+ "0yadmrpgvl9r08b56qiy5f77jracc7g9n4krn727fip4d7akjgix"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
@@ -5467,7 +5498,7 @@ libraries.")
(define-public libparserutils
(package
(name "libparserutils")
- (version "0.2.4")
+ (version "0.2.5")
(source
(origin
(method url-fetch)
@@ -5475,7 +5506,7 @@ libraries.")
name "-" version "-src.tar.gz"))
(sha256
(base32
- "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj"))))
+ "0ffi5q1jlcdl66nk3cax0mnzvhrjvvjvlx0rfasjfygi333xazii"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem pkg-config perl)) ;for test harness
@@ -5490,7 +5521,7 @@ C. It is developed as part of the NetSurf project.")
(define-public hubbub
(package
(name "hubbub")
- (version "0.3.7")
+ (version "0.3.8")
(source
(origin
(method url-fetch)
@@ -5498,15 +5529,14 @@ C. It is developed as part of the NetSurf project.")
"libhubbub-" version "-src.tar.gz"))
(sha256
(base32
- "1dimfyblmym98qa1b80c5jslv2zk8r44xbdrgrsrw1n9wr9y4yly"))
- (patches (search-patches
- "hubbub-sort-entities.patch"
- "hubbub-maybe-uninitialized.patch"))))
+ "19fm5h8arnsgxd4w5vr9s2fcb422acciffar3la0b36lygsydhca"))
+ (patches (search-patches "hubbub-sort-entities.patch"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem
pkg-config
doxygen
+ gperf
json-c-0.12 ; check whether json-c-0.12 can be removed
perl))
(propagated-inputs
@@ -5674,7 +5704,7 @@ developed as part of the Netsurf project.")
(define-public libcss
(package
(name "libcss")
- (version "0.9.1")
+ (version "0.9.2")
(source
(origin
(method url-fetch)
@@ -5682,13 +5712,8 @@ developed as part of the Netsurf project.")
"libcss-" version "-src.tar.gz"))
(sha256
(base32
- "1p66sdiiqm7w4jkq23hsf08khsnmq93hshh9f9m8sbirjdpf3p6j"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; This can be removed with the next release.
- (substitute* "src/select/computed.c"
- (("css_unit unit;") "css_unit unit = CSS_UNIT_PX;"))))))
+ "0khmf5bdpkc09fpsgwzi23sihpadvyr02jx0q5h1vm9lxjxibwid"))
+ (patches (search-patches "libcss-check-format.patch"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem pkg-config perl))
@@ -5705,7 +5730,7 @@ written in C. It is developed as part of the NetSurf project.")
(define-public libdom
(package
(name "libdom")
- (version "0.4.1")
+ (version "0.4.2") ;TODO include patch for additional tags?
(source
(origin
(method url-fetch)
@@ -5713,7 +5738,7 @@ written in C. It is developed as part of the NetSurf project.")
"libdom-" version "-src.tar.gz"))
(sha256
(base32
- "0jpg5hx3y0mdxk5szd47dyijqimd2321brbqk2620pp5f4j0gvlq"))))
+ "0g0gqcglk8f8gbygbcq5ylcx84zsf0vczbm3n3118w2l2splapnh"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem
@@ -5740,7 +5765,7 @@ developed as part of the NetSurf project.")
(define-public libsvgtiny
(package
(name "libsvgtiny")
- (version "0.1.7")
+ (version "0.1.8")
(source
(origin
(method url-fetch)
@@ -5748,7 +5773,7 @@ developed as part of the NetSurf project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
- "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c"))))
+ "0750q884ax8wygl64wq03zdjj8h838ch3f8jdfkv4gz809zj4my3"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem pkg-config gperf-3.0))
@@ -5769,7 +5794,7 @@ project.")
(define-public libnsbmp
(package
(name "libnsbmp")
- (version "0.1.6")
+ (version "0.1.7")
(source
(origin
(method url-fetch)
@@ -5777,7 +5802,7 @@ project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
- "0krjg69a2amxjsahdgm3wmy9ngnyr3gfs2a1zhdlbvb0z1jr7i3r"))))
+ "14r2v1ich4lxn3sdwpiwq5adydrd1qlhbd8mbamalaqj59laf1sl"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@@ -5825,7 +5850,7 @@ operations.")
(define-public libnsgif
(package
(name "libnsgif")
- (version "0.2.1")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
@@ -5833,7 +5858,7 @@ operations.")
name "-" version "-src.tar.gz"))
(sha256
(base32
- "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly"))))
+ "06q69hn0nz3c6hnwmzfcldyrppkvimx3s97ql3sx4m0lyr1ch530"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@@ -5876,7 +5901,7 @@ client applications. It is developed as part of the NetSurf project.")
(define-public libnsutils
(package
(name "libnsutils")
- (version "0.1.0")
+ (version "0.1.1")
(source
(origin
(method url-fetch)
@@ -5884,7 +5909,7 @@ client applications. It is developed as part of the NetSurf project.")
name "-" version "-src.tar.gz"))
(sha256
(base32
- "1w5fyy2i60a3v3if3iqcn9sy9sycx6966rcx53v85gja6hb6a33r"))))
+ "14pakllwf7a205d0dkvyg8jhmqfbi5sh5riw840d13j5dr9b952n"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@@ -5899,7 +5924,7 @@ developed as part of the NetSurf project.")
(define-public libnspsl
(package
(name "libnspsl")
- (version "0.1.6")
+ (version "0.1.7")
(source
(origin
(method url-fetch)
@@ -5907,7 +5932,7 @@ developed as part of the NetSurf project.")
"libnspsl-" version "-src.tar.gz"))
(sha256
(base32
- "02q28n5i6fwqcz1nn167rb71k1q95mx38mfah6zi1lvqrc2q5ifk"))))
+ "105cjkb622wz11z26il4j1n4ydyrrgv0nglr67aawpam5z1wx11n"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem))
@@ -5922,7 +5947,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
(define-public nsgenbind
(package
(name "nsgenbind")
- (version "0.8")
+ (version "0.9")
(source
(origin
(method url-fetch)
@@ -5930,7 +5955,7 @@ Public Suffix List. It is developed as part of the NetSurf project.")
"nsgenbind-" version "-src.tar.gz"))
(sha256
(base32
- "1cqwgwca49jvmijwiyaab2bwxicgxdrnlpinf8kp3nha02nm73ad"))))
+ "0p9q9ffn9hf1qrphz2qxq2xvyysn5kg2dbl8cbnkwb5wdkvf0b13"))))
(build-system gnu-build-system)
(native-inputs
(list netsurf-buildsystem bison flex))
@@ -5948,7 +5973,7 @@ w3c webidl files and a binding configuration file.")
(define-public netsurf
(package
(name "netsurf")
- (version "3.10")
+ (version "3.11")
(source
(origin
(method url-fetch)
@@ -5956,7 +5981,7 @@ w3c webidl files and a binding configuration file.")
"releases/source/netsurf-" version "-src.tar.gz"))
(sha256
(base32
- "0plra64c5xyiw12yx2q13brxsv8apmany97zqa2lcqckw4ll8j1n"))
+ "1chw40nx7krpy7m14bajfrcj88h98if8py0k7c2qshpfxxm652n2"))
(patches (search-patches "netsurf-system-utf8proc.patch"
"netsurf-y2038-tests.patch"
"netsurf-longer-test-timeout.patch"
@@ -6007,22 +6032,17 @@ w3c webidl files and a binding configuration file.")
(add-after 'unpack 'remove-timestamps
;; Avoid embedding timestamp for reproducible builds
(lambda _
- (substitute* "utils/git-testament.pl"
+ (substitute* "tools/git-testament.pl"
(("WT_COMPILEDATE ..$compiledate")
"WT_COMPILEDATE \\\""))))
(add-after 'build 'adjust-welcome
(lambda _
(substitute* "frontends/gtk/res/welcome.html"
- ;; Close some XHTML tags.
+ ;; Close some XHTML tags.
(("<(img|input)([^>]*)>" _ tag contents)
(string-append "<" tag contents " />"))
;; Increase freedom.
- ((" open source") ", free software")
- ;; Prefer a more privacy-respecting default search engine.
- (("www.google.co.uk") "www.duckduckgo.com/html")
- (("Google Search") "DuckDuckGo Search")
- (("name=\"btnG\"") ""))
- ;; Remove default links so it doesn't seem we're endorsing them.
+ ((" open source") ", free software"))
(with-atomic-file-replacement "frontends/gtk/res/welcome.html"
(lambda (in out)
;; Leave the DOCTYPE header as is.
@@ -6037,8 +6057,23 @@ w3c webidl files and a binding configuration file.")
;; We'd like to use sxml-match here, but it can't
;; match against generic tag symbols...
(match sxml
+ ;; Remove default links so it doesn't seem we're
+ ;; endorsing them.
(`(div (@ (class "links")) . ,rest)
'())
+ ;; Prefer a more privacy-respecting default search
+ ;; engine.
+ (`(form . ,rest)
+ `(form (@ (action "https://lite.duckduckgo.com/lite/")
+ (method "post"))
+ (div (@ (class "websearch"))
+ (input (@ (type "text")
+ (size "42")
+ (name "q")
+ (autocomplete "off")
+ (value "")))
+ (input (@ (type "submit")
+ (value "DuckDuckGo Search"))))))
(`(ENTITY ,ent)
`(*ENTITY* ,ent))
((x ...)
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index d359d01f98..bf24a65e83 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -127,13 +127,20 @@ engine that uses Wayland for graphics output.")
(define-public webkitgtk
(package
(name "webkitgtk")
- (version "2.42.4")
+ (version "2.42.5")
(source (origin
(method url-fetch)
(uri (string-append "https://www.webkitgtk.org/releases/"
name "-" version ".tar.xz"))
(sha256
- (base32 "11pdcwmdj3i9aarrf7wsfvadi6jnkaf6zf7c5i2768x2plq8na2j"))
+ (base32 "0jg7c7z572afywwrnvdj3m5agaviv0vkqmzznnzzv30byb0phhmn"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ ;; https://bugs.webkit.org/show_bug.cgi?id=268739
+ ;; Fix a FTBFS on i686, powerpc64le.
+ (substitute* "Source/JavaScriptCore/llint/LowLevelInterpreter.cpp"
+ (("UNUSED_VARIABLE\\(t[67]\\);") ""))))
(patches (search-patches
"webkitgtk-adjust-bubblewrap-paths.patch"))))
(build-system cmake-build-system)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 8ed3ed1107..edbb3096b8 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1762,7 +1762,7 @@ modules for building a Wayland compositor.")
(define-public sway
(package
(name "sway")
- (version "1.8.1")
+ (version "1.9")
(source
(origin
(method git-fetch)
@@ -1771,27 +1771,23 @@ modules for building a Wayland compositor.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1y7brfrsjnm9gksijgnr6zxqiqvn06mdiwsk5j87ggmxazxd66av"))))
+ (base32 "1n36vgpi4bg2gkiq4fam4khly1z9bjinmjclzq5vfx0z8h7a5bzz"))))
(build-system meson-build-system)
(arguments
- `(;; elogind is propagated by wlroots -> libseat
- ;; and would otherwise shadow basu.
- #:configure-flags '("-Dsd-bus-provider=basu")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'hardcode-paths
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hardcode path to swaybg.
- (substitute* "sway/config.c"
- (("strdup..swaybg..")
- (string-append "strdup(\"" (assoc-ref inputs "swaybg")
- "/bin/swaybg\")")))
- ;; Hardcode path to scdoc.
- (substitute* "meson.build"
- (("scdoc.get_pkgconfig_variable..scdoc..")
- (string-append "'" (assoc-ref inputs "scdoc")
- "/bin/scdoc'")))
- #t)))))
+ (list
+ ;; elogind is propagated by wlroots -> libseat
+ ;; and would otherwise shadow basu.
+ #:configure-flags
+ #~'("-Dsd-bus-provider=basu")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'hardcode-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Hardcode path to swaybg.
+ (substitute* "sway/config.c"
+ (("strdup..swaybg..")
+ (format #f "strdup(\"~a\")"
+ (search-input-file inputs "bin/swaybg")))))))))
(inputs (list basu
cairo
gdk-pixbuf
@@ -1803,7 +1799,7 @@ modules for building a Wayland compositor.")
pcre2
swaybg
wayland
- wlroots-0.16))
+ wlroots))
(native-inputs
(cons* linux-pam mesa pkg-config scdoc wayland-protocols
(if (%current-target-system)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 86e5086867..c81c549736 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2032,7 +2032,7 @@ by name.")
(package
(inherit rofi)
(name "rofi-wayland")
- (version "1.7.5+wayland2")
+ (version "1.7.5+wayland3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/lbonn/rofi"
@@ -2040,7 +2040,7 @@ by name.")
"/rofi-" version ".tar.xz"))
(sha256
(base32
- "0l6rf8qwvawyh938pinl9fkwzjnq72xpa9a7lwk9jrr5lkk3h8yj"))))
+ "11xiksh3m7yf3270kqf1jranlfh9q6rr8i99jvx4ak4azn4pwhpw"))))
(build-system meson-build-system)
(inputs
(modify-inputs (package-inputs base)
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index b47c718fb6..9019029f24 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,9 +46,11 @@
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
- #:use-module (guix build-system gnu))
+ #:use-module (guix build-system gnu)
+ #:use-module (guix gexp))
(define-public libogg
(package
@@ -97,6 +100,8 @@ a fully open, non-proprietary, patent-and-royalty-free, general-purpose
compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit,
polyphonic) audio and music at fixed and variable bitrates from 16 to
128 kbps/channel.")
+ ;; This package shows a sizable speed increase when tuned.
+ (properties `((tunable? . #t)))
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://xiph.org/vorbis/")))
@@ -115,7 +120,26 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to
(patches (search-patches "libtheora-config-guess.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags '("--disable-static")))
+ (append
+ (if (and (target-riscv64?)
+ (%current-target-system))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'update-config
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "."))
+ '("config.guess" "config.sub"))))))
+ '())
+ (list #:configure-flags #~'("--disable-static"))))
+ (native-inputs
+ (if (and (target-riscv64?)
+ (%current-target-system))
+ (list config)
+ '()))
(inputs (list libvorbis))
;; The .pc files refer to libogg.
(propagated-inputs (list libogg))
@@ -345,6 +369,8 @@ is unmatched for interactive speech and music transmission over the Internet,
but is also intended for storage and streaming applications. It is
standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which
incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.")
+ ;; This package shows a sizable speed increase when tuned.
+ (properties `((tunable? . #t)))
(license license:bsd-3)
(home-page "https://www.opus-codec.org")))
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index 7b04ddb35e..fc5adb94d0 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -1220,10 +1220,13 @@ authpriv.*;auth.info /var/log/secure
;; pre-initialized /etc/guix/acl file in the VM. Thus,
;; clear 'authorize-key?' so that it's not overridden
;; at activation time.
+ ;; Since it's used for offloading, disable substitutes
+ ;; (this avoids network issues).
(guix-service-type config =>
(guix-configuration
(inherit config)
- (authorize-key? #f)))
+ (authorize-key? #f)
+ (use-substitutes? #f)))
(syslog-service-type config =>
(syslog-configuration
(config-file
diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm
index 58e95a1312..6236d25b9d 100644
--- a/gnu/system/linux-initrd.scm
+++ b/gnu/system/linux-initrd.scm
@@ -132,15 +132,27 @@ MODULES and taken from LINUX."
#~(begin
(use-modules (gnu build linux-modules)
(guix build utils)
+ (rnrs io ports)
(srfi srfi-1)
(srfi srfi-26))
(define module-dir
(string-append #$linux "/lib/modules"))
+ (define builtin-modules
+ (call-with-input-file
+ (first (find-files module-dir "modules.builtin$"))
+ (lambda (port)
+ (map file-name->module-name
+ (string-tokenize
+ (get-string-all port))))))
+
+ (define modules-to-lookup
+ (lset-difference string=? '#$modules builtin-modules))
+
(define modules
(let* ((lookup (cut find-module-file module-dir <>))
- (modules (map lookup '#$modules)))
+ (modules (map lookup modules-to-lookup)))
(append modules
(recursive-module-dependencies
modules