aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-03-16 10:19:30 +0000
committerChristopher Baines <mail@cbaines.net>2024-03-16 10:19:30 +0000
commit618cae45dc2a45079e910e72be2062c58590f262 (patch)
tree45536e51dafe3d34bd2cf55ee252e3345bf08803
parent2ee54513196bad8e663e78ac695b6ffa0da49051 (diff)
parent00bf07ecccee86da4ced281bd28948c96db284e6 (diff)
downloadguix-618cae45dc2a45079e910e72be2062c58590f262.tar
guix-618cae45dc2a45079e910e72be2062c58590f262.tar.gz
Merge remote-tracking branch 'savannah/master' into gnome-team
Change-Id: I775274c2693536e2efa36c9abca4c54c5c458e26
-rw-r--r--doc/build.scm26
-rw-r--r--doc/guix.texi16
-rw-r--r--etc/guix-daemon.service.in4
-rw-r--r--etc/guix-publish.service.in4
-rw-r--r--etc/news.scm71
-rwxr-xr-xetc/teams.scm4
-rw-r--r--etc/time-travel-manifest.scm24
-rw-r--r--gnu/local.mk6
-rw-r--r--gnu/packages/bioconductor.scm48
-rw-r--r--gnu/packages/bioinformatics.scm63
-rw-r--r--gnu/packages/c.scm4
-rw-r--r--gnu/packages/check.scm1
-rw-r--r--gnu/packages/containers.scm4
-rw-r--r--gnu/packages/cpp.scm11
-rw-r--r--gnu/packages/cran.scm108
-rw-r--r--gnu/packages/crates-io.scm1
-rw-r--r--gnu/packages/diffoscope.scm5
-rw-r--r--gnu/packages/docker.scm10
-rw-r--r--gnu/packages/emacs-xyz.scm114
-rw-r--r--gnu/packages/finance.scm12
-rw-r--r--gnu/packages/freedesktop.scm11
-rw-r--r--gnu/packages/freeipmi.scm4
-rw-r--r--gnu/packages/games.scm19
-rw-r--r--gnu/packages/gnunet.scm150
-rw-r--r--gnu/packages/gnuzilla.scm6
-rw-r--r--gnu/packages/golang-crypto.scm23
-rw-r--r--gnu/packages/golang-xyz.scm92
-rw-r--r--gnu/packages/golang.scm23
-rw-r--r--gnu/packages/guile-xyz.scm12
-rw-r--r--gnu/packages/ipfs.scm26
-rw-r--r--gnu/packages/java.scm32
-rw-r--r--gnu/packages/linux.scm73
-rw-r--r--gnu/packages/lisp-xyz.scm71
-rw-r--r--gnu/packages/llvm-meta.scm83
-rw-r--r--gnu/packages/llvm.scm77
-rw-r--r--gnu/packages/man.scm47
-rw-r--r--gnu/packages/maths.scm30
-rw-r--r--gnu/packages/music.scm126
-rw-r--r--gnu/packages/nx.scm246
-rw-r--r--gnu/packages/package-management.scm18
-rw-r--r--gnu/packages/password-utils.scm6
-rw-r--r--gnu/packages/patches/clang-17.0-link-dsymutil-latomic.patch14
-rw-r--r--gnu/packages/patches/libextractor-tidy-support.patch81
-rw-r--r--gnu/packages/patches/python-poppler-qt5-fix-build.patch116
-rw-r--r--gnu/packages/patches/ruby-x25519-automatic-fallback-non-x86_64.patch45
-rw-r--r--gnu/packages/pdf.scm74
-rw-r--r--gnu/packages/plotutils.scm6
-rw-r--r--gnu/packages/python-web.scm191
-rw-r--r--gnu/packages/python-xyz.scm59
-rw-r--r--gnu/packages/python.scm7
-rw-r--r--gnu/packages/qt.scm17
-rw-r--r--gnu/packages/raspberry-pi.scm6
-rw-r--r--gnu/packages/rdf.scm39
-rw-r--r--gnu/packages/ruby.scm18
-rw-r--r--gnu/packages/rust-apps.scm203
-rw-r--r--gnu/packages/rust.scm9
-rw-r--r--gnu/packages/scheme.scm4
-rw-r--r--gnu/packages/statistics.scm11
-rw-r--r--gnu/packages/swig.scm4
-rw-r--r--gnu/packages/syncthing.scm30
-rw-r--r--gnu/packages/terminals.scm3
-rw-r--r--gnu/packages/texinfo.scm4
-rw-r--r--gnu/packages/text-editors.scm16
-rw-r--r--gnu/packages/tor-browsers.scm2
-rw-r--r--gnu/packages/video.scm2
-rw-r--r--gnu/packages/web-browsers.scm26
-rw-r--r--gnu/packages/web.scm74
-rw-r--r--gnu/packages/wm.scm6
-rw-r--r--gnu/packages/xfce.scm63
-rw-r--r--gnu/packages/xorg.scm4
-rw-r--r--gnu/packages/zig-xyz.scm25
-rw-r--r--gnu/packages/zig.scm7
-rw-r--r--guix/scripts/time-machine.scm4
-rw-r--r--guix/transformations.scm8
-rw-r--r--nix/libstore/build.cc17
-rw-r--r--nix/libutil/util.cc116
-rw-r--r--nix/libutil/util.hh7
-rw-r--r--tests/guix-time-machine.sh4
78 files changed, 2003 insertions, 1030 deletions
diff --git a/doc/build.scm b/doc/build.scm
index 2cd57b4a92..9ab2ca32d2 100644
--- a/doc/build.scm
+++ b/doc/build.scm
@@ -365,7 +365,7 @@ actual file name."
#:languages
languages))
(syntax-css-url
- "/static/base/css/code.css"))
+ "/themes/initial/css/code.css"))
"Return a derivation called NAME that processes all the HTML files in INPUT
to (1) add them a link to SYNTAX-CSS-URL, and (2) highlight the syntax of all
its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
@@ -624,7 +624,7 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
#:key
(languages %languages)
(manual %manual)
- (manual-css-url "/static/base/css/manual.css"))
+ (manual-css-url "/themes/initial/css/manual.css"))
"Process all the HTML files in INPUT; add them MANUAL-CSS-URL as a <style>
link, and add a menu to choose among LANGUAGES. Use the Guix PO files found
in SOURCE."
@@ -741,7 +741,7 @@ in SOURCE."
(list (menu-dropdown
#:label
`(img (@ (alt "Language")
- (src "/static/base/img/language-picker.svg")))
+ (src "/themes/initial/img/language-picker.svg")))
#:items
(language-menu-items file)))
#:split-node? split-node?)
@@ -1141,16 +1141,16 @@ must be the Guix top-level source directory, from which PO files are taken."
;; Menu prefetch.
(link (@ (rel "prefetch") (href ,(guix-url "menu/index.html"))))
;; Base CSS.
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/elements.css"))))
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/common.css"))))
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/messages.css"))))
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/navbar.css"))))
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/breadcrumbs.css"))))
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/buttons.css"))))
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/footer.css"))))
-
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/page.css"))))
- (link (@ (rel "stylesheet") (href ,(guix-url "static/base/css/post.css")))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/elements.css"))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/common.css"))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/messages.css"))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/navbar.css"))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/breadcrumbs.css"))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/buttons.css"))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/footer.css"))))
+
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/page.css"))))
+ (link (@ (rel "stylesheet") (href ,(guix-url "themes/initial/css/post.css")))))
(body
(header (@ (class "navbar"))
(h1 (a (@ (class "branding")
diff --git a/doc/guix.texi b/doc/guix.texi
index 5d7906f57b..a3ba7164eb 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2728,20 +2728,20 @@ the Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html,
@code{man cryptsetup}} for more information).
@quotation Warning
-Note that GRUB can unlock LUKS2 devices since version 2.06, but only
-supports the PBKDF2 key derivation function, which is not the default
-for @command{cryptsetup luksFormat}. You can check which key derivation
-function is being used by a device by running @command{cryptsetup
-luksDump @var{device}}, and looking for the PBKDF field of your
-keyslots.
+While efforts are in progress to extend support to LUKS2, please note
+that Guix only supports devices of type LUKS1 at the moment. You can
+verify that your existing LUKS device is of the right type by running
+@command{cryptsetup luksDump @var{device}}. Alternatively, you can
+create a new LUKS1 device with @command{cryptsetup luksFormat --type
+luks1 @var{device}}.
@end quotation
Assuming you want to store the root partition on @file{/dev/sda2}, the
-command sequence to format it as a LUKS2 partition would be along these
+command sequence to format it as a LUKS1 partition would be along these
lines:
@example
-cryptsetup luksFormat --type luks2 --pbkdf pbkdf2 /dev/sda2
+cryptsetup luksFormat --type luks1 /dev/sda2
cryptsetup open /dev/sda2 my-partition
mkfs.ext4 -L my-root /dev/mapper/my-partition
@end example
diff --git a/etc/guix-daemon.service.in b/etc/guix-daemon.service.in
index 9dbc3b5678..5e75379b5e 100644
--- a/etc/guix-daemon.service.in
+++ b/etc/guix-daemon.service.in
@@ -9,8 +9,8 @@ Description=Build daemon for GNU Guix
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon \
--build-users-group=guixbuild --discover=no
Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
-StandardOutput=syslog
-StandardError=syslog
+StandardOutput=journal
+StandardError=journal
# Work around a nasty systemd ‘feature’ that kills the entire process tree
# (including the daemon!) if any child, such as cc1plus, runs out of memory.
diff --git a/etc/guix-publish.service.in b/etc/guix-publish.service.in
index b8fd3b4c03..0d82e73d94 100644
--- a/etc/guix-publish.service.in
+++ b/etc/guix-publish.service.in
@@ -11,8 +11,8 @@ After=guix-daemon.service
[Service]
ExecStart=@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix publish --user=nobody --port=8181
Environment='GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale' LC_ALL=en_US.utf8
-StandardOutput=syslog
-StandardError=syslog
+StandardOutput=journal
+StandardError=journal
# Despite the name, this is rate-limited: a broken daemon will eventually fail.
Restart=always
diff --git a/etc/news.scm b/etc/news.scm
index b4e8697bf7..9443475455 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -1,6 +1,6 @@
;; GNU Guix news, for use by 'guix pull'.
;;
-;; Copyright © 2019-2023 Ludovic Courtès <ludo@gnu.org>
+;; Copyright © 2019-2024 Ludovic Courtès <ludo@gnu.org>
;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
@@ -103,6 +103,75 @@ configuré et étendu avec des fichiers de configuration de matériel (appelés
(zh "現可使用 eudev 的硬件配置文件(@dfn{hwdb})設置及拓展
@code{udev-service-type}。")))
+ (entry (commit "ff1251de0bc327ec478fc66a562430fbf35aef42")
+ (title
+ (en "Daemon vulnerability allowing store corruption has been fixed")
+ (de "Schwachstelle im Daemon behoben, durch die der Store verfälscht werden konnte")
+ (fr "Une faille du démon permettant de corrompre le dépôt a été corrigée"))
+ (body
+ (en "A vulnerability in the build daemon, @command{guix-daemon}, was
+identified and fixed. The vulnerability would allow unprivileged users to
+corrupt the result of @dfn{fixed-output derivations} such as source code
+tarballs and Git checkouts, which in turn could lead to local privilege
+escalation.
+
+This bug is fixed and Guix System users are advised to upgrade their system,
+with a command along the lines of:
+
+@example
+sudo guix system reconfigure /run/current-system/configuration.scm
+sudo herd restart guix-daemon
+@end example
+
+If you are using Guix on another distro, run @command{info \"(guix) Upgrading
+Guix\"} or visit
+@uref{https://guix.gnu.org/manual/devel/en/html_node/Upgrading-Guix.html} to
+learn how to upgrade Guix.
+
+See @uref{https://issues.guix.gnu.org/69728} for more information on this
+issue.")
+ (de "Eine Sicherheitslücke im Erstellungs-Daemon,
+@command{guix-daemon}, wurde gefunden und geschlossen. Sie hatte es
+unprivilegierten Nutzern ermöglicht, das Ergebnis einer @dfn{Ableitung mit
+fester Ausgabe}, wie Quellcode-Tarballs und Git-Checkouts, zu manipulieren.
+So war eine lokale Rechteausweitung möglich.
+
+Der Fehler ist behoben und wir raten Nutzern von Guix System, ihr System zu
+aktualisieren mit einem Befehl wie:
+
+@example
+sudo guix system reconfigure /run/current-system/configuration.scm
+sudo herd restart guix-daemon
+@end example
+
+Wenn Sie Guix auf einer anderen Distribution verwenden, erfahren Sie mit dem
+Befehl @command{info \"(guix.de) Aktualisieren von Guix\"} oder auf
+@uref{https://guix.gnu.org/manual/devel/de/html_node/Aktualisieren-von-Guix.html},
+wie Sie Guix aktualisieren.
+
+Siehe @uref{https://issues.guix.gnu.org/69728} für mehr Informationen zu dem
+Fehler.")
+ (fr "Une faille de sécurité du démon de compilation,
+@command{guix-daemon}, a été identifiée et corrigée. La faille permettait à
+un·e utilisateur·rice sans privilège de corrompre le résultat d'une
+@dfn{dérivation à sortie fixe} telle qu'une archive ou un @i{checkout} Git, ce
+qui peut ensuite permettre une élévation locale de privilèges.
+
+Ce problème est corrigé et les utilisateur·rices de Guix System sont invité·es
+à mettre à jour leur système avec une commande telle que :
+
+@example
+sudo guix system reconfigure /run/current-system/configuration.scm
+sudo herd restart guix-daemon
+@end example
+
+Pour voir comment mettre à jour Guix sur une autre distribution, lancer
+@command{info \"(guix.fr) Mettre à niveau Guix\"} ou visiter
+@uref{https://guix.gnu.org/manual/devel/fr/html_node/Mettre-a-niveau-Guix.html}.
+
+Voir @uref{https://issues.guix.gnu.org/69728} pour plus d'informations sur
+cette anomalie.")))
+
(entry (commit "10a193596368443f441077525ebbddf787d91e4b")
(title
(en "Linux-libre 4.14 removed due to end of upstream support")
diff --git a/etc/teams.scm b/etc/teams.scm
index ac2886a6eb..570793b539 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -587,6 +587,10 @@ GLib/GIO, GTK, GStreamer and Webkit."
"andreas@enge.fr")
lxqt science tex)
+(define-member (person "Tanguy Le Carrour"
+ "tanguy@bioneland.org")
+ python home)
+
(define-member (person "Tobias Geerinckx-Rice"
"me@tobias.gr")
core kernel mentors)
diff --git a/etc/time-travel-manifest.scm b/etc/time-travel-manifest.scm
index 80c4c7c346..039ca89889 100644
--- a/etc/time-travel-manifest.scm
+++ b/etc/time-travel-manifest.scm
@@ -66,21 +66,19 @@
(define %release-commits
;; Release commits: the list of version/commit pairs.
+ ;;
+ ;; Note: To merely compute the derivation of these revisions, we need to be
+ ;; able to build their dependencies. Some of them no longer build from
+ ;; source due to time traps like <https://issues.guix.gnu.org/58650>; those
+ ;; need to be built beforehand in a virtual build machine running "in the
+ ;; past".
'(("1.4.0" . "8e2f32cee982d42a79e53fc1e9aa7b8ff0514714")
("1.3.0" . "a0178d34f582b50e9bdbb0403943129ae5b560ff")
-
- ;; FIXME: To merely compute the derivation of these revisions, we need to
- ;; be able to build their dependencies. However, pre-built binaries are
- ;; currently missing and some of these no longer build from source due to
- ;; time bombs like <https://issues.guix.gnu.org/58650>. Thus, comment
- ;; them output until we have substitutes for these old things.
-
- ;; ("1.2.0" . "a099685659b4bfa6b3218f84953cbb7ff9e88063")
- ;; ("1.1.0" . "d62c9b2671be55ae0305bebfda17b595f33797f2")
- ;; ("1.0.1" . "d68de958b60426798ed62797ff7c96c327a672ac")
- ;; ("1.0.0" . "6298c3ffd9654d3231a6f25390b056483e8f407c")
- ;; ("0.16.0" . "4a0b87f0ec5b6c2dcf82b372dd20ca7ea6acdd9c")
- ))
+ ("1.2.0" . "a099685659b4bfa6b3218f84953cbb7ff9e88063")
+ ("1.1.0" . "d62c9b2671be55ae0305bebfda17b595f33797f2")
+ ("1.0.1" . "d68de958b60426798ed62797ff7c96c327a672ac")
+ ("1.0.0" . "6298c3ffd9654d3231a6f25390b056483e8f407c")
+ ("0.16.0" . "4a0b87f0ec5b6c2dcf82b372dd20ca7ea6acdd9c")))
(manifest
(map (match-lambda
diff --git a/gnu/local.mk b/gnu/local.mk
index 5546e33465..2e269faf51 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -426,6 +426,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/lisp-check.scm \
%D%/packages/lisp-xyz.scm \
%D%/packages/llvm.scm \
+ %D%/packages/llvm-meta.scm \
%D%/packages/lout.scm \
%D%/packages/logging.scm \
%D%/packages/logo.scm \
@@ -488,6 +489,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ntp.scm \
%D%/packages/nutrition.scm \
%D%/packages/nvi.scm \
+ %D%/packages/nx.scm \
%D%/packages/ocaml.scm \
%D%/packages/ocr.scm \
%D%/packages/openkinect.scm \
@@ -1044,6 +1046,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-15.0-libc-search-path.patch \
%D%/packages/patches/clang-16.0-libc-search-path.patch \
%D%/packages/patches/clang-17.0-libc-search-path.patch \
+ %D%/packages/patches/clang-17.0-link-dsymutil-latomic.patch \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
%D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \
@@ -1520,6 +1523,7 @@ dist_patch_DATA = \
%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/libextractor-tidy-support.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 \
@@ -1811,7 +1815,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-feedparser-missing-import.patch \
%D%/packages/patches/python-louvain-fix-test.patch \
%D%/packages/patches/python-random2-getrandbits-test.patch \
- %D%/packages/patches/python-poppler-qt5-fix-build.patch \
%D%/packages/patches/python-pyreadstat-link-libiconv.patch \
%D%/packages/patches/python-pyls-black-41.patch \
%D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch \
@@ -2004,6 +2007,7 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-latex-decode-fix-test.patch \
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
%D%/packages/patches/ruby-nokogiri.patch \
+ %D%/packages/patches/ruby-x25519-automatic-fallback-non-x86_64.patch \
%D%/packages/patches/rustc-1.54.0-src.patch \
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 4dc7000250..0aa1635e6a 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -4076,13 +4076,13 @@ model as latent variables.")
(define-public r-asics
(package
(name "r-asics")
- (version "2.18.0")
+ (version "2.18.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "ASICS" version))
(sha256
(base32
- "10wlmnlpn6ji256fp81rhsm2rsbsqsbvbjqqpw9vib11cwpam9wd"))))
+ "0sii6sg20l6mfm8cj8zas2dm3wq6fwcwanav6fl7wkv8msk02sxb"))))
(properties `((upstream-name . "ASICS")))
(build-system r-build-system)
(propagated-inputs
@@ -4838,13 +4838,13 @@ enrichment in single cell data.")
(define-public r-coregx
(package
(name "r-coregx")
- (version "2.6.0")
+ (version "2.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "CoreGx" version))
(sha256
- (base32 "0ffbi5afw759mi5r657h67hdh9yr5jrzvl3aigp960jzb5542105"))))
+ (base32 "16i8xq98vg8xgscwj0w9bsq68vjmhsvwwdw66kcphvf3jjfmn1rv"))))
(properties `((upstream-name . "CoreGx")))
(build-system r-build-system)
(propagated-inputs
@@ -6900,13 +6900,13 @@ objects.")
(define-public r-biostrings
(package
(name "r-biostrings")
- (version "2.70.2")
+ (version "2.70.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Biostrings" version))
(sha256
(base32
- "0lmaknlw3mk946h26davr9cz5xpzjp0c8qjxbr7drj8b2cjfm66a"))))
+ "1704fn4dlswy5silmw2ri4yjbibqv249cnrb5mdgiwjh7l51w725"))))
(properties
`((upstream-name . "Biostrings")))
(build-system r-build-system)
@@ -7332,14 +7332,14 @@ distribution.")
(define-public r-deseq2
(package
(name "r-deseq2")
- (version "1.42.0")
+ (version "1.42.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DESeq2" version))
(sha256
(base32
- "1mz7v0vcl741zjvj63mk48hhbq6sk2fl2dwn9y1a6hr8fb79vy1a"))))
+ "1s104b9k45b7kjrk56yw2yi4gi716nkcwnpqj4vj9w17xsb5m6zp"))))
(properties `((upstream-name . "DESeq2")))
(build-system r-build-system)
(propagated-inputs
@@ -7882,18 +7882,18 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
- (version "1.38.6")
+ (version "1.38.7")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
- "0z8wkv5jhx8wr6idnakm26lhhk4ssj6ivbb7hfbzhkajcbnnf7mq"))))
+ "0xx6ybvnbpxj59g1fiij8bicniamhhd7d7fcw8c7py15y3h2mlc1"))))
(properties
`((upstream-name . "GenomeInfoDb")))
(build-system r-build-system)
(propagated-inputs
- (list r-biocgenerics r-genomeinfodbdata r-iranges r-rcurl r-s4vectors))
+ (list r-biocgenerics r-genomeinfodbdata r-iranges r-s4vectors))
(native-inputs
(list r-knitr))
(home-page "https://bioconductor.org/packages/GenomeInfoDb")
@@ -7973,13 +7973,13 @@ Commons RESTful service.")
(define-public r-genomicfeatures
(package
(name "r-genomicfeatures")
- (version "1.54.3")
+ (version "1.54.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicFeatures" version))
(sha256
(base32
- "1b78fss1nfyph6b7pv3ss6iv6r2qgrmx4klxvq8waz2nxvikxdl5"))))
+ "0g2fv4r82ql7p2allapmgs2bj4ad70c8030vzkml7ghrxsgrryp3"))))
(properties
`((upstream-name . "GenomicFeatures")))
(build-system r-build-system)
@@ -7993,8 +7993,9 @@ Commons RESTful service.")
r-dbi
r-genomeinfodb
r-genomicranges
+ r-httr
r-iranges
- r-rcurl
+ r-rjson
r-rsqlite
r-rtracklayer
r-s4vectors
@@ -8220,13 +8221,13 @@ Enrichment Analysis} (GSEA).")
(define-public r-gsva
(package
(name "r-gsva")
- (version "1.50.0")
+ (version "1.50.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GSVA" version))
(sha256
(base32
- "01w5j7fmi3hsfd282kcn4v41mi58z2yfhapff2zgf9swdfps4m6z"))))
+ "0ld0bbl6ar3yhi6ncg9d8q60hg4m4v5kphl044fw63l19ixln7cf"))))
(properties `((upstream-name . "GSVA")))
(build-system r-build-system)
(propagated-inputs (list r-biobase
@@ -11724,24 +11725,24 @@ Biology at
(define-public r-stringdb
(package
(name "r-stringdb")
- (version "2.14.0")
+ (version "2.14.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "STRINGdb" version))
(sha256
- (base32 "1ffn73sx0qbzbh8cjil9r159g0fjnvi6y8rlbg6nf7p3zx3aya54"))))
+ (base32 "06bckzczg2rspazcbpp3v265c1dkr9l1vpdhkc7gdn2dk960jlkh"))))
(properties `((upstream-name . "STRINGdb")))
(build-system r-build-system)
(propagated-inputs
(list r-gplots
r-hash
+ r-httr
r-igraph
r-plotrix
r-plyr
r-png
r-rcolorbrewer
- r-rcurl
r-sqldf))
(home-page "https://git.bioconductor.org/packages/STRINGdb")
(synopsis "Search tool for the retrieval of interacting proteins database")
@@ -12261,16 +12262,17 @@ describing each of the graphs.")
(define-public r-zlibbioc
(package
(name "r-zlibbioc")
- (version "1.48.0")
+ (version "1.48.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "zlibbioc" version))
(sha256
(base32
- "043xwgw3yclxnxlfl7fdwf7qf7fajzvqdv34qxnngxj9wpgha3gv"))))
+ "078v1iywzc0ng27r0wjchvkh4znzydq1swlalqb95xkmn72vrq8d"))))
(properties
`((upstream-name . "zlibbioc")))
(build-system r-build-system)
+ (native-inputs (list r-knitr))
(home-page "https://bioconductor.org/packages/zlibbioc")
(synopsis "Provider for zlib-1.2.5 to R packages")
(description "This package uses the source code of zlib-1.2.5 to create
@@ -15912,14 +15914,14 @@ attempts to assess their statistical significance.")
(define-public r-clusterprofiler
(package
(name "r-clusterprofiler")
- (version "4.10.0")
+ (version "4.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "clusterProfiler" version))
(sha256
(base32
- "1vlrybyczfci5qnw50k0y2j2853r2p1ff5bpj35rdca4ja0iqh2q"))))
+ "1jwi9029dy7ga4hv75grib7wdaghslwh4qk5awhgw3192a0qcixf"))))
(properties
`((upstream-name . "clusterProfiler")))
(build-system r-build-system)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index b8ecea013c..dd51f73d5b 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -9308,6 +9308,69 @@ viewer.")
(delete 'patch-tests)
(delete 'configure))))))))
+(define-public morpheus
+ (package
+ (name "morpheus")
+ (version "2.3.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/morpheus.lab/morpheus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jyzbkz8d39kjicrk3ihcx7yvq5wsynvnlcw922bqqsw8nwnn12c"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "3rdparty/eigen")
+ (substitute* '("morpheus/core/cpm_shape_tracker.cpp"
+ "morpheus/core/membranemapper.h"
+ "morpheus/testing/components/motility/directed_motion_test.cpp"
+ "morpheus/testing/components/interaction/generator_cell_sorting.cpp"
+ "morpheus/testing/components/interaction/test_cell_sorting.cpp"
+ "morpheus/testing/core/cpm/generator_csm_plane.cpp"
+ "morpheus/testing/test_operators.h")
+ (("#include \"eigen/") "#include \"eigen3/"))))))
+ ;; This is for a different Morpheus.
+ (properties '((lint-hidden-cve "CVE-2022-31261")))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ '(list "-DMORPHEUS_GUI=OFF"
+ "-DBUILD_TESTING=ON"
+ "-DDOWNLOAD_XTENSOR=OFF")
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'disable-gtest-download
+ (lambda _
+ (substitute* "3rdparty/CMakeLists.txt"
+ (("add_subdirectory\\(GTest\\)") ""))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "ctest" "--output-junit" "test_results.xml")))))))
+ (inputs (list boost
+ eigen
+ file
+ gnuplot
+ libtiff
+ libxslt
+ xsimd
+ xtensor
+ xtl
+ zlib))
+ (native-inputs
+ (list doxygen googletest xxd))
+ (home-page "https://gitlab.com/morpheus.lab/morpheus")
+ (synopsis "Multicellular simulation")
+ (description
+ "Morpheus is a modeling and simulation environment for the study of
+multi-scale and multicellular systems.")
+ (license license:bsd-3)))
+
(define-public mosaik
(let ((commit "5c25216d3522d6a33e53875cd76a6d65001e4e67"))
(package
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index b558145ea0..c004aade73 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -326,7 +326,7 @@ compiler while still keeping it small, simple, fast and understandable.")
(define-public qbe
(package
(name "qbe")
- (version "1.1")
+ (version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -335,7 +335,7 @@ compiler while still keeping it small, simple, fast and understandable.")
(file-name (git-file-name name version))
(sha256
(base32
- "07nl1kdgpz7hwfkng0yy4xihk0fmv1a2hq9bxzgvhy3vk9r7fmn8"))))
+ "1sxz5dn788n5c4v6mxa2kg3hf0a4qryg8wp0w3wx0qkzj6flj2sj"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 49a026bd20..bd1f2d1b65 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -250,6 +250,7 @@ source code editors and IDEs.")
(inherit check)
(version "0.14.0")
(source (origin
+ (inherit (package-source check))
(method url-fetch)
(uri (string-append "https://github.com/libcheck/check/releases"
"/download/" version "/check-" version ".tar.gz"))
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index aa270a25f3..6d4877460d 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -291,7 +291,7 @@ Layer-4 sockets.")
(define-public cni-plugins
(package
(name "cni-plugins")
- (version "1.0.1")
+ (version "1.4.1")
(source
(origin
(method git-fetch)
@@ -299,7 +299,7 @@ Layer-4 sockets.")
(url "https://github.com/containernetworking/plugins")
(commit (string-append "v" version))))
(sha256
- (base32 "1j91in0mg4nblpdccyq63ncbnn2pc2zzjp1fh3jy0bsndllgv0nc"))
+ (base32 "0l6f4z762n8blak41wcxdmdhm92gqw2qcxcqd3s4wiql3d7273kj"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 3b65ce9f4a..d451eea2fd 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -30,7 +30,7 @@
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022, 2023, 2024 David Elsing <david.elsing@posteo.net>
-;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2022-2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
@@ -907,9 +907,12 @@ lock-free fixed size queue written in C++11.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- ;; The tests are flaky when run in parallel. For more info:
- ;; https://bugs.gnu.org/46562
- '(#:parallel-tests? #f))
+ ;; The tests are flaky when run in parallel. For more info:
+ ;; https://bugs.gnu.org/46562
+ `(#:parallel-tests? #f
+ ,@(if (target-riscv64?)
+ `(#:make-flags (list "LDFLAGS=-latomic"))
+ '())))
(native-inputs
(list autoconf automake libtool
;; For tests.
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index dbbf30c551..97518abc4c 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -2318,13 +2318,13 @@ known as Dynamic Linear Models.")
(define-public r-zcompositions
(package
(name "r-zcompositions")
- (version "1.5.0-1")
+ (version "1.5.0-2")
(source (origin
(method url-fetch)
(uri (cran-uri "zCompositions" version))
(sha256
(base32
- "0sx6i03iyg4jxmjiyzkssz3i6c8nv29wwhbl7yd0wxapwpakmlj8"))))
+ "08kcl870x7kai7zdhqgm4cbfhbrf673rjxghbwpn08l7pwkhix60"))))
(properties `((upstream-name . "zCompositions")))
(build-system r-build-system)
(propagated-inputs
@@ -14572,13 +14572,13 @@ tidyverse workflow.")
(define-public r-nodbi
(package
(name "r-nodbi")
- (version "0.10.3")
+ (version "0.10.4")
(source (origin
(method url-fetch)
(uri (cran-uri "nodbi" version))
(sha256
(base32
- "17ghgp6sabj4dlmx3cdn9rrhci7050a73cd17fymjksgvy1jbwf6"))))
+ "0q4nsxic1jlraipdc6zi711c3316n9wgq1cgbywhjlxb52qhkmd7"))))
(properties `((upstream-name . "nodbi")))
(build-system r-build-system)
(propagated-inputs
@@ -14652,14 +14652,14 @@ functions.")
(define-public r-flextable
(package
(name "r-flextable")
- (version "0.9.4")
+ (version "0.9.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "flextable" version))
(sha256
(base32
- "1dlsag1y3s7d5lp1dh2kxf1qax4r9xvxycpmxl64gkr50dk13bam"))))
+ "14mq27k7998405qwpdpxa1csbf5pdgzj9s892xm95bd4chnshdvw"))))
(build-system r-build-system)
(propagated-inputs
(list r-data-table
@@ -16525,14 +16525,14 @@ console, resulting in an interactive editing environment.")
(define-public r-survey
(package
(name "r-survey")
- (version "4.2-1")
+ (version "4.4-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "survey" version))
(sha256
(base32
- "0l7iml53k2blmcgvbvplln08fn2s6da856m5izcvw87v6bhn2g6c"))))
+ "1649srmdr8i9j8grqikkm8nbfav31s7iygx6pv96jvr3wh80yh46"))))
(build-system r-build-system)
(propagated-inputs
(list r-lattice
@@ -16540,7 +16540,10 @@ console, resulting in an interactive editing environment.")
r-minqa
r-mitools
r-numderiv
+ r-rcpp
+ r-rcpparmadillo
r-survival))
+ (native-inputs (list r-r-rsp))
(home-page "https://r-survey.r-forge.r-project.org/survey/")
(synopsis "Analysis of complex survey samples")
(description
@@ -17065,13 +17068,13 @@ Hothorn, Westfall, 2010, CRC Press).")
(define-public r-multcompview
(package
(name "r-multcompview")
- (version "0.1-9")
+ (version "0.1-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "multcompView" version))
(sha256
- (base32 "15vki166n2k4ng72hy62c2mzz18s10h6l6w839qplg0zsplr6f8z"))))
+ (base32 "12mdk12xciq1d3zn94rixahhcah2qq41lvb5n4kzgjaq4yr4kwiq"))))
(properties `((upstream-name . "multcompView")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/package=multcompView")
@@ -18529,14 +18532,14 @@ Bioconductor packages.")
(define-public r-rgl
(package
(name "r-rgl")
- (version "1.2.8")
+ (version "1.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "rgl" version))
(sha256
(base32
- "1x0p2yldg2mjf64xd5dd0bidzgy7b39w7zn18ghan2rdf0wffdg5"))
+ "0jbda1b4lrkcpdld369687pm7isy69l5sx1wg2yrpvvzvmcppslz"))
(snippet
'(delete-file "inst/htmlwidgets/lib/CanvasMatrix/CanvasMatrix.min.js"))))
;; For OpenGL and X11 support
@@ -18561,10 +18564,10 @@ Bioconductor packages.")
r-rmarkdown)) ;for vignettes
(inputs
(list freetype
- libpng
glu
+ libpng
libx11
- pandoc
+ zlib
zlib))
(propagated-inputs
(list r-base64enc
@@ -18978,13 +18981,13 @@ Tabelow (2007) <DOI:10.18637/jss.v019.i01>.")
(define-public r-admisc
(package
(name "r-admisc")
- (version "0.34")
+ (version "0.35")
(source
(origin
(method url-fetch)
(uri (cran-uri "admisc" version))
(sha256
- (base32 "1psvi8hb7j65abw8g4ya9r43r5kd9mcv478pg2d09za0cig8gkzx"))))
+ (base32 "0gzdb9dm34qfkjqgfrd3wm96dzhcps4xayyrhp80mzgh14zmnjyg"))))
(properties `((upstream-name . "admisc")))
(build-system r-build-system)
(home-page "https://github.com/dusadrian/admisc")
@@ -19327,14 +19330,14 @@ over-plotting in scatter plots with text.")
(define-public r-colorramps
(package
(name "r-colorramps")
- (version "2.3.2")
+ (version "2.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "colorRamps" version))
(sha256
(base32
- "0cq8l6ybhff2q2dj2i73b4cnw6v2c6ql24jbrkh0xrpc9wjsarxj"))))
+ "1y4gn6v8wmwq3wcfgdnx1ah2qa53gayvbfa62kp286ga4c8k3prw"))))
(properties `((upstream-name . "colorRamps")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/colorRamps")
@@ -19931,14 +19934,14 @@ and compatibility with @code{ape} objects.")
(define-public r-rnifti
(package
(name "r-rnifti")
- (version "1.6.0")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "RNifti" version))
(sha256
(base32
- "0spsdkqvlkk7xn6wz6778gc6cc7dnfcwpz91q8wdzxgcbgxdy0yv"))))
+ "0wn06fnq5c7f0vwakryb75vzkjh03dqz2z57lgmn68hwgssnpalc"))))
(properties `((upstream-name . "RNifti")))
(build-system r-build-system)
(inputs (list zlib))
@@ -21642,14 +21645,14 @@ subsetting.")
(define-public r-globals
(package
(name "r-globals")
- (version "0.16.2")
+ (version "0.16.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "globals" version))
(sha256
(base32
- "02kpdlrx1bannaixz03c0f7bii9g36iy2nw779mfgi56byljcb38"))))
+ "0nwcl40sbmmf812di9c3lryls9wn2k2dyjvpkp9832wd4jafsg6p"))))
(build-system r-build-system)
(propagated-inputs
(list r-codetools))
@@ -22208,14 +22211,14 @@ numbers (e.g. concentrations).")
(define-public r-cobs
(package
(name "r-cobs")
- (version "1.3-7")
+ (version "1.3-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "cobs" version))
(sha256
(base32
- "0gz6i8scvfkmg0z7rcqc422dm360xv5ygcxnj6yyvpcpdv7sdp9k"))))
+ "08cqpiylbfy5j5xxajpngqaycmmciwhyf3sk3972x2l6rg3lj81c"))))
(build-system r-build-system)
(propagated-inputs
(list r-quantreg r-sparsem))
@@ -22798,14 +22801,14 @@ network.")
(define-public r-gmodels
(package
(name "r-gmodels")
- (version "2.18.1.1")
+ (version "2.19.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "gmodels" version))
(sha256
(base32
- "158y7yh4maawn9vki8cq4sil48xib2bbpl6qgj5gvlkw3c14hzfs"))))
+ "13c8x7iwyz36qir3ikbvjb5dl6gdh4fh82qdxcpcdinwfhrbhmxv"))))
(build-system r-build-system)
(propagated-inputs
(list r-gdata r-mass))
@@ -24829,14 +24832,14 @@ databases, including ENA, PDB or ChEMBL are also accessible.")
(define-public r-ggraph
(package
(name "r-ggraph")
- (version "2.2.0")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggraph" version))
(sha256
(base32
- "0zs02xyzvimk8hj1z465zxp1hlca3gfirdcwb3gqriwsmnfhg661"))))
+ "1w9snb43wpa2rv16fx5vmh7nqpgkr05iz6flnmlfx3xd0ylzh1a4"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
@@ -27262,14 +27265,14 @@ both R code and compiled C/C++/FORTRAN code.")
(define-public r-systemfonts
(package
(name "r-systemfonts")
- (version "1.0.5")
+ (version "1.0.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "systemfonts" version))
(sha256
(base32
- "08sqw5izpwhawcjkcyscvslz914skwfi0s68rdwrqwwkh8fzn3w4"))))
+ "1mqxb2njfnk5rfwkqc940xbpwd3dh25zac4sapv5mjyddrxnwn6i"))))
(properties `((upstream-name . "systemfonts")))
(build-system r-build-system)
(propagated-inputs
@@ -27291,14 +27294,14 @@ be used further by e.g. graphic devices.")
(define-public r-graphlayouts
(package
(name "r-graphlayouts")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "graphlayouts" version))
(sha256
(base32
- "14ib4yjcxb6zgci5h89p9swqabab57bzywwp96d3nhn620chap22"))))
+ "009q5y46lbizdabbb6a61xlfa3g5lf3nd9w42709lcxi0ad4bhkv"))))
(properties `((upstream-name . "graphlayouts")))
(build-system r-build-system)
(propagated-inputs
@@ -28550,21 +28553,18 @@ and mixture of Gaussian models.")
(define-public r-accsda
(package
(name "r-accsda")
- (version "1.1.2")
+ (version "1.1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "accSDA" version))
(sha256
(base32
- "0jf4x5j9y7a3mvf2ghjp6bxdq1s5jh2sx3x3ar6f3lyzzvrnls4v"))))
+ "1s0c4wy4bzrc2fkka7kl519z1yckp6s4ggzy1ik992ygyprdcs1q"))))
(properties `((upstream-name . "accSDA")))
(build-system r-build-system)
(propagated-inputs
- (list r-ggplot2
- r-ggthemes
- r-gridextra
- r-mass))
+ (list r-ggplot2 r-gridextra r-mass))
(home-page "https://github.com/gumeo/accSDA/wiki")
(synopsis "Accelerated sparse discriminant analysis")
(description
@@ -29856,14 +29856,14 @@ variable observed over time.")
(define-public r-fda
(package
(name "r-fda")
- (version "6.1.7")
+ (version "6.1.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "fda" version))
(sha256
(base32
- "00hiz15v31zs5l0bqdkim1fpfd3bjvssv77iczq0si724s4fqxiq"))))
+ "01y488zviaj9z8h88vnia9wg4as62jx73la1qji1ljbr5258b3gg"))))
(properties `((upstream-name . "fda")))
(build-system r-build-system)
(propagated-inputs
@@ -32714,14 +32714,14 @@ techniques to average Bayesian predictive distributions.")
(define-public r-rstan
(package
(name "r-rstan")
- (version "2.32.5")
+ (version "2.32.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "rstan" version))
(sha256
(base32
- "0m655pf0lrhqh2mzylximd2vch9wy252k4zwyfqn1sfwmx642dva"))))
+ "0w0si8sd26c4nivqh85y0imil14sp4vy97yikmrv1lxvj40x141k"))))
(properties
'((upstream-name . "rstan")
(updater-extra-native-inputs . ("tzdata-for-tests"))))
@@ -32750,6 +32750,7 @@ techniques to average Bayesian predictive distributions.")
r-rcppeigen
r-rcppparallel
r-stanheaders))
+ (inputs (list pandoc))
(home-page "https://discourse.mc-stan.org/")
(synopsis "R interface to Stan")
(description
@@ -39592,28 +39593,19 @@ package.")
(define-public r-qs
(package
(name "r-qs")
- (version "0.25.7")
+ (version "0.26.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "qs" version))
(sha256
(base32
- "0a0jay9p2k0ahf08s94dr1w66qhbgzs87vkaanwkd4j6lvijncz7"))))
+ "0qmgnc4igy8mjzarm30cgi4z75hh8f01kvcs6n6s63cy4qk30vs6"))))
(properties `((upstream-name . "qs")))
(build-system r-build-system)
- (arguments
- (list
- #:phases
- '(modify-phases %standard-phases
- ;; Our zstd is at 1.5.0, but this package bundles 1.5.2.
- (add-after 'unpack 'use-older-zstd
- (lambda _
- (substitute* "configure"
- (("100502") "100500")))))))
(inputs (list lz4 (list zstd "lib")))
(propagated-inputs
- (list r-rapiserialize r-rcpp r-stringfish))
+ (list r-bh r-rapiserialize r-rcpp r-stringfish))
(native-inputs
(list pkg-config r-knitr))
(home-page "https://github.com/traversc/qs")
@@ -40039,14 +40031,14 @@ fully reproducible.")
(define-public r-paws-common
(package
(name "r-paws-common")
- (version "0.7.0")
+ (version "0.7.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "paws.common" version))
(sha256
(base32
- "05rld34brjc32p9f9cbqyyh208rh9idnyih33cpw7bz7bfyicnqm"))))
+ "1mjbyykav3f5yv59hnaihqsqhinvrlhphp93ks9xp756w6abciqf"))))
(properties `((upstream-name . "paws.common")))
(build-system r-build-system)
(propagated-inputs
@@ -41082,13 +41074,13 @@ Monte Carlo approach implemented in JAGS.")
(define-public r-logger
(package
(name "r-logger")
- (version "0.2.2")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "logger" version))
(sha256
- (base32 "08kym5i5fvbf5xhh9qdszp4jdgyc7j7zpnwzy68wabqz73aff6sg"))))
+ (base32 "0ivhrmq408pb7gx7yhmrn6mjkx15dvkb4bpk4z5y642l3j2vv9vd"))))
(properties `((upstream-name . "logger")))
(build-system r-build-system)
(native-inputs (list r-knitr))
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1a08748392..a67d3d74bb 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -9664,6 +9664,7 @@ capabilities.")
(description "This package provides spec generation for clap-rs/clap.")
(license license:expat)))
+;; TODO: Remove this package in favor of rust-cargo in rust-apps.scm.
(define-public rust-cargo-0.76
(package
(name "rust-cargo")
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm
index f5a3bbc5b9..52f615f2cf 100644
--- a/gnu/packages/diffoscope.scm
+++ b/gnu/packages/diffoscope.scm
@@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
- (version "258")
+ (version "260")
(source
(origin
(method git-fetch)
@@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1wppshi18lyrgxxi8j06ij0qi31zdgqwjj6bycsyvipkc1cj6xhp"))))
+ (base32 "1yp32g2769mn91k6wx6fs7lhcfi1cdy54apkgfaf7ib6l0ji5hwv"))))
(build-system python-build-system)
(arguments
(list
@@ -198,6 +198,7 @@
odt2txt
openssh
openssl
+ p7zip
pgpdump
poppler
python-jsbeautifier
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index 0fe1f2c1c7..0820f685b7 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
;;; Copyright © 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +48,7 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -60,22 +62,24 @@
(define-public python-docker
(package
(name "python-docker")
- (version "5.0.3")
+ (version "7.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "docker" version))
(sha256
(base32
- "1yr7w8vmdis01myx26pqx7wcyz2cy1mfs421alppq3lpc9ms45nr"))))
+ "18z5wzqm7dbxaa5q4gs8yh2dma8i7savqcvibvy1i56djbxkcdrj"))))
(build-system python-build-system)
;; TODO: Tests require a running Docker daemon.
(arguments '(#:tests? #f))
(inputs
(list python-requests python-six python-urllib3))
+ (native-inputs
+ (list python-setuptools-scm))
(propagated-inputs
(list python-docker-pycreds python-paramiko ;adds SSH support
- python-websocket-client))
+ python-packaging python-websocket-client))
(home-page "https://github.com/docker/docker-py/")
(synopsis "Python client for Docker")
(description "Docker-Py is a Python client for the Docker container
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7fa5df9202..8c3fc5e022 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -448,7 +448,7 @@ input via a small child-frame spawned at the position of the cursor.")
(define-public emacs-arei
(package
(name "emacs-arei")
- (version "0.9.2")
+ (version "0.9.3")
(source
(origin
(method git-fetch)
@@ -458,7 +458,7 @@ input via a small child-frame spawned at the position of the cursor.")
(file-name (git-file-name name version))
(sha256
(base32
- "0qpri3ygb1fffi9mlipa7qmb6434aispbz1z3j14i7zrqassigm4"))))
+ "0nf101zdrz8yqscpvvmaw0dgb334h9v2ychyjlq95vksvx9r1zid"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-eros emacs-sesman emacs-queue))
(home-page "https://git.sr.ht/~abcdw/emacs-arei")
@@ -1065,19 +1065,20 @@ uploading PlatformIO projects.")
(define-public emacs-hyperbole
(package
(name "emacs-hyperbole")
- (version "9.0.0")
+ (version "9.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"hyperbole-" version ".tar"))
(sha256
- (base32 "07kpyp3ggf4knakn18niy819l184apx4d9vbcwv57j8zyqgn4c3l"))))
+ (base32 "0a7py2dvszh0rf2smbmm8msjrc8vbbvlqnsqw0m2l12v8vllmxnb"))))
(build-system emacs-build-system)
(arguments
(list #:include #~(cons* "DEMO"
"DEMO-ROLO.otl"
"HY-ABOUT"
+ "HY-NEWS"
"man/hkey-help.txt"
"man/hyberbole.info"
"kotl/.*"
@@ -11287,41 +11288,44 @@ Features degrade gracefully when viewed from terminal.")
(license license:gpl3+)))
(define-public emacs-org-pandoc-import
- (package
- (name "emacs-org-pandoc-import")
- (version "1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/tecosaur/org-pandoc-import/")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "00z9bpm975mlyqlxbyib3j547br6kvcam04b70qkmq22vh8yf341"))))
- (build-system emacs-build-system)
- (arguments
- `(#:include
- (cons* "^filters\\/" "^preprocessors" %default-include)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-exec-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((pandoc (assoc-ref inputs "pandoc")))
- (substitute* "org-pandoc-import.el"
- (("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))))))))
- (inputs
- (list pandoc))
- (home-page "https://github.com/tecosaur/org-pandoc-import/")
- (synopsis "Read and edit non-Org file types in Org")
- (description
- "This package uses Pandoc to convert selected file types to Org. It can
+ (let ((commit "db308f1a05be26ce5b287633637ce554599b1377")
+ (revision "0"))
+ (package
+ (name "emacs-org-pandoc-import")
+ (version (git-version "1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tecosaur/org-pandoc-import/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19z1qaairhpj8kyyqwx8yf53j3f03a9a1z1jfa348qmncnra5jmh"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:include
+ (cons* "^filters\\/" "^preprocessors" %default-include)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-exec-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pandoc (assoc-ref inputs "pandoc")))
+ (substitute* "org-pandoc-import.el"
+ (("\"pandoc\"")
+ (string-append "\"" pandoc "/bin/pandoc\"")))))))))
+ (inputs
+ (list pandoc))
+ (home-page "https://github.com/tecosaur/org-pandoc-import/")
+ (synopsis "Read and edit non-Org file types in Org")
+ (description
+ "This package uses Pandoc to convert selected file types to Org. It can
convert supported non-Org files to an Org file with Pandoc.
It can also intercept requests for non-Org files it knows it can convert,
convert the file to a temporary Org file, and open this file instead. On
save, it exports back to the original non-Org file.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-org-pomodoro
;; Last release version was from 2016.
@@ -13088,27 +13092,29 @@ The following completions are currently available:
(license license:gpl3+)))
(define-public emacs-sway
- (package
- (name "emacs-sway")
- (version "0.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/thblt/sway.el")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1w29dkl7s835zgwnc4jx1cp84s6mmwbvlil8z2c31psy0rlajc6i"))))
- (build-system emacs-build-system)
- (home-page "https://github.com/thblt/sway.el")
- (synopsis "Communication with the Sway window manager")
- (description
- "This is a basic library to control the Sway window manager from Emacs.
+ (let ((commit "84eae5e16a643eb00b0a422ded751cceb17cc8f0")
+ (revision "0"))
+ (package
+ (name "emacs-sway")
+ (version (git-version "0.7" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/thblt/sway.el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "194plzc6rg7a5j3f68say0znix34yp8421cdlkwnw345czh52mjn"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/thblt/sway.el")
+ (synopsis "Communication with the Sway window manager")
+ (description
+ "This is a basic library to control the Sway window manager from Emacs.
Its main use case is in combination with popup managers like Shackle, to
use frames instead of windows while still giving focus to existing frames
instead of duplicating them.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-sweet-theme
(let ((commit "78f741806ecebe01224bf54d09ad80e306652508")
@@ -24405,7 +24411,7 @@ mode.")
(define-public emacs-crux
(package
(name "emacs-crux")
- (version "0.4.0")
+ (version "0.5.0")
(source
(origin
(method git-fetch)
@@ -24415,7 +24421,7 @@ mode.")
(file-name (git-file-name name version))
(sha256
(base32
- "1h28chpyq61k72qh749r5kqq1y70wx3xw9c3zyfzmy750wlw6nyj"))))
+ "00n4k09x3slchs81xw1q0rcb78ncb5k2lvsigb9j7s3kxbj6bvvy"))))
(build-system emacs-build-system)
(home-page "https://github.com/bbatsov/crux")
(synopsis "Collection of useful functions for Emacs")
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 206d606933..8c30bd1a30 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -684,7 +684,7 @@ blockchain.")
;; the system's dynamically linked library.
(package
(name "monero")
- (version "0.18.3.1")
+ (version "0.18.3.2")
(source
(origin
(method git-fetch)
@@ -702,7 +702,7 @@ blockchain.")
delete-file-recursively
'("external/miniupnp" "external/rapidjson"))))
(sha256
- (base32 "1k6mrgsvmqsfk95w8kjmp9v2fghjmmpj40667zndrw9jx1h85mwx"))))
+ (base32 "0ri3ss5vgsjk5pzmaaw8yi7sg4lasx58d8kz3m6z5vg7p69gdzxv"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen
@@ -789,7 +789,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.18.3.1")
+ (version "0.18.3.2")
(source
(origin
(method git-fetch)
@@ -805,7 +805,7 @@ the Monero command line client and daemon.")
;; See the 'extract-monero-sources' phase.
(delete-file-recursively "monero")))
(sha256
- (base32 "1fjx8gdzc1pmfsi14r09gfmkglvh560pnxk70p0k82a4gbs1vyz2"))))
+ (base32 "0jic43b7jzc1i7x2mqqpbbb2992687nm12kk642yr10dm4maklzb"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -1750,7 +1750,7 @@ following three utilities are included with the library:
(define-public bitcoin-unlimited
(package
(name "bitcoin-unlimited")
- (version "2.0.0.0")
+ (version "2.0.0.1")
(source
(origin
(method git-fetch)
@@ -1759,7 +1759,7 @@ following three utilities are included with the library:
(commit (string-append "BCHunlimited" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0s4iyjfhjx21xa3z7433m4skfr115565k0ckza87ha2d4nl8kz5h"))))
+ (base32 "1kkmg0gp86qz3ya8y5a00yic1mals138b9fv2cjlm7683sfjjljx"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index dd4bf9d49e..fc3c2b3e29 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1582,7 +1582,7 @@ move and resize windows, etc.")
(define-public exempi
(package
(name "exempi")
- (version "2.5.2")
+ (version "2.6.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1590,7 +1590,7 @@ move and resize windows, etc.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "1mdfxb36p8251n5m7l55gx3fcqpk46yz9v568xfr8igxmqa47xaj"))))
+ "1zhzwkfna14sy78llhfc94cy5hv3076j5v3p1zmvawzz5gaa7yg9"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--with-boost="
@@ -1604,8 +1604,7 @@ move and resize windows, etc.")
;; <https://gitlab.freedesktop.org/libopenraw/exempi/-/issues/17>.
;; Simply delete the static library instead to save ~4.3 MiB.
(delete-file (string-append (assoc-ref outputs "out")
- "/lib/libexempi.a"))
- #t)))))
+ "/lib/libexempi.a")))))))
(native-inputs
(list boost)) ; tests
(inputs
@@ -2536,14 +2535,14 @@ their MIME type.
(define-public uchardet
(package
(name "uchardet")
- (version "0.0.7")
+ (version "0.0.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freedesktop.org/software/"
name "/releases/" name "-" version ".tar.xz"))
(sha256
- (base32 "1ca51sryhryqz82v4d0graaiqqq5w2f33a9gj83b910xmq499irz"))))
+ (base32 "1w659aiphbnczpry771diakrzg9a8aqpn2abcxx1870aq37n0yp9"))))
(build-system cmake-build-system)
(home-page "https://www.freedesktop.org/wiki/Software/uchardet/")
(synopsis "Encoding detector library")
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index cc33e821de..55ffa6a53b 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -28,14 +28,14 @@
(define-public freeipmi
(package
(name "freeipmi")
- (version "1.6.11")
+ (version "1.6.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
- "15x861i8r1gk44924d2pszlb8mapgkr18m3991vla4601y8xdyv5"))))
+ "1dgd2izbp6mqk7l0bgw9fkpvl4mjz672p8baz3ac9k5pfrfaqg8s"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static"
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9ff08e5e74..e619c2f10e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2130,14 +2130,14 @@ It is similar to standard chess but this variant is far more complicated.")
(define-public ltris
(package
(name "ltris")
- (version "1.2.6")
+ (version "1.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lgames/ltris/"
"ltris-" version ".tar.gz"))
(sha256
- (base32 "1xj65kn815x2hq1ynzjyc90dj178xwa2xvx7jx99qf60ahaf4g62"))))
+ (base32 "144zvnnky79z5ychyyb2wsp7h2pcbl50fbzd9w9dvxkw6adz4yip"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -4676,7 +4676,7 @@ on the screen and keyboard to display letters.")
(define-public manaplus
(package
(name "manaplus")
- (version "1.9.3.23")
+ (version "2.1.3.17")
(source (origin
(method url-fetch)
(uri (string-append
@@ -4684,18 +4684,15 @@ on the screen and keyboard to display letters.")
version "/manaplus-" version ".tar.xz"))
(sha256
(base32
- "1ky182p4svwdqm6cf7jbns85hidkhkhq4s17cs2p381f0klapfjz"))))
+ "0ggswsa3xq7lss3j4k7fyzn56sw7hlrwk744i3d9w0n4932nmlg8"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags
- (list (string-append "CPPFLAGS=-I"
- (assoc-ref %build-inputs "sdl-union")
- "/include/SDL"))))
+ (list #:configure-flags #~'("--with-sdl2")))
(native-inputs
(list pkg-config))
(inputs
(list glu curl libxml2 mesa
- (sdl-union)))
+ sdl2 sdl2-image sdl2-mixer sdl2-net sdl2-ttf))
(home-page "https://manaplus.org")
(synopsis "Client for 'The Mana World' and similar games")
(description
@@ -11379,7 +11376,7 @@ play; it will look for them at @file{~/.local/share/fheroes2} folder.")
(define-public vcmi
(package
(name "vcmi")
- (version "1.4.2")
+ (version "1.4.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -11388,7 +11385,7 @@ play; it will look for them at @file{~/.local/share/fheroes2} folder.")
(file-name (git-file-name name version))
(sha256
(base32
- "039d9dvb2i4y1fj6q5py34r17fwb5jqxkjcg7j57asjk4w9b7i8b"))
+ "1z4vy3drj6dra8rb243pyryr61jnlw3l7yxsxwl9rddv8cdk69lz"))
(patches (search-patches "vcmi-disable-privacy-breach.patch"))))
(build-system cmake-build-system)
(arguments
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index fd101a8acf..e23755302d 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -13,7 +13,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org>
-;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -32,6 +32,7 @@
(define-module (gnu packages gnunet)
#:use-module (gnu packages)
+ #:use-module (gnu packages apparmor)
#:use-module (gnu packages base)
#:use-module (gnu packages file)
#:use-module (gnu packages aidc)
@@ -65,6 +66,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
@@ -83,86 +85,80 @@
(define-public libextractor
(package
- (name "libextractor")
- (version "1.11")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/libextractor/libextractor-"
- version ".tar.gz"))
- (sha256
- (base32
- "13xxv11mif3m0mpk7i43mljhhaqrj52kznm1qi3qb8s6hymk7xhn"))))
- (build-system gnu-build-system)
- ;; WARNING: Checks require /dev/shm to be in the build chroot, especially
- ;; not to be a symbolic link to /run/shm.
- ;; FIXME:
- ;; The following dependencies are all optional, but should be
- ;; available for maximum coverage:
- ;; * librpm (rpm) ; investigate failure
- ;; * libtidy-html (tidy-html) ; investigate failure
- (inputs
- `(("exiv2" ,exiv2)
- ("bzip2" ,bzip2)
- ("flac" ,flac)
- ("ffmpeg" ,ffmpeg-4)
- ("file" ,file) ;libmagic, for the MIME plug-in
- ("glib" ,glib)
- ("giflib" ,giflib)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gtk+" ,gtk+)
- ("libarchive" ,libarchive)
- ("libgsf" ,libgsf)
- ("libjpeg" ,libjpeg-turbo)
- ("libltdl" ,libltdl)
- ("libmpeg2" ,libmpeg2)
- ("libmp4v2" ,libmp4v2)
- ("libsmf" ,libsmf)
- ("libogg" ,libogg)
- ("libtiff" ,libtiff)
- ("libvorbis" ,libvorbis)
- ("zlib" ,zlib)))
- (native-inputs
- (list pkg-config))
- (outputs '("out"
- "static")) ; 420 KiB .a files
- (arguments
- `(#:configure-flags
- (list (string-append "--with-ltdl="
- (assoc-ref %build-inputs "libltdl")))
- #:parallel-tests? #f
- #:phases
- (modify-phases %standard-phases
- (add-after 'configure 'fix-exiv2-tests
- ;; exiv2>=0.27.3 rounds geolocation
- ;; https://github.com/Exiv2/exiv2/pull/1107/commits/db1be4ae8e1077949fcb6a960e93069d6a41b395#diff-f3f55183ccbe956c720c86e61f708d9f
- (lambda _
- (substitute* "src/plugins/test_exiv2.c"
- (("17.585\\\\\" ") "18\\\"")
- (("21.713\\\\\" ") "22\\\""))
- #t))
- (add-after 'install 'move-static-libraries
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Move static libraries to the "static" output.
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib"))
- (static (assoc-ref outputs "static"))
- (slib (string-append static "/lib")))
- (mkdir-p slib)
- (for-each (lambda (file)
- (install-file file slib)
- (delete-file file))
- (find-files lib "\\.a$"))
- #t))))))
- (synopsis "Library to extract meta-data from media files")
- (description
- "GNU libextractor is a library for extracting metadata from files. It
+ (name "libextractor")
+ (version "1.13")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/libextractor/libextractor-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0mgprmwdhdwq9xhfxfhcncd304425nvcc4zi8ci5f0nja4n333xv"))
+ (patches
+ (search-patches "libextractor-tidy-support.patch"))))
+ (build-system gnu-build-system)
+ (outputs '("out"
+ "static")) ; 420 KiB .a files
+ (arguments
+ (list #:configure-flags
+ #~(list (string-append "--with-ltdl="
+ #$(this-package-input "libltdl")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'force-reconfigure
+ (lambda _
+ (delete-file "configure")))
+ (add-after 'install 'move-static-libraries
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Move static libraries to the "static" output.
+ (let* ((out #$output)
+ (lib (string-append out "/lib"))
+ (slib (string-append #$output:static "/lib")))
+ (mkdir-p slib)
+ (for-each (lambda (file)
+ (install-file file slib)
+ (delete-file file))
+ (find-files lib "\\.a$"))))))))
+ (native-inputs
+ (list autoconf-2.71
+ automake
+ gettext-minimal
+ libtool
+ pkg-config
+ texinfo))
+ (inputs
+ (list bzip2
+ exiv2
+ file ;libmagic, for the MIME plug-in
+ flac
+ gdk-pixbuf
+ giflib
+ glib
+ gst-plugins-base
+ gstreamer
+ libapparmor
+ libarchive
+ libgsf
+ libjpeg-turbo
+ libltdl
+ libmp4v2
+ libmpeg2
+ libogg
+ libsmf
+ libtiff
+ libvorbis
+ rpm
+ tidy-html
+ zlib))
+ (synopsis "Library to extract meta-data from media files")
+ (description
+ "GNU libextractor is a library for extracting metadata from files. It
supports a very large number of file formats, including audio files, document
files, and archive files. Each file format is implemented as a plugin, so
new formats can be added easily. The package also contains a command-line
tool to extract metadata from a file and print the results.")
- (license license:gpl3+)
- (home-page "https://www.gnu.org/software/libextractor/")))
+ (license license:gpl3+)
+ (home-page "https://www.gnu.org/software/libextractor/")))
(define-public libmicrohttpd
(package
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index a60fd8717e..215a625373 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2024 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2016, 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016-2019, 2021, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017, 2023 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
@@ -764,7 +764,7 @@ variable defined below. It requires guile-json to be installed."
;; ,(search-patch "icecat-use-system-media-libs.patch"))
rust
`(,rust "cargo")
- rust-cbindgen-0.24
+ rust-cbindgen
llvm-15
clang-15
perl
@@ -1851,7 +1851,7 @@ ca495991b7852b855"))
pkg-config
python-wrapper
rust
- rust-cbindgen-0.23
+ rust-cbindgen
which
yasm))
(home-page "https://www.thunderbird.net")
diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 53ae308219..ceb1940ad9 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -261,6 +261,29 @@ been designed so it can be used as a standalone package for any projects
needing to use secp256k1 elliptic curve cryptography.")
(license license:isc))))
+(define-public go-github-com-bwesterb-go-ristretto
+ (package
+ (name "go-github-com-bwesterb-go-ristretto")
+ (version "1.2.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bwesterb/go-ristretto")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:unpack-path "github.com/bwesterb/go-ristretto"
+ #:import-path "github.com/bwesterb/go-ristretto/edwards25519"))
+ (home-page "https://github.com/bwesterb/go-ristretto")
+ (synopsis "Operations on the Ristretto prime-order group")
+ (description "This is a pure Go implementation of the group operations on
+the Ristretto prime-order group built from Edwards25519.")
+ (license license:expat)))
+
(define-public go-github-com-cespare-xxhash
(package
(name "go-github-com-cespare-xxhash")
diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 0b3db6e379..ef700b9373 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -237,6 +237,31 @@ interface around the standard library's @code{time} package so that the applicat
can use the realtime clock while tests can use the mock clock.")
(license license:expat)))
+(define-public go-github-com-beorn7-perks-quantile
+ (package
+ (name "go-github-com-beorn7-perks-quantile")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/beorn7/perks")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17n4yygjxa6p499dj3yaqzfww2g7528165cl13haj97hlx94dgl7"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/beorn7/perks/quantile"
+ #:unpack-path "github.com/beorn7/perks"))
+ (home-page "https://github.com/beorn7/perks")
+ (synopsis "Compute approximate quantiles over an unbounded data stream")
+ (description
+ "Perks contains the Go package @code{quantile} that computes
+approximate quantiles over an unbounded data stream within low memory and CPU
+bounds.")
+ (license license:expat)))
+
(define-public go-github-com-bitly-go-hostpool
(package
(name "go-github-com-bitly-go-hostpool")
@@ -285,28 +310,51 @@ information and periodically output metrics")
(license license:expat)))
(define-public go-github-com-blang-semver
- (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
- (revision "0"))
- (package
- (name "go-github-com-blang-semver")
- (version (git-version "0.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/blang/semver")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "19pli07y5592g4dyjyj0jq5rn548vc3fz0qg3624vm1j5828p1c2"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/blang/semver"))
- (home-page "https://github.com/blang/semver")
- (synopsis "Semantic versioning library written in Go")
- (description
- "Semver is a library for Semantic versioning written in Go.")
- (license license:expat))))
+ (package
+ (name "go-github-com-blang-semver")
+ (version "3.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blang/semver")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16s66zbfkn35msmxpkiwf5dv91kzw7yzxzkcv8ma44j7lbgzx5qk"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/blang/semver"))
+ (home-page "https://github.com/blang/semver")
+ (synopsis "Semantic versioning library written in Go")
+ (description
+ "Semver is a library for Semantic versioning written in Go.")
+ (license license:expat)))
+
+(define-public go-github-com-blang-semver-v4
+ (package
+ (inherit go-github-com-blang-semver)
+ (name "go-github-com-blang-semver-v4")
+ (version "4.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blang/semver")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14h9ys4n4kx9cbj42lkdf4i5k3nkll6sd62jcvl7cs565v6fiknz"))))
+ (arguments
+ (list
+ #:import-path "github.com/blang/semver/v4"
+ #:unpack-path "github.com/blang/semver"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-examples
+ (lambda* (#:key import-path #:allow-other-keys)
+ (delete-file-recursively
+ (string-append "src/" import-path "/examples")))))))))
(define-public go-github-com-bmizerany-perks-quantile
(package
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 49e25320fa..c386421bec 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -8519,29 +8519,6 @@ configuration languages, but other uses may be possible too.")
(description "This package implements a low-level key/value store in Go.")
(license license:expat)))
-(define-public go-github-com-bwesterb-go-ristretto
- (package
- (name "go-github-com-bwesterb-go-ristretto")
- (version "1.2.3")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/bwesterb/go-ristretto")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0h508v790wk6g8jq0gh18296xl87vmgc4fhwnac7mk6i5g3mz6v4"))))
- (build-system go-build-system)
- (arguments
- '(#:unpack-path "github.com/bwesterb/go-ristretto"
- #:import-path "github.com/bwesterb/go-ristretto/edwards25519"))
- (home-page "https://github.com/bwesterb/go-ristretto")
- (synopsis "operations on the Ristretto prime-order group")
- (description "This is a pure Go implementation of the group operations on
-the Ristretto prime-order group built from Edwards25519.")
- (license license:expat)))
-
(define-public go-github-com-rogpeppe-go-internal
(package
(name "go-github-com-rogpeppe-go-internal")
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index d0c443d38c..2584307635 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -47,6 +47,7 @@
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1088,7 +1089,7 @@ It has a nice, simple s-expression based syntax.")
(define-public guile-scheme-json-rpc
(package
(name "guile-scheme-json-rpc")
- (version "0.4.0")
+ (version "0.4.5a")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1097,14 +1098,15 @@ It has a nice, simple s-expression based syntax.")
(file-name (git-file-name name version))
(sha256
(base32
- "0jsampz2ahs18z6yh9b5l3lkj8ycnavs0vg9sjngdj3w3zvrdcvm"))))
+ "0356hm6phcfgvwvx3ys6b927v40jzb7qrfgvql7g78na24zp2cmi"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'change-to-guile-dir
(lambda _
(chdir "guile"))))))
- (inputs (list guile-3.0 guile-srfi-145 guile-srfi-180))
+ (inputs (list guile-3.0))
+ (propagated-inputs (list guile-srfi-145 guile-srfi-180))
(native-inputs (list pkg-config))
(synopsis "Library providing JSON-RPC capability for Guile Scheme")
(description
@@ -1117,7 +1119,7 @@ for calling methods on remote servers by exchanging JSON objects.")
(define-public guile-ares-rs
(package
(name "guile-ares-rs")
- (version "0.9.1")
+ (version "0.9.3")
(source
(origin
(method git-fetch)
@@ -1127,7 +1129,7 @@ for calling methods on remote servers by exchanging JSON objects.")
(file-name (git-file-name name version))
(sha256
(base32
- "173jg8z0cwq5r67lzxsmyir5f6cxd9i5gzb3qryq71cqq4h1c77n"))))
+ "021lg06c5lrp2j1qv8hl4jh4yq07k158h824kjv6b87bxqk7vq54"))))
(build-system guile-build-system)
(arguments
(list
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index 36eed11802..0a1065535b 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -241,10 +241,13 @@ written in Go.")
(snippet '(for-each delete-file-recursively
;; TODO: unbundle the rest as well
'("vendor/github.com/alecthomas"
- ;; "vendor/github.com/blang"
+ "vendor/github.com/benbjohnson/clock"
+ "vendor/github.com/beorn7/perks"
+ "vendor/github.com/blang"
"vendor/github.com/cespare"
- ;; TODO: Go files not found
- ;; "vendor/github.com/cheggaaa"
+ ;; TODO: kubo depends on v1.0.29 which is way too
+ ;; hard to back port.
+ ; "vendor/github.com/cheggaaa/pb"
"vendor/github.com/davecgh"
"vendor/github.com/dustin"
"vendor/github.com/flynn"
@@ -261,8 +264,6 @@ written in Go.")
;; "vendor/github.com/ipld"
"vendor/github.com/jackpal"
"vendor/github.com/klauspost"
- ;; TODO: Go files not found
- ;; "vendor/github.com/lucas-clemente"
"vendor/github.com/mattn"
"vendor/github.com/mgutz"
"vendor/github.com/minio"
@@ -306,20 +307,19 @@ written in Go.")
#~(string-append #$output "/bin/ipfs"))
"commands" "completion" "bash")))))))))
(inputs (list go-github-com-alecthomas-units
- ;; TODO: needs to be updated first
- ;; go-github-com-blang-semver
+ go-github-com-benbjohnson-clock
+ go-github-com-blang-semver-v4
go-github-com-cespare-xxhash
go-github-com-cheekybits-genny
- go-github-com-cheggaaa-pb-v3
go-github-com-davecgh-go-spew
go-github-com-dustin-go-humanize
go-github-com-flynn-noise
go-github-com-francoispqt-gojay
go-github-com-fsnotify-fsnotify
go-github-com-gogo-protobuf
- go-github-com-google-uuid
go-github-com-golang-groupcache-lru
go-github-com-golang-snappy
+ go-github-com-google-uuid
go-github-com-gorilla-mux
go-github-com-gorilla-websocket
go-github-com-jackpal-go-nat-pmp
@@ -344,12 +344,11 @@ written in Go.")
go-github-com-spaolacci-murmur3
go-github-com-stretchr-testify
go-github-com-syndtr-goleveldb
- go-gopkg-in-yaml-v2
- go-gopkg-in-yaml-v3
go-go-uber-org-atomic
go-go-uber-org-multierr
go-go-uber-org-zap
go-golang-org-x-crypto
+ go-golang-org-x-exp
go-golang-org-x-lint
go-golang-org-x-mod
go-golang-org-x-net
@@ -357,10 +356,11 @@ written in Go.")
go-golang-org-x-sync
go-golang-org-x-sys
go-golang-org-x-term
+ go-golang-org-x-text
go-golang-org-x-tools
go-golang-org-x-xerrors
- go-golang-org-x-exp
- go-golang-org-x-text
+ go-gopkg-in-yaml-v2
+ go-gopkg-in-yaml-v3
go-lukechampine-com-blake3))
(native-inputs
(append (if (%current-target-system)
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 151fc8aa89..613742007a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1217,7 +1217,7 @@ new Date();"))
(define-public openjdk11
(package
(name "openjdk")
- (version "11.0.17")
+ (version "11.0.22")
(source (origin
(method url-fetch)
(uri (string-append "https://openjdk-sources.osci.io/openjdk11/openjdk-"
@@ -1225,7 +1225,7 @@ new Date();"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "1prvqy0ysz0999wrhsrbz6vrknpqfihl9l74l16ph93g89dqi5ia"))
+ "18ca4syp9xlrqjgyjkb1sp9835riy6aym5xs81r8byrz6jlb2473"))
(modules '((guix build utils)))
(snippet
'(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))
@@ -1534,7 +1534,7 @@ new Date();"))
(define-public openjdk12
(make-openjdk
- openjdk11 "12.33" "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"
+ openjdk11 "12.33" "0pi2gwib3j2imi4l623iaywrmvfh9rqzh82lj2gxqbrmg55swvjf"
(source
(origin
(method url-fetch)
@@ -1542,7 +1542,7 @@ new Date();"))
(file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
- "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"))
+ "0pi2gwib3j2imi4l623iaywrmvfh9rqzh82lj2gxqbrmg55swvjf"))
(modules '((guix build utils)))
(snippet
'(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))
@@ -1573,8 +1573,8 @@ blacklisted.certs.pem"
"#! java BlacklistedCertsConverter SHA-256\n"))))))))))
(define-public openjdk13
- (make-openjdk openjdk12 "13.0.13"
- "0pxf4dlig61k0pg7amg4mi919hzam7nzwckry01avgq1wj8ambji"
+ (make-openjdk openjdk12 "13.0.14"
+ "1v92i5rhahqkjw8mz09c9qasnxqc67ygy0y266kdmm534z0da755"
(source (origin
(inherit (package-source base))
(patches '())))))
@@ -1596,8 +1596,8 @@ blacklisted.certs.pem"
(define-public openjdk15
(make-openjdk
- openjdk14 "15.0.9"
- "1k3x06fv89l84ysjsyw8s89q8blghq85m6xjzv373x6297ln8n7a"
+ openjdk14 "15.0.10"
+ "0hdllv348bws6m992bh73jik18x0sv0k2m9l817b3zb7q802sp7x"
(source (origin
(inherit (package-source base))
(modules '())
@@ -1623,8 +1623,8 @@ blacklisted.certs.pem"
(define-public openjdk17
(make-openjdk
- openjdk16 "17.0.5"
- "1asnysg6kxdkrmb88y6qihdr12ljsyxv0mg6hlcs7cwxgsdlqkfs"
+ openjdk16 "17.0.10"
+ "1bq1rqnipz6wdr05s20gm8nlpb3328ljxckzvc5ag0gf7fzlhn5f"
(source (origin
(inherit (package-source base))
(patches (search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
@@ -1639,8 +1639,8 @@ blacklisted.certs.pem"
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))))
(define-public openjdk18
- (make-openjdk openjdk17 "18.0.2"
- "1yimfdkwpinhg5cf1mcrzk9xvjwnray3cx762kypb9jcwbranjwx"))
+ (make-openjdk openjdk17 "18.0.2.1"
+ "0zxanjzz4p3psqahlidh55vx1ldanq70c2ygk3gcfn9a94vnr9rg"))
(define-public openjdk19
(make-openjdk openjdk18 "19.0.2"
@@ -1660,12 +1660,12 @@ blacklisted.certs.pem"
(setenv "SOURCE_DATE_EPOCH" "1234567890")))))))))
(define-public openjdk20
- (make-openjdk openjdk19 "20"
- "0pk5lpwijfv9qv7vwpsq2xfklbnqdfs6xbdhc5aamrpar4xi4ykx"))
+ (make-openjdk openjdk19 "20.0.2"
+ "1af1v2c3d8x4c6shzl6cv9qwq7a4hn5map5pjh9vjcky0hkzd489"))
(define-public openjdk21
- (make-openjdk openjdk20 "21"
- "06wjfwrkqykjdkis2s1nh91cy8vwincnmc699cxvyk3fc12jf3vw"
+ (make-openjdk openjdk20 "21.0.2"
+ "0d1g3wnzr5whjpq8gvxq0h7kd7lxd3xgc6bh3kg8vzz096asn0kj"
(source (origin
(inherit (package-source base))
(patches (search-patches "openjdk-21-fix-rpath.patch"
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 1dd3ded3a8..054edc148b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -497,17 +497,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "mainline" kernel.
-(define-public linux-libre-6.7-version "6.7.6")
+(define-public linux-libre-6.7-version "6.7.9")
(define-public linux-libre-6.7-gnu-revision "gnu")
(define deblob-scripts-6.7
(linux-libre-deblob-scripts
linux-libre-6.7-version
linux-libre-6.7-gnu-revision
(base32 "1ddngihfmwffgvxxv8xsppi76r6grvdxr6zzfzvgl9qw07a6c9fd")
- (base32 "1vb2pd0wdfl9p5qi8hj1i5xg1p4pyrp01iqhap9xbb2yai4l80j5")))
+ (base32 "1lhsy2qnmz47r8m926k1kng912m64j7pnpcvd1ddgdqpq5byp88j")))
(define-public linux-libre-6.7-pristine-source
(let ((version linux-libre-6.7-version)
- (hash (base32 "1lrp7pwnxnqyy8c2l4n4nz997039gbnssrfm8ss8kl3h2c7fr2g4")))
+ (hash (base32 "0inkvyrvq60j9lxgivkivq3qh94lsfc1dpv6vwgxmy3q0zy37mqg")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.7)))
@@ -515,17 +515,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-6.6-version "6.6.18")
+(define-public linux-libre-6.6-version "6.6.21")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
linux-libre-6.6-version
linux-libre-6.6-gnu-revision
(base32 "1qm8f3fq4yx59f7b6yky5ryyf229ypxnry922sr8cy0s7mp62cmv")
- (base32 "0kavbby960k7wg355p3hjb9v1c4gnk8dv3lkfhpz44ayhv7kihg5")))
+ (base32 "014w19b9igdy3rpwrqn21why151zlc9hdx2b1qvdkjsbz6smx3lp")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
- (hash (base32 "07cv97l5jiakmmv35n0ganvqfr0590b02f3qb617qkx1zg2xhhsf")))
+ (hash (base32 "0mz420w99agr7jv1jgqfr4fjhzbv005xif086sqx556s900l62zf")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
@@ -533,37 +533,37 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-6.1-version "6.1.79")
+(define-public linux-libre-6.1-version "6.1.81")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
linux-libre-6.1-version
linux-libre-6.1-gnu-revision
(base32 "1sf80f2i4vf888xjcn84ymn4w5ynn30ib9033zwmv7f09yvfhapy")
- (base32 "0vghx43lf7madaihsm279qnw8fsmgwq6p7r39r2m645mvap8mjxw")))
+ (base32 "08y5smwgbl2l74dlk850pbvn8d1y14cqvll2gbx80vmvfwlzp8c3")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
- (hash (base32 "16xkd0hcslqlcf55d4ivzhf1fkhfs5yy0m9arbax8pmm5yi9r97s")))
+ (hash (base32 "0arl96yrqplbmp2gjyqcfma1lgc30kbn95m0sflv0yyldwf8dg8f")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
-(define-public linux-libre-5.15-version "5.15.149")
+(define-public linux-libre-5.15-version "5.15.151")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "18ac30kxg2mf2f6gk3p935hzhz2qs110jy4xwk21kblnnkskbxj8")
- (base32 "14pw0yl0yxdgcdp01rpi91ylil9irwzxfq04kfvn3gg2abaq37bn")))
+ (base32 "1a4la9nfdl5qiyfbzhgbqhl638wy1crkgpfnfaj0qf3hg4jsg0g4")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
- (hash (base32 "1c01fnaghj55mkgsgddznq1zq4mswsa05rz00kmh1d3y6sd8115x")))
+ (hash (base32 "0jby224ncdardjwmf8c59s5j71inpvdlzah984ilf2b6y85pc7la")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
-(define-public linux-libre-5.10-version "5.10.210")
+(define-public linux-libre-5.10-version "5.10.212")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -573,12 +573,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "12csh2zyjrqzgqcv799gv8h4xaw1irxh2zqddn4jqp5p7psx4j5k")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "0vggj3a71awc1w803cdzrnkn88rxr7l1xh9mmdcw9hzxj1d3r9jf")))
+ (hash (base32 "14vll2bghd52wngjxy78hgglydcxka59yziji0w56dcdpmky9wqc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.269")
+(define-public linux-libre-5.4-version "5.4.271")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -588,12 +588,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0x0xg0fcykpd117x3q0gim8jilhx922ashhckjvafxv2gk2zzjhj")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1kqqm4hpif3jy2ycnb0dfjgzyn18vqhm1i5q7d7rkisks33bwm7z")))
+ (hash (base32 "0l2qv4xlhnry9crs90rkihsxyny6jz8kxw08bfad7nys9hrn3g6d")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.307")
+(define-public linux-libre-4.19-version "4.19.309")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@@ -603,7 +603,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fgkp3v7qgqpn7l1987xcwwlrmwsbscqnxfv06p8nkavrhymrv3c")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "0lp3fc7sqy48vpcl2g0n1bz7i1hp9k0nlz3i1xfh9l056ihzzvl3")))
+ (hash (base32 "1yc45kfiwdqsqa11sxafs82b0day6qvgjcll8rx9vipidsmagbcm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
@@ -1100,24 +1100,24 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
;;; Generic kernel packages.
;;;
-(define-public linux-libre-6.6
- (make-linux-libre* linux-libre-6.6-version
- linux-libre-6.6-gnu-revision
- linux-libre-6.6-source
+(define-public linux-libre-6.7
+ (make-linux-libre* linux-libre-6.7-version
+ linux-libre-6.7-gnu-revision
+ linux-libre-6.7-source
'("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
-(define-public linux-libre-version linux-libre-6.6-version)
-(define-public linux-libre-gnu-revision linux-libre-6.6-gnu-revision)
-(define-public linux-libre-pristine-source linux-libre-6.6-pristine-source)
-(define-public linux-libre-source linux-libre-6.6-source)
-(define-public linux-libre linux-libre-6.6)
+(define-public linux-libre-version linux-libre-6.7-version)
+(define-public linux-libre-gnu-revision linux-libre-6.7-gnu-revision)
+(define-public linux-libre-pristine-source linux-libre-6.7-pristine-source)
+(define-public linux-libre-source linux-libre-6.7-source)
+(define-public linux-libre linux-libre-6.7)
-(define-public linux-libre-6.7
- (make-linux-libre* linux-libre-6.7-version
- linux-libre-6.7-gnu-revision
- linux-libre-6.7-source
+(define-public linux-libre-6.6
+ (make-linux-libre* linux-libre-6.6-version
+ linux-libre-6.6-gnu-revision
+ linux-libre-6.6-source
'("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
@@ -2005,17 +2005,6 @@ GnuPG-based password manager like @code{pass}.")
(package
(inherit linux-libre)
(name "linux-libre-documentation")
- (source
- (origin
- (inherit linux-libre-source)
- (patches
- (list
- (origin
- (method url-fetch)
- (uri "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/Documentation/sphinx/kernel_feat.py?id=c23de7ceae59e4ca5894c3ecf4f785c50c0fa428")
- (sha256
- (base32
- "0inw2pl7nh82sw8bhvvzqa61552bisl78yc1nyl2x6dmpyppzrld")))))))
(arguments
(list
#:tests? #f
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 435f588ab3..ec9bf3a9ca 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -12426,11 +12426,11 @@ Scalable Vector Graphics files.")
(sbcl-package->cl-source-package sbcl-cl-svg))
(define-public sbcl-nodgui
- (let ((commit "6baccf45371afd4dcc8cd3f38332b300614783b6")
+ (let ((commit "35fd379e11162995ed48c2f8ebe6a5bf0a6f48cb")
(revision "1"))
(package
(name "sbcl-nodgui")
- (version (git-version "0.4.8.6" revision commit))
+ (version (git-version "0.6.0.2" revision commit))
(source
(origin
(method git-fetch)
@@ -12439,7 +12439,7 @@ Scalable Vector Graphics files.")
(commit commit)))
(file-name (git-file-name "cl-nodgui" version))
(sha256
- (base32 "0fjz8362qmvkbzj9ylyllkdxg7vvj38l3y5qn4xi2gim92x4lx67"))))
+ (base32 "01l1hyzf8ryc35ydrjhqjn4az8asdwn46knl5gx8v02z2jcv7j24"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria
@@ -12451,8 +12451,11 @@ Scalable Vector Graphics files.")
sbcl-esrap
sbcl-jpeg-turbo
sbcl-named-readtables
+ sbcl-cl-opengl
sbcl-parse-number
sbcl-pngload
+ sbcl-sdl2
+ sbcl-zpng
tk
tklib))
(arguments
@@ -19105,37 +19108,39 @@ protocol for Mastodon.")
(sbcl-package->cl-source-package sbcl-tooter))
(define-public sbcl-croatoan
- (package
- (name "sbcl-croatoan")
- (version "0.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/McParen/croatoan")
- (commit (string-append "v" version))))
- (file-name (git-file-name "cl-croatoan" version))
- (sha256
- (base32 "0x2rlckyn8kn5mqy0fib8piggz694g3naarz2dvha1hsy4jhb1wg"))))
- (build-system asdf-build-system/sbcl)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "ncurses/ncurses.lisp"
- (("libncursesw.so")
- (search-input-file inputs "/lib/libncursesw.so"))))))))
- (inputs
- (list ncurses
- sbcl-cffi
- sbcl-trivial-gray-streams
- sbcl-bordeaux-threads))
- (synopsis "Common Lisp bindings for the ncurses terminal library")
- (description "Croatoan provides high-level Common Lisp CLOS bindings for
+ (let ((commit "282145ff9e9005fddc4241bc6827b3ab09c5bd25")
+ (revision "1"))
+ (package
+ (name "sbcl-croatoan")
+ (version (git-version "2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/McParen/croatoan")
+ (commit commit)))
+ (file-name (git-file-name "cl-croatoan" version))
+ (sha256
+ (base32 "021h2f2yj4j9gynr3k7qi36x94jm5b95p3vaddbaih96wyzgbmq5"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "ncurses/ncurses.lisp"
+ (("libncursesw.so")
+ (search-input-file inputs "/lib/libncursesw.so"))))))))
+ (inputs
+ (list ncurses
+ sbcl-cffi
+ sbcl-trivial-gray-streams
+ sbcl-bordeaux-threads))
+ (synopsis "Common Lisp bindings for the ncurses terminal library")
+ (description "Croatoan provides high-level Common Lisp CLOS bindings for
the ncurses terminal library.")
- (home-page "https://github.com/McParen/croatoan")
- (license license:expat)))
+ (home-page "https://github.com/McParen/croatoan")
+ (license license:expat))))
(define-public ecl-croatoan
(sbcl-package->ecl-package sbcl-croatoan))
diff --git a/gnu/packages/llvm-meta.scm b/gnu/packages/llvm-meta.scm
new file mode 100644
index 0000000000..822cb5aade
--- /dev/null
+++ b/gnu/packages/llvm-meta.scm
@@ -0,0 +1,83 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2024 Efraim Flashner <efraim@flashner.co.il>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages llvm-meta)
+ #:use-module (guix utils)
+ #:export (clang-compiler-cpu-architectures))
+
+(define (clang-compiler-cpu-architectures version)
+ "Return package properties for Clang VERSION."
+ `((compiler-cpu-architectures
+ ;; These lists were obtained by running:
+ ;;
+ ;; guix shell clang -- llc -march=x86-64 -mattr=help
+ ;;
+ ;; and then filtering against clang/test/Misc/target-invalid-cpu-note.c
+ ("powerpc64le"
+ ,@(if (version>=? version "11.0")
+ '("power8" "power9" "power10" "powerpc64le")))
+ ("x86_64"
+ ,@(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 "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 '()))))))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index c002f62cac..2b8e8d6215 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018–2022 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018, 2021-2024 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2021-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -65,6 +65,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages llvm-meta)
#:use-module (gnu packages lua)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
@@ -79,8 +80,7 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (make-lld-wrapper
- system->llvm-target
- clang-properties))
+ system->llvm-target))
(define* (system->llvm-target #:optional
(system (or (and=> (%current-target-system)
@@ -481,73 +481,7 @@ code analysis tools.")
(define (clang-properties version)
"Return package properties for Clang VERSION."
- `((compiler-cpu-architectures
- ("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 '()))))))
+ `((clang-compiler-cpu-architectures version)))
(define-public (make-clang-toolchain clang libomp)
(package
@@ -616,7 +550,8 @@ output), and Binutils.")
'(("14.0.6" . ("clang-14.0-libc-search-path.patch"))
("15.0.7" . ("clang-15.0-libc-search-path.patch"))
("16.0.6" . ("clang-16.0-libc-search-path.patch"))
- ("17.0.6" . ("clang-17.0-libc-search-path.patch"))))
+ ("17.0.6" . ("clang-17.0-libc-search-path.patch"
+ "clang-17.0-link-dsymutil-latomic.patch"))))
(define (llvm-monorepo version)
(origin
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 71fcf2f4bc..780f6bf6d8 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Imran Iqbal <imran@imraniqbal.org>
;;;
;;; This file is part of GNU Guix.
@@ -219,6 +219,51 @@ accessed using the man command. It uses a Berkeley DB database in place of
the traditional flat-text whatis databases.")
(license license:gpl2+)))
+(define-public man2html
+ (package
+ (name "man2html")
+ (version "1.6g-16")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/debian/man2html")
+ (commit (string-append "debian/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1cxm8b2x4cjmyidi4gfz9q29zrhaxhbnsiqcmlnyr1bdhjsmk786"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ ;; The source include a man page viewer as well as the man2html
+ ;; converter. We're only interested in the converter, so we specify the
+ ;; explicit 'manhtml' target.
+ #:make-flags #~(list (string-append "bindir=" #$output "/bin")
+ "manhtml")
+ #:phases #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (invoke "./configure"
+ (string-append "-prefix=" #$output))))
+ (add-before 'install 'chdir
+ (lambda _
+ (chdir "man2html")))
+ (replace 'install
+ ;; This is needed because the 'manhtml' top level target
+ ;; doesn't exist in man2html/Makefile.
+ (lambda* (#:key make-flags #:allow-other-keys
+ #:rest args)
+ (apply (assoc-ref %standard-phases 'install)
+ `(,@args #:make-flags
+ ,(delete "manhtml" make-flags))))))))
+ (home-page "https://salsa.debian.org/debian/man2html")
+ (synopsis "Man pages to HTML format converter")
+ (description "@command{man2html} is a command-line tool for converting man
+pages into HTML format.")
+ (license license:gpl2+)))
+
(define-public mandoc
(package
(name "mandoc")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7398175837..f91d3e5ba6 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3516,7 +3516,8 @@ September 2004}")
data structures and routines for the scalable (parallel) solution of
scientific applications modeled by partial differential equations.")
(license (license:non-copyleft
- "https://www.mcs.anl.gov/petsc/documentation/copyright.html"))))
+ "https://www.mcs.anl.gov/petsc/documentation/copyright.html"))
+ (properties '((tunable? . #t)))))
(define-public petsc-complex
(package
@@ -7136,16 +7137,21 @@ set.")
(lambda _
(invoke "make" "-C" "docs")))
(replace 'check
- (lambda _
- (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/hypre/lib"))
- (setenv "PATH" (string-append "." ":" (getenv "PATH")))
- (invoke "make" "check" "CHECKRUN=")
- (for-each (lambda (filename)
- (let ((size (stat:size (stat filename))))
- (when (positive? size)
- (error (format #f "~a size ~d; error indication~%"
- filename size)))))
- (find-files "test" ".*\\.err$"))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "LD_LIBRARY_PATH"
+ (string-append (getcwd) "/hypre/lib"))
+ (setenv "PATH"
+ (string-append "." ":"
+ (getenv "PATH")))
+ (invoke "make" "check" "CHECKRUN=")
+ (for-each (lambda (filename)
+ (let ((size (stat:size (stat filename))))
+ (when (positive? size)
+ (error (format #f
+ "~a size ~d; error indication~%"
+ filename size)))))
+ (find-files "test" ".*\\.err$")))))
(add-after 'install 'install-docs
(lambda* (#:key outputs #:allow-other-keys)
;; Custom install because docs/Makefile doesn't honor ${docdir}.
@@ -8070,7 +8076,7 @@ easily be incorporated into existing simulation codes.")
".tgz"))
(sha256
(base32
- "1a9wbgdqyy1whhfc0yl0yqkax3amnqa6iihhq48d063gc0jwfd9a"))
+ "0gzxgd2ybnh49h57rh47vrqnsyk11jn206j5kf9y7p5vksc79ffz"))
(patches (search-patches "combinatorial-blas-awpm.patch"
"combinatorial-blas-io-fix.patch"))))
(build-system cmake-build-system)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 84ccad9641..5d8edd9c49 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3040,38 +3040,63 @@ main purpose is to liberate raw audio rendering from audio and MIDI drivers.")
using a system-independent interface.")
(license license:expat)))
-(define-public python-pyportmidi
+(define-public portmidi-2
(package
- (name "python-pyportmidi")
- (version (package-version portmidi))
- (source (package-source portmidi))
- (build-system python-build-system)
+ (name "portmidi")
+ (version "2.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PortMidi/portmidi")
+ (commit "b808babecdc5d05205467dab5c1006c5ac0fdfd4")))
+ (sha256
+ (base32 "05a3dfpgbpcg08p8a3acjrrd1qy5hvvray2kz2asygy1vf3mx85s"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
(arguments
- `(#:tests? #f ; no tests included
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'enter-dir
- (lambda _ (chdir "pm_python") #t))
- (add-after 'enter-dir 'fix-setup.py
- (lambda _
- (substitute* "setup.py"
- ;; Use Python 3 syntax
- (("print (\".*\")" _ text)
- (string-append "print(" text ")\n"))
- ;; TODO.txt and CHANGES.txt don't exist
- (("CHANGES =.*") "CHANGES = \"\"\n")
- (("TODO =.*") "TODO = \"\"\n"))
- #t)))))
- (inputs
- (list portmidi alsa-lib))
- (native-inputs
- (list python-cython unzip))
- (home-page "https://portmedia.sourceforge.net/portmidi/")
- (synopsis "Python bindings to PortMidi")
+ `(#:tests? #f ;Tests are interactive and can be found in the
+ #:configure-flags ;pm_tests/ directory of the build tree.
+ (list "-DBUILD_PORTMIDI_TESTS=On")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-version
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("2.0.3")
+ (version))))))))
+ (inputs (list alsa-lib))
+ (native-inputs (list unzip))
+ (home-page "https://github.com/PortMidi/")
+ (synopsis "Library for MIDI I/O")
(description
- "This package provides Python bindings to the PortMidi library.")
+ "PortMidi is a library supporting real-time input and output of MIDI data
+using a system-independent interface.")
(license license:expat)))
+(define-public python-pyportmidi
+ (let ((commit "d9e5ee00b208b09618fa0d4a5bbce3c9c077b386")
+ (revision "0"))
+ (package
+ (name "python-pyportmidi")
+ (version (git-version "0.0.7" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PortMidi/pm_python")
+ (commit commit)))
+ (sha256
+ (base32 "1jvp9na8d1hw46w9ybhkimbavfb3ysw7hp30cbk6dj40k5y5vgvz"))
+ (file-name (git-file-name name version))))
+ (build-system python-build-system)
+ (inputs (list portmidi-2 alsa-lib))
+ (native-inputs (list python-cython))
+ (home-page "https://github.com/PortMidi")
+ (synopsis "Python bindings to PortMidi")
+ (description
+ "This package provides Python bindings to the PortMidi library.")
+ (license license:expat))))
+
(define-public frescobaldi
(package
(name "frescobaldi")
@@ -3080,32 +3105,39 @@ using a system-independent interface.")
(origin
(method url-fetch)
(uri (string-append
- "https://github.com/wbsoft/frescobaldi/releases/download/v"
+ "https://github.com/frescobaldi/frescobaldi/releases/download/v"
version "/frescobaldi-" version ".tar.gz"))
(sha256
(base32 "1n60gfnf6x0l1bac088g9adzx0lskbl9knd4y1ynr3y0zcs0kfcz"))))
(build-system python-build-system)
(arguments
(list
- #:tests? #f ;no tests included
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'generate-translations
- (lambda _
- (invoke "make" "-C" "i18n")))
- (add-before 'build 'generate-metadata
- (lambda _
- (invoke "make" "-C" "linux"))))))
- (inputs
- (list lilypond
- poppler
- portmidi
- python-ly
- python-poppler-qt5
- python-pyportmidi
- python-pyqt
- python-sip
- qpageview))
+ #:tests? #f ;no tests included
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'build 'generate-translations
+ (lambda _
+ (invoke "make" "-C" "i18n")))
+ (add-before 'build 'generate-metadata
+ (lambda _
+ (invoke "make" "-C" "linux")))
+ (add-after 'install 'wrap-executable
+ (lambda _
+ ;; Ensure that icons are found at runtime.
+ (wrap-program (string-append #$output
+ "/bin/frescobaldi")
+ `("QT_PLUGIN_PATH" prefix
+ ,(list (getenv "QT_PLUGIN_PATH")))))))))
+ (inputs (list bash-minimal
+ lilypond
+ poppler
+ portmidi-2
+ python-ly
+ python-poppler-qt5
+ python-pyportmidi
+ python-pyqt
+ python-sip
+ qpageview
+ qtsvg-5))
(home-page "https://www.frescobaldi.org/")
(synopsis "LilyPond sheet music text editor")
(description
diff --git a/gnu/packages/nx.scm b/gnu/packages/nx.scm
new file mode 100644
index 0000000000..189cf7de29
--- /dev/null
+++ b/gnu/packages/nx.scm
@@ -0,0 +1,246 @@
+;;; This file is part of GNU Guix.
+;;; Copyright © 2024 Nicolas Debonnaire <nicolas.debonnaire@gmail.com>
+;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages nx)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages commencement)
+ #:use-module (gnu packages cups)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages onc-rpc)
+ #:use-module (gnu packages openldap)
+ #:use-module (gnu packages patchutils)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages qt)
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg))
+
+(define-public nx-libs
+ (package
+ (name "nx-libs")
+ (version "3.5.99.27")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ArcticaProject/nx-libs")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ykbza39ksycpyydaiwwbp7hkmdk96v7b36pn989k39lhfwnn8kz"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ ;; The build randomly fails when run in parallel (see:
+ ;; https://github.com/ArcticaProject/nx-libs/issues/1072).
+ #:parallel-build? #f
+ #:make-flags #~(let ((sh (search-input-file %build-inputs "bin/sh")))
+ (list (string-append "PREFIX=" #$output)
+ (string-append "ETCDIR_NX=" #$output "/etc")
+ (string-append "LOCAL_LDFLAGS=-Wl,"
+ "-rpath=" #$output "/lib,"
+ "-rpath=" #$output "/lib/nx/X11")
+ (string-append "IMAKE_DEFINES=-DUseTIRPC=1"
+ " -DBourneShell=" sh
+ " -DProjectRoot=" #$output
+ " -DDefaultUserPath="
+ #$output "/bin")
+ (string-append "CONFIG_SHELL=" sh)
+ (string-append "SHELL=" sh)
+ ;; Autoreconf being run by Make, the generated
+ ;; configure script shebangs thus haven't been
+ ;; patched; workaround this by running explicitly
+ ;; via the shell.
+ (string-append "CONFIGURE=" sh " ./configure "
+ "--prefix=" #$output)
+ "VERBOSE=1"))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'adjust-Makefile
+ (lambda _
+ ;; It's best to source a script via its absolute path,
+ ;; otherwise it's looked from PATH and fails for POSIX
+ ;; shells, such as our Bash-provided 'sh' (see:
+ ;; https://github.com/ArcticaProject/nx-libs/issues/1071).
+ (substitute* "Makefile"
+ (("\\. replace.sh")
+ ". ./replace.sh"))))
+ (add-after 'install 'wrap-nxdialog
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-program (string-append #$output "/bin/nxdialog")
+ `("GUIX_PYTHONPATH" =
+ (,(getenv "GUIX_PYTHONPATH")))
+ ;; Ensure GObject Introspection typelibs are found.
+ `("GI_TYPELIB_PATH" ":" =
+ (,(getenv "GI_TYPELIB_PATH")))))))))
+ (native-inputs
+ (list autoconf
+ automake
+ bash-minimal ;for wrap-program
+ font-util
+ gccmakedep
+ imake
+ libtool
+ perl
+ pkg-config
+ quilt
+ which))
+ (inputs
+ (list gtk+
+ libjpeg-turbo
+ libtirpc
+ libxcomposite
+ libxdamage
+ libxext
+ libxfont
+ libxinerama
+ libxml2
+ libxpm
+ libxrandr
+ libxtst
+ pixman
+ python-pygobject
+ python-wrapper
+ xkbcomp))
+ (propagated-inputs
+ (list libpng)) ;in Requires of nxcomp.pc
+ (synopsis "NX X11 protocol compression libraries")
+ (description "NX is a software suite which implements very efficient
+compression of the X11 protocol. This increases performance when using X
+applications over a network, especially a slow one. This package provides the
+following libraries:
+@table @code
+@item NX_X11
+NX's modified X Window System (X11) library
+@item Xcomp
+NX differential compression library for X11
+@item Xcompshad
+Session shadowing library
+@end table
+
+The following commands are also provided:
+
+@table @command
+@item nxagent
+Agent providing NX transport of X sessions
+@item nxproxy
+The NX proxy (client) binary
+@item nxdialog
+Helper script
+@end table")
+ (home-page "https://github.com/ArcticaProject/nx-libs")
+ (license license:gpl2)))
+
+(define-public x2goclient
+ (package
+ (name "x2goclient")
+ (version "4.1.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://code.x2go.org/releases/source/x2goclient/x2goclient-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0g6aba8kpsixq4486a8mga945lp31y0mzwa2krs5qqiiip3v72xb"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:make-flags
+ #~(list (string-append "SHELL="
+ (search-input-file %build-inputs "bin/bash"))
+ "QT_VERSION=5"
+ "INSTALL_DIR=install -d -m 755"
+ "INSTALL_FILE=install -m 644"
+ "INSTALL_PROGRAM=install -m 755"
+ (string-append "PREFIX=" #$output)
+ (string-append "ETCDIR=" #$output "/etc"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/onmainwindow.cpp"
+ (("/usr/sbin/sshd")
+ (search-input-file inputs "sbin/sshd"))))))))
+ (native-inputs
+ (list man2html
+ pkg-config
+ qtbase-5
+ qttools-5))
+ (inputs
+ (list cups
+ libssh
+ libxpm
+ nx-libs
+ openldap
+ openssh
+ pulseaudio
+ qtbase-5
+ qtx11extras
+ qtsvg-5))
+ (synopsis "Remote desktop and application solution")
+ (description
+ "X2Go enables you to access a graphical desktop of a computer via
+SSH (Secure Shell). This package provides the X2Go Client, which can connect
+to the X2Go Server. Basic features of X2Go include:
+@itemize
+@item
+Graphical remote desktop that works well over both low bandwidth and high
+bandwidth connections
+@item
+The ability to disconnect and reconnect to a session, even from another
+client
+@item
+Support for sound
+@item
+Support for as many simultaneous users as the computer's resources will
+allow
+@item
+Traffic is securely tunneled over SSH
+@item
+File sharing from client to server
+@item
+Printer sharing from client to server
+@item
+Easily select from multiple desktop environments (e.g., MATE, GNOME, KDE)
+@item
+Remote support possible via desktop sharing
+@item
+The ability to access single applications by specifying the name of the
+desired executable in the client configuration or selecting one of the
+pre-defined common applications.
+@end itemize")
+ (home-page "https://wiki.x2go.org/doku.php")
+ (license license:gpl2)))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index f155edaca0..0e3d1efb07 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -176,8 +176,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.4.0")
- (commit "aeb494322ca9dec4a4d66a7d063239c8536bd538")
- (revision 16))
+ (commit "4c94b9e983bc51d9504655f1e7727c4f6d14b6b7")
+ (revision 18))
(package
(name "guix")
@@ -193,7 +193,7 @@
(commit commit)))
(sha256
(base32
- "1xl769lkpvkjpvq4vwkxm4dp77sr9finvr6izvf4kvyi6s3hbsys"))
+ "19lqlfafs5mrnciw4jz4iccx5zzhj4pyb20bz6cdqcqbf9nmkfp1"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -991,8 +991,8 @@ transactions from C or Python.")
(license license:gpl2+)))
(define-public bffe
- (let ((commit "006b96a9ff41f5d8e639f93f81eeab87d204bd89")
- (revision "4"))
+ (let ((commit "bdfaab91e82d7d43c35405da3b18c46cde8096de")
+ (revision "5"))
(package
(name "bffe")
(version (git-version "0" revision commit))
@@ -1003,7 +1003,7 @@ transactions from C or Python.")
(commit commit)))
(sha256
(base32
- "1ai3dzwp5ddn5i7xzvg0qcj0nbip03jx0d3vhvxqr1vnlr71rzvh"))
+ "0qwnd49apwdx8wrfms2spii1kdg5ashf4591kyfyr89070jjmpa7"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
@@ -1530,8 +1530,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
- (let ((commit "1c80525d21f183ed2556def6fcd021f6ea9a88a4")
- (revision "98"))
+ (let ((commit "d802b817d81e2ea8c9f30664acd7b3b37b16f7c5")
+ (revision "99"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1542,7 +1542,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "0krw4v04ynp8v12zgc87cx6d3rldr13b48kix9rzq4z17x7f39yc"))
+ "1c69sww6mgwh17dd9k00fy6mi05asxb5l1jf2a7q63gv06h3bp0l"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 13174656cb..fa079a9b09 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -425,7 +425,7 @@ applications, there is xclip integration." )
(define-public ssh-to-age
(package
(name "ssh-to-age")
- (version "1.1.2")
+ (version "1.1.7")
(source
(origin
(method git-fetch)
@@ -434,7 +434,7 @@ applications, there is xclip integration." )
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "09rhga9iqmyyq8pkprydy8y15qhzqvbpgzvs681rcyllf8szrj73"))))
+ (base32 "134gpbalyll238wvj9ci0rascgm4csayz863ci99cy5qq8266wrl"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/Mic92/ssh-to-age/cmd/ssh-to-age"
@@ -443,7 +443,7 @@ applications, there is xclip integration." )
go-filippo-io-edwards25519
go-filippo-io-age))
(home-page "https://github.com/Mic92/ssh-to-age")
- (synopsis "Convert SSH @code{ed25519} keys to @code{age} keys.")
+ (synopsis "Convert SSH @code{ed25519} keys to @code{age} keys")
(description "This package provides a simple command-line tool to
convert SSH @code{ed25519} keys to @code{age} keys.")
(license license:expat)))
diff --git a/gnu/packages/patches/clang-17.0-link-dsymutil-latomic.patch b/gnu/packages/patches/clang-17.0-link-dsymutil-latomic.patch
new file mode 100644
index 0000000000..f94840527e
--- /dev/null
+++ b/gnu/packages/patches/clang-17.0-link-dsymutil-latomic.patch
@@ -0,0 +1,14 @@
+This was mistakenly added to llvm-17 while a patch was being rebased.
+
+---
+
+diff --git a/llvm/tools/dsymutil/CMakeLists.txt b/llvm/tools/dsymutil/CMakeLists.txt
+index 3cb88a50ce25..8699d0bb1d6b 100644
+--- a/llvm/tools/dsymutil/CMakeLists.txt
++++ b/llvm/tools/dsymutil/CMakeLists.txt
+@@ -42,4 +42,4 @@ if(APPLE)
+ target_link_libraries(dsymutil PRIVATE "-framework CoreFoundation")
+ endif(APPLE)
+
+-# target_link_libraries(dsymutil PRIVATE ${LLVM_ATOMIC_LIB})
++target_link_libraries(dsymutil PRIVATE ${LLVM_ATOMIC_LIB})
diff --git a/gnu/packages/patches/libextractor-tidy-support.patch b/gnu/packages/patches/libextractor-tidy-support.patch
new file mode 100644
index 0000000000..8fe2f21b2b
--- /dev/null
+++ b/gnu/packages/patches/libextractor-tidy-support.patch
@@ -0,0 +1,81 @@
+Upstream status: submitted to bug-libextractor@gnu.org.
+
+From 1fc6daaeaf829fb941a176831c011888a73c43b9 Mon Sep 17 00:00:00 2001
+From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Date: Mon, 11 Mar 2024 09:36:26 -0400
+Subject: [PATCH] html_extractor: Add support for modern tidy-html.
+
+* configure.ac: Use PKG_PROG_PKG_CONFIG to initialize pkg-config detection.
+<tidy>: Check for library via pkg-config.
+* src/plugins/html_extractor.c: Standardize tidy include file names.
+---
+ configure.ac | 28 +++++++++-------------------
+ src/plugins/html_extractor.c | 4 ++--
+ 2 files changed, 11 insertions(+), 21 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index d17ff39..e89d70c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -176,6 +176,8 @@ AS_CASE(["$target_os"],
+
+ AM_ICONV
+
++PKG_PROG_PKG_CONFIG()
++
+ # We define the paths here, because MinGW/GCC expands paths
+ # passed through the command line ("-DLOCALEDIR=..."). This would
+ # lead to hard-coded paths ("C:\mingw\mingw\bin...") that do
+@@ -424,25 +426,13 @@ AC_CHECK_LIB(magic, magic_open,
+ AM_CONDITIONAL(HAVE_MAGIC, false))],
+ AM_CONDITIONAL(HAVE_MAGIC, false))
+
+-AC_MSG_CHECKING(for tidyNodeGetValue -ltidy)
+-AC_LANG_PUSH(C++)
+-SAVED_LIBS=$LIBS
+-LIBS="$LIBS -ltidy"
+-AC_LINK_IFELSE(
+- [AC_LANG_PROGRAM([[#include <tidy/tidy.h>]],
+- [[ Bool b = tidyNodeGetValue (NULL, NULL, NULL); ]])],
+- [AC_MSG_RESULT(yes)
+- AM_CONDITIONAL(HAVE_TIDY, true)
+- AC_DEFINE(HAVE_TIDY,1,[Have tidyNodeGetValue in libtidy])],
+- [AC_MSG_RESULT(no)
+- AM_CONDITIONAL(HAVE_TIDY, false)])
+-LIBS=$SAVED_LIBS
+-AC_LANG_POP(C++)
+-
+-# restore LIBS
+-LIBS=$LIBSOLD
+-
+-
++dnl tidyNodeGetValue was already available in 5.0.0, released in 2015.
++PKG_CHECK_MODULES([TIDY], [tidy >= 5.0.0],
++ [AC_DEFINE(HAVE_TIDY, 1, [Have tidy])
++ AM_CONDITIONAL(HAVE_TIDY, true)],
++ [AM_CONDITIONAL(HAVE_TIDY, false)])
++CFLAGS="$CFLAGS $TIDY_CFLAGS"
++LIBS="$LIBS $TIDY_LIBS"
+
+ # should 'make check' run tests?
+ AC_MSG_CHECKING(whether to run tests)
+diff --git a/src/plugins/html_extractor.c b/src/plugins/html_extractor.c
+index 5ebf97b..88100d3 100644
+--- a/src/plugins/html_extractor.c
++++ b/src/plugins/html_extractor.c
+@@ -26,8 +26,8 @@
+ #include "platform.h"
+ #include "extractor.h"
+ #include <magic.h>
+-#include <tidy/tidy.h>
+-#include <tidy/tidybuffio.h>
++#include <tidy.h>
++#include <tidybuffio.h>
+
+ /**
+ * Mapping of HTML META names to LE types.
+
+base-commit: a75f40b64b5868967c95ea214e8eaac4f7088b23
+--
+2.41.0
+
diff --git a/gnu/packages/patches/python-poppler-qt5-fix-build.patch b/gnu/packages/patches/python-poppler-qt5-fix-build.patch
deleted file mode 100644
index 099bb86d2f..0000000000
--- a/gnu/packages/patches/python-poppler-qt5-fix-build.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-Patch taken from the upstream repository
-https://github.com/frescobaldi/python-poppler-qt5/issues/43
-
-From 92e5962ec3751ab051d0b655fd61afc7a1cf709e Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Thu, 4 Mar 2021 17:02:51 +0100
-Subject: [PATCH] map type QVector< QPair<TYPE, TYPE> > for
- FormFieldChoice::choicesWithExportValues() (#45)
-
----
- types.sip | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 93 insertions(+)
-
-diff --git a/types.sip b/types.sip
-index 239b8c9..81cb283 100644
---- a/types.sip
-+++ b/types.sip
-@@ -331,5 +331,98 @@ template <TYPE>
- };
-
-
-+/**
-+ * Convert QVector< QPair<TYPE, TYPE> >
-+ * from and to a Python list of a 2-item tuple
-+ */
-+
-+template<TYPE>
-+%MappedType QVector< QPair<TYPE, TYPE> >
-+{
-+%TypeHeaderCode
-+#include <qvector.h>
-+#include <qpair.h>
-+%End
-+
-+%ConvertFromTypeCode
-+ // Create the list.
-+ PyObject *l;
-+
-+ if ((l = PyList_New(sipCpp->size())) == NULL)
-+ return NULL;
-+
-+ // Set the list elements.
-+ for (int i = 0; i < sipCpp->size(); ++i)
-+ {
-+ QPair<TYPE, TYPE>* p = new QPair<TYPE, TYPE>(sipCpp->at(i));
-+ PyObject *ptuple = PyTuple_New(2);
-+ PyObject *pfirst;
-+ PyObject *psecond;
-+
-+ TYPE *sfirst = new TYPE(p->first);
-+ if ((pfirst = sipConvertFromType(sfirst, sipType_TYPE, sipTransferObj)) == NULL)
-+ {
-+ Py_DECREF(l);
-+ Py_DECREF(ptuple);
-+ return NULL;
-+ }
-+ PyTuple_SET_ITEM(ptuple, 0, pfirst);
-+
-+ TYPE *ssecond = new TYPE(p->second);
-+ if ((psecond = sipConvertFromType(ssecond, sipType_TYPE, sipTransferObj)) == NULL)
-+ {
-+ Py_DECREF(l);
-+ Py_DECREF(ptuple);
-+ Py_DECREF(pfirst);
-+ return NULL;
-+ }
-+ PyTuple_SET_ITEM(ptuple, 1, psecond);
-+
-+ PyList_SET_ITEM(l, i, ptuple);
-+ }
-+
-+ return l;
-+%End
-+
-+%ConvertToTypeCode
-+ const sipTypeDef* qpair_type = sipFindType("QPair<TYPE, TYPE>");
-+
-+ // Check the type if that is all that is required.
-+ if (sipIsErr == NULL)
-+ {
-+ if (!PySequence_Check(sipPy))
-+ return 0;
-+
-+ for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+ if (!sipCanConvertToType(PySequence_ITEM(sipPy, i), qpair_type, SIP_NOT_NONE))
-+ return 0;
-+
-+ return 1;
-+ }
-+
-+
-+ QVector< QPair<TYPE, TYPE> > *qv = new QVector< QPair<TYPE, TYPE> >;
-+
-+ for (int i = 0; i < PySequence_Size(sipPy); ++i)
-+ {
-+ int state;
-+ QPair<TYPE, TYPE> * p = reinterpret_cast< QPair<TYPE, TYPE> * >(sipConvertToType(PySequence_ITEM(sipPy, i), qpair_type, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
-+
-+ if (*sipIsErr)
-+ {
-+ sipReleaseType(p, qpair_type, state);
-+ delete qv;
-+ return 0;
-+ }
-+ qv->append(*p);
-+ sipReleaseType(p, qpair_type, state);
-+ }
-+
-+ *sipCppPtr = qv;
-+ return sipGetState(sipTransferObj);
-+%End
-+
-+};
-+
-
- /* kate: indent-width 4; space-indent on; hl c++; indent-mode cstyle; */
diff --git a/gnu/packages/patches/ruby-x25519-automatic-fallback-non-x86_64.patch b/gnu/packages/patches/ruby-x25519-automatic-fallback-non-x86_64.patch
new file mode 100644
index 0000000000..cd501bb343
--- /dev/null
+++ b/gnu/packages/patches/ruby-x25519-automatic-fallback-non-x86_64.patch
@@ -0,0 +1,45 @@
+from https://patch-diff.githubusercontent.com/raw/RubyCrypto/x25519/pull/36.patch
+
+From 5886507e08488c0ed116b1979a073b78b9495683 Mon Sep 17 00:00:00 2001
+From: Eric Long <i@hack3r.moe>
+Date: Sat, 15 Apr 2023 02:58:26 +0800
+Subject: [PATCH] Add automatic fallback for non-x86_64 targets
+
+---
+ Rakefile | 2 +-
+ ext/x25519_precomputed/extconf.rb | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Rakefile b/Rakefile
+index 535697c..6e4f4d3 100644
+--- a/Rakefile
++++ b/Rakefile
+@@ -7,7 +7,7 @@ CLEAN.include("**/*.o", "**/*.so", "**/*.bundle", "pkg", "tmp")
+
+ require "rake/extensiontask"
+ %w[precomputed ref10].each do |provider|
+- next if provider == "precomputed" && RUBY_PLATFORM =~ /arm64-darwin/
++ next if provider == "precomputed" && RUBY_PLATFORM !~ /x86_64|x64/
+
+ Rake::ExtensionTask.new("x25519_#{provider}") do |ext|
+ ext.ext_dir = "ext/x25519_#{provider}"
+diff --git a/ext/x25519_precomputed/extconf.rb b/ext/x25519_precomputed/extconf.rb
+index 7f2ba4d..b049f98 100644
+--- a/ext/x25519_precomputed/extconf.rb
++++ b/ext/x25519_precomputed/extconf.rb
+@@ -4,12 +4,12 @@
+
+ require "mkmf"
+
+-if RUBY_PLATFORM =~ /arm64-darwin|aarch64-linux/
+- File.write("Makefile", "install clean: ;")
+-else
++if RUBY_PLATFORM =~ /x86_64|x64/
+ $CFLAGS << " -Wall -O3 -pedantic -std=c99 -mbmi -mbmi2 -march=haswell"
+
+ create_makefile "x25519_precomputed"
++else
++ File.write("Makefile", "install clean: ;")
+ end
+
+ # rubocop:enable Style/GlobalVars
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index f32403b954..47518e73d1 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2020-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2020-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2024 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@@ -26,6 +26,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2024 dan <i@dan.games>
+;;; Copyright © 2023 Benjamin Slade <slade@lambda-y.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -56,6 +57,7 @@
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (gnu packages)
+ #:use-module (gnu packages aidc)
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
@@ -432,40 +434,25 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.")
(define-public python-poppler-qt5
(package
(name "python-poppler-qt5")
- (version "21.1.0")
+ (version "21.3.0")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "python-poppler-qt5" version))
- (sha256
- (base32
- "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd"))
- (patches (search-patches "python-poppler-qt5-fix-build.patch"))))
- (build-system python-build-system)
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "python-poppler-qt5" version))
+ (sha256
+ (base32 "1q3gvmsmsq3llf9mcbhlkryrgprqrw2z7wmnvagy180f3y2fhxxl"))))
+ (build-system pyproject-build-system)
(arguments
- `(;; There are no tests. The check phase just causes a rebuild.
- #:tests? #f
- #:phases
- (modify-phases %standard-phases
- (replace 'build
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "setup.py"
- ;; This check always fails, so disable it.
- (("if not check_qtxml\\(\\)")
- "if True"))
- ;; We need to pass an extra flag here. This cannot be in
- ;; configure-flags because it should not be passed for the
- ;; installation phase.
- ((@@ (guix build python-build-system) call-setuppy)
- "build_ext" (list (string-append "--pyqt-sip-dir="
- (assoc-ref inputs "python-pyqt")
- "/share/sip")) #t))))))
- (native-inputs
- (list pkg-config))
- (inputs
- (list python-sip-4 python-pyqt poppler-qt5 qtbase-5))
- (home-page "https://pypi.org/project/python-poppler-qt5/")
- (synopsis "Python bindings for Poppler-Qt5")
+ `(;; The sipbuild.api backend builder expects a Python dictionary as per
+ ;; https://peps.python.org/pep-0517/#config-settings, but we
+ ;; give it lists and it fails. The next line is a workaround.
+ #:configure-flags '#nil
+ #:tests? #f))
+ (native-inputs (list pkg-config))
+ (inputs (list python-sip python-pyqt-builder python-pyqt poppler-qt5
+ qtbase-5))
+ (home-page "https://github.com/frescobaldi/python-poppler-qt5")
+ (synopsis "Python binding to Poppler-Qt5")
(description
"This package provides Python bindings for the Qt5 interface of the
Poppler PDF rendering library.")
@@ -1050,7 +1037,7 @@ using a stylus.")
(define-public xournalpp
(package
(name "xournalpp")
- (version "1.2.2")
+ (version "1.2.3")
(source
(origin
(method git-fetch)
@@ -1059,7 +1046,7 @@ using a stylus.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1svmdj43z1shm3wnkrdrq1h6rba843mp4x4d8jmxsx7kwiiz9l78"))))
+ (base32 "1rj9kz21r59cswfpczp5dcmvchbbmybv661iyycaiii2z5gh0h7i"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1527,7 +1514,7 @@ multiple files.")
(define-public pdfpc
(package
(name "pdfpc")
- (version "4.5.0")
+ (version "4.6.0")
(source
(origin
(method git-fetch)
@@ -1536,22 +1523,13 @@ multiple files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0bmy51w6ypz927hxwp5g7wapqvzqmsi3w32rch6i3f94kg1152ck"))))
+ (base32 "0kj84sf5hgr2v2ra6dxmxqcr173h17cpnhg9lcq36shdbdnncwg4"))))
(build-system cmake-build-system)
- (arguments
- '(#:tests? #f ; no test target
- #:phases
- (modify-phases %standard-phases
- ;; This is really a bug in Vala.
- ;; https://github.com/pdfpc/pdfpc/issues/594
- (add-after 'unpack 'fix-vala-API-conflict
- (lambda _
- (substitute* "src/classes/action/movie.vala"
- (("info.from_caps\\(caps\\)")
- "Gst.Video.info_from_caps(out info, caps)")))))))
+ (arguments '(#:tests? #f)) ; no test target
(inputs
`(("cairo" ,cairo)
("discount" ,discount) ; libmarkdown
+ ("qrencode" ,qrencode)
("gtk+" ,gtk+)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm
index 114cde6f1f..0d7e894d60 100644
--- a/gnu/packages/plotutils.scm
+++ b/gnu/packages/plotutils.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016-2024 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
@@ -276,14 +276,14 @@ colors, styles, options and details.")
(define-public asymptote
(package
(name "asymptote")
- (version "2.86")
+ (version "2.87")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
- (base32 "07y9yg7kdkgmz024qzny8xhjw3c367kxfpwzv19cxcy7qcgsvsy4"))
+ (base32 "06sr0fpc3zci7ncj9gwp3h8zhbvxs37rwwzqirnxa86zyfar4shf"))
(modules '((guix build utils)))
(snippet
;; Remove bundled RapidJSON.
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 8d0c5c278b..c2bdfc8da8 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -44,7 +44,7 @@
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev>
-;;; Copyright © 2021, 2022 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2021, 2022, 2024 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2021, 2022 jgart <jgart@dismail.de>
;;; Copyright © 2021 Alice Brenon <alice.brenon@ens-lyon.fr>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
@@ -61,6 +61,7 @@
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -78,15 +79,15 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages python-web)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system copy)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
+ #:use-module (guix download)
#:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
#:use-module (guix utils)
- #:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
@@ -106,8 +107,8 @@
#:use-module (gnu packages node)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
- #:use-module (gnu packages protobuf)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -121,12 +122,12 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages texinfo)
- #:use-module (gnu packages tls)
#:use-module (gnu packages time)
+ #:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
- #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
#:use-module (srfi srfi-1))
(define-public python-huggingface-hub
@@ -1917,21 +1918,47 @@ Amazon S3 compatible object storage server.")
(uri (pypi-uri "pycurl" version))
(sha256
(base32 "1ji46b924caa4saxvjxs9h673yy0kif297nxpnjn84r7w05mjc2p"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- ;; The tests attempt to access external web servers, so we cannot run
- ;; them. Furthermore, they are skipped altogether when using Python 2.
- '(#:tests? #f
+ '(#:test-flags
+ (list "-n" "auto"
+ "-k" (string-append
+ ;; Disable hanginging tests
+ "not test_multi_socket_select"
+ ;; E assert None is not None
+ ;; E+ where None =
+ ;; <tests.multi_callback_test.MultiCallbackTest
+ ;; testMethod=test_easy_pause_unpause>.socket_result
+ " and not test_easy_pause_unpause"
+ " and not test_multi_socket_action"
+ ;; E pycurl.error: (1, '')
+ " and not test_http_version_3"
+ ;; OSError: tests/fake-curl/libcurl/with_gnutls.so: cannot
+ ;; open shared object file: No such file or directory
+ " and not test_libcurl_ssl_gnutls"
+ ;; OSError: tests/fake-curl/libcurl/with_nss.so: cannot
+ ;; open shared object file: No such file or directory
+ " and not test_libcurl_ssl_nss"
+ ;; OSError: tests/fake-curl/libcurl/with_openssl.so: cannot
+ ;; open shared object file: No such file or directory
+ " and not test_libcurl_ssl_openssl"
+ ;; pycurl.error: (56, 'Recv failure: Connection reset by
+ ;; peer')
+ " and not test_post_with_read_callback"))
#:phases (modify-phases %standard-phases
- (add-before 'build 'configure-tls-backend
- (lambda _
- ;; XXX: PycURL fails to automatically determine which TLS
- ;; backend to use when cURL is built with --disable-static.
- ;; See setup.py and <https://github.com/pycurl/pycurl/pull/147>.
- (setenv "PYCURL_SSL_LIBRARY" "gnutls")
- #t)))))
- (native-inputs
- (list python-nose python-bottle))
+ (add-before 'build 'configure-tls-backend
+ (lambda _
+ ;; XXX: PycURL fails to automatically determine which
+ ;; TLS backend to use when cURL is built with
+ ;; --disable-static. See setup.py and
+ ;; <https://github.com/pycurl/pycurl/pull/147>.
+ (setenv "PYCURL_SSL_LIBRARY" "gnutls"))))))
+ (native-inputs
+ (list python-bottle
+ python-flaky
+ python-nose
+ python-pytest
+ python-pytest-xdist))
(inputs
(list curl gnutls))
(home-page "http://pycurl.io/")
@@ -2722,6 +2749,123 @@ object to help create WSGI responses.")
files. These locks can also be used to mediate access to other files.")
(license license:zpl2.1)))
+(define-public python-zconfig
+ (package
+ (name "python-zconfig")
+ (version "4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ZConfig" version))
+ (sha256
+ (base32 "0mh13p38vq7ip4zkvaplzr8w0mqrmmqiyb5y663d165slvxl5mpq"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ ;; This test assumes we still have setup.py in the
+ ;; directory from which we import zconfig, which
+ ;; does not work after installing the package.
+ (delete-file-recursively
+ "src/ZConfig/tests/test_readme.py")
+ (invoke "zope-testrunner" "-vv" "--test-path=src"
+ "--all"))
+ (format #t "test suite not run~%")))))))
+ (native-inputs (list python-docutils python-manuel python-zope-exceptions
+ python-zope-testrunner))
+ (home-page "https://github.com/zopefoundation/ZConfig/")
+ (synopsis "Structured configuration library intended for general use")
+ (description
+ "@code{zconfig} is a configuration library intended for general
+use. It supports a hierarchical schema-driven configuration model that allows
+a schema to specify data conversion routines written in Python. Its model is
+very different from the model supported by the @code{configparser} module
+found in Python's standard library, and is more suitable to
+configuration-intensive applications.")
+ (license license:zpl2.1)))
+
+(define-public python-zodb
+ (package
+ (name "python-zodb")
+ (version "5.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ZODB" version))
+ (sha256
+ (base32 "1pv4w8mnx6j4xvkcjbkh99pv8ljby7g9f7zjq7zhdmk06sykmiy6"))))
+ (build-system pyproject-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ ;; This test does not work after installing the
+ ;; package, since it expects the ZODB source code
+ ;; to reside in the src/ directory.
+ (delete-file-recursively
+ "src/ZODB/tests/testdocumentation.py")
+ (invoke "zope-testrunner" "-vv" "--test-path=src"
+ "--all"))
+ (format #t "test suite not run~%")))))))
+ (propagated-inputs (list python-btrees
+ python-persistent
+ python-zconfig
+ python-six
+ python-transaction
+ python-zc-lockfile
+ python-zodbpickle
+ python-zope-interface))
+ (native-inputs (list python-manuel python-zope-testing
+ python-zope-testrunner))
+ (home-page "http://zodb-docs.readthedocs.io")
+ (synopsis "Object-oriented database for Python")
+ (description
+ "@code{ZODB} provides an object-oriented and @acronym{ACID,
+Atomicity Consistency Isolation Durability} compliant database for Python with
+a high degree of transparency. @code{ZODB} is an object-oriented database,
+not an object-relational mapping. This comes with several advantaged:
+
+@itemize
+@item no separate language for database operations
+@item very little impact on your code to make objects persistent
+@item no database mapper that partially hides the database.
+@item almost no seam between code and database.
+@end itemize")
+ (license license:zpl2.1)))
+
+(define-public python-zodbpickle
+ (package
+ (name "python-zodbpickle")
+ (version "3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "zodbpickle" version))
+ (sha256
+ (base32 "035bjrksl4h92mvjkx6id4gjcpc1k4mbci8ryjl6l9mki7ihx77b"))))
+ (build-system pyproject-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (invoke "zope-testrunner" "-vv" "--test-path=src"
+ "--all")
+ (format #t "test suite not run~%")))))))
+ (native-inputs (list python-zope-testrunner))
+ (home-page "https://github.com/zopefoundation/zodbpickle")
+ (synopsis "Uniform pickling interface for @code{zodb}")
+ (description
+ "This package is a fork of the @code{pickle} module (and the
+supporting C extension) from both Python 3.2 and Python 3.3. The fork adds
+support for the @code{noload} operations used by @code{zodb}.")
+ (license (list license:psfl license:zpl2.1))))
+
(define-public python-zope-event
(package
(name "python-zope-event")
@@ -8409,7 +8553,7 @@ compatibility with Microformats1 (mf1).")
(define-public python-extruct
(package
(name "python-extruct")
- (version "0.13.0")
+ (version "0.16.0")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
@@ -8418,7 +8562,7 @@ compatibility with Microformats1 (mf1).")
(file-name (git-file-name name version))
(sha256
(base32
- "075zldf3dqcc429z1vk2ngbmv034bnlyk6arh3rh30jbsvz9pzl5"))))
+ "1s05sz6nghrap1gjkg3vsqz6djld6lczd6w3r1542ir8n7binl7a"))))
(build-system python-build-system)
(arguments
(list
@@ -8436,7 +8580,6 @@ compatibility with Microformats1 (mf1).")
python-mf2py
python-pyrdfa3
python-rdflib
- python-rdflib-jsonld
python-w3lib))
(home-page "https://github.com/scrapinghub/extruct")
(synopsis "Extract embedded metadata from HTML markup")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 870f542019..8e8b6c6bfa 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -148,6 +148,7 @@
;;; Copyright © 2023, 2024 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr>
;;; Copyright © 2024 Ian Eure <ian@retrospec.tv>
+;;; Copyright © 2024 Adriel Dumas--Jondeau <leirda@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -6378,6 +6379,46 @@ accessible for novices, as well as a scripting interface offering the full
flexibility and power of the Python language.")
(license license:gpl3+)))
+(define-public kalamine
+ (package
+ (name "kalamine")
+ (version "0.36")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "kalamine" version))
+ (sha256
+ (base32 "1xxncavq5a0dydhzpfjdxmqsddl77275d9k9giw1032bdyb9d5is"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'make-test-layouts
+ (lambda _
+ (apply invoke
+ (cons* "python" "-m" "kalamine.cli" "build"
+ (find-files "layouts" "\\.toml")))
+ (invoke "python" "-m" "kalamine.cli" "new" "test.toml"))))))
+ (propagated-inputs
+ (list python-click
+ python-livereload
+ python-lxml
+ python-progress
+ python-pyyaml
+ python-tomli))
+ ;; TODO: Add python-pytest-ruff to native-inputs once it has been
+ ;; packaged.
+ (native-inputs
+ (list python-hatchling python-mypy python-pytest))
+ (home-page "https://github.com/OneDeadKey/kalamine")
+ (synopsis "Keyboard layout maker")
+ (description
+ "Kalamine provides a CLI to create advanced keyboard layout from a
+textual portable description. It also supports layout emulation via web
+browser.")
+ (license license:expat)))
+
(define-public python-dm-tree
(package
(name "python-dm-tree")
@@ -17269,16 +17310,18 @@ consistent API regardless of how the configuration was created.")
(define-public python-configargparse
(package
(name "python-configargparse")
- (version "1.5.3")
+ (version "1.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "ConfigArgParse" version))
(sha256
(base32
- "17vky4ihicbf7nggg30xs7h3g5rxzwgch8vilnnrvdaacszkq2qv"))))
+ "1l866g1dcf2ljf8fl7ggpxk1rggry0lya4d5b264gradi1qp81p7"))))
(build-system pyproject-build-system)
(native-inputs
(list python-mock python-pytest))
+ (propagated-inputs
+ (list python-pyyaml))
(synopsis "Replacement for argparse")
(description "A drop-in replacement for argparse that allows options to also
be set via config files and/or environment variables.")
@@ -24004,8 +24047,18 @@ manipulation, or @code{stdout}.")
(base32
"1vi2fj31vygfcqrkimdmk52q2ldw08g9fn4v4zlgdfgcjlhqyhxn"))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-rdflib-6-compatibility
+ (lambda _
+ ;; See https://github.com/trungdong/prov/issues/151
+ (substitute* "src/prov/tests/test_rdf.py"
+ (("\\.serialize\\(format=\"nt\"\\)")
+ ".serialize(format=\"nt\", encoding=\"utf-8\")")))))))
(propagated-inputs
- (list python-dateutil python-lxml python-networkx python-rdflib-5))
+ (list python-dateutil python-lxml python-networkx python-rdflib))
(native-inputs
(list graphviz python-pydot))
(home-page "https://github.com/trungdong/prov")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 0ae3709b99..12a5148cb1 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -663,7 +663,12 @@ data types.")
#: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"
+ " --exclude"
+ " test_mmap"
+ " test_socket"
+ " test_threading"
+ " test_asyncio"
+ " test_shutdown"
,@(if (system-hurd?)
'(" test_posix" ;multiple errors
" test_time"
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 761d12e31f..9df49d7fb3 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -218,14 +218,14 @@ of C++20 coroutines in connection with certain asynchronous Qt actions.")
(define-public qt5ct
(package
(name "qt5ct")
- (version "1.5")
+ (version "1.8")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/qt5ct/qt5ct-" version ".tar.bz2"))
(sha256
- (base32 "14742vs32m98nbfb5mad0i8ciff5f45gfcb5v03p4hh2dvhhqgfn"))))
+ (base32 "1s88v3x5vxrz981jiqb9cnwak0shz6kgjbkp511i592y85a41dr3"))))
(build-system qt-build-system)
(arguments
(list
@@ -2171,7 +2171,18 @@ plugin for Adobe After Effects.")
"1bkx2sc5hyldarc7w76ymv7dlcna3ib9r2kp67jdqcf856bnrx36"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg-5)
- ((#:tests? _ #f) #f))) ; TODO: Enable the tests
+ ((#:tests? _ #f) #f) ; TODO: Enable the tests
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'patch-qmake
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Adjust the default location of the 'qmake' command known to
+ ;; the 'lprodump' command, which would otherwise look for it
+ ;; in its own bindir.
+ (substitute* "src/linguist/lprodump/main.cpp"
+ (("app.applicationDirPath\\() \\+ QLatin1String\\(\"/qmake\")")
+ (format #f "QLatin1String(~s)"
+ (search-input-file inputs "bin/qmake"))))))))))
(native-inputs (list perl qtdeclarative-5 vulkan-headers))
(inputs (list mesa qtbase-5))
(synopsis "Qt Tools and Designer modules")
diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm
index 5c25ed96da..c4f03c3ed9 100644
--- a/gnu/packages/raspberry-pi.scm
+++ b/gnu/packages/raspberry-pi.scm
@@ -85,7 +85,7 @@ used in the Raspberry Pi")
(supported-systems '("armhf-linux" "aarch64-linux"))
(license license:gpl3)))
-(define raspi-gpio
+(define-public raspi-gpio
(let ((commit "6d0769ac04760b6e9f33b4aa1f11c682237bf368")
(revision "1"))
(package
@@ -466,7 +466,7 @@ secondary LCD display connected to the Raspberry Pi board.")
(define-public rpi-imager
(package
(name "rpi-imager")
- (version "1.7.5")
+ (version "1.8.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -489,7 +489,7 @@ secondary LCD display connected to the Raspberry Pi board.")
(cut member <> keep)))))))
(sha256
(base32
- "0c5qsqh7drvf76hc75m2cp7bf44w7gwbmhgaqjrl5qwb6pbqf7y8"))))
+ "1jr4w9h0bvqpy4r1g22n7b07zpplmc318v4lcfvh70c0rhl2vfi6"))))
(build-system qt-build-system)
(arguments
(list
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 3063ff5887..cc6b009f14 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -367,45 +367,6 @@ powerful language for representing information.")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
-(define-public python-rdflib-5
- (package
- (inherit python-rdflib)
- (version "5.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "rdflib" version))
- (sha256
- (base32
- "0mdi7xh4zcr3ngqwlgqdqf0i5bxghwfddyxdng1zwpiqkpa9s53q"))))
- ;; XXX: Lazily disable tests because they require a lot of work
- ;; and this package is only transitional.
- (arguments '(#:tests? #f))))
-
-;; Note: This package is only needed for rdflib < 6.0; supersede when
-;; the above are removed.
-(define-public python-rdflib-jsonld
- (package
- (name "python-rdflib-jsonld")
- (version "0.6.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "rdflib-jsonld" version))
- (sha256
- (base32
- "0qrshlqzv5g5bign7kjja3xf7hyk7xgayr3yd0qlqda1kl0x6z0h"))))
- (build-system python-build-system)
- (native-inputs
- (list python-nose))
- (propagated-inputs
- (list python-rdflib))
- (home-page "https://github.com/RDFLib/rdflib-jsonld")
- (synopsis "rdflib extension adding JSON-LD parser and serializer")
- (description "This package provides an rdflib extension adding JSON-LD
-parser and serializer.")
- (license license:bsd-3)))
-
(define-public python-cfgraph
(package
(name "python-cfgraph")
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index cc775ec6ef..0dea780882 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2019-2022 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2017-2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net>
@@ -34,7 +34,7 @@
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
-;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023, 2024 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
@@ -3259,7 +3259,10 @@ error streams.")
(file-name (git-file-name name version))
(sha256
(base32
- "1g0311ly32f6hfn4q5fvkbjbl2bhv1l9fx6s0kglxfsrwq51926y"))))
+ "1g0311ly32f6hfn4q5fvkbjbl2bhv1l9fx6s0kglxfsrwq51926y"))
+ (patches
+ (search-patches
+ "ruby-x25519-automatic-fallback-non-x86_64.patch"))))
(build-system ruby-build-system)
(arguments
(list #:test-target "spec"
@@ -9847,13 +9850,13 @@ navigation capabilities to @code{pry}, using @code{byebug}.")
(define-public ruby-stackprof
(package
(name "ruby-stackprof")
- (version "0.2.25")
+ (version "0.2.26")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "stackprof" version))
(sha256
- (base32 "0bhdgfb0pmw9mav1kw9fn0ka012sa0i3h5ppvqssw5xq48nhxnr8"))))
+ (base32 "1gdqqwnampxmc54nf6zfy9apkmkpdavzipvfssmjlhnrrjy8qh7f"))))
(build-system ruby-build-system)
(arguments
(list
@@ -9873,7 +9876,10 @@ navigation capabilities to @code{pry}, using @code{byebug}.")
(("def test_(cputime)" _ name)
(string-append "def skip_" name))
;; This test often fails
- (("def test_gc") "def skip_test_gc"))))
+ (("def test_gc") "def skip_test_gc")
+ ;; This test is known to fail on 32-bit systems.
+ ;; /gnu/store/w8y8wm82by1cnp33n5vy976wbrns9jys-stackprof-0.2.26.gem
+ (("def test_raw") "def skip_test_raw"))))
(add-before 'check 'build-tests
(lambda _
(invoke "rake" "compile")))
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 7313cdef77..d73bd1a030 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -84,6 +84,7 @@
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages kde)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages networking)
#:use-module (gnu packages shells)
#:use-module (gnu packages ssh)
@@ -1782,39 +1783,8 @@ by modifying your @file{Cargo.toml} file from the command line.")
rebase.")
(license license:gpl3+)))
-(define-public rust-cbindgen
- (package
- (name "rust-cbindgen")
- (version "0.13.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "cbindgen" version))
- (file-name (string-append name "-" version ".tar.xz"))
- (sha256
- (base32
- "0673pq96hs7waavkv58v2pakpxpsfyjvbraa5kyl2b44phgdzcid"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("clap" ,rust-clap-2)
- ("log" ,rust-log-0.4)
- ("proc-macro2" ,rust-proc-macro2-1)
- ("quote" ,rust-quote-1)
- ("serde" ,rust-serde-1)
- ("serde-json" ,rust-serde-json-1)
- ("syn" ,rust-syn-1)
- ("tempfile" ,rust-tempfile-3)
- ("toml" ,rust-toml-0.5))))
- (home-page "https://github.com/eqrion/cbindgen/")
- (synopsis "Tool for generating C bindings to Rust code")
- (description
- "This package provides a tool for generating C/C++ bindings to Rust code.")
- (license license:mpl2.0)))
-
(define-public rust-cbindgen-0.26
(package
- (inherit rust-cbindgen)
(name "rust-cbindgen")
(version "0.26.0")
(source
@@ -1824,6 +1794,7 @@ rebase.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0jdbxmn5h5nlr4bifx85gny309djv5djs9q78fa1d7sj0wdw2sys"))))
+ (build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-clap" ,rust-clap-3)
("rust-heck" ,rust-heck-0.4)
@@ -1837,7 +1808,12 @@ rebase.")
("rust-tempfile" ,rust-tempfile-3)
("rust-toml" ,rust-toml-0.5))
#:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-0.5))))
- (native-inputs (list python-cython))))
+ (native-inputs (list python-cython))
+ (home-page "https://github.com/eqrion/cbindgen/")
+ (synopsis "Tool for generating C bindings to Rust code")
+ (description
+ "This package provides a tool for generating C/C++ bindings to Rust code.")
+ (license license:mpl2.0)))
(define-public rust-cbindgen-0.24
(package
@@ -1865,6 +1841,69 @@ rebase.")
(base32
"006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav"))))))
+(define-public rust-cbindgen rust-cbindgen-0.26)
+
+(define-public rust-bindgen-cli
+ (package
+ (name "rust-bindgen-cli")
+ (version "0.69.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "bindgen-cli" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "00dfny07m4xfnqbfn7yr7cqwilj6935lbyg5d39yxjfj8jglfcax"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:install-source? #f
+ #:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.69)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-clap-complete" ,rust-clap-complete-4)
+ ("rust-env-logger" ,rust-env-logger-0.10)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-shlex" ,rust-shlex-1))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
+ (bindgen (string-append bin "/bindgen"))
+ (llvm-dir (string-append
+ (assoc-ref inputs "clang") "/lib")))
+ (install-file "target/release/bindgen" bin)
+ (wrap-program bindgen
+ `("LIBCLANG_PATH" = (,llvm-dir))))))
+ (add-after 'install 'install-completions
+ (lambda* (#:key native-inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (bindgen (string-append out "/bin/bindgen")))
+ (mkdir-p (string-append share "/bash-completion/completions"))
+ (with-output-to-file
+ (string-append share "/bash-completion/completions/bindgen")
+ (lambda _ (invoke bindgen "--generate-shell-completions" "bash")))
+ (mkdir-p (string-append share "/fish/vendor_completions.d"))
+ (with-output-to-file
+ (string-append share "/fish/vendor_completions.d/bindgen.fish")
+ (lambda _ (invoke bindgen "--generate-shell-completions" "fish")))
+ (mkdir-p (string-append share "/zsh/site-functions"))
+ (with-output-to-file
+ (string-append share "/zsh/site-functions/_bindgen")
+ (lambda _ (invoke bindgen "--generate-shell-completions" "zsh")))
+ (mkdir-p (string-append share "/elvish/lib"))
+ (with-output-to-file
+ (string-append share "/elvish/lib/bindgen")
+ (lambda _
+ (invoke bindgen "--generate-shell-completions" "elvish")))))))))
+ (inputs (list bash-minimal clang))
+ (home-page "https://rust-lang.github.io/rust-bindgen/")
+ (synopsis "Generate Rust FFI bindings to C and C++ libraries")
+ (description "This package can be used to automatically generate Rust FFI
+bindings to C and C++ libraries. This package provides the @command{bindgen}
+command.")
+ (license license:bsd-3)))
+
(define-public sniffglue
(package
(name "sniffglue")
@@ -2361,7 +2400,105 @@ work. This allows the client to be used in a much simpler way, with the
background agent taking care of maintaining the necessary state.")
(license license:expat)))
-;;; Note: keep in sync with our current Rust/Cargo version.
+;; Note: Keep rust-cargo and rust-cargo-c in sync with our current
+;; rust:cargo version.
+(define-public rust-cargo
+ (package
+ (name "rust-cargo")
+ (version "0.76.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "cargo" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "14yjyvj9bl6mlzx6bbi3igflgdrx1hil9ifnf1dl9xnm4mb2gjw6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; unresolved import `cargo_test_support`
+ #:cargo-inputs
+ (("rust-anstream" ,rust-anstream-0.6)
+ ("rust-anstyle" ,rust-anstyle-1)
+ ("rust-anyhow" ,rust-anyhow-1)
+ ("rust-base64" ,rust-base64-0.21)
+ ("rust-bytesize" ,rust-bytesize-1)
+ ("rust-cargo-credential" ,rust-cargo-credential-0.4)
+ ("rust-cargo-credential-libsecret" ,rust-cargo-credential-libsecret-0.4)
+ ("rust-cargo-credential-macos-keychain" ,rust-cargo-credential-macos-keychain-0.4)
+ ("rust-cargo-credential-wincred" ,rust-cargo-credential-wincred-0.4)
+ ("rust-cargo-platform" ,rust-cargo-platform-0.1)
+ ("rust-cargo-util" ,rust-cargo-util-0.2)
+ ("rust-clap" ,rust-clap-4)
+ ("rust-color-print" ,rust-color-print-0.3)
+ ("rust-crates-io" ,rust-crates-io-0.39)
+ ("rust-curl" ,rust-curl-0.4)
+ ("rust-curl-sys" ,rust-curl-sys-0.4)
+ ("rust-filetime" ,rust-filetime-0.2)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-git2" ,rust-git2-0.18)
+ ("rust-git2-curl" ,rust-git2-curl-0.19)
+ ("rust-gix" ,rust-gix-0.55)
+ ("rust-gix-features" ,rust-gix-features-0.35)
+ ("rust-glob" ,rust-glob-0.3)
+ ("rust-hex" ,rust-hex-0.4)
+ ("rust-hmac" ,rust-hmac-0.12)
+ ("rust-home" ,rust-home-0.5)
+ ("rust-http-auth" ,rust-http-auth-0.1)
+ ("rust-humantime" ,rust-humantime-2)
+ ("rust-ignore" ,rust-ignore-0.4)
+ ("rust-im-rc" ,rust-im-rc-15)
+ ("rust-indexmap" ,rust-indexmap-2)
+ ("rust-itertools" ,rust-itertools-0.11)
+ ("rust-jobserver" ,rust-jobserver-0.1)
+ ("rust-lazycell" ,rust-lazycell-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-libgit2-sys" ,rust-libgit2-sys-0.16)
+ ("rust-memchr" ,rust-memchr-2)
+ ("rust-opener" ,rust-opener-0.6)
+ ("rust-openssl" ,rust-openssl-0.10)
+ ("rust-os-info" ,rust-os-info-3)
+ ("rust-pasetors" ,rust-pasetors-0.6)
+ ("rust-pathdiff" ,rust-pathdiff-0.2)
+ ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.9)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-rustfix" ,rust-rustfix-0.6)
+ ("rust-semver" ,rust-semver-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-untagged" ,rust-serde-untagged-0.1)
+ ("rust-serde-value" ,rust-serde-value-0.7)
+ ("rust-serde-ignored" ,rust-serde-ignored-0.1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-sha1" ,rust-sha1-0.10)
+ ("rust-shell-escape" ,rust-shell-escape-0.1)
+ ("rust-supports-hyperlinks" ,rust-supports-hyperlinks-2)
+ ("rust-syn" ,rust-syn-2)
+ ("rust-tar" ,rust-tar-0.4)
+ ("rust-tar" ,rust-tar-0.4)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-time" ,rust-time-0.3)
+ ("rust-toml" ,rust-toml-0.8)
+ ("rust-toml-edit" ,rust-toml-edit-0.20)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)
+ ("rust-unicase" ,rust-unicase-2)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-unicode-xid" ,rust-unicode-xid-0.2)
+ ("rust-url" ,rust-url-2)
+ ("rust-walkdir" ,rust-walkdir-2)
+ ("rust-windows-sys" ,rust-windows-sys-0.48))
+ #:cargo-development-inputs (("rust-same-file" ,rust-same-file-1)
+ ("rust-snapbox" ,rust-snapbox-0.4))))
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list curl libssh2 libgit2-1.7 openssl zlib))
+ (home-page "https://crates.io")
+ (synopsis "Package manager for Rust")
+ (description "Cargo, a package manager for Rust. This package provides
+the library crate of Cargo.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-cargo-c
(package
(name "rust-cargo-c")
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 1f129a93bd..60aa9b1ea0 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -49,6 +49,7 @@
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
+ #:use-module (gnu packages llvm-meta)
#:use-module (gnu packages mingw)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -905,7 +906,7 @@ safety and thread safety guarantees.")
(("features = \\[\"fs\"" all)
(string-append all ", \"use-libc\""))))))))))
-(define rust-1.74
+(define-public rust-1.74
(let ((base-rust (rust-bootstrapped-package rust-1.73 "1.74.1"
"07930r17dkj3dnsrmilywb6p9i2g2jx56ndfpa2wh8crzhi3xnv7")))
(package
@@ -937,7 +938,7 @@ safety and thread safety guarantees.")
(delete 'revert-riscv-pause-instruction))))
(package-arguments base-rust))))))
-(define rust-1.75
+(define-public rust-1.75
(let ((base-rust (rust-bootstrapped-package rust-1.74 "1.75.0"
"1260mf3066ki6y55pvr35lnf54am6z96a3ap3hniwd4xpi2rywsv")))
(package
@@ -964,7 +965,9 @@ safety and thread safety guarantees.")
(let ((base-rust rust-1.75))
(package
(inherit base-rust)
- (properties (alist-delete 'hidden? (package-properties base-rust)))
+ (properties (append
+ (alist-delete 'hidden? (package-properties base-rust))
+ (clang-compiler-cpu-architectures "15")))
(outputs (cons* "rust-src" "tools" (package-outputs base-rust)))
(source
(origin
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index ad06d7db06..5ca1a0d2f8 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -701,14 +701,14 @@ regular-expression notation.")
(define-public slib
(package
(name "slib")
- (version "3b6")
+ (version "3c1")
(source (origin
(method url-fetch)
(uri (string-append "http://groups.csail.mit.edu/mac/ftpdir/scm/slib-"
version ".zip"))
(sha256
(base32
- "137dn2wwwwg0qbifgxfckjhzj4m4820crpg9kziv402l7f2b931f"))))
+ "10f7l0fmd0xzs6kc2cwqjrx7msdn0fsd918r459xyc05wscfpy62"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There is no check target.
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 0d9f593614..ef2d154a07 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -3271,30 +3271,29 @@ certain criterion, e.g., it contains a certain regular file.")
(define-public r-rmarkdown
(package
(name "r-rmarkdown")
- (version "2.25")
+ (version "2.26")
(source
(origin
(method url-fetch)
(uri (cran-uri "rmarkdown" version))
(sha256
- (base32 "0m814598vc67sjwk83xh9g17n72618l32dgg7fz8y0gycqk6dr06"))))
+ (base32 "1q6z2j1y6pjdz4nzw44srv9j62irnxqhkvrsi46ma7xrzq6ig34g"))))
(properties
`((upstream-name . "rmarkdown")
(updater-extra-propagated-inputs . ("pandoc"))))
(build-system r-build-system)
(propagated-inputs
- (list r-bslib
+ (list pandoc
+ r-bslib
r-evaluate
r-fontawesome
r-htmltools
r-jquerylib
r-jsonlite
r-knitr
- r-stringr
r-tinytex
r-xfun
- r-yaml
- pandoc))
+ r-yaml))
(native-inputs
(list esbuild r-knitr))
(home-page "https://rmarkdown.rstudio.com")
diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm
index 7025d05038..03cddcf28e 100644
--- a/gnu/packages/swig.scm
+++ b/gnu/packages/swig.scm
@@ -79,7 +79,7 @@ you tailor the wrapping process to suit your application.")
(package
(inherit swig)
(name "swig")
- (version "4.2.0")
+ (version "4.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
@@ -87,5 +87,5 @@ you tailor the wrapping process to suit your application.")
name "-" version ".tar.gz"))
(sha256
(base32
- "15wwh9215rdkflpr85r7zxr2nmrib03jr4bvh5i0f9lyb3bs4716"))))
+ "1n5pb77hwadjpbqgqn28i5v4cp94ar19wmv9vk6v4j6hw9a5617s"))))
(inputs (list pcre2))))
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index d09b03bcdb..ebbf8b82bb 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -129,7 +129,9 @@ Protocol.")
(home-page "https://github.com/syncthing/syncthing")
(properties
'((release-monitoring-url . "https://syncthing.net/downloads/")
- (upstream-name . "syncthing-source")))
+ (upstream-name . "syncthing-source")
+ ;; The hashing code greatly benefits from newer architecture support.
+ (tunable? . #t)))
(license mpl2.0)))
(define-public syncthing-gtk
@@ -706,32 +708,6 @@ notification library in Go.")
(home-page "https://github.com/syncthing/notify")
(license expat))))
-(define-public go-github-com-beorn7-perks-quantile
- (let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
- (revision "0"))
- (package
- (name "go-github-com-beorn7-perks-quantile")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/beorn7/perks")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/beorn7/perks/quantile"
- #:unpack-path "github.com/beorn7/perks"))
- (synopsis "Compute approximate quantiles over an unbounded data stream")
- (description "Perks contains the Go package @code{quantile} that computes
-approximate quantiles over an unbounded data stream within low memory and CPU
-bounds.")
- (home-page "https://github.com/beorn7/perks")
- (license expat))))
-
(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
(let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
(revision "0"))
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 49c42c8fcb..f0ae4d4d4d 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -39,6 +39,7 @@
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2024 Suhail <suhail@bayesians.ca>
+;;; Copyright © 2024 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1604,6 +1605,8 @@ basic input/output.")
(search-input-file inputs (string-append "lib/" all)))
(("libwayland-[[:alpha:]]*\\.so" all)
(search-input-file inputs (string-append "lib/" all)))
+ (("libxkbcommon-x11\\.so")
+ (search-input-file inputs "lib/libxkbcommon-x11.so"))
(("libxkbcommon\\.so")
(search-input-file inputs "lib/libxkbcommon.so")))))
(replace 'install
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index f45ae06810..a5ddc95859 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -104,14 +104,14 @@ is on expressing the content semantically, avoiding physical markup commands.")
(define-public texinfo-7
(package
(inherit texinfo)
- (version "7.0.3")
+ (version "7.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/texinfo/texinfo-"
version ".tar.xz"))
(sha256
(base32
- "1gq7i01iblgfcwby1977adh8mab9vpq318vsz628wlkzkp821d3l"))))
+ "0lq9nf1as11mfqf2ydyc6b1xl1hqk0qj5llavxph97hmkzqwkvny"))))
(inputs (modify-inputs (package-inputs texinfo)
(append perl-archive-zip))) ;needed for 'tex2any --epub3'
(arguments
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index d1ab828eb4..bf5151f32a 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1480,7 +1480,7 @@ commands.")
(define-public lite-xl
(package
(name "lite-xl")
- (version "2.1.1")
+ (version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1489,18 +1489,10 @@ commands.")
(file-name (git-file-name name version))
(sha256
(base32
- "1pnmax68hvk1ry4bjsxwq4qimfn55pai8jlljw6jiqzcmh4mp7xm"))
- (modules '((guix build utils)))
- (snippet '(substitute* "meson.build"
- (("dependency\\('lua5\\.4',")
- "dependency('lua-5.4',")))))
+ "19wdq8w6ickyynx6r2wg2vf5isl2577zjizgwbzql9vhqdsi8ag3"))))
(build-system meson-build-system)
- (inputs (list agg
- freetype
- lua-5.4
- pcre2
- reproc
- sdl2))
+ (arguments (list #:configure-flags #~'("-Duse_system_lua=true")))
+ (inputs (list lua-5.4 pcre2 freetype sdl2))
(native-inputs (list pkg-config))
(home-page "https://lite-xl.com")
(synopsis "Lightweight text editor written in Lua")
diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm
index da4e77f8c5..712907edf1 100644
--- a/gnu/packages/tor-browsers.scm
+++ b/gnu/packages/tor-browsers.scm
@@ -292,7 +292,7 @@ Browser.")
(list
rust
`(,rust "cargo")
- rust-cbindgen-0.24
+ rust-cbindgen
llvm-15
clang-15
perl
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c4660c8998..94334e0c97 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -6021,6 +6021,8 @@ result in several formats:
(description "@code{rav1e} is an AV1 video encoder. It is designed to
eventually cover all use cases, though in its current form it is most suitable
for cases where libaom (the reference encoder) is too slow.")
+ ;; This package shows a large speed boost when tuned for newer architectures.
+ (properties `((tunable? . #t)))
(license license:bsd-2)))
(define-public peek
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 73ea609d3d..1c0992523a 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -590,7 +590,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt
(package
(name "nyxt")
- (version "3.11.3")
+ (version "3.11.4")
(source
(origin
(method git-fetch)
@@ -599,7 +599,7 @@ driven and does not detract you from your daily work.")
(commit version)))
(sha256
(base32
- "0vp3w9a3zzn9kbq48a4b1nylrn1i4ibwxpl377yq04ggqkd6fi9a"))
+ "1c1kiwa7chm491gpzihpqv33ysmxfp83gw6wcsbq72hkwir6kf74"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -848,7 +848,7 @@ http, and https via third-party applications.")
(define-public tinmop
(package
(name "tinmop")
- (version "0.9.9.1414213")
+ (version "0.9.9.141421356")
(source
(origin
(method git-fetch)
@@ -857,7 +857,7 @@ http, and https via third-party applications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0rlgnqld6ls46452xvcr8k4ji4lwmlsrxib5ii9l9clkm0s477wv"))))
+ (base32 "0cw8scjxci98jx5cmm98x0frjrbs3q7w3dwz60xpy67aqmwq7kqx"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
@@ -919,15 +919,15 @@ http, and https via third-party applications.")
#t))
(add-after 'unpack 'fix-configure.ac
(lambda _
- (delete-file "configure")
- (substitute* "configure.ac"
- (("AC_PATH_PROG.+CURL")
- "dnl")
- (("AC_PATH_PROGS.+GIT")
- "dnl")
- (("AC_PATH_PROG.+GPG")
- "dnl"))
- #t))
+ (delete-file "configure")
+ (substitute* "configure.ac"
+ (("AC_PATH_PROG.+CURL")
+ "dnl")
+ (("AC_PATH_PROGS.+GIT")
+ "dnl")
+ (("AC_PATH_PROG.+GPG")
+ "dnl"))
+ #t))
(add-after 'configure 'fix-asdf
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile.in"
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index ddc673896b..aab3ae1839 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1109,40 +1109,44 @@ APIs.")
(license (license:non-copyleft "file://LICENSE.TERMS"))))
(define-public fcgiwrap
- (package
- (name "fcgiwrap")
- (version "1.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/gnosek/fcgiwrap")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1ryw66h9aazi83amk8l7ha8k5g0c7qvk5g6jv376a1ws9xk2qw6f"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests included
- #:make-flags (list "CC=gcc")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-CFLAGS
- ;; Remove broken options unconditionally added to CFLAGS.
- (lambda _
- (substitute* "configure.ac"
- ((" -Werror") ""))
- #t)))))
- (native-inputs
- (list autoconf automake pkg-config))
- (inputs
- (list fcgi))
- (home-page "https://nginx.localdomain.pl/wiki/FcgiWrap")
- (synopsis "Simple server for running CGI applications over FastCGI")
- (description "Fcgiwrap is a simple server for running CGI applications
+ (let ((commit "2870d2729a3930988f0041e2d78fec672e69afac")
+ (revision "1"))
+ (package
+ (name "fcgiwrap")
+ (version (git-version "1.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; Upstream last updated in 2015, this forked version has better
+ ;; socket cleanup.
+ (url "https://github.com/flu0r1ne/fcgiwrap")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rkpp4apfhdcrmym3pcpqlncd0r4fyr3pa45i8g6x4p38b4azmmm"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests included
+ #:make-flags (list "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-CFLAGS
+ ;; Remove broken options unconditionally added to CFLAGS.
+ (lambda _
+ (substitute* "configure.ac"
+ ((" -Werror") ""))
+ #t)))))
+ (native-inputs
+ (list autoconf automake pkg-config))
+ (inputs
+ (list fcgi))
+ (home-page "https://nginx.localdomain.pl/wiki/FcgiWrap")
+ (synopsis "Simple server for running CGI applications over FastCGI")
+ (description "Fcgiwrap is a simple server for running CGI applications
over FastCGI. It hopes to provide clean CGI support to Nginx (and other web
servers that may need it).")
- (license license:expat)))
+ (license license:expat))))
(define-public starman
(package
@@ -4998,8 +5002,8 @@ Cloud.")
(license license:expat)))
(define-public guix-data-service
- (let ((commit "5f80856ad1587aea38ee4e7b54db558cdb43f6b7")
- (revision "45"))
+ (let ((commit "b4583bb17714954530e1cc851efaea1666f6adc2")
+ (revision "46"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -5011,7 +5015,7 @@ Cloud.")
(file-name (git-file-name name version))
(sha256
(base32
- "18m002d9pkh0qn4xn4n6lijl541m9z7c3lbapl7m6zi41p3dywww"))))
+ "0l9nflx5npmmbvqxrfjhfvyr7mcs9qrf0w3dabs65r7q0g0pjcp0"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index edbb3096b8..a6f1ecd5c9 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -3054,7 +3054,7 @@ shows a notification for the user on the screen.")
(define-public cagebreak
(package
(name "cagebreak")
- (version "2.2.0")
+ (version "2.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3063,7 +3063,7 @@ shows a notification for the user on the screen.")
(file-name (git-file-name name version))
(sha256
(base32
- "0yhn77hdy7c80hd6r8nmvs206pmp76bx4zr94imfvgs8fh5gb8cy"))))
+ "0firjpp7qw4kb2h1zh5pv5k0xf0jvx6x0r0s7j6y7dhlh5j0s00q"))))
(build-system meson-build-system)
(arguments
(list
@@ -3079,7 +3079,7 @@ shows a notification for the user on the screen.")
(("/etc/") (string-append #$output "/etc/"))
(("/usr/share/") (string-append #$output "/usr/share/"))))))))
(native-inputs (list pkg-config scdoc))
- (inputs (list libevdev pango wlroots-0.16))
+ (inputs (list libevdev pango wlroots))
(home-page "https://github.com/project-repo/cagebreak")
(synopsis "Tiling wayland compositor inspired by ratpoison")
(description
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index a44a871ba2..593226a740 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015 Sou Bunnbu <iyzsong@gmail.com>
+;;; Copyright © 2014, 2015, 2024 宋文武 <iyzsong@envs.net>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Florian Paul Schmidt <mista.tapas@gmx.net>
@@ -134,7 +134,7 @@ Xfce Desktop Environment.")
(define-public xfconf
(package
(name "xfconf")
- (version "4.18.1")
+ (version "4.18.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -142,7 +142,7 @@ Xfce Desktop Environment.")
"xfconf-" version ".tar.bz2"))
(sha256
(base32
- "0mr20250mp4pgy82v5kvb0hp5060vy6yz9hd6icmmp6gpd8lfwfr"))))
+ "165xbr6y5z4zr235znkqlwkcy2ib9hgfqrdic0n7p57nas8ccv65"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -332,7 +332,7 @@ development.")
(define-public garcon
(package
(name "garcon")
- (version "4.18.1")
+ (version "4.18.2")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -340,7 +340,7 @@ development.")
"garcon-" version ".tar.bz2"))
(sha256
(base32
- "02y2nkxwx5mp1w6x2ydi3hpgymk7159zvyzk70afp5dcdlm96ypy"))))
+ "0ka35nxqhl4cbmyf9x2ysinihixsqmibqywqr2zqz5iiw699530v"))))
(build-system gnu-build-system)
(native-inputs
(list `(,glib "bin") gobject-introspection intltool pkg-config))
@@ -359,7 +359,7 @@ merging features essential for loading menus modified with menu editors.")
(define-public tumbler
(package
(name "tumbler")
- (version "4.18.1")
+ (version "4.18.2")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -367,7 +367,7 @@ merging features essential for loading menus modified with menu editors.")
"tumbler-" version ".tar.bz2"))
(sha256
(base32
- "1833qnfw2c9wv7iw5cad5x5scj1rsqmmbwfld33zxx8akhd9hqgz"))))
+ "0ymy6a0hbv5iainphgpd7dfi8snpg7zs7lyqq2cgiiza6p3fwc5m"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config intltool
@@ -398,7 +398,7 @@ management D-Bus specification.")
(define-public xfce4-panel
(package
(name "xfce4-panel")
- (version "4.18.4")
+ (version "4.18.6")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -406,7 +406,7 @@ management D-Bus specification.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "0m7vmk7rc2sjfqba0flgnw77kn1j222xqs7r86bpg8sf1614yc1j"))
+ "0qkw1msrvq7hc4mjg9iai0kymgkrpj1nijv04zjbdfcbymhp2cr1"))
(patches (search-patches "xfce4-panel-plugins.patch"))))
(build-system gnu-build-system)
(arguments
@@ -605,7 +605,7 @@ per window.")
(define-public xfce4-appfinder
(package
(name "xfce4-appfinder")
- (version "4.18.0")
+ (version "4.18.1")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -614,7 +614,7 @@ per window.")
"/" name "-" version ".tar.bz2"))
(sha256
(base32
- "136137w2xc78jq0xcbymjwdxapllwyy7h3ydshz0gli7ngbrhaln"))))
+ "1yck11y86d45yxsppd1yqk894k3cf5vh91a5sm559gl175jylm4q"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config intltool))
@@ -682,7 +682,7 @@ allows you to shut down the computer from Xfce.")
(define-public xfce4-settings
(package
(name "xfce4-settings")
- (version "4.18.3")
+ (version "4.18.4")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -690,7 +690,7 @@ allows you to shut down the computer from Xfce.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "18giyc190i7b3nc3l745p6fqpnqivwxm0yc7l0whfa03wndykf9d"))
+ "1p513i8zwc3glv2cf3x2abwm4hvdb7clamj19yadj2036v85a37i"))
(patches (search-patches "xfce4-settings-defaults.patch"))))
(build-system gnu-build-system)
(arguments
@@ -727,7 +727,7 @@ like appearance, display, keyboard and mouse settings.")
(define-public thunar
(package
(name "thunar")
- (version "4.18.7") ;stable version = even minor
+ (version "4.18.10") ;stable version = even minor
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -735,7 +735,7 @@ like appearance, display, keyboard and mouse settings.")
"thunar-" version ".tar.bz2"))
(sha256
(base32
- "0shbbih2l6h3sda2221h7gsskv2lnchnmypk76cdgf51iafafxi2"))))
+ "020xrwzdnk5b7cli8vmv3yn7sfq6pg7bz57m4p0xh0ln2cgqlc78"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-custom-thunarx-dirs-enabled")))
@@ -949,6 +949,26 @@ menu.")
on the screen.")
(license gpl2+)))
+(define-public xfwm4-themes
+ (package
+ (name "xfwm4-themes")
+ (version "4.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://archive.xfce.org/src/art/xfwm4-themes/"
+ (version-major+minor version) "/"
+ "xfwm4-themes-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0xfmdykav4rf6gdxbd6fhmrfrvbdc1yjihz7r7lba0wp1vqda51j"))))
+ (build-system gnu-build-system)
+ (home-page "https://www.xfce.org/")
+ (synopsis "Themes for the Xfce window manager")
+ (description "This package provides a set of additional themes for the Xfce
+window manager.")
+ (license gpl3+)))
+
(define-public xfdesktop
(package
(name "xfdesktop")
@@ -1082,7 +1102,7 @@ features playback of local media files, DVD/CD and live streams.")
(define-public xfce4-terminal
(package
(name "xfce4-terminal")
- (version "1.1.0")
+ (version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/" name "/"
@@ -1090,7 +1110,7 @@ features playback of local media files, DVD/CD and live streams.")
name "-" version ".tar.bz2"))
(sha256
(base32
- "18yl792x617qa90g6caw4cy1arfl847majjxkxs0k6rb4ivk70j0"))))
+ "0i9xgd0rgw0j59hlp9kyxndw2b35nhxjls09c20rzdj1sj4dak91"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1226,6 +1246,7 @@ for and start applications.")
xfconf
xfdesktop
xfwm4
+ xfwm4-themes
xkill
;; Panel plugins.
xfce4-battery-plugin
@@ -1250,7 +1271,7 @@ system resources, while still being visually appealing and user friendly.")
(define-public xfce4-power-manager
(package
(name "xfce4-power-manager")
- (version "4.18.2")
+ (version "4.18.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -1258,7 +1279,7 @@ system resources, while still being visually appealing and user friendly.")
"xfce4-power-manager-" version ".tar.bz2"))
(sha256
(base32
- "0kfzvhb1hnr16fcplm7bdpp4fcxr3irzq3w4q0lpbc5n6kaqyq71"))))
+ "1w445v3911cf7l6w5c0f84aphv8s579f8srnhjrhf3drd07xsy8d"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config intltool))
@@ -2200,7 +2221,7 @@ local weather in the panel, using forecast data provided by the
(define-public xfce4-dev-tools
(package
(name "xfce4-dev-tools")
- (version "4.18.0")
+ (version "4.18.1")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -2208,7 +2229,7 @@ local weather in the panel, using forecast data provided by the
"xfce4-dev-tools-" version ".tar.bz2"))
(sha256
(base32
- "0dxyfsx70nddkkv0ygkl02wv4p99g62zjkw68sf4bqzhap4lznzf"))))
+ "10bnb8q7sj60ahzfwrb3av4ngr17wk1p6jsnfv0yn8l90kksnb41"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 17a35d964d..ddbbdb74ba 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -6157,14 +6157,14 @@ basic eye-candy effects.")
(define-public xpra
(package
(name "xpra")
- (version "5.0.4")
+ (version "5.0.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.xpra.org/src/xpra-"
version ".tar.xz"))
(sha256
- (base32 "0zb49adrjrdsmf0k9xdc6j2idqy5lgzsjjrb4awjh5i4r3wc58m0"))
+ (base32 "0rkcsv0b55xbvkqi38nm01yxc09f7l9nj7xnp8v23rn6bp86m8mr"))
(patches (search-patches "xpra-5.0-systemd-run.patch"
"xpra-5.0-install_libs.patch"))))
(build-system python-build-system)
diff --git a/gnu/packages/zig-xyz.scm b/gnu/packages/zig-xyz.scm
index fd194a6a4f..0cd08b6ac6 100644
--- a/gnu/packages/zig-xyz.scm
+++ b/gnu/packages/zig-xyz.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2022 Maya Tomasek <maya.tomasek@disroot.org>
;;; Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
+;;; Copyright © 2024 Justin Veilleux <terramorpha@cock.li>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -107,7 +108,7 @@ mission-critical safety and performance for financial services.")
(define-public zig-zls
(package
(name "zig-zls")
- (version "0.9.0")
+ (version "0.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -117,24 +118,12 @@ mission-critical safety and performance for financial services.")
(file-name (git-file-name name version))
(sha256
(base32
- "1hhs7dz9rpshfd1a7x5swmix2rmh53vsqskh3mzqlrj2lgb3cnii"))))
- (build-system gnu-build-system)
- (inputs (list zig-0.9 python))
+ "1lsks7h3z2m4psyn9mwdylv1d6a9i3z54ssadiz76w0clbh8ch9k"))))
+ (build-system zig-build-system)
+ (inputs (list zig-0.10 python))
(arguments
- (list #:phases #~(modify-phases %standard-phases
- (delete 'configure)
- (replace 'build
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (setenv "ZIG_GLOBAL_CACHE_DIR"
- (string-append (getcwd) "/zig-cache"))
- (invoke "zig" "build" "install"
- "-Drelease-safe" "--prefix" out))))
- (delete 'install)
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "zig" "build" "test")))))))
+ ;; The tests fail with memory leaks.
+ (list #:tests? #f))
(synopsis "Zig language server")
(description
"Zig Language Server is a language server implementing the @acronym{LSP,
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index c9c3ddca62..6e399dfce3 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -28,7 +28,8 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
- #:use-module (gnu packages llvm))
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages llvm-meta))
(define-public zig-0.9
(package
@@ -130,7 +131,7 @@ toolchain. Among other features it provides
(supported-systems %64bit-supported-systems)
;; Stage3 can take a lot of time and isn't verbose.
(properties `((max-silent-time . 9600)
- ,@(clang-properties "13")))
+ ,@(clang-compiler-cpu-architectures "13")))
(license license:expat)))
(define-public zig-0.10
@@ -195,6 +196,6 @@ toolchain. Among other features it provides
(modify-inputs (package-native-inputs zig-0.9)
(replace "llvm" llvm-15)))
(properties `((max-silent-time . 9600)
- ,@(clang-properties "15")))))
+ ,@(clang-compiler-cpu-architectures "15")))))
(define-public zig zig-0.10)
diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm
index 2c30fe7cfd..d9ce85df84 100644
--- a/guix/scripts/time-machine.scm
+++ b/guix/scripts/time-machine.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Konrad Hinsen <konrad.hinsen@fastmail.net>
-;;; Copyright © 2019, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019-2021, 2023-2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
@@ -147,7 +147,7 @@ Execute COMMAND ARGS... in an older version of Guix.\n"))
;;; firmed up in v1.0.0; it is the oldest, safest commit that can be travelled
;;; to.
(define %oldest-possible-commit
- "6298c3ffd9654d3231a6f25390b056483e8f407c") ;v1.0.0
+ "4a0b87f0ec5b6c2dcf82b372dd20ca7ea6acdd9c") ;v0.16.0
(define %reference-channels
(list (channel (inherit %default-guix-channel)
diff --git a/guix/transformations.scm b/guix/transformations.scm
index 132ccd957a..f02b9f94d6 100644
--- a/guix/transformations.scm
+++ b/guix/transformations.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2016-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Sarthak Shah <shahsarthakw@gmail.com>
-;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
@@ -499,6 +499,10 @@ actual compiler."
"-Dcpu="
(string-replace-substring
#$micro-architecture "-" "_"))))
+ ((and (search-next "rustc")
+ (string=? next (search-next "rustc")))
+ (list "-C" (string-append "target_cpu="
+ #$micro-architecture)))
(else
(list (string-append "-march="
#$micro-architecture))))))))))))
@@ -519,7 +523,7 @@ actual compiler."
(symlink #$program
(string-append bin "/" program)))
'("cc" "gcc" "clang" "g++" "c++" "clang++"
- "go" "zig")))))))
+ "go" "rustc" "zig")))))))
(define (build-system-with-tuning-compiler bs micro-architecture)
"Return a variant of BS, a build system, that ensures that the compiler that
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index 461fcbc584..d23c0944a4 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -1382,6 +1382,23 @@ void DerivationGoal::buildDone()
% drvPath % statusToString(status));
}
+ if (fixedOutput) {
+ /* Replace the output, if it exists, by a fresh copy of itself to
+ make sure that there's no stale file descriptor pointing to it
+ (CVE-2024-27297). */
+ foreach (DerivationOutputs::iterator, i, drv.outputs) {
+ Path output = chrootRootDir + i->second.path;
+ if (pathExists(output)) {
+ Path pivot = output + ".tmp";
+ copyFileRecursively(output, pivot, true);
+ int err = rename(pivot.c_str(), output.c_str());
+ if (err != 0)
+ throw SysError(format("renaming `%1%' to `%2%'")
+ % pivot % output);
+ }
+ }
+ }
+
/* Compute the FS closure of the outputs and register them as
being valid. */
registerOutputs();
diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc
index 82eac72120..578d657293 100644
--- a/nix/libutil/util.cc
+++ b/nix/libutil/util.cc
@@ -215,14 +215,11 @@ bool isLink(const Path & path)
}
-DirEntries readDirectory(const Path & path)
+static DirEntries readDirectory(DIR *dir)
{
DirEntries entries;
entries.reserve(64);
- AutoCloseDir dir = opendir(path.c_str());
- if (!dir) throw SysError(format("opening directory `%1%'") % path);
-
struct dirent * dirent;
while (errno = 0, dirent = readdir(dir)) { /* sic */
checkInterrupt();
@@ -230,11 +227,29 @@ DirEntries readDirectory(const Path & path)
if (name == "." || name == "..") continue;
entries.emplace_back(name, dirent->d_ino, dirent->d_type);
}
- if (errno) throw SysError(format("reading directory `%1%'") % path);
+ if (errno) throw SysError(format("reading directory"));
return entries;
}
+DirEntries readDirectory(const Path & path)
+{
+ AutoCloseDir dir = opendir(path.c_str());
+ if (!dir) throw SysError(format("opening directory `%1%'") % path);
+ return readDirectory(dir);
+}
+
+static DirEntries readDirectory(int fd)
+{
+ /* Since 'closedir' closes the underlying file descriptor, duplicate FD
+ beforehand. */
+ int fdcopy = dup(fd);
+ if (fdcopy < 0) throw SysError("dup");
+
+ AutoCloseDir dir = fdopendir(fdcopy);
+ if (!dir) throw SysError(format("opening directory from file descriptor `%1%'") % fd);
+ return readDirectory(dir);
+}
unsigned char getFileType(const Path & path)
{
@@ -364,6 +379,97 @@ void deletePath(const Path & path, unsigned long long & bytesFreed, size_t linkT
_deletePath(path, bytesFreed, linkThreshold);
}
+static void copyFile(int sourceFd, int destinationFd)
+{
+ struct stat st;
+ if (fstat(sourceFd, &st) == -1) throw SysError("statting file");
+
+ ssize_t result = copy_file_range(sourceFd, NULL, destinationFd, NULL, st.st_size, 0);
+ if (result < 0 && errno == ENOSYS) {
+ for (size_t remaining = st.st_size; remaining > 0; ) {
+ unsigned char buf[8192];
+ size_t count = std::min(remaining, sizeof buf);
+
+ readFull(sourceFd, buf, count);
+ writeFull(destinationFd, buf, count);
+ remaining -= count;
+ }
+ } else {
+ if (result < 0)
+ throw SysError(format("copy_file_range `%1%' to `%2%'") % sourceFd % destinationFd);
+ if (result < st.st_size)
+ throw SysError(format("short write in copy_file_range `%1%' to `%2%'")
+ % sourceFd % destinationFd);
+ }
+}
+
+static void copyFileRecursively(int sourceroot, const Path &source,
+ int destinationroot, const Path &destination,
+ bool deleteSource)
+{
+ struct stat st;
+ if (fstatat(sourceroot, source.c_str(), &st, AT_SYMLINK_NOFOLLOW) == -1)
+ throw SysError(format("statting file `%1%'") % source);
+
+ if (S_ISREG(st.st_mode)) {
+ AutoCloseFD sourceFd = openat(sourceroot, source.c_str(),
+ O_CLOEXEC | O_NOFOLLOW | O_RDONLY);
+ if (sourceFd == -1) throw SysError(format("opening `%1%'") % source);
+
+ AutoCloseFD destinationFd = openat(destinationroot, destination.c_str(),
+ O_CLOEXEC | O_CREAT | O_WRONLY | O_TRUNC,
+ st.st_mode);
+ if (destinationFd == -1) throw SysError(format("opening `%1%'") % source);
+
+ copyFile(sourceFd, destinationFd);
+ fchown(destinationFd, st.st_uid, st.st_gid);
+ } else if (S_ISLNK(st.st_mode)) {
+ char target[st.st_size + 1];
+ ssize_t result = readlinkat(sourceroot, source.c_str(), target, st.st_size);
+ if (result != st.st_size) throw SysError("reading symlink target");
+ target[st.st_size] = '\0';
+ int err = symlinkat(target, destinationroot, destination.c_str());
+ if (err != 0)
+ throw SysError(format("creating symlink `%1%'") % destination);
+ fchownat(destinationroot, destination.c_str(),
+ st.st_uid, st.st_gid, AT_SYMLINK_NOFOLLOW);
+ } else if (S_ISDIR(st.st_mode)) {
+ int err = mkdirat(destinationroot, destination.c_str(), 0755);
+ if (err != 0)
+ throw SysError(format("creating directory `%1%'") % destination);
+
+ AutoCloseFD destinationFd = openat(destinationroot, destination.c_str(),
+ O_CLOEXEC | O_RDONLY | O_DIRECTORY);
+ if (err != 0)
+ throw SysError(format("opening directory `%1%'") % destination);
+
+ AutoCloseFD sourceFd = openat(sourceroot, source.c_str(),
+ O_CLOEXEC | O_NOFOLLOW | O_RDONLY);
+ if (sourceFd == -1)
+ throw SysError(format("opening `%1%'") % source);
+
+ if (deleteSource && !(st.st_mode & S_IWUSR)) {
+ /* Ensure the directory writable so files within it can be
+ deleted. */
+ if (fchmod(sourceFd, st.st_mode | S_IWUSR) == -1)
+ throw SysError(format("making `%1%' directory writable") % source);
+ }
+
+ for (auto & i : readDirectory(sourceFd))
+ copyFileRecursively((int)sourceFd, i.name, (int)destinationFd, i.name,
+ deleteSource);
+ fchown(destinationFd, st.st_uid, st.st_gid);
+ } else throw Error(format("refusing to copy irregular file `%1%'") % source);
+
+ if (deleteSource)
+ unlinkat(sourceroot, source.c_str(),
+ S_ISDIR(st.st_mode) ? AT_REMOVEDIR : 0);
+}
+
+void copyFileRecursively(const Path &source, const Path &destination, bool deleteSource)
+{
+ copyFileRecursively(AT_FDCWD, source, AT_FDCWD, destination, deleteSource);
+}
static Path tempName(Path tmpRoot, const Path & prefix, bool includePid,
int & counter)
diff --git a/nix/libutil/util.hh b/nix/libutil/util.hh
index 880b0e93b2..377aac0684 100644
--- a/nix/libutil/util.hh
+++ b/nix/libutil/util.hh
@@ -102,6 +102,13 @@ void deletePath(const Path & path);
void deletePath(const Path & path, unsigned long long & bytesFreed,
size_t linkThreshold = 1);
+/* Copy SOURCE to DESTINATION, recursively, preserving ownership. Throw if
+ SOURCE contains a file that is not a regular file, symlink, or directory.
+ When DELETESOURCE is true, delete source files once they have been
+ copied. */
+void copyFileRecursively(const Path &source, const Path &destination,
+ bool deleteSource = false);
+
/* Create a temporary directory. */
Path createTempDir(const Path & tmpRoot = "", const Path & prefix = "nix",
bool includePid = true, bool useGlobalCounter = true, mode_t mode = 0755);
diff --git a/tests/guix-time-machine.sh b/tests/guix-time-machine.sh
index 983f796225..df75c681da 100644
--- a/tests/guix-time-machine.sh
+++ b/tests/guix-time-machine.sh
@@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-# Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2023-2024 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -39,7 +39,7 @@ else
EXTRA_OPTIONS=""
fi
-# Visiting a commit older than v1.0.0 must fail (this test is expensive
+# Visiting a commit older than v0.16.0 must fail (this test is expensive
# because it clones the whole repository).
guix time-machine -q --commit=v0.15.0 $EXTRA_OPTIONS -- describe && false