From bca48fdef48150a3c4e96e3941feb1986ea3e631 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Sat, 2 Mar 2024 22:35:12 +1100 Subject: [PATCH 001/261] gnu: Extract prosody-module from existing prosody modules. * gnu/packages/messaging.scm (prosody-module): New procedure. (prosody-http-upload, prosody-smacks): Use it. Change-Id: I55c69104460adbbd89c491b18f9f22681aefb92a Signed-off-by: Liliana Marie Prikler --- gnu/packages/messaging.scm | 69 ++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 40 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 98c1c9bf672..35e11fb5dc4 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2023 Giacomo Leidi ;;; Copyright © 2023 Yovan Naumovski ;;; Copyright © 2023 gemmaro +;;; Copyright © 2024 Carlo Zancanaro ;;; ;;; This file is part of GNU Guix. ;;; @@ -1577,11 +1578,18 @@ system on which to rapidly develop added functionality, or prototype new protocols.") (license license:x11))) -(define-public prosody-http-upload +(define (prosody-module module-name) (let ((changeset "765735bb590b") - (revision "1")) + (revision "1") + (package-name (string-append + "prosody-" + (string-replace-substring + (if (string-prefix? "mod_" module-name) + (substring module-name 4) + module-name) + "_" "-")))) (package - (name "prosody-http-upload") + (name package-name) (version (string-append "0-" revision "." (string-take changeset 7))) (source (origin (method hg-fetch) @@ -1600,47 +1608,28 @@ protocols.") (use-modules (guix build utils)) (let ((out (assoc-ref %outputs "out")) (source (assoc-ref %build-inputs "source"))) - (with-directory-excursion (in-vicinity source "mod_http_upload") - (install-file "mod_http_upload.lua" out)) + (with-directory-excursion (in-vicinity source module-name) + (install-file (string-append module-name ".lua") out)) #t)))) - (home-page "https://modules.prosody.im/mod_http_upload.html") - (synopsis "XEP-0363: Allow clients to upload files over HTTP") - (description "This module implements XEP-0363: it allows clients to -upload files over HTTP.") + (home-page #f) + (synopsis #f) + (description #f) (license (package-license prosody))))) -(define-public prosody-smacks - (let ((changeset "67f1d1f22625") - (revision "1")) - (package - (name "prosody-smacks") - (version (string-append "0-" revision "." (string-take changeset 7))) - (source (origin - (method hg-fetch) - (uri (hg-reference - (url "https://hg.prosody.im/prosody-modules/") - (changeset changeset))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "020ngpax30fgarah98yvlj0ni8rcdwq60if03a9hqdw8mic0nxxs")))) - (build-system trivial-build-system) - (arguments - '(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (source (assoc-ref %build-inputs "source"))) - (with-directory-excursion (in-vicinity source "mod_smacks") - (install-file "mod_smacks.lua" out)) - #t)))) - (home-page "https://modules.prosody.im/mod_smacks.html") - (synopsis "XEP-0198: Reliability and fast reconnects for XMPP") - (description "This module implements XEP-0198: when supported by both +(define-public prosody-http-upload + (package + (inherit (prosody-module "mod_http_upload")) + (synopsis "XEP-0363: Allow clients to upload files over HTTP") + (description "This module implements XEP-0363: it allows clients to +upload files over HTTP."))) + +(define-public prosody-smack + (package + (inherit (prosody-module "mod_smacks")) + (synopsis "XEP-0198: Reliability and fast reconnects for XMPP") + (description "This module implements XEP-0198: when supported by both the client and server, it can allow clients to resume a disconnected session, -and prevent message loss.") - (license (package-license prosody))))) +and prevent message loss."))) (define-public libtoxcore (let ((revision "2") From cab71bdcfb3e54e04503a127c456793f1d0fc780 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Sat, 2 Mar 2024 22:35:13 +1100 Subject: [PATCH 002/261] gnu: Use copy-build-system for prosody modules. * gnu/packages/messaging.scm (prosody-module): Use copy-build system. Change-Id: I6de2827c63cb454d80b20f3af84fa610a75172f4 Signed-off-by: Liliana Marie Prikler --- gnu/packages/messaging.scm | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 35e11fb5dc4..3dd1e66e81b 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -144,6 +144,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system go) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) @@ -1600,18 +1601,11 @@ protocols.") (sha256 (base32 "142wrcism70nf8ffahhd961cqg2pi1h7ic8adfs3zwh0j3pnf41f")))) - (build-system trivial-build-system) + (build-system copy-build-system) (arguments - '(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((out (assoc-ref %outputs "out")) - (source (assoc-ref %build-inputs "source"))) - (with-directory-excursion (in-vicinity source module-name) - (install-file (string-append module-name ".lua") out)) - #t)))) - (home-page #f) + `(#:install-plan '((,(string-append module-name "/") ".")))) + (home-page (string-append "https://modules.prosody.im/" + module-name ".html")) (synopsis #f) (description #f) (license (package-license prosody))))) From 1298319c9bb5b02bc7ff43c0c4693c4f5fbb4b68 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Sat, 2 Mar 2024 22:35:14 +1100 Subject: [PATCH 003/261] gnu: Update prosody modules to the newest revision. * gnu/packages/messaging.scm (prosody-module): Update to fba64b043c52. Change-Id: I012c2f661200cc59ae088e522ac233c09d77d2af Signed-off-by: Liliana Marie Prikler --- gnu/packages/messaging.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 3dd1e66e81b..2e665f47e36 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1580,8 +1580,8 @@ protocols.") (license license:x11))) (define (prosody-module module-name) - (let ((changeset "765735bb590b") - (revision "1") + (let ((changeset "fba64b043c52") + (revision "2") (package-name (string-append "prosody-" (string-replace-substring @@ -1600,7 +1600,7 @@ protocols.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "142wrcism70nf8ffahhd961cqg2pi1h7ic8adfs3zwh0j3pnf41f")))) + "1nvka8s3zqs97jqsknhp2q956rrdga1qaxa1y3i0h8zx3g9vgdch")))) (build-system copy-build-system) (arguments `(#:install-plan '((,(string-append module-name "/") ".")))) From efdaa885b083e85bd380ca914addfcf32d0834f7 Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Sat, 2 Mar 2024 22:35:15 +1100 Subject: [PATCH 004/261] gnu: Add prosody-vcard-muc. * gnu/packages/messaging.scm (prosody-vcard-muc): New variable. Change-Id: I57eae8373369e7e954084803fd7b861ab85ce4ad Signed-off-by: Liliana Marie Prikler --- gnu/packages/messaging.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 2e665f47e36..aa9feffb975 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1625,6 +1625,13 @@ upload files over HTTP."))) the client and server, it can allow clients to resume a disconnected session, and prevent message loss."))) +(define-public prosody-vcard-muc + (package + (inherit (prosody-module "mod_vcard_muc")) + (synopsis "Support for MUC vCards and avatars") + (description "This module adds the ability to set vCard for MUC rooms. One +of the most common use cases is to define avatars for MUC rooms."))) + (define-public libtoxcore (let ((revision "2") (commit "bf69b54f64003d160d759068f4816b2d9b2e1e21")) From 60c9a339df930093064d37f91070915c25a7493b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Feb 2024 15:45:15 +0100 Subject: [PATCH 005/261] =?UTF-8?q?doc:=20Add=20=E2=80=9CGetting=20Started?= =?UTF-8?q?=20with=20the=20System=E2=80=9D=20section.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Getting Started with the System): New node. (After System Installation): Refer to it. Move note about ‘sudo guix pull’ to the “Getting Started with the System”. (Getting Started): Refer to it. Move note about ‘guix system roll-back’ to “Getting Started with the System”. (Features): Refer to it. (Using the Configuration System): Adjust intro. Add “Troubleshooting” note that mentions ‘guix style -f’ for misplaced parens. (Instantiating the System): Simplify and cross-reference “Getting Started with the System”. Change-Id: Ie74f598450e8059a4579a016e2aeca2edd7696a7 --- doc/guix.texi | 320 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 244 insertions(+), 76 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index f6476e0d812..dca91dc0c96 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -358,6 +358,7 @@ Foreign Architectures System Configuration +* Getting Started with the System:: Your first steps. * Using the Configuration System:: Customizing your GNU system. * operating-system Reference:: Detail of operating-system declarations. * File Systems:: Configuring file system mounts. @@ -2879,8 +2880,8 @@ unless your configuration specifies otherwise @node After System Installation @section After System Installation -Success, you've now booted into Guix System! From then on, you can update the -system whenever you want by running, say: +Success, you've now booted into Guix System! You can upgrade the system +whenever you want by running: @example guix pull @@ -2888,24 +2889,10 @@ sudo guix system reconfigure /etc/config.scm @end example @noindent -This builds a new system generation with the latest packages and services -(@pxref{Invoking guix system}). We recommend doing that regularly so that -your system includes the latest security updates (@pxref{Security Updates}). +This builds a new system @dfn{generation} with the latest packages and +services. -@c See . -@quotation Note -@cindex sudo vs. @command{guix pull} -Note that @command{sudo guix} runs your user's @command{guix} command and -@emph{not} root's, because @command{sudo} leaves @env{PATH} unchanged. To -explicitly run root's @command{guix}, type @command{sudo -i guix @dots{}}. - -The difference matters here, because @command{guix pull} updates -the @command{guix} command and package definitions only for the user it is run -as. This means that if you choose to use @command{guix system reconfigure} in -root's login shell, you'll need to @command{guix pull} separately. -@end quotation - -Now, @pxref{Getting Started}, and +Now, @pxref{Getting Started with the System}, and join us on @code{#guix} on the Libera Chat IRC network or on @email{guix-devel@@gnu.org} to share your experience! @@ -3159,22 +3146,9 @@ sudo guix system reconfigure /etc/config.scm @end example Upon completion, the system runs the latest versions of its software -packages. When you eventually reboot, you'll notice a sub-menu in the -bootloader that reads ``Old system generations'': it's what allows you -to boot @emph{an older generation of your system}, should the latest -generation be ``broken'' or otherwise unsatisfying. Just like for -packages, you can always @emph{roll back} to a previous generation -@emph{of the whole system}: - -@example -sudo guix system roll-back -@end example - -There are many things you'll probably want to tweak on your system: -adding new user accounts, adding new system services, fiddling with the -configuration of those services, etc. The system configuration is -@emph{entirely} described in the @file{/etc/config.scm} file. -@xref{Using the Configuration System}, to learn how to change it. +packages. Just like for packages, you can always @emph{roll back} to a +previous generation @emph{of the whole system}. @xref{Getting Started +with the System}, to learn how to manage your system. Now you know enough to get started! @@ -3283,7 +3257,7 @@ out to have a serious bug, users may roll back to the previous instance of their profile, which was known to work well. Similarly, the global system configuration on Guix is subject to transactional upgrades and roll-back -(@pxref{Using the Configuration System}). +(@pxref{Getting Started with the System}). All packages in the package store may be @emph{garbage-collected}. Guix can determine which packages are still referenced by user @@ -17101,6 +17075,7 @@ instantiated. Then we show how this mechanism can be extended, for instance to support new system services. @menu +* Getting Started with the System:: Your first steps. * Using the Configuration System:: Customizing your GNU system. * operating-system Reference:: Detail of operating-system declarations. * File Systems:: Configuring file system mounts. @@ -17121,14 +17096,222 @@ instance to support new system services. * Defining Services:: Adding new service definitions. @end menu +@node Getting Started with the System +@section Getting Started + +@cindex system configuration file +@cindex configuration file, of the system +You're reading this section probably because you have just installed +Guix System (@pxref{System Installation}) and would like to know where +to go from here. If you're already familiar with GNU/Linux system +administration, the way Guix System is configured is very different from +what you're used to: you won't install a system service by running +@command{guix install}, you won't configure services by modifying files +under @file{/etc}, and you won't create user accounts by invoking +@command{useradd}; instead, all these aspects are spelled out in a +@dfn{system configuration file}. + +The first step with Guix System is thus to write the @dfn{system +configuration file}; luckily, system installation already generated one +for you and stored it under @file{/etc/config.scm}. + +@quotation Note +You can store your system configuration file anywhere you like---it +doesn't have to be at @file{/etc/config.scm}. It's a good idea to keep +it under version control, for instance in a +@uref{https://git-scm.com/book/en/, Git repository}. +@end quotation + +The @emph{entire} configuration of the system---user accounts, system +services, timezone, locale settings---is declared in this file, which +follows this template: + +@lisp +(use-modules (gnu)) +(use-package-modules @dots{}) +(use-service-modules @dots{}) + +(operating-system + (host-name @dots{}) + (timezone @dots{}) + (locale @dots{}) + (bootloader @dots{}) + (file-systems @dots{}) + (users @dots{}) + (packages @dots{}) + (services @dots{})) +@end lisp + +This configuration file is in fact a Scheme program; the first lines +pull in modules providing variables you might need in the rest of the +file---e.g., packages, services, etc. The @code{operating-system} form +declares the system configuration as a @dfn{record} with a number of +@dfn{fields}. @xref{Using the Configuration System}, to view complete +examples and learn what to put in there. + +The second step, once you have this configuration file, is to test it. +Of course, you can skip this step if you're feeling lucky---you choose! +To do that, pass your configuration file to @command{guix system vm} (no +need to be root, you can do that as a regular user): + +@example +guix system vm /etc/config.scm +@end example + +@noindent +This command returns the name of a shell script that starts a virtual +machine (VM) running the system @emph{as described in the configuration +file}: + +@example +/gnu/store/@dots{}-run-vm.sh +@end example + +@noindent +In this VM, you can log in as @code{root} with no password. That's a +good way to check that your configuration file is correct and that it +gives the expected result, without touching your system. @xref{Invoking +guix system}, for more information. + +@quotation Note +When using @command{guix system vm}, aspects tied to your hardware such +as file systems and mapped devices are overridden because they cannot be +meaningfully tested in the VM@. Other aspects such as static network +configuration (@pxref{Networking Setup, +@code{static-networking-service-type}}) are @emph{not} overridden but +they may not work inside the VM@. +@end quotation + +@cindex system instantiation +@cindex reconfiguring the system +The third step, once you're happy with your configuration, is to +@dfn{instantiate} it---make this configuration effective on your system. +To do that, run: + +@example +sudo guix system reconfigure /etc/config.scm +@end example + +@cindex upgrading system services +@cindex system services, upgrading +@noindent +This operation is @dfn{transactional}: either it succeeds and you end up +with an upgraded system, or it fails and nothing has changed. Note that +it does @emph{not} restart system services that were already running. +Thus, to upgrade those services, you have to reboot or to explicitly +restart them; for example, to restart the secure shell (SSH) daemon, you +would run: + +@example +sudo herd restart sshd +@end example + +@quotation Note +System services are managed by the Shepherd (@pxref{Jump Start,,, +shepherd, The GNU Shepherd Manual}). The @code{herd} command lets you +inspect, start, and stop services. To view the status of services, run: + +@example +sudo herd status +@end example + +To view detailed information about a given service, add its name to the +command: + +@example +sudo herd status sshd +@end example + +@xref{Services}, for more information. +@end quotation + +@cindex provenance, of the system +The system records its @dfn{provenance}---the configuration file and +channels that were used to deploy it. You can view it like so: + +@example +guix system describe +@end example + +Additionally, @command{guix system reconfigure} preserves previous +system generations, which you can list: + +@example +guix system list-generations +@end example + +@noindent +@cindex roll back, for the system +Crucially, that means that you can always @emph{roll back} to an earlier +generation should something go wrong! When you eventually reboot, +you'll notice a sub-menu in the bootloader that reads ``Old system +generations'': it's what allows you to boot @emph{an older generation of +your system}, should the latest generation be ``broken'' or otherwise +unsatisfying. You can also ``permanently'' roll back, like so: + +@example +sudo guix system roll-back +@end example + +@noindent +Alternatively, you can use @command{guix system switch-generation} to +switch to a specific generation. + +Once in a while, you'll want to delete old generations that you do not +need anymore to allow @dfn{garbage collection} to free space +(@pxref{Invoking guix gc}). For example, to remove generations older +than 4 months, run: + +@example +sudo guix system delete-generations 4m +@end example + +From there on, anytime you want to change something in the system +configuration, be it adding a user account or changing parameters of a +service, you will first update your configuration file and then run +@command{guix system reconfigure} as shown above. +@cindex upgrade, of the system +Likewise, to @emph{upgrade} system software, you first fetch an +up-to-date Guix and then reconfigure your system with that new Guix: + +@example +guix pull +sudo guix system reconfigure /etc/config.scm +@end example + +@noindent +We recommend doing that regularly so that your system includes the +latest security updates (@pxref{Security Updates}). + +@c See . +@quotation Note +@cindex sudo vs. @command{guix pull} +@command{sudo guix} runs your user's @command{guix} command and +@emph{not} root's, because @command{sudo} leaves @env{PATH} unchanged. + +The difference matters here, because @command{guix pull} updates +the @command{guix} command and package definitions only for the user it is run +as. This means that if you choose to use @command{guix system reconfigure} in +root's login shell, you'll need to @command{guix pull} separately. +@end quotation + +That's it! If you're getting starting with Guix entirely, +@pxref{Getting Started}. The next sections dive in more detail into the +crux of the matter: system configuration. + @node Using the Configuration System @section Using the Configuration System +The previous section showed the overall workflow you would follow when +administering a Guix System machine (@pxref{Getting Started with the +System}). Let's now see in more detail what goes into the system +configuration file. + The operating system is configured by providing an @code{operating-system} declaration in a file that can then be passed to -the @command{guix system} command (@pxref{Invoking guix system}). A -simple setup, with the default Linux-Libre -kernel, initial RAM disk, and a couple of system services added to those +the @command{guix system} command (@pxref{Invoking guix system}), as +we've seen before. A simple setup, with the default Linux-Libre kernel, +initial RAM disk, and a couple of system services added to those provided by default looks like this: @findex operating-system @@ -17136,8 +17319,8 @@ provided by default looks like this: @include os-config-bare-bones.texi @end lisp -The configuration is declarative and hopefully mostly self-describing. -It is actually code in the Scheme programming language; the whole +The configuration is declarative. +It is code in the Scheme programming language; the whole @code{(operating-system @dots{})} expression produces a @dfn{record} with a number of @dfn{fields}. Some of the fields defined @@ -17146,16 +17329,21 @@ Others, such as @code{packages} and @code{services}, can be omitted, in which case they get a default value. @xref{operating-system Reference}, for details about all the available fields. -Below we discuss the effect of some of the most important fields, -and how to @dfn{instantiate} the operating system using -@command{guix system}. +Below we discuss the meaning of some of the most important fields. -@quotation Do not panic -@cindex Scheme programming language, getting started -Intimidated by the Scheme language or curious about it? The Cookbook -has a short section to get started that explains the fundamentals, which -you will find helpful when hacking your configuration. @xref{A Scheme -Crash Course,,, guix-cookbook, GNU Guix Cookbook}. +@quotation Troubleshooting +The configuration file is a Scheme program and you might get the syntax +or semantics wrong as you get started. Syntactic issues such as +misplaced parentheses can often be identified by reformatting your file: + +@example +guix style -f config.scm +@end example + +The Cookbook has a short section to get started with the Scheme +programming language that explains the fundamentals, which you will find +helpful when hacking your configuration. @xref{A Scheme Crash Course,,, +guix-cookbook, GNU Guix Cookbook}. @end quotation @unnumberedsubsec Bootloader @@ -17350,16 +17538,13 @@ Alternatively, the @code{modify-services} macro can be used: @unnumberedsubsec Instantiating the System +@cindex system instantiation +@cindex reconfiguring the system Assuming the @code{operating-system} declaration -is stored in the @file{my-system-config.scm} -file, the @command{guix system reconfigure my-system-config.scm} command -instantiates that configuration, and makes it the default GRUB boot -entry (@pxref{Invoking guix system}). - -@quotation Note -We recommend that you keep this @file{my-system-config.scm} file safe -and under version control to easily track changes to your configuration. -@end quotation +is stored in the @file{config.scm} +file, the @command{sudo guix system reconfigure config.scm} command +instantiates that configuration, and makes it the default boot +entry. @xref{Getting Started with the System}, for an overview. The normal way to change the system configuration is by updating this file and re-running @command{guix system reconfigure}. One should never @@ -17369,23 +17554,6 @@ fact, you must avoid that since that would not only void your warranty but also prevent you from rolling back to previous versions of your system, should you ever need to. -@cindex roll-back, of the operating system -Speaking of roll-back, each time you run @command{guix system -reconfigure}, a new @dfn{generation} of the system is created---without -modifying or deleting previous generations. Old system generations get -an entry in the bootloader boot menu, allowing you to boot them in case -something went wrong with the latest generation. Reassuring, no? The -@command{guix system list-generations} command lists the system -generations available on disk. It is also possible to roll back the -system via the commands @command{guix system roll-back} and -@command{guix system switch-generation}. - -Although the @command{guix system reconfigure} command will not modify -previous generations, you must take care when the current generation is not -the latest (e.g., after invoking @command{guix system roll-back}), since -the operation might overwrite a later generation (@pxref{Invoking guix -system}). - @unnumberedsubsec The Programming Interface At the Scheme level, the bulk of an @code{operating-system} declaration From edde7ee1bcb098663038014190e79578ed0d99db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 21 Feb 2024 15:47:40 +0100 Subject: [PATCH 006/261] =?UTF-8?q?doc:=20Add=20=E2=80=9CInspecting=20Serv?= =?UTF-8?q?ices=E2=80=9D=20section.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Inspecting Services): New subsection. Change-Id: I71378101de913a494e0d0e93cc76434c5a70b520 --- doc/guix.texi | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index dca91dc0c96..87fe9f803cc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17536,6 +17536,61 @@ Alternatively, the @code{modify-services} macro can be used: (delete avahi-service-type)) @end lisp +@unnumberedsubsec Inspecting Services + +@cindex troubleshooting, for system services +@cindex inspecting system services +@cindex system services, inspecting +As you work on your system configuration, you might wonder why some +system service doesn't show up or why the system is not as you expected. +There are several ways to inspect and troubleshoot problems. + +@cindex dependency graph, of Shepherd services +First, you can inspect the dependency graph of Shepherd services like +so: + +@example +guix system shepherd-graph /etc/config.scm | \ + guix shell xdot -- xdot - +@end example + +This lets you visualize the Shepherd services as defined in +@file{/etc/config.scm}. Each box is a service as would be shown by +@command{sudo herd status} on the running system, and each arrow denotes +a dependency (in the sense that if service @var{A} depends on @var{B}, +then @var{B} must be started before @var{A}). + +@cindex extension graph, of services +Not all ``services'' are Shepherd services though, since Guix System +uses a broader definition of the term (@pxref{Services}). To visualize +system services and their relations at a higher level, run: + +@example +guix system extension-graph /etc/config.scm | \ + guix shell xdot -- xdot - +@end example + +This lets you view the @dfn{service extension graph}: how services +``extend'' each other, for instance by contributing to their +configuration. @xref{Service Composition}, to understand the meaning of +this graph. + +Last, you may also find it useful to inspect your system configuration +at the REPL (@pxref{Using Guix Interactively}). Here is an example +session: + +@example +$ guix repl +scheme@@(guix-user)> ,use (gnu) +scheme@@(guix-user)> (define os (load "config.scm")) +scheme@@(guix-user)> ,pp (map service-kind (operating-system-services os)) +$1 = (# + @dots{}) +@end example + +@xref{Service Reference}, to learn about the Scheme interface to +manipulate and inspect services. + @unnumberedsubsec Instantiating the System @cindex system instantiation From 080d2dbcb5a6f25644afe2e4c6c5fa91c2c93b42 Mon Sep 17 00:00:00 2001 From: Spencer King Date: Tue, 27 Feb 2024 22:03:12 +0000 Subject: [PATCH 007/261] gnu: Add python-mord. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/machine-learning.scm (python-mord): New variable. Change-Id: I1a495fece72a0b998a69cb518544ed8835b12a40 Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 6e94e21f3e8..e758132d314 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2024 Sharlatan Hellseher ;;; Copyright © 2024 David Pflug ;;; Copyright © 2024 Timothee Mathieu +;;; Copyright © 2024 Spencer King ;;; ;;; This file is part of GNU Guix. ;;; @@ -1782,6 +1783,29 @@ scikit-learn inclusion criteria, for instance due to their novelty or lower citation number.") (license license:bsd-3)))) +(define-public python-mord + (package + (name "python-mord") + (version "0.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mord" version)) + (sha256 + (base32 "1cvv9b9w69v0inq0zgcw0vmkiq3zn9q9r6clkynpzjik9rrh405n")))) + (build-system pyproject-build-system) + ;; v0.7 does not provide any test cases + ;; v0.6 relies on deprecated scikit-learn functionality + (arguments `(#:tests? #f)) + (inputs (list python-numpy python-scipy python-scikit-learn)) + (home-page "https://pypi.org/project/mord/") + (synopsis "Ordinal regression models for scikit-learn") + (description + "This package provides a collection of ordinal regression models for +machine learning in Python. They are intended to be used with scikit-learn +and are compatible with its API.") + (license license:bsd-3))) + (define-public python-thinc (package (name "python-thinc") From 7fc91c141346caffb546d73bf7cacef169ec587f Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Fri, 23 Feb 2024 19:32:58 +0100 Subject: [PATCH 008/261] build-system/guile: Fix typo in documentation string. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/guile-build-system.scm (install-documentation): Fix typo in documentation string. Change-Id: I8940591fcbf8222c8f8365dabbac0e8300cad84c Signed-off-by: Ludovic Courtès --- guix/build/guile-build-system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm index e7e7f2d0bef..76bbb792593 100644 --- a/guix/build/guile-build-system.scm +++ b/guix/build/guile-build-system.scm @@ -216,7 +216,7 @@ installed; this is useful for files that are meant to be included." (documentation-file-regexp %documentation-file-regexp) #:allow-other-keys) - "Install files that mactch DOCUMENTATION-FILE-REGEXP." + "Install files that match DOCUMENTATION-FILE-REGEXP." (let* ((out (assoc-ref outputs "out")) (doc (string-append out "/share/doc/" (strip-store-file-name out)))) From c3cd24b29ad0b781afebec3fb3269bd04ad9adec Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Fri, 23 Feb 2024 19:18:13 +0100 Subject: [PATCH 009/261] build-system/guile: Fix indentation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The inner (let) was on the same level as the outer one, which was confusing. * guix/build/guile-build-system.scm (build): Fix indentation. Change-Id: I701b61747c270b185eac9377b066748baa2b3d20 Signed-off-by: Ludovic Courtès --- guix/build/guile-build-system.scm | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm index 76bbb792593..421e358b207 100644 --- a/guix/build/guile-build-system.scm +++ b/guix/build/guile-build-system.scm @@ -184,32 +184,32 @@ installed; this is useful for files that are meant to be included." (#f "") (path (string-append ":" path))))) - (let ((source-files + (let ((source-files (with-directory-excursion source-directory (find-files "." scheme-file-regexp)))) - (invoke-each - (filter-map (lambda (file) - (and (or (not not-compiled-file-regexp) - (not (string-match not-compiled-file-regexp - file))) - (cons* guild - "guild" "compile" - "-L" source-directory - "-o" (string-append go-dir - (file-sans-extension file) - ".go") - (string-append source-directory "/" file) - flags))) - source-files) - #:max-processes (parallel-job-count) - #:report-progress report-build-progress) + (invoke-each + (filter-map (lambda (file) + (and (or (not not-compiled-file-regexp) + (not (string-match not-compiled-file-regexp + file))) + (cons* guild + "guild" "compile" + "-L" source-directory + "-o" (string-append go-dir + (file-sans-extension file) + ".go") + (string-append source-directory "/" file) + flags))) + source-files) + #:max-processes (parallel-job-count) + #:report-progress report-build-progress) - (for-each - (lambda (file) + (for-each + (lambda (file) (install-file (string-append source-directory "/" file) (string-append module-dir "/" (dirname file)))) - source-files)) + source-files)) #t)) (define* (install-documentation #:key outputs From ef788ee2dc3d7de3bcf49ca1856ff06fc14b4541 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Fri, 23 Feb 2024 19:18:14 +0100 Subject: [PATCH 010/261] build-system/guile: Install .scm files first. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Until now the .go files were generated first, and only after that the .scm files were installed into the target location. That led to a lot of messages about `source file ... newer than compiled' if the custom 'check phase tried to load the compiled files. Swapping the order of the actions resolves the issue allowing the tests to be written without lot of noise in the build log. For final artifacts it was not a problem, since daemon resets the timestamps. * guix/build/guile-build-system.scm (build): Install .scm before producing .go. Change-Id: I3428d144fcbaa6c904ee662193c3bca82589e344 Signed-off-by: Ludovic Courtès --- guix/build/guile-build-system.scm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm index 421e358b207..8927da224a1 100644 --- a/guix/build/guile-build-system.scm +++ b/guix/build/guile-build-system.scm @@ -187,6 +187,12 @@ installed; this is useful for files that are meant to be included." (let ((source-files (with-directory-excursion source-directory (find-files "." scheme-file-regexp)))) + (for-each + (lambda (file) + (install-file (string-append source-directory "/" file) + (string-append module-dir + "/" (dirname file)))) + source-files) (invoke-each (filter-map (lambda (file) (and (or (not not-compiled-file-regexp) @@ -202,14 +208,7 @@ installed; this is useful for files that are meant to be included." flags))) source-files) #:max-processes (parallel-job-count) - #:report-progress report-build-progress) - - (for-each - (lambda (file) - (install-file (string-append source-directory "/" file) - (string-append module-dir - "/" (dirname file)))) - source-files)) + #:report-progress report-build-progress)) #t)) (define* (install-documentation #:key outputs From 6e7484808fa2979bd686aae5b64a71849e9391b9 Mon Sep 17 00:00:00 2001 From: John Fremlin Date: Tue, 13 Feb 2024 10:32:12 -0500 Subject: [PATCH 011/261] gnu: llama-cpp: Update to 03bf16. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/machine-learning.scm (llama-cpp): Update to 03bf161eb6dea6400ee49c6dc6b69bdcfa9fd3fc. [arguments]: Adjust program names. Change-Id: I9f5474606dd01be73fbc50813250991e9d248d85 Signed-off-by: Ludovic Courtès --- gnu/packages/machine-learning.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index e758132d314..5c18a2e9d57 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -524,8 +524,8 @@ Performance is achieved by using the LLVM JIT compiler.") (deprecated-package "guile-aiscm-next" guile-aiscm)) (define-public llama-cpp - (let ((commit "f31b5397143009d682db90fd2a6cde83f1ef00eb") - (revision "0")) + (let ((commit "03bf161eb6dea6400ee49c6dc6b69bdcfa9fd3fc") + (revision "1")) (package (name "llama-cpp") (version (git-version "0.0.0" revision commit)) @@ -534,10 +534,10 @@ Performance is achieved by using the LLVM JIT compiler.") (method git-fetch) (uri (git-reference (url "https://github.com/ggerganov/llama.cpp") - (commit (string-append "master-" (string-take commit 7))))) + (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0ys6n53n032zq1ll9f3vgxk8sw0qq7x3fi7awsyy13adzp3hn08p")))) + (base32 "1ag1jash84hasz10h0piw72a8ginm8kzvhihbzzljz96gq2kjm88")))) (build-system cmake-build-system) (arguments (list @@ -564,8 +564,10 @@ Performance is achieved by using the LLVM JIT compiler.") (get-string-all input)))))) (chmod (string-append bin script) #o555))) (mkdir-p bin) - (make-script "convert-pth-to-ggml") + (make-script "convert-hf-to-gguf") + (make-script "convert-llama-ggml-to-gguf") (make-script "convert-lora-to-ggml") + (make-script "convert-persimmon-to-gguf") (make-script "convert")))) (add-after 'install-python-scripts 'wrap-python-scripts (assoc-ref python:%standard-phases 'wrap)) From 47d5a96bd28b1e22b06bb5dd9fd0ed3be22188d8 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Sun, 25 Feb 2024 14:26:08 +0100 Subject: [PATCH 012/261] gnu: guile-irregex: Update to 0.9.11. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since upstream now provides tests for guile, they are executed, both before install (testing the internals) and after install (making sure the guile module and everything works well). Guile 2.0 for some reason cannot load "foo.scm" using (load-from-path "foo"), so symlinks are created to work around that. * gnu/packages/guile-xyz.scm (guile-irregex)[version]: Update to 0.9.11. [arguments]: Convert to gexp. <#:phases>{'move-files-around}: Copy files instead of moving. {'check, 'check-installed}: New phases. (guile2.0-irregex)[arguments]: Add 'create-symlinks phase. Change-Id: Ib9d4e9c24475aa8e7fc1e70b868b690eaf6ad42e Signed-off-by: Ludovic Courtès --- gnu/packages/guile-xyz.scm | 78 +++++++++++++++++++++++++++++--------- 1 file changed, 60 insertions(+), 18 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index b34472d5bd9..9d683199ac9 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2895,7 +2895,7 @@ See http://minikanren.org/ for more on miniKanren generally.") (define-public guile-irregex (package (name "guile-irregex") - (version "0.9.6") + (version "0.9.11") (source (origin (method url-fetch) (uri (string-append @@ -2903,25 +2903,46 @@ See http://minikanren.org/ for more on miniKanren generally.") version ".tar.gz")) (sha256 (base32 - "1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq")))) + "026kzl96pmwbjqdc7kh8rdh8ng813sjvdsik0dag5acza20sjm19")))) (build-system guile-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'move-files-around - (lambda _ - ;; Move the relevant source files to src/ and create the - ;; rx/ directory to match the expected module hierarchy. - (mkdir-p "src/rx/source") - (rename-file "irregex-guile.scm" - "src/rx/irregex.scm") - (rename-file "irregex.scm" - "src/rx/source/irregex.scm") - ;; Not really reachable via guile's packaging system, - ;; but nice to have around. - (rename-file "irregex-utils.scm" - "src/rx/source/irregex-utils.scm") - #t))) - #:source-directory "src")) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'move-files-around + (lambda _ + ;; Copy the relevant source files to src/ and create the + ;; rx/ directory to match the expected module hierarchy. + (mkdir-p "src/rx/source") + (copy-file "irregex-guile.scm" + "src/rx/irregex.scm") + (copy-file "irregex.scm" + "src/rx/source/irregex.scm") + + (mkdir-p "src/rx/irregex") + (copy-file "irregex-utils-guile.scm" + "src/rx/irregex/utils.scm") + (copy-file "irregex-utils.scm" + "src/rx/source/irregex-utils.scm"))) + (add-after 'build 'check + (lambda _ + (for-each (lambda (f) + (invoke "guile" "--no-auto-compile" "-L" "." "-s" f)) + (find-files "tests" "^guile-.*\\.scm")))) + (add-after 'install 'check-installed + (lambda _ + (define-values (scm go) (target-guile-scm+go #$output)) + (for-each + (lambda (f) + (substitute* f + (("\\(load-from-path \"irregex\"\\)") + "(use-modules (rx irregex))") + (("\\(load-from-path \"irregex-utils\"\\)") + "(use-modules (rx irregex utils))")) + (invoke "guile" "-L" scm "-C" go "-L" "tests" f)) + (delete "tests/guile-cset.scm" ; Tests non-exported API + (find-files "tests" "^guile-.*\\.scm")))))) + #:source-directory "src")) (native-inputs (list guile-3.0)) (home-page "https://synthcode.com/scheme/irregex") @@ -2936,6 +2957,27 @@ inspired by the SCSH regular expression system.") (package (inherit guile-irregex) (name "guile2.0-irregex") + (arguments + (substitute-keyword-arguments (package-arguments guile-irregex) + ((#:phases phases) + #~(modify-phases #$phases + ;; For some reason guile 2.0 cannot load foo.scm using + ;; (load-from-path "foo"). So create symlinks to work around it. + (add-before 'check 'create-symlinks + (lambda _ + (use-modules (ice-9 regex)) + (for-each + (lambda (f) + (symlink (regexp-substitute #f (string-match "/([^/]+)$" f) + 1 ".scm") + f)) + '("tests/guile/test-support" + "tests/test-cset" + "tests/test-irregex" + "tests/test-irregex-from-gauche" + "tests/test-irregex-pcre" + "tests/test-irregex-scsh" + "tests/test-irregex-utf8")))))))) (native-inputs (list guile-2.0)))) (define-public guile2.2-irregex From a8d214d3ccebe3cf3b419ea152fccdb09d149b5e Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Sun, 25 Feb 2024 16:55:42 +0100 Subject: [PATCH 013/261] gnu: cgit: Update to 8905003cba637e5b18069e625cd4f4c05ac30251. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/version-control.scm (cgit): Update to 8905003cba637e5b18069e625cd4f4c05ac30251. Change-Id: I2bf1cdc16c6d8164e11b03ab26a048d6149a5e7c Signed-off-by: Ludovic Courtès --- gnu/packages/version-control.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index cbdd1a89a2b..ceee5878dce 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1131,8 +1131,8 @@ collaboration using typical untrusted file hosts or services.") (license license:gpl3+))) (define-public cgit - (let ((commit "793c420897e18eb3474c751d54cf4e0983f85433") - (rev "1")) + (let ((commit "8905003cba637e5b18069e625cd4f4c05ac30251") + (rev "2")) (package (name "cgit") ;; Update the ‘git-source’ input as well. @@ -1144,7 +1144,7 @@ collaboration using typical untrusted file hosts or services.") (commit commit))) (sha256 (base32 - "1mhrm14wpqvralf9j33ih5ai6naiq3g2jg2z91gnw9dhh8f9ilwz")) + "1ha8d2n59mv89vv4bqgg3dk82n1rqh8kd8y654vqx7v1v7m645qz")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -1220,9 +1220,9 @@ collaboration using typical untrusted file hosts or services.") (method url-fetch) ;; cgit is tightly bound to git. Use GIT_VER from the Makefile, ;; which may not match the current (package-version git). - (uri "mirror://kernel.org/software/scm/git/git-2.43.0.tar.xz") + (uri "mirror://kernel.org/software/scm/git/git-2.44.0.tar.xz") (sha256 - (base32 "1v3nkfm3gw8wr7595qy86qla8xyjvi85fmly4lfph4frfcz60ijl")))) + (base32 "1qqxd3pdsca6m93lxxkz9s06xs1sq0ah02lhrr0a6pjvrf6p6n73")))) ("bash-minimal" ,bash-minimal) ("openssl" ,openssl) ("python" ,python) From 61694dc1cd8888adab34841171fc098d9d206dfe Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Fri, 16 Feb 2024 22:14:26 +0100 Subject: [PATCH 014/261] gnu: Add passt. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/containers.scm (passt): New variable. Change-Id: I2ebdd9d4255a89a86fb196568215b74bb61cb3a6 Signed-off-by: Ludovic Courtès --- gnu/packages/containers.scm | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 2b5acdc3bcc..5b79e8a446a 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -248,6 +248,46 @@ containers or various tools.") network namespaces.") (license license:gpl2+))) +(define-public passt + (package + (name "passt") + (version "2023_12_30.f091893") + (source + (origin + (method url-fetch) + (uri (string-append "https://passt.top/passt/snapshot/passt-" version + ".tar.gz")) + (sha256 + (base32 "1nyd4h93qlxn1r01ffijpsd7r7ny62phki5j58in8gz021jj4f3d")))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + "RLIMIT_STACK_VAL=1024" ; ¯\_ (ツ)_/¯ + (string-append "VERSION=" #$version) + (string-append "prefix=" #$output)) + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://passt.top") + (synopsis "Plug A Simple Socket Transport") + (description + "passt implements a thin layer between guest and host, that only +implements what's strictly needed to pretend processes are running locally. +The TCP adaptation doesn't keep per-connection packet buffers, and reflects +observed sending windows and acknowledgements between the two sides. This TCP +adaptation is needed as passt runs without the CAP_NET_RAW capability: it +can't create raw IP sockets on the pod, and therefore needs to map packets at +Layer-2 to Layer-4 sockets offered by the host kernel. + +Also provides pasta, which similarly to slirp4netns, provides networking to +containers by creating a tap interface available to processes in the +namespace, and mapping network traffic outside the namespace using native +Layer-4 sockets.") + (license (list license:gpl2+ license:bsd-3)))) + (define-public cni-plugins (package (name "cni-plugins") From 6f5ea7ac1acb3d1c53baf7620cca66cc87fe5a73 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Fri, 16 Feb 2024 22:14:27 +0100 Subject: [PATCH 015/261] gnu: podman: Update to 4.9.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/containers.scm (podman): Update to 4.9.3. * gnu/packages/patches/podman-program-lookup.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: If764e8456a697d16b76cd4ba1243cc5f633a6049 Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/containers.scm | 24 ++-- .../patches/podman-program-lookup.patch | 120 ++++++++++++++++++ 3 files changed, 137 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/podman-program-lookup.patch diff --git a/gnu/local.mk b/gnu/local.mk index f280b849df1..cabd82f5326 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1790,6 +1790,7 @@ dist_patch_DATA = \ %D%/packages/patches/plasp-fix-normalization.patch \ %D%/packages/patches/plasp-include-iostream.patch \ %D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch \ + %D%/packages/patches/podman-program-lookup.patch \ %D%/packages/patches/pokerth-boost.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ %D%/packages/patches/procps-strtod-test.patch \ diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm index 5b79e8a446a..aa270a25f30 100644 --- a/gnu/packages/containers.scm +++ b/gnu/packages/containers.scm @@ -342,7 +342,7 @@ configure network interfaces in Linux containers.") (define-public podman (package (name "podman") - (version "4.4.1") + (version "4.9.3") (source (origin (method git-fetch) @@ -353,8 +353,11 @@ configure network interfaces in Linux containers.") ;; FIXME: Btrfs libraries not detected by these scripts. (snippet '(substitute* "Makefile" ((".*hack/btrfs.*") ""))) + (patches + (search-patches + "podman-program-lookup.patch")) (sha256 - (base32 "0qbr6rbyig3c2hvdvmd94jjkg820hpdz6j7dgyv62dl6wfwvj5jj")) + (base32 "17g7n09ndxhpjr39s9qwxdcv08wavjj0g5nmnrvrkz2wgdqigl1x")) (file-name (git-file-name name version)))) (build-system gnu-build-system) @@ -381,10 +384,11 @@ configure network interfaces in Linux containers.") (invoke "make" "remotesystem")))) (add-after 'unpack 'fix-hardcoded-paths (lambda _ - (substitute* (find-files "libpod" "\\.go") - (("exec.LookPath[(][\"]slirp4netns[\"][)]") - (string-append "exec.LookPath(\"" - (which "slirp4netns") "\")"))) + (substitute* "vendor/github.com/containers/common/pkg/config/config.go" + (("@SLIRP4NETNS_DIR@") + (string-append #$slirp4netns "/bin")) + (("@PASST_DIR@") + (string-append #$passt "/bin"))) (substitute* "hack/install_catatonit.sh" (("CATATONIT_PATH=\"[^\"]+\"") (string-append "CATATONIT_PATH=" (which "true")))) @@ -414,11 +418,12 @@ configure network interfaces in Linux containers.") libassuan libseccomp libselinux + passt slirp4netns)) (native-inputs (list bats git - go-1.19 + go-1.21 ; strace ; XXX debug pkg-config python)) @@ -427,7 +432,10 @@ configure network interfaces in Linux containers.") (description "Podman (the POD MANager) is a tool for managing containers and images, volumes mounted into those containers, and pods made from groups of -containers.") +containers. + +The @code{machine} subcommand is not supported due to gvproxy not being +packaged.") (license license:asl2.0))) (define-public buildah diff --git a/gnu/packages/patches/podman-program-lookup.patch b/gnu/packages/patches/podman-program-lookup.patch new file mode 100644 index 00000000000..27a94212859 --- /dev/null +++ b/gnu/packages/patches/podman-program-lookup.patch @@ -0,0 +1,120 @@ +From 914aed3e04f71453fbdc30f4287e13ca3ce63a36 Mon Sep 17 00:00:00 2001 +From: Tomas Volf <~@wolfsden.cz> +Date: Wed, 14 Feb 2024 20:02:03 +0100 +Subject: [PATCH] Modify search for binaries to fit Guix model + +Podman basically looked into the $PATH and into its libexec. That does not fit +Guix's model very well, to an additional option to specify additional +directories during compilation was added. + +* pkg/rootless/rootless_linux.go +(tryMappingTool): Also check /run/setuid-programs. +* vendor/github.com/containers/common/pkg/config/config.go +(extraGuixDir): New function. +(FindHelperBinary): Use it. +* vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go +(guixLookupSetuidPath): New function. +(Start): Use it. +--- + pkg/rootless/rootless_linux.go | 3 +++ + .../containers/common/pkg/config/config.go | 23 +++++++++++++++++++ + .../storage/pkg/unshare/unshare_linux.go | 14 +++++++++-- + 3 files changed, 38 insertions(+), 2 deletions(-) + +diff --git a/pkg/rootless/rootless_linux.go b/pkg/rootless/rootless_linux.go +index d303c8b..0191d90 100644 +--- a/pkg/rootless/rootless_linux.go ++++ b/pkg/rootless/rootless_linux.go +@@ -102,6 +102,9 @@ func tryMappingTool(uid bool, pid int, hostID int, mappings []idtools.IDMap) err + idtype = "setgid" + } + path, err := exec.LookPath(tool) ++ if err != nil { ++ path, err = exec.LookPath("/run/setuid-programs/" + tool) ++ } + if err != nil { + return fmt.Errorf("command required for rootless mode with multiple IDs: %w", err) + } +diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go +index 75b917f..ed2f131 100644 +--- a/vendor/github.com/containers/common/pkg/config/config.go ++++ b/vendor/github.com/containers/common/pkg/config/config.go +@@ -1102,6 +1102,24 @@ func findBindir() string { + return bindirCached + } + ++func extraGuixDir(bin_name string) string { ++ if (bin_name == "slirp4netns") { ++ return "@SLIRP4NETNS_DIR@"; ++ } else if (bin_name == "pasta") { ++ return "@PASST_DIR@"; ++ } else if (strings.HasPrefix(bin_name, "qemu-")) { ++ return "@QEMU_DIR@"; ++ } else if (bin_name == "gvproxy") { ++ return "@GVPROXY_DIR@"; ++ } else if (bin_name == "netavark") { ++ return "@NETAVARK_DIR@"; ++ } else if (bin_name == "aardvark-dns") { ++ return "@AARDVARK_DNS_DIR@"; ++ } else { ++ return ""; ++ } ++} ++ + // FindHelperBinary will search the given binary name in the configured directories. + // If searchPATH is set to true it will also search in $PATH. + func (c *Config) FindHelperBinary(name string, searchPATH bool) (string, error) { +@@ -1109,6 +1127,11 @@ func (c *Config) FindHelperBinary(name string, searchPATH bool) (string, error) + bindirPath := "" + bindirSearched := false + ++ if dir := extraGuixDir(name); dir != "" { ++ /* If there is a Guix dir, skip the PATH search. */ ++ dirList = append([]string{dir}, dirList...) ++ } ++ + // If set, search this directory first. This is used in testing. + if dir, found := os.LookupEnv("CONTAINERS_HELPER_BINARY_DIR"); found { + dirList = append([]string{dir}, dirList...) +diff --git a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go +index a8dc1ba..0b0d755 100644 +--- a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go ++++ b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go +@@ -26,6 +26,16 @@ import ( + "github.com/syndtr/gocapability/capability" + ) + ++func guixLookupSetuidPath(prog string) (string, error) { ++ path, err := exec.LookPath(prog) ++ if err != nil { ++ path, err = exec.LookPath("/run/setuid-programs/" + prog) ++ } ++ return path, err ++} ++ ++ ++ + // Cmd wraps an exec.Cmd created by the reexec package in unshare(), and + // handles setting ID maps and other related settings by triggering + // initialization code in the child. +@@ -237,7 +247,7 @@ func (c *Cmd) Start() error { + gidmapSet := false + // Set the GID map. + if c.UseNewgidmap { +- path, err := exec.LookPath("newgidmap") ++ path, err := guixLookupSetuidPath("newgidmap") + if err != nil { + return fmt.Errorf("finding newgidmap: %w", err) + } +@@ -297,7 +307,7 @@ func (c *Cmd) Start() error { + uidmapSet := false + // Set the UID map. + if c.UseNewuidmap { +- path, err := exec.LookPath("newuidmap") ++ path, err := guixLookupSetuidPath("newuidmap") + if err != nil { + return fmt.Errorf("finding newuidmap: %w", err) + } +-- +2.41.0 + From b0fb2c526b9ce346f4115e78754e845ca4d82ce2 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sun, 3 Mar 2024 07:09:22 +0100 Subject: [PATCH 016/261] gnu: Fix variable name of prosody-smacks. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In commit bca48fdef48150a3c4e96e3941feb1986ea3e631, it was inadvertently changed to “prosody-smack”. The CLI is not affected. * gnu/packages/messaging.scm (prosody-smack): Rename to… (prosody-smacks): … this. Fixes: “Another silly refactoring mistake” Reported-by: Carlo Zancanaro --- gnu/packages/messaging.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index aa9feffb975..03b7368ae0a 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1617,7 +1617,7 @@ protocols.") (description "This module implements XEP-0363: it allows clients to upload files over HTTP."))) -(define-public prosody-smack +(define-public prosody-smacks (package (inherit (prosody-module "mod_smacks")) (synopsis "XEP-0198: Reliability and fast reconnects for XMPP") From f5972b0762e47422ae42c68844d8cc7b5bd64a50 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 2 Mar 2024 22:20:54 +0200 Subject: [PATCH 017/261] gnu: girara: Update to 0.4.2. * gnu/packages/gtk.scm (girara): Update to 0.4.2. Change-Id: Ib7daa73b5802c98b653f4513f6111dcad786b65f --- gnu/packages/gtk.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 1a3bb56945b..2dcfa0edc17 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2015 David Hashe ;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Ricardo Wurmus -;;; Copyright © 2016, 2017, 2020-2023 Efraim Flashner +;;; Copyright © 2016, 2017, 2020-2024 Efraim Flashner ;;; Copyright © 2016 Fabian Harfert ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Patrick Hetu @@ -2124,7 +2124,7 @@ and routines to assist in editing internationalized text.") (define-public girara (package (name "girara") - (version "0.3.7") + (version "0.4.2") (source (origin (method git-fetch) @@ -2133,7 +2133,7 @@ and routines to assist in editing internationalized text.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0k93pi0lkf941vanvh1habm6n5wl1n63726j5kqxh34wdlv4mv4s")))) + (base32 "11fi7yy28rv6clj9gkvz58gd8zph95khq9jjia4c5skq03m67npz")))) (native-inputs `(("pkg-config" ,pkg-config) ("check" ,check) ("gettext" ,gettext-minimal) From bdecacafecaba982b58c7b5120bdcf2966fb517f Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Thu, 25 Jan 2024 21:39:50 +0100 Subject: [PATCH 018/261] gnu: Add python-cramjam. * gnu/packages/python-compression.scm (python-cramjam): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/python-compression.scm | 80 ++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 6f249dd3afe..691fbd3065f 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2020 Nicolas Goaziou ;;; Copyright © 2020, 2022, 2023 Marius Bakke ;;; Copyright © 2021 Brendan Tildesley -;;; Copyright © 2023 Troy Figiel +;;; Copyright © 2023, 2024 Troy Figiel ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,12 +30,14 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) + #:use-module (guix build-system cargo) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system pyproject) #:use-module (gnu packages) #:use-module (gnu packages libffi) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) #:use-module (gnu packages check) #:use-module (gnu packages maths) #:use-module (gnu packages pkg-config) @@ -44,6 +46,7 @@ #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages sphinx)) (define-public python-multivolumefile @@ -73,6 +76,81 @@ file-object abstraction, making it possible to use multiple files as if they were a single file.") (license license:lgpl2.1+))) +(define-public python-cramjam + (package + (name "python-cramjam") + (version "2.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cramjam" version)) + (sha256 + (base32 "1b69qlr0q7q3spa7zy55xc1dr5pjgsdavxx8ijhv2j60xqjbg7sp")))) + (build-system cargo-build-system) + (arguments + (list + #:imported-modules `(,@%cargo-build-system-modules + ,@%pyproject-build-system-modules) + #:modules '((guix build cargo-build-system) + ((guix build pyproject-build-system) + #:prefix py:) + (guix build utils)) + #:phases #~(modify-phases %standard-phases + ;; We use Maturin to build the project. + (replace 'build + (assoc-ref py:%standard-phases + 'build)) + ;; Before being able to run Python tests, we need to + ;; install the module and add it to PYTHONPATH. + (delete 'install) + (add-after 'build 'install + (assoc-ref py:%standard-phases + 'install)) + (add-after 'install 'add-install-to-pythonpath + (assoc-ref py:%standard-phases + 'add-install-to-pythonpath)) + ;; Finally run the tests. Only Python tests are provided. + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + ;; Without the CI variable, tests are run in "local" + ;; mode, which sets a deadline for hypothesis. For a + ;; deterministic build, we need to set CI. + (setenv "CI" "1") + (invoke "pytest" "-vv" "tests"))))) + #:cargo-inputs `(("rust-brotli" ,rust-brotli-3) + ("rust-bzip2" ,rust-bzip2-0.4) + ("rust-flate2" ,rust-flate2-1) + ("rust-lz4" ,rust-lz4-1) + ("rust-pyo3" ,rust-pyo3-0.18) + ("rust-snap" ,rust-snap-1) + ("rust-zstd" ,rust-zstd-0.11)) + #:install-source? #f)) + (native-inputs (list maturin + python-pytest + python-pytest-xdist + python-numpy + python-hypothesis + python-wrapper)) + (home-page "https://github.com/milesgranger/cramjam") + (synopsis "Python bindings to compression algorithms in Rust") + (description + "This package provides thin Python bindings to compression and +decomporession algorithms implemented in Rust. This allows for using +algorithms such as Snappy without additional system dependencies. The +following algorithms are available: + +@itemize +@item Snappy +@item Brotli +@item Bzip2 +@item LZ4 +@item Gzip +@item Deflate +@item Zstd +@end itemize") + (license license:expat))) + (define-public python-pybcj (package (name "python-pybcj") From f00f56514d90ebba5d9e08ec786c8118e437097c Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Thu, 25 Jan 2024 21:45:20 +0100 Subject: [PATCH 019/261] gnu: Add python-fastparquet. * gnu/packages/databases.scm (python-fastparquet): New variable. Co-authored-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher Change-Id: Ib3c39167c0d82aab9b271fdba181daa311f692a8 --- gnu/packages/databases.scm | 75 +++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index db4fe0b447f..33e7327ebb3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -45,7 +45,7 @@ ;;; Copyright © 2020 Michael Rohleder ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Vincent Legoll -;;; Copyright © 2021 Sharlatan Hellseher +;;; Copyright © 2021, 2024 Sharlatan Hellseher ;;; Copyright © 2021, 2024 Greg Hogan ;;; Copyright © 2021 David Larsson ;;; Copyright © 2021 Pjotr Prins @@ -62,6 +62,7 @@ ;;; Copyright © 2023 Felix Gruber ;;; Copyright © 2023 Giacomo Leidi +;;; Copyright © 2024 Troy Figiel ;;; ;;; This file is part of GNU Guix. ;;; @@ -143,6 +144,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) @@ -4984,6 +4986,77 @@ implementation, along with tools for interoperability with pandas, NumPy, and other traditional Python scientific computing packages.") (license license:asl2.0))) +(define-public python-fastparquet + (package + (name "python-fastparquet") + (version "2024.2.0") + (source + (origin + ;; Fastparquet uses setuptools-scm to find the current version. This + ;; only works when we use the PyPI tarball, which does not contain + ;; tests. Instead, we use the git-fetch method and set the version via + ;; envar. + (method git-fetch) + (uri (git-reference + (url "https://github.com/dask/fastparquet") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f32dj1xvd11l0siznqd33dpjlhg9siylcjcfkcdlqfcy45jfj3v")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + #~(list "-n" "auto") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + ;; Remove dependencies on git. + (("^.*\"git\", \"status\".*$") "") + ;; Guix is only compatible with a single version of numpy + ;; at a time. We can safely remove this dependency. + (("'oldest-supported-numpy'") "")))) + (add-before 'build 'pretend-version + ;; The version string is usually derived via setuptools-scm, but + ;; without the git metadata available, the version string is set + ;; to '0.0.0'. + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))) + (add-before 'check 'build-cython-extensions + ;; Cython extensions need to be built for the check phase. + (lambda _ + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (propagated-inputs + (list python-cramjam + python-fsspec + python-lzo + python-numpy + python-packaging + python-pandas)) + (native-inputs + (list python-cython + python-pytest-runner + python-pytest-xdist + python-setuptools-scm)) + (home-page "https://github.com/dask/fastparquet") + (synopsis "Python implementation of the Parquet file format") + (description + "@code{fastparquet} is a Python implementation of the Parquet file +format. @code{fastparquet} is used implicitly by @code{dask}, @code{pandas} +and @code{intake-parquet}. It supports the following compression algorithms: + +@itemize +@item Gzip +@item Snappy +@item Brotli +@item LZ4 +@item Zstd +@item LZO (optionally) +@end itemize") + (license license:asl2.0))) + (define-public python-crate (package (name "python-crate") From b13747e977be1c872299d6757c088ebe87a52dd0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 3 Mar 2024 21:52:07 +0200 Subject: [PATCH 020/261] gnu: vim: Update to 9.1.0146. * gnu/packages/vim.scm (vim): Update to 9.1.0146. [arguments]: Adjust 'patch-absolute-paths phase to patch another /bin/sh invocation. Change-Id: I61e65988b96561bd10c9d35506e24c702cfb38d3 --- gnu/packages/vim.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 7cacdd5f06a..6b5eaabf8eb 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -86,7 +86,7 @@ (define-public vim (package (name "vim") - (version "9.1.0059") + (version "9.1.0146") (source (origin (method git-fetch) (uri (git-reference @@ -95,7 +95,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "146zhwhagdsbsh3h7f8h7izbzrwh3hgry4cx2lalq9s275qy3hzb")))) + "05lz8ai39p9ypk22n7qc7g21868m08pl12sn4028jshx5nxwy2zn")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -116,7 +116,8 @@ (("/bin/sh") (which "sh"))) (substitute* "src/testdir/test_autocmd.vim" (("/bin/kill") (which "kill"))) - (substitute* "src/if_cscope.c" + (substitute* '("runtime/syntax/sh.vim" + "src/if_cscope.c") (("/bin/sh") (search-input-file inputs "/bin/sh"))))) (add-before 'check 'set-environment-variables (lambda* (#:key inputs #:allow-other-keys) From b1a74ee76ed33d866b7fd73bcb2c784949b84cee Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Fri, 1 Mar 2024 22:15:20 -0800 Subject: [PATCH 021/261] gnu: units: Update to 2.23. * gnu/packages/maths.scm (units): Update to 2.23. Change-Id: Ia1b3df68c125631255cb3d28d2bf55d3148ee462 Signed-off-by: Efraim Flashner --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e88a74636be..47070ded15e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -425,13 +425,13 @@ programming language.") (define-public units (package (name "units") - (version "2.22") + (version "2.23") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/units/units-" version ".tar.gz")) (sha256 (base32 - "0j2q2a9sgldqwcifsnb7qagsmp8fvj91vfh6v4k7gzi1fwhf24sx")))) + "0w3kl58y7fq9paaq8ayn5gwylc4n8jbk6lf42kkcj9ar4i8v8myr")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) From 2446683c46a25bc8e9686b12dd6d81fb1cf4d112 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sat, 2 Mar 2024 10:15:51 +0100 Subject: [PATCH 022/261] gnu: imv: Update to 4.5.0. * gnu/packages/image-viewers.scm (imv): Update to 4.5.0. [inputs]: Add libjxl. [native-inputs]: Add cmocka. Change-Id: I71d8dff608570634692aed93959a4cc5da485150 Signed-off-by: Efraim Flashner --- gnu/packages/image-viewers.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 4769f136e0e..dab7d9d1f23 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -767,7 +767,7 @@ displayed in a terminal.") (define-public imv (package (name "imv") - (version "4.4.0") + (version "4.5.0") (source (origin (method git-fetch) (uri (git-reference @@ -775,7 +775,7 @@ displayed in a terminal.") (commit (string-append "v" version)))) (sha256 (base32 - "1zlds43z17jrnsrfz3rf3sb3pa5gkmxaibq87509ikc7p1p09c9c")) + "0988rpgzyhb27sbhrh5f2zqccqirmq7xb0naqh9nbl8j1dg897b8")) (file-name (git-file-name name version)))) (build-system meson-build-system) (arguments @@ -792,13 +792,15 @@ displayed in a terminal.") (("imv") (string-append bin "/imv"))))))))) (native-inputs (list asciidoc + cmocka pkg-config)) (inputs (list freeimage glu libheif - libjpeg-turbo libinih + libjpeg-turbo + libjxl libnsgif (librsvg-for-system) libtiff From 603dcdfbce23a8ee730cbe8ffac1e8dc3b053bef Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:04 +0000 Subject: [PATCH 023/261] gnu: moarvm: Remove trailing boolean. * gnu/packages/perl6.scm (moarvm)[source]: Reindent. [snippet]: Remove trailing boolean. [arguments]: Reindent. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index dab9dd477ba..3c3646587a5 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -36,31 +36,30 @@ (name "moarvm") (version "2019.03") (source - (origin - (method url-fetch) - (uri (string-append "https://moarvm.org/releases/MoarVM-" - version ".tar.gz")) - (sha256 - (base32 - "017w1zvr6yl0cgjfc1b3ddlc6vjw9q8p7alw1vvsckw95190xc14")) - (modules '((guix build utils))) - (snippet - '(begin - ;(delete-file-recursively "3rdparty/dynasm") ; JIT - (delete-file-recursively "3rdparty/dyncall") - (delete-file-recursively "3rdparty/freebsd") - (delete-file-recursively "3rdparty/libatomicops") - (delete-file-recursively "3rdparty/libuv") - (delete-file-recursively "3rdparty/libtommath") - (delete-file-recursively "3rdparty/msinttypes") - #t)))) + (origin + (method url-fetch) + (uri (string-append "https://moarvm.org/releases/MoarVM-" + version ".tar.gz")) + (sha256 + (base32 + "017w1zvr6yl0cgjfc1b3ddlc6vjw9q8p7alw1vvsckw95190xc14")) + (modules '((guix build utils))) + (snippet + '(begin + ;(delete-file-recursively "3rdparty/dynasm") ; JIT + (delete-file-recursively "3rdparty/dyncall") + (delete-file-recursively "3rdparty/freebsd") + (delete-file-recursively "3rdparty/libatomicops") + (delete-file-recursively "3rdparty/libuv") + (delete-file-recursively "3rdparty/libtommath") + (delete-file-recursively "3rdparty/msinttypes"))))) (build-system perl-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) + (let ((out (assoc-ref outputs "out")) (pkg-config (assoc-ref inputs "pkg-config"))) (setenv "CFLAGS" "-fcommon") (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib")) From 3e1e1316107ecffaae56c8ed3229a66a7c13bd6f Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:10 +0000 Subject: [PATCH 024/261] gnu: nqp: Remove trailing booleans. * gnu/packages/perl6.scm (nqp)[source]: Reindent. [snippet]: Remove trailing boolean (and therefore the 'begin'). [arguments]: Remove trailing booleans. Reindent. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 3c3646587a5..5f807a17431 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -100,17 +100,16 @@ with native libraries. (name "nqp") (version "2019.03") (source - (origin - (method url-fetch) - (uri (string-append "https://rakudo.perl6.org/downloads/nqp/nqp-" - version ".tar.gz")) - (sha256 - (base32 - "183zhll13fx416s3hkg4bkvib77kyr857h0nydgrl643fpacxp83")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "3rdparty") #t)))) + (origin + (method url-fetch) + (uri (string-append "https://rakudo.perl6.org/downloads/nqp/nqp-" + version ".tar.gz")) + (sha256 + (base32 + "183zhll13fx416s3hkg4bkvib77kyr857h0nydgrl643fpacxp83")) + (modules '((guix build utils))) + (snippet + '(delete-file-recursively "3rdparty")))) (build-system perl-build-system) (arguments '(#:phases @@ -125,21 +124,18 @@ with native libraries. "tools/build/gen-moar-runner.pl" "t/nqp/111-spawnprocasync.t" "t/nqp/113-run-command.t") - (("/bin/sh") (which "sh"))) - #t)) + (("/bin/sh") (which "sh"))))) (add-after 'unpack 'patch-source-date (lambda _ (substitute* "tools/build/gen-version.pl" - (("gmtime") "gmtime(0)")) - #t)) + (("gmtime") "gmtime(0)")))) (add-after 'unpack 'remove-failing-test ;; One subtest fails for unknown reasons (lambda _ - (delete-file "t/nqp/019-file-ops.t") - #t)) + (delete-file "t/nqp/019-file-ops.t"))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) + (let ((out (assoc-ref outputs "out")) (moar (assoc-ref inputs "moarvm"))) (invoke "perl" "Configure.pl" "--backends=moar" From d154fa0bae0a4e6ee1684dac42a04b1b36ce544b Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:17 +0000 Subject: [PATCH 025/261] gnu: rakudo: Remove trailing booleans. * gnu/packages/perl6.scm (rakudo)[source]: Reindent. [arguments]: Remove trailing booleans. Reindent. [native-search-paths]: Reindent. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 5f807a17431..052d4e09142 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -161,13 +161,13 @@ regular expression engine for the virtual machine.") (name "rakudo") (version "2019.03.1") (source - (origin - (method url-fetch) - (uri (string-append "https://rakudo.perl6.org/downloads/rakudo/rakudo-" - version ".tar.gz")) - (sha256 - (base32 - "1nllf69v8xr6v3kkj7pmryg11n5m3ajfkr7j72pvhrgnjy8lv3r1")))) + (origin + (method url-fetch) + (uri (string-append "https://rakudo.perl6.org/downloads/rakudo/rakudo-" + version ".tar.gz")) + (sha256 + (base32 + "1nllf69v8xr6v3kkj7pmryg11n5m3ajfkr7j72pvhrgnjy8lv3r1")))) (build-system perl-build-system) (arguments '(#:phases @@ -175,16 +175,14 @@ regular expression engine for the virtual machine.") (add-after 'unpack 'patch-source-date (lambda _ (substitute* "tools/build/gen-version.pl" - (("gmtime") "gmtime(0)")) - #t)) + (("gmtime") "gmtime(0)")))) (add-after 'patch-source-shebangs 'patch-more-shebangs (lambda _ (substitute* '("tools/build/create-js-runner.pl" "tools/build/create-moar-runner.p6" "tools/build/create-jvm-runner.pl" "src/core/Proc.pm6") - (("/bin/sh") (which "sh"))) - #t)) + (("/bin/sh") (which "sh"))))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -197,23 +195,22 @@ regular expression engine for the virtual machine.") ;; modules systemwide. See: https://github.com/ugexe/zef/issues/117 (add-after 'install 'install-dist-tool (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) + (let* ((out (assoc-ref outputs "out")) (dest (string-append out "/share/perl6/tools"))) (install-file "tools/install-dist.p6" dest) (substitute* (string-append dest "/install-dist.p6") (("/usr/bin/env perl6") - (string-append out "/bin/perl6")))) - #t))))) + (string-append out "/bin/perl6"))))))))) (inputs (list moarvm nqp openssl)) (home-page "https://rakudo.org/") (native-search-paths - (list (search-path-specification - (variable "PERL6LIB") - (separator ",") - (files '("share/perl6/lib" - "share/perl6/site/lib" - "share/perl6/vendor/lib"))))) + (list (search-path-specification + (variable "PERL6LIB") + (separator ",") + (files '("share/perl6/lib" + "share/perl6/site/lib" + "share/perl6/vendor/lib"))))) (synopsis "Perl 6 Compiler") (description "Rakudo Perl is a compiler that implements the Perl 6 specification and runs on top of several virtual machines.") From caee1d4e7a38496d6860315551f635ad39af371e Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:27 +0000 Subject: [PATCH 026/261] gnu: moarvm: Update to 2022.04. * gnu/packages/perl6.scm (moarvm): Update to 2022.04. [arguments]: Add 'fix-build' phase. [propagated-inputs]: Use latest libtommath. Move below native-inputs. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 052d4e09142..35652cda170 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -34,15 +34,14 @@ (define-public moarvm (package (name "moarvm") - (version "2019.03") + (version "2022.04") (source (origin (method url-fetch) (uri (string-append "https://moarvm.org/releases/MoarVM-" version ".tar.gz")) (sha256 - (base32 - "017w1zvr6yl0cgjfc1b3ddlc6vjw9q8p7alw1vvsckw95190xc14")) + (base32 "0128fxqaz7cwjf6amaz2cgd7xl52zvi5fr7bwnj229snll5za1mf")) (modules '((guix build utils))) (snippet '(begin @@ -57,6 +56,10 @@ (arguments '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "build/Makefile.in" + (("^ +3rdparty/freebsd/.*") "")))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -71,11 +74,11 @@ "--has-libffi" "--has-libuv"))))))) (home-page "https://moarvm.org/") - ;; These should be inputs but moar.h can't find them when building rakudo - (propagated-inputs - (list libatomic-ops libffi libtommath-1.0 libuv)) (native-inputs (list pkg-config)) + ;; These should be inputs but moar.h can't find them when building Rakudo. + (propagated-inputs + (list libatomic-ops libffi libtommath libuv)) (synopsis "VM for NQP And Rakudo Perl 6") (description "Short for \"Metamodel On A Runtime\", MoarVM is a modern virtual machine From 89d603da19c19a77dab11558a6fdb7a19f543749 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:35 +0000 Subject: [PATCH 027/261] gnu: Add nqp-configure. * gnu/packages/perl6.scm (nqp-configure): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 35652cda170..b510a584f23 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -98,6 +98,60 @@ with native libraries. @end itemize") (license license:artistic2.0))) +(define-public nqp-configure + (let ((commit "9b98931e0bfb8c4aac61590edf5074e63aa8ea4b")) + (package + (name "nqp-configure") + ;; NQP and Rakudo use the same version of nqp-configure. + ;; We may as well set nqp-configure's version to the same as theirs. + (version "2022.04") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Raku/nqp-configure") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vc1q11kjb964jal9dhgf5vwp371a3rfw7gj987n33kzli7a10n0")))) + (build-system perl-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'create-makefile-and-manifest + (lambda _ + (call-with-output-file "Makefile.PL" + (lambda (port) + (format port " +use ExtUtils::MakeMaker; +WriteMakefile(NAME => 'NQP::Config');\n"))) + (call-with-output-file "MANIFEST" + (lambda (port) + (format port " +LICENSE +MANIFEST +Makefile.PL +README.md +bin/make.nqp +doc/Macros.md +doc/NQP-Config.md +lib/NQP/Config.pm +lib/NQP/Config/Test.pm +lib/NQP/Macros.pm +t/10-config.t +t/20-macros.t +t/30-if-macro.t\n"))))) + (add-after 'patch-source-shebangs 'patch-more-shebangs + (lambda _ + (substitute* '("bin/make.nqp" + "lib/NQP/Config.pm") + (("/bin/sh") (which "sh")))))))) + (home-page "https://github.com/Raku/nqp-configure") + (synopsis "Configuration and build modules for NQP") + (description "This library provides support modules for NQP and Rakudo +@file{Configure.pl} scripts.") + (license license:artistic2.0)))) + (define-public nqp (package (name "nqp") From f3f39988b5da46ff7010179626f530471f9c7d5d Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:38 +0000 Subject: [PATCH 028/261] gnu: nqp: Update to 2022.04. * gnu/packages/perl6.scm (nqp): Update to 2022.04. [arguments]: Add 'remove-calls-to-git' and 'fix-paths' phases. Remove obsolete files from 'patch-more-shebangs' phase and sort the rest. Remove 'patch-source-date' and 'remove-failing-test' phases. [native-inputs]: Add nqp-configure. [home-page]: Update. [description]: Replace mentions of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 56 ++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index b510a584f23..0e0c3528925 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -155,15 +155,14 @@ t/30-if-macro.t\n"))))) (define-public nqp (package (name "nqp") - (version "2019.03") + (version "2022.04") (source (origin (method url-fetch) - (uri (string-append "https://rakudo.perl6.org/downloads/nqp/nqp-" - version ".tar.gz")) + (uri (string-append "https://github.com/Raku/nqp/releases/download/" + version "/nqp-" version ".tar.gz")) (sha256 - (base32 - "183zhll13fx416s3hkg4bkvib77kyr857h0nydgrl643fpacxp83")) + (base32 "1777shxr8qw6m2492ckb0r301qdx5gls6kphz554dh6k4n74avam")) (modules '((guix build utils))) (snippet '(delete-file-recursively "3rdparty")))) @@ -171,25 +170,28 @@ t/30-if-macro.t\n"))))) (arguments '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'remove-calls-to-git + (lambda _ + (invoke "perl" "-ni" "-e" + "print if not /^BEGIN {/ .. /^}/" + "Configure.pl"))) + (add-after 'remove-calls-to-git 'fix-paths + (lambda _ + (substitute* "tools/build/gen-version.pl" + (("catfile\\(\\$libdir, 'MAST', \\$_\\)") + (string-append "catfile('" + (assoc-ref %build-inputs "moarvm") + "/share/nqp/lib" + "', 'MAST', $_)"))))) (add-after 'patch-source-shebangs 'patch-more-shebangs (lambda _ - (substitute* '("tools/build/install-jvm-runner.pl.in" + (substitute* '("t/nqp/111-spawnprocasync.t" + "t/nqp/113-run-command.t" "tools/build/gen-js-cross-runner.pl" "tools/build/gen-js-runner.pl" "tools/build/install-js-runner.pl" - "tools/build/install-moar-runner.pl" - "tools/build/gen-moar-runner.pl" - "t/nqp/111-spawnprocasync.t" - "t/nqp/113-run-command.t") + "tools/build/install-jvm-runner.pl.in") (("/bin/sh") (which "sh"))))) - (add-after 'unpack 'patch-source-date - (lambda _ - (substitute* "tools/build/gen-version.pl" - (("gmtime") "gmtime(0)")))) - (add-after 'unpack 'remove-failing-test - ;; One subtest fails for unknown reasons - (lambda _ - (delete-file "t/nqp/019-file-ops.t"))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -198,18 +200,20 @@ t/30-if-macro.t\n"))))) "--backends=moar" "--with-moar" (string-append moar "/bin/moar") "--prefix" out))))))) + (native-inputs + (list nqp-configure)) (inputs (list moarvm)) - (home-page "https://github.com/perl6/nqp") + (home-page "https://github.com/Raku/nqp") (synopsis "Not Quite Perl") - (description "This is \"Not Quite Perl\" -- a lightweight Perl 6-like -environment for virtual machines. The key feature of NQP is that it's designed -to be a very small environment (as compared with, say, perl6 or Rakudo) and is -focused on being a high-level way to create compilers and libraries for virtual -machines like MoarVM, the JVM, and others. + (description "This is \"Not Quite Perl\" -- a lightweight Raku-like +environment for virtual machines. The key feature of NQP is that it's +designed to be a very small environment (as compared with, say, Rakudo) and is +focused on being a high-level way to create compilers and libraries for +virtual machines like MoarVM, the JVM, and others. -Unlike a full-fledged implementation of Perl 6, NQP strives to have as small a -runtime footprint as it can, while still providing a Perl 6 object model and +Unlike a full-fledged implementation of Raku, NQP strives to have as small a +runtime footprint as it can, while still providing a Raku object model and regular expression engine for the virtual machine.") (license license:artistic2.0))) From 6a80ac450c835c146a2b5102d36e9af17a1d1d2d Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:42 +0000 Subject: [PATCH 029/261] gnu: rakudo: Update to 2022.04. * gnu/packages/perl6.scm (rakudo): Update to 2022.04. [source]: Add snippet to delete bundled 3rdparty directory. [arguments]: Add 'remove-calls-to-git', 'fix-paths' and 'disable-failing-tests' phases. Remove 'patch-source-date' phase. Adjust files in 'patch-more-shebangs' phase and sort them. Remove redundant './' from 'configure' phase. Replace Perl extensions and paths with Raku equivalents in 'install-dist-tool' phase. [native-inputs]: Add nqp-configure. [synopsis, description]: Replace mentions of Perl with Raku. * guix/build/rakudo-build-system.scm (install): Replace Perl extension with Raku extension. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 71 +++++++++++++++++++++--------- guix/build/rakudo-build-system.scm | 2 +- 2 files changed, 50 insertions(+), 23 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 0e0c3528925..3dfdeec4f1a 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2022 Paul A. Patience ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages tls)) @@ -220,48 +222,73 @@ regular expression engine for the virtual machine.") (define-public rakudo (package (name "rakudo") - (version "2019.03.1") + (version "2022.04") (source (origin (method url-fetch) - (uri (string-append "https://rakudo.perl6.org/downloads/rakudo/rakudo-" - version ".tar.gz")) + (uri (string-append "https://github.com/rakudo/rakudo/releases/download/" + version "/rakudo-" version ".tar.gz")) (sha256 - (base32 - "1nllf69v8xr6v3kkj7pmryg11n5m3ajfkr7j72pvhrgnjy8lv3r1")))) + (base32 "0x0w5b8g5kna1mlvsli9dqmnwvqalrar3cgpixmyiyvyjb6ah4vy")) + (modules '((guix build utils))) + (snippet + '(delete-file-recursively "3rdparty")))) (build-system perl-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-source-date + (add-after 'unpack 'remove-calls-to-git (lambda _ - (substitute* "tools/build/gen-version.pl" - (("gmtime") "gmtime(0)")))) + (invoke "perl" "-ni" "-e" "print if not /^BEGIN {/ .. /^}/" + "Configure.pl"))) + (add-after 'remove-calls-to-git 'fix-paths + (lambda _ + (substitute* "tools/templates/Makefile-common-macros.in" + (("NQP_CONFIG_DIR = .*") + (string-append "NQP_CONFIG_DIR = " + (assoc-ref %build-inputs "nqp-configure") + "/lib/perl5/site_perl/" + ,(package-version perl) + "\n"))))) + ;; These tests pass when run manually. + (add-after 'fix-paths 'disable-failing-tests + (lambda _ + (substitute* "t/02-rakudo/repl.t" + (("^plan 47;\n") "plan 46;\n")) + (invoke "perl" "-ni" "-e" + "printf if not /^ \\(temp %\\*ENV\\)/ .. /^ }/" + "t/02-rakudo/repl.t") + (substitute* "t/09-moar/01-profilers.t" + (("^plan 12;\n") "plan 10;\n") + (("^ok \\$htmlpath\\.IO\\.f, .*") "") + (("^ok \\(try \\$htmlpath\\.IO\\.s .*") "")))) (add-after 'patch-source-shebangs 'patch-more-shebangs (lambda _ - (substitute* '("tools/build/create-js-runner.pl" - "tools/build/create-moar-runner.p6" - "tools/build/create-jvm-runner.pl" - "src/core/Proc.pm6") + (substitute* '("src/core.c/Proc.pm6" + "t/spec/S29-os/system.t" + "tools/build/create-js-runner.pl" + "tools/build/create-jvm-runner.pl") (("/bin/sh") (which "sh"))))) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (nqp (assoc-ref inputs "nqp"))) - (invoke "perl" "./Configure.pl" + (invoke "perl" "Configure.pl" "--backend=moar" "--with-nqp" (string-append nqp "/bin/nqp") "--prefix" out)))) - ;; This is the recommended tool for distro maintainers to install perl6 + ;; This is the recommended tool for distro maintainers to install Raku ;; modules systemwide. See: https://github.com/ugexe/zef/issues/117 (add-after 'install 'install-dist-tool (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (dest (string-append out "/share/perl6/tools"))) - (install-file "tools/install-dist.p6" dest) - (substitute* (string-append dest "/install-dist.p6") - (("/usr/bin/env perl6") - (string-append out "/bin/perl6"))))))))) + (install-file "tools/install-dist.raku" dest) + (substitute* (string-append dest "/install-dist.raku") + (("/usr/bin/env raku") + (string-append out "/bin/raku"))))))))) + (native-inputs + (list nqp-configure)) (inputs (list moarvm nqp openssl)) (home-page "https://rakudo.org/") @@ -272,9 +299,9 @@ regular expression engine for the virtual machine.") (files '("share/perl6/lib" "share/perl6/site/lib" "share/perl6/vendor/lib"))))) - (synopsis "Perl 6 Compiler") - (description "Rakudo Perl is a compiler that implements the Perl 6 -specification and runs on top of several virtual machines.") + (synopsis "Raku Compiler") + (description "Rakudo is a compiler that implements the Raku specification +and runs on top of several virtual machines.") (license license:artistic2.0))) (define-public perl6-grammar-debugger diff --git a/guix/build/rakudo-build-system.scm b/guix/build/rakudo-build-system.scm index 5cf1cc55bc0..642cc570d1a 100644 --- a/guix/build/rakudo-build-system.scm +++ b/guix/build/rakudo-build-system.scm @@ -59,7 +59,7 @@ #t) (begin (let ((inst (string-append (assoc-ref inputs "rakudo") - "/share/perl6/tools/install-dist.p6"))) + "/share/perl6/tools/install-dist.raku"))) (setenv "RAKUDO_RERESOLVE_DEPENDENCIES" "0") (setenv "RAKUDO_MODULE_DEBUG" "1") ; be verbose while building (invoke inst (string-append "--to=" perl6) "--for=site")))))) From 8dca56b4a1776e70e9880039528cdadee56d8526 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:52 +0000 Subject: [PATCH 030/261] gnu: perl6-tap-harness: Update to 0.3.5. * gnu/packages/perl6.scm (perl6-tap-harness): Update to 0.3.5. [source]: Update URL. Reindent. [arguments]: Replace obsolete prove6 script with manual Raku invocation in 'check' phase. [home-page]: Update. [synopsis]: Replace mention of Perl with Raku. * gnu/packages/rakudo-build-system.scm (check): Replace obsolete prove6 script with manual Raku invocation. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 25 ++++++++++++------------- guix/build/rakudo-build-system.scm | 6 +++++- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 3dfdeec4f1a..d61868f8b2f 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -680,17 +680,16 @@ with optional labels, or xy plots).") (define-public perl6-tap-harness (package (name "perl6-tap-harness") - (version "0.0.7") + (version "0.3.5") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/perl6/tap-harness6") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1lig8i0my3fgqvlay9532xslbf3iis2d7wz89gniwvwqffi2kh6r")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Raku/tap-harness6") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "162crdy8g6xhnry26pjma2panm0c79n26igmljg79al4bqj9lyc9")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f @@ -699,9 +698,9 @@ with optional labels, or xy plots).") (modify-phases %standard-phases (replace 'check (lambda _ - (invoke "perl6" "-Ilib" "bin/prove6" "-l" "t")))))) - (home-page "https://github.com/perl6/tap-harness6/") - (synopsis "TAP harness for perl6") + (apply invoke "raku" "-MTAP" "-Ilib" (find-files "t" "\\.t$"))))))) + (home-page "https://github.com/Raku/tap-harness6") + (synopsis "TAP harness for Raku") (description "This module provides the @command{prove6} command which runs a TAP based test suite and prints a report. The @command{prove6} command is a minimal wrapper around an instance of this module.") diff --git a/guix/build/rakudo-build-system.scm b/guix/build/rakudo-build-system.scm index 642cc570d1a..8f9a3b11d82 100644 --- a/guix/build/rakudo-build-system.scm +++ b/guix/build/rakudo-build-system.scm @@ -36,7 +36,11 @@ (define* (check #:key tests? inputs with-prove6? #:allow-other-keys) (if (and tests? (assoc-ref inputs "perl6-tap-harness")) ;(if (and tests? with-prove6?) - (invoke "prove6" "-I=lib" "t/") + (let ((test-files (find-files "t/" "\\.(rakutest|t|t6)$"))) + (invoke "raku" "-MTAP" "-e" + (string-append + "my @tests = <" (string-join test-files " ") ">; " + "TAP::Harness.new().run(@tests);"))) (format #t "test suite not run~%")) #t) From 90a7efcc1e618ff21e100a4041ba32d541f2bd5f Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:17:56 +0000 Subject: [PATCH 031/261] gnu: perl6-zef: Update to 0.13.8. * gnu/packages/perl6.scm (perl6-zef): Update to 0.13.8. [source]: Reindent. [arguments]: Replace Perl with Raku in 'check' phase. [synopsis, description]: Replace mentions of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index d61868f8b2f..d18d953d5a0 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -829,17 +829,16 @@ character numbering.") (define-public perl6-zef (package (name "perl6-zef") - (version "0.6.7") + (version "0.13.8") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ugexe/zef") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07n7g1xw2c4g860rs890gx85vyhdq0ysgwbrnzw6q905jph2bkv7")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ugexe/zef") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zmx2gavi975811kskv5j4j2zsysnxfklwx0azn8rffraadnhscm")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f @@ -848,11 +847,11 @@ character numbering.") (replace 'check (lambda _ (setenv "HOME" "/tmp") - (invoke "perl6" "-I." "bin/zef" "--debug" + (invoke "raku" "-I." "bin/zef" "--debug" "--tap-harness" "test" ".")))))) (home-page "https://github.com/ugexe/zef") - (synopsis "Perl6 Module Management") - (description "Zef is a Perl 6 package (module) manager. It can be used to -download and install Perl 6 modules in your home directory or as a system-wide + (synopsis "Raku Module Management") + (description "Zef is a Raku package (module) manager. It can be used to +download and install Raku modules in your home directory or as a system-wide module.") (license license:artistic2.0))) From 479fedb025431598aad049f169ceba0ee8b1fdb9 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:00 +0000 Subject: [PATCH 032/261] gnu: perl6-terminal-ansicolor: Perl -> Raku. * gnu/packages/perl6.scm (perl6-terminal-ansicolor): Extract commit outside of source. [description]: Replace mention of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index d18d953d5a0..408d7e8e97a 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -707,26 +707,26 @@ minimal wrapper around an instance of this module.") (license license:artistic2.0))) (define-public perl6-terminal-ansicolor - (package - (name "perl6-terminal-ansicolor") - (version "0.5") - (source - (origin - (method git-fetch) - (uri (git-reference + ;; The commit where 0.5 was “tagged”. + (let ((commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212")) + (package + (name "perl6-terminal-ansicolor") + (version "0.5") + (source + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/tadzik/Terminal-ANSIColor") - ;; The commit where 0.5 was "tagged" - (commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7")))) - (build-system rakudo-build-system) - (arguments '(#:with-zef? #f)) - (home-page "https://github.com/tadzik/Terminal-ANSIColor") - (synopsis "Colorize terminal output") - (description "This is a @code{Terminal::ANSIColor} module for Perl 6.") - (license license:expat))) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7")))) + (build-system rakudo-build-system) + (arguments '(#:with-zef? #f)) + (home-page "https://github.com/tadzik/Terminal-ANSIColor") + (synopsis "Colorize terminal output") + (description "This is a @code{Terminal::ANSIColor} module for Raku.") + (license license:expat)))) (define-public perl6-test-meta (package From 3471ab0a13de1bcec1afb6621062f4b19ffad71f Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:07 +0000 Subject: [PATCH 033/261] gnu: perl6-grammar-debugger: Perl -> Raku. * gnu/packages/perl6.scm (perl6-grammar-debugger)[source]: Reindent. [synopsis]: Replace mention of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 408d7e8e97a..cfc6d2d5049 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -305,27 +305,26 @@ and runs on top of several virtual machines.") (license license:artistic2.0))) (define-public perl6-grammar-debugger - ;; Last commit was September 2017 + ;; Last commit was September 2017. (let ((commit "0375008027c8caa216bd869476ce59ae09b2a702") (revision "1")) (package (name "perl6-grammar-debugger") (version (git-version "1.0.1" revision commit)) (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jnthn/grammar-debugger") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jnthn/grammar-debugger") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5")))) (build-system rakudo-build-system) (propagated-inputs (list perl6-terminal-ansicolor)) (home-page "https://github.com/jnthn/grammar-debugger") - (synopsis "Simple tracing and debugging support for Perl 6 grammars") + (synopsis "Simple tracing and debugging support for Raku grammars") (description "This module provides a simple debugger for grammars. Just @code{use} it: use @code{Grammar::Debugger;} and any grammar in the lexical scope of the use statement will automatically have debugging enabled. The From 189333f9c04f64d000c2a08478875806f9e691eb Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:18 +0000 Subject: [PATCH 034/261] gnu: perl6-grammar-profiler-simple: Perl -> Raku. * gnu/packages/perl6.scm (perl6-grammar-profiler-simple)[source]: Reindent. [synopsis, description]: Replace mentions of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index cfc6d2d5049..d25afa55287 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -333,27 +333,26 @@ prompt.") (license license:artistic2.0)))) (define-public perl6-grammar-profiler-simple - ;; Last commit was June 2017 + ;; Last commit was June 2017. (let ((commit "c0aca5fab323b2974821dabd6b89330c609e0b7d") (revision "1")) (package (name "perl6-grammar-profiler-simple") (version (git-version "0.02" revision commit)) (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/perlpilot/Grammar-Profiler-Simple") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/perlpilot/Grammar-Profiler-Simple") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f)) (home-page "https://github.com/perlpilot/Grammar-Profiler-Simple") - (synopsis "Simple rule profiling for Perl 6 grammars") - (description "This module provides a simple profiler for Perl 6 grammars. + (synopsis "Simple rule profiling for Raku grammars") + (description "This module provides a simple profiler for Raku grammars. To enable profiling simply add use @code{Grammar::Profiler::Simple;} to your code. Any grammar in the lexical scope of the use statement will automatically have profiling information collected when the grammar is used.") From 12dd3c5d2d8a2b6c574d1beda938cc4f65d45a0d Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:21 +0000 Subject: [PATCH 035/261] gnu: perl6-json: Perl -> Raku. * gnu/packages/perl6.scm (perl6-json): Extract commit outside of source. [description]: Replace mention of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index d25afa55287..d8a5b5ad4a5 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -359,27 +359,27 @@ have profiling information collected when the grammar is used.") (license license:artistic2.0)))) (define-public perl6-json - (package - (name "perl6-json") - (version "1.0") - (source - (origin - (method git-fetch) - (uri (git-reference + ;; The commit where 1.0 was “tagged”. + (let ((commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99")) + (package + (name "perl6-json") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/moritz/json") - ;; The commit where 1.0 was "tagged" - (commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay")))) - (build-system rakudo-build-system) - (arguments '(#:with-zef? #f)) - (home-page "https://github.com/moritz/json") - (synopsis "Minimal JSON (de)serializer") - (description "This module is a simple Perl 6 module for serializing and + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay")))) + (build-system rakudo-build-system) + (arguments '(#:with-zef? #f)) + (home-page "https://github.com/moritz/json") + (synopsis "Minimal JSON (de)serializer") + (description "This module is a simple Raku module for serializing and deserializing JSON.") - (license license:artistic2.0))) + (license license:artistic2.0)))) (define-public perl6-json-class (package From 093e496fe6984ef05c8fd6f829ca285c7e36dd06 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:24 +0000 Subject: [PATCH 036/261] gnu: perl6-json-fast: Update to 0.17. * gnu/packages/perl6.scm (perl6-json-fast): Update to 0.17. [source]: Reindent. [synopsis, description]: Replace mentions of Perl with Raku and fix minor stylistic issues. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index d8a5b5ad4a5..4270ae117f3 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -415,24 +415,24 @@ respectively.") (define-public perl6-json-fast (package (name "perl6-json-fast") - (version "0.10") + (version "0.17") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/timo/json_fast") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1g8hr1mdrxwdpzc7hvs9l5r12phvba6y6a5chgkj90ing77ji4b2")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/timo/json_fast") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gckca9m6jkz6s59rpwf59721q6icfm45jj49sw3vdjr6jh2dgdb")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f)) (home-page "https://github.com/timo/json_fast") - (synopsis "Perl6 json parser") - (description "A naive imperative json parser in pure perl6 (but with direct + (synopsis "Raku JSON parser") + (description "A naive imperative JSON parser in pure Raku (but with direct access to @code{nqp::} ops), to evaluate performance against @code{JSON::Tiny}. -It is a drop-in replacement for @code{JSON::Tiny}'s from-json and to-json subs, -but it offers a few extra features.") +It is a drop-in replacement for @code{JSON::Tiny}'s @code{from-json} and +@code{to-json} subs, but it offers a few extra features.") (license license:artistic2.0))) (define-public perl6-json-marshal From f54f918b4f66d9517a64a7a5906a163ec6dbc6f0 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:31 +0000 Subject: [PATCH 037/261] gnu: Add perl6-json-optin. * gnu/packages/perl6.scm (perl6-json-optin): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 4270ae117f3..98631e78433 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -487,6 +487,29 @@ It will of course also be needed in classes thar are going to use @code{JSON::Marshal} or @code{JSON::Unmarshal} for serialisation/de-serialisation.") (license license:artistic2.0))) +(define-public perl6-json-optin + (package + (name "perl6-json-optin") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jonathanstowe/JSON-OptIn") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0iz1wd3rfcb3kdc8cylwfxr8p02bpivk7kcf3dmm2l4mmdhyk7np")))) + (build-system rakudo-build-system) + (arguments '(#:with-zef? #f)) + (home-page "https://github.com/jonathanstowe/JSON-OptIn") + (synopsis "Provide a trait and role to identify opt-in JSON serialization") + (description "This provides a trait and a role for the identification of +`opt in' serializable attributes in, e.g., @code{JSON::Marshal}. It's +probably not necessary to use this directly as it will be required by, e.g., +@code{JSON::Name}, but it's just more convenient to package it separately.") + (license license:artistic2.0))) + (define-public perl6-json-unmarshal ;; Last commit was May 2017 (let ((commit "e1b6288c5f3165058f36c0f4e171cdf2dfd640da") From 0e3cf25786e825471e88d87ca758c9986dcc20c2 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:40 +0000 Subject: [PATCH 038/261] gnu: perl6-json-name: Update to 0.0.6. * gnu/packages/perl6.scm (perl6-json-name): Update to 0.0.6. [source]: Reindent. [propagated-inputs]: Add perl6-json-optin. [synopsis, description]: Fix minor stylistic issues. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 98631e78433..ab6e1759b0d 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -464,27 +464,28 @@ of the same class using @code{JSON::Unmarshal}.") (define-public perl6-json-name (package (name "perl6-json-name") - (version "0.0.3") + (version "0.0.6") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jonathanstowe/JSON-Name") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "130qwdpbj5qdlsdz05y0rksd79lzbq79scy47n6lnf21b0hz1qjc")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jonathanstowe/JSON-Name") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fbwp3av4kh7zlbrmgbka4x6s3d6fsw2qxafi9hyq0y896wsaf94")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f)) + (propagated-inputs + (list perl6-json-optin)) (home-page "https://github.com/jonathanstowe/JSON-Name") - (synopsis "Provides a trait to store an alternative JSON Name") + (synopsis "Provide a trait to store an alternative JSON name") (description "This is released as a dependency of @code{JSON::Marshal} and @code{JSON::Unmarshal} in order to save duplication, it is intended to store a separate JSON name for an attribute where the name of the JSON attribute might be changed, either for aesthetic reasons or the name is not a valid Perl identifier. It will of course also be needed in classes thar are going to use -@code{JSON::Marshal} or @code{JSON::Unmarshal} for serialisation/de-serialisation.") +@code{JSON::Marshal} or @code{JSON::Unmarshal} for serialization/deserialization.") (license license:artistic2.0))) (define-public perl6-json-optin From 168d474e84a83ad9b9bb74759de07712edc609ee Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:43 +0000 Subject: [PATCH 039/261] gnu: perl6-json-marshal: Update to 0.0.23. * gnu/packages/perl6.scm (perl6-json-marshal): Update to 0.0.23. [source]: Reindent. [propagated-inputs]: Move below native-inputs. [synopsis]: Serialisation -> serialization. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index ab6e1759b0d..64c3dfaa68f 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -438,24 +438,23 @@ It is a drop-in replacement for @code{JSON::Tiny}'s @code{from-json} and (define-public perl6-json-marshal (package (name "perl6-json-marshal") - (version "0.0.16") + (version "0.0.23") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jonathanstowe/JSON-Marshal") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0qy7j83h6gjzyyv74ncd92cd9h45rv8diaz3vldiv3b6fqwz4c6i")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jonathanstowe/JSON-Marshal") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "057xmdadhy5wkbhr6w1iybv2j7qf4bf8d4cp8m4qdcgk6pqzpkgc")))) (build-system rakudo-build-system) - (propagated-inputs - (list perl6-json-fast perl6-json-name)) (native-inputs (list perl6-json-fast)) + (propagated-inputs + (list perl6-json-fast perl6-json-name)) (home-page "https://github.com/jonathanstowe/JSON-Marshal") - (synopsis "Simple serialisation of objects to JSON") + (synopsis "Simple serialization of objects to JSON") (description "This library provides a single exported subroutine to create a JSON representation of an object. It should round trip back into an object of the same class using @code{JSON::Unmarshal}.") From aa18e500c818f73df656c637409105a36aa54f92 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:47 +0000 Subject: [PATCH 040/261] gnu: perl6-json-unmarshal: Reindent. * gnu/packages/perl6.scm (perl6-json-unmarshal)[source]: Reindent. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 64c3dfaa68f..79c4b661e9e 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -511,22 +511,21 @@ probably not necessary to use this directly as it will be required by, e.g., (license license:artistic2.0))) (define-public perl6-json-unmarshal - ;; Last commit was May 2017 + ;; Last commit was May 2017. (let ((commit "e1b6288c5f3165058f36c0f4e171cdf2dfd640da") (revision "1")) (package (name "perl6-json-unmarshal") (version (git-version "0.0.0" revision commit)) (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tadzik/JSON-Unmarshal") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "14azsmzmwdn8k0gqcpvballharcvzylmlyrx2wmv4kpqfnz29fjc")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tadzik/JSON-Unmarshal") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14azsmzmwdn8k0gqcpvballharcvzylmlyrx2wmv4kpqfnz29fjc")))) (build-system rakudo-build-system) (propagated-inputs (list perl6-json-fast perl6-json-name)) From 0402806bff9d71f0e522a8f23aeed063395c9b26 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:51 +0000 Subject: [PATCH 041/261] gnu: perl6-json-class: Update to 0.0.18. * gnu/packages/perl6.scm (perl6-json-class): Update to 0.0.18. [source]: Reindent. [propagated-inputs]: Move below native-inputs. [synopsis, description]: Fix minor stylistic issues. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 79c4b661e9e..f18ac16300e 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -384,30 +384,29 @@ deserializing JSON.") (define-public perl6-json-class (package (name "perl6-json-class") - (version "0.0.12") + (version "0.0.18") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jonathanstowe/JSON-Class") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1zyzajc57j3m8q0nr72h9pw4w2nx92rafywlvysgphc5q9sb8np2")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jonathanstowe/JSON-Class") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0686qpcb6p5isjcsksrgsr1rh926cnhs6r091p5p3lh2fd575g1d")))) (build-system rakudo-build-system) - (propagated-inputs - (list perl6-json-marshal perl6-json-unmarshal)) (native-inputs (list perl6-json-fast)) + (propagated-inputs + (list perl6-json-marshal perl6-json-unmarshal)) (home-page "https://github.com/jonathanstowe/JSON-Class") - (synopsis "Provide simple serialisation/deserialisation of objects to/from JSON") + (synopsis "Provide simple serialization/deserialization of objects to/from JSON") (description "This is a simple role that provides methods to instantiate a -class from a JSON string that (hopefully,) represents it, and to serialise an +class from a JSON string that (hopefully) represents it, and to serialize an object of the class to a JSON string. The JSON created from an instance should round trip to a new instance with the same values for the public attributes. Private attributes (that is ones without accessors,) will be -ignored for both serialisation and de-serialisation. The exact behaviour +ignored for both serialization and deserialization. The exact behaviour depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal} respectively.") (license license:artistic2.0))) From 3a7dede309648b58b5425d14b5bd0532855003b3 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:18:57 +0000 Subject: [PATCH 042/261] gnu: perl6-license-spdx: Update to 3.16.0. * gnu/packages/perl6.scm (perl6-license-spdx): Update to 3.16.0. [source]: Reindent. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index f18ac16300e..05fcb7b1b44 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -537,17 +537,16 @@ create an object from a JSON representation of an object.") (define-public perl6-license-spdx (package (name "perl6-license-spdx") - (version "3.4.0") + (version "3.16.0") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jonathanstowe/License-SPDX") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0dl263c3fbxk001gm5fisrzqz1dx182ipaa0x2qva2gxvl075xm8")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jonathanstowe/License-SPDX") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sv9rrrfn437crynmbs3aks5xcqchjkbr1k31fq0dphfaw88k5v3")))) (build-system rakudo-build-system) (propagated-inputs (list perl6-json-class)) From 93ce61715ad7bc147a96af05f3fc01d620eece81 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:03 +0000 Subject: [PATCH 043/261] gnu: perl6-meta6: Update to 0.0.26. * gnu/packages/perl6.scm (perl6-meta6): Update to 0.0.26. [source]: Reindent. [propagated-inputs]: Move below native-inputs. [synopsis, description]: Replace mentions of Perl with Raku. Fix minor stylistic issues. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 43 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 05fcb7b1b44..ea40f285c5a 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -561,35 +561,34 @@ licences therein.") (define-public perl6-meta6 (package (name "perl6-meta6") - (version "0.0.23") + (version "0.0.26") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jonathanstowe/META6") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1xnlaamfbdlfb2zidim3bbc4mawsrg6qxhxi6gbld46z1cyry1cw")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jonathanstowe/META6") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jg8z0y29df9sy6za285jy38c3v6dl54ar54dp6marzcih02payx")))) (build-system rakudo-build-system) - (propagated-inputs - (list perl6-json-class)) (native-inputs (list perl6-json-fast)) + (propagated-inputs + (list perl6-json-class)) (home-page "https://github.com/jonathanstowe/META6") - (synopsis "Do things with Perl 6 [META files]") - (description "This provides a representation of the Perl 6 META files -specification - the META file data can be read, created, parsed and written in a -manner that is conformant with the specification. + (synopsis "Do things with Raku META files") + (description "This provides a representation of the Raku META files +specification -- the META file data can be read, created, parsed and written +in a manner that is conformant with the specification. -Where they are known about it also makes allowance for customary usage in -existing software (such as installers and so forth.) +Where they are known about, it also makes allowance for customary usage in +existing software (such as installers and so forth). -The intent of this is allow the generation and testing of META files for -module authors, so it can provide meta-information whether the attributes are -mandatory as per the spec and where known the places that customary attributes -are used.") +The intent of this is to allow the generation and testing of META files for +module authors, so it can provide meta-information about whether the +attributes are mandatory as per the spec and, where known, the places that +customary attributes are used.") (license license:artistic2.0))) (define-public perl6-mime-base64 From bf985cdbfc96d9240d89754b987219e0e903f986 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:06 +0000 Subject: [PATCH 044/261] gnu: perl6-mime-base64: Update to 1.2.3. * gnu/packages/perl6.scm (perl6-mime-base64): Update to 1.2.3. [source]: Update URL. Reindent. [home-page]: Update. [description]: Replace mention of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index ea40f285c5a..12d71109c85 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -594,22 +594,21 @@ customary attributes are used.") (define-public perl6-mime-base64 (package (name "perl6-mime-base64") - (version "1.2.1") + (version "1.2.3") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/perl6/Perl6-MIME-Base64") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0l67m8mvz3gxml425sd1ggfnhzh4lf754k7w8fngfr453s6lsza1")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raku-community-modules/MIME-Base64") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19bndwbjr05gg8rrq2msmw1ik8xw2r3gbd77vxrp8l6c674zgy95")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f)) - (home-page "https://github.com/perl6/Perl6-MIME-Base64") + (home-page "https://github.com/raku-community-modules/MIME-Base64") (synopsis "Encoding and decoding Base64 ASCII strings") - (description "This Perl 6 module implements encoding and decoding to and + (description "This Raku module implements encoding and decoding to and from base64.") (license license:artistic2.0))) From 67a7460b8a429b747077b79e5893459521ed5b19 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:09 +0000 Subject: [PATCH 045/261] gnu: perl6-oo-monitors: Update to 1.1.1. * gnu/packages/perl6.scm (perl6-oo-monitors): Update to 1.1.1. [source]: Reindent. [synopsis]: Replace mention of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 12d71109c85..6428d6f20e8 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -615,22 +615,20 @@ from base64.") (define-public perl6-oo-monitors (package (name "perl6-oo-monitors") - (version "1.1") + (version "1.1.1") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jnthn/oo-monitors") - ;; The commit where 1.1 was "tagged" - (commit "494db3a3852854f30a80c9bd1489a7d5e429e7c5"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1sbw2x54wwjjanghjnc7ipmplaw1srvbrphsdv4ym6cipnbmbj9x")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jnthn/oo-monitors") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1aqb0x2vnmpi3knkf5v5aix6h29ln80gpxwa181i8kwfpxs8ir9f")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f)) (home-page "https://github.com/jnthn/oo-monitors") - (synopsis "Monitors with condition variables for Perl 6") + (synopsis "Monitors with condition variables for Raku") (description "A monitor provides per-instance mutual exclusion for objects. This means that for a given object instance, only one thread can ever be inside its methods at a time. This is achieved by a lock being associated with each From ff64d8f46f2c31ea0348c617e0754028e4b911ed Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:13 +0000 Subject: [PATCH 046/261] gnu: perl6-xml-writer: Perl -> Raku. * gnu/packages/perl6.scm (perl6-xml-writer)[source]: Reindent. [synopsis, description]: Replace mentions of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 6428d6f20e8..05b88c450a6 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -824,20 +824,19 @@ character numbering.") (name "perl6-xml-writer") (version (git-version "0.0.0" revision commit)) (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/masak/xml-writer") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1kwrf7akp70kyzw1b90khp71a6hpilihwndy2jsjpffcd4hd4m4z")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/masak/xml-writer") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kwrf7akp70kyzw1b90khp71a6hpilihwndy2jsjpffcd4hd4m4z")))) (build-system rakudo-build-system) (arguments '(#:with-zef? #f)) (home-page "https://github.com/masak/xml-writer") - (synopsis "Perl 6 module to generate XML") - (description "@code{XML::Writer} is a module for creating XML in Perl 6.") + (synopsis "Raku module to generate XML") + (description "@code{XML::Writer} is a module for creating XML in Raku.") (license license:artistic2.0)))) (define-public perl6-zef From 442fbb6fddaa78a55e2bec1842eacbb89009274d Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:16 +0000 Subject: [PATCH 047/261] gnu: perl6-svg: Perl -> Raku. * gnu/packages/perl6.scm (perl6-svg)[source]: Reindent. [synopsis, description]: Replace mentions of Perl with Raku. Fix minor stylistic issues. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 05b88c450a6..20f02e57bec 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -637,31 +637,30 @@ monitor. Condition variables are also supported.") (license license:artistic2.0))) (define-public perl6-svg - ;; Latest commit, basically unchanged since August 2015 + ;; Latest commit, basically unchanged since August 2015. (let ((commit "07190c0602aa276e5319f06aa0012452dbff3582") (revision "1")) (package (name "perl6-svg") (version (git-version "0.0.0" revision commit)) (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/moritz/svg") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0mkjdhg7ajksdn61n8fqhyzfd7ly9myazsvpsm02a5c2q73hdygg")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moritz/svg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mkjdhg7ajksdn61n8fqhyzfd7ly9myazsvpsm02a5c2q73hdygg")))) (build-system rakudo-build-system) (propagated-inputs (list perl6-xml-writer)) (home-page "https://github.com/moritz/svg") - (synopsis "Perl 6 module to generate SVG") - (description "This is a Perl 6 module that makes it easy to write + (synopsis "Raku module to generate SVG") + (description "This is a Raku module that makes it easy to write @dfn{Scalable Vector Graphic files} (SVG). Right now it is a shallow wrapper -around @code{XML::Writer}, adding only the xmlns attributes that identifies an -XML file as SVG.") +around @code{XML::Writer}, adding only the @samp{xmlns} attributes that +identify an XML file as SVG.") (license license:artistic2.0)))) (define-public perl6-svg-plot From 834a1c9b8626f646aedfd894976e33780842b318 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:19 +0000 Subject: [PATCH 048/261] gnu: perl6-svg-plot: Perl -> Raku. * gnu/packages/perl6.scm (perl6-svg-plot)[source]: Reindent. [synopsis, description]: Replace mentions of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 20f02e57bec..8884449d08e 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -664,28 +664,27 @@ identify an XML file as SVG.") (license license:artistic2.0)))) (define-public perl6-svg-plot - ;; Latest commit + ;; Latest commit. (let ((commit "062570a78fd38c3c6baba29dfe2fbb8ca014f4de") (revision "1")) (package (name "perl6-svg-plot") (version (git-version "0.0.0" revision commit)) (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/moritz/svg-plot") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "095ga5hbg92jnmczxvhk1hjz14yr334zyf8cph4w5w5frcza44my")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moritz/svg-plot") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "095ga5hbg92jnmczxvhk1hjz14yr334zyf8cph4w5w5frcza44my")))) (build-system rakudo-build-system) (propagated-inputs (list perl6-svg)) (home-page "https://github.com/moritz/svg-plot") - (synopsis "Perl 6 charting and plotting library that produces SVG output") - (description "@code{SVG::Plot} is a simple 2D chart plotter for Perl 6. + (synopsis "Raku charting and plotting library that produces SVG output") + (description "@code{SVG::Plot} is a simple 2D chart plotter for Raku. It currently supports bars, stacked bars, lines and points (both equally spaced with optional labels, or xy plots).") (license license:artistic2.0)))) From eb107276df47b3ccad47c6074f70ae610c8ac3d5 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:22 +0000 Subject: [PATCH 049/261] gnu: perl6-uri: Update to 0.3.5. * gnu/packages/perl6.scm (perl6-uri): Update to 0.3.5. [source]: Update URL. [home-page]: Update. [synopsis, description]: Replace mentions of Perl with Raku. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 8884449d08e..0ccaaa82d88 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -791,28 +791,29 @@ statement for @code{Test::Mock}.") (license license:artistic2.0))) (define-public perl6-uri - (package - (name "perl6-uri") - (version "0.1.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/perl6-community-modules/uri") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0h318g75jqn2ckw051g35iqyfxz1mps0jyg5z6pd857y3kacbkpl")))) - (build-system rakudo-build-system) - (arguments '(#:with-zef? #f)) - (home-page "https://github.com/perl6-community-modules/uri") - (synopsis "URI implementation using Perl 6") - (description "A URI implementation using Perl 6 grammars to implement RFC + ;; The commit where 0.3.5 was “tagged”. + (let ((commit "2e62d0f117c95a43e61ddb018dcacba8036aa3d5")) + (package + (name "perl6-uri") + (version "0.3.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raku-community-modules/URI") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1a03r80zxpvnsjf2z5r8lk434v2ysrpaymqa6xq975l4124gckkx")))) + (build-system rakudo-build-system) + (arguments '(#:with-zef? #f)) + (home-page "https://github.com/raku-community-modules/URI") + (synopsis "URI implementation using Raku") + (description "A URI implementation using Raku grammars to implement RFC 3986 BNF. Currently only implements parsing. Includes @code{URI::Escape} to (un?)escape characters that aren't otherwise allowed in a URI with % and a hex character numbering.") - (license license:artistic2.0))) + (license license:artistic2.0)))) (define-public perl6-xml-writer ;; Last commit was May 2017 From b5605923be7c3f9e108d7b546dfeec9fd739d55f Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:32 +0000 Subject: [PATCH 050/261] gnu: perl6-test-meta: Update to 0.0.17. * gnu/packages/perl6.scm (perl6-test-meta): Update to 0.0.17. [source]: Reindent. [propagated-inputs]: Add perl6-license-spdx. [synopsis]: Add a missing apostrophe. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 0ccaaa82d88..f122288db23 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -743,22 +743,21 @@ minimal wrapper around an instance of this module.") (define-public perl6-test-meta (package (name "perl6-test-meta") - (version "0.0.14") + (version "0.0.17") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jonathanstowe/Test-META") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1mzrglb7lbiy5h9dlc7dyhvv9gppxmdmpmrv6nzbd695jzr38bri")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jonathanstowe/Test-META") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kd4yixx6lac240lcx0f5pfswspvpp43034mq2vs65zxghsvvcmf")))) (build-system rakudo-build-system) (propagated-inputs - (list perl6-meta6 perl6-uri)) + (list perl6-license-spdx perl6-meta6 perl6-uri)) (home-page "https://github.com/jonathanstowe/Test-META") - (synopsis "Test a distributions META file") + (synopsis "Test a distribution's META file") (description "This provides a simple mechanism for module authors to have some confidence that they have a working distribution META description file.") (license license:artistic2.0))) From 3eb5ffb90f5e75e6da94bf60bfffcbdf1e4c5b72 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:35 +0000 Subject: [PATCH 051/261] gnu: perl6-test-mock: Update to 1.5-0.1130427. * gnu/packages/perl6.scm (perl6-test-mock): Update to 1.5-0.1130427. [description]: Add missing @code{}. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 44 +++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index f122288db23..3922860071e 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -763,31 +763,31 @@ some confidence that they have a working distribution META description file.") (license license:artistic2.0))) (define-public perl6-test-mock - (package - (name "perl6-test-mock") - (version "1.5") - (source - (origin - (method git-fetch) - (uri (git-reference + (let ((commit "1130427f4d9f3866fa39e113251bb142d7fa5cc8") + (revision "0")) + (package + (name "perl6-test-mock") + (version (git-version "1.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference (url "https://github.com/jnthn/test-mock") - ;; The commit where 1.5 was "tagged" - (commit "6eddb42f73f40b9ac29c14badb41ce4a04d876f2"))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07yr3qimc8fl29p23562ayj2j9h53madcnf9sgqvgf2kcprh0zd2")))) - (build-system rakudo-build-system) - (propagated-inputs - (list perl6-oo-monitors)) - (home-page "https://github.com/jnthn/test-mock") - (synopsis "Module for simply generating and checking mock objects") - (description "@code{Test::Mock} is a module that works alongside the + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03qq6z9ilw0ak3dx9i24ygr4c21wf4xvli8px02hmshpkhavclj5")))) + (build-system rakudo-build-system) + (propagated-inputs + (list perl6-oo-monitors)) + (home-page "https://github.com/jnthn/test-mock") + (synopsis "Module for simply generating and checking mock objects") + (description "@code{Test::Mock} is a module that works alongside the standard Test module to help you write tests when you want to verify what methods are called on an object, while still having calls to undefined methods -die. You get started just as normal with the test file, but also add a use -statement for @code{Test::Mock}.") - (license license:artistic2.0))) +die. You get started just as normal with the test file, but also add a +@code{use} statement for @code{Test::Mock}.") + (license license:artistic2.0)))) (define-public perl6-uri ;; The commit where 0.3.5 was “tagged”. From 0596f596ea215bd17d77d1f48ea2a2b0319c2784 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Fri, 29 Apr 2022 05:19:39 +0000 Subject: [PATCH 052/261] gnu: Add perl6-format-lisp. * gnu/packages/perl6.scm (perl6-format-lisp): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/perl6.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 3922860071e..4f0fc1a5a76 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -304,6 +304,29 @@ regular expression engine for the virtual machine.") and runs on top of several virtual machines.") (license license:artistic2.0))) +(define-public perl6-format-lisp + (let ((commit "1ae31e2a9366b287a83a9d451295fc9e3fb6d36f") + (revision "0")) + (package + (name "perl6-format-lisp") + (version (git-version "0.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raku-community-modules/Format-Lisp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rhkd11xdyw99vl6ickjin0x7nhlgkq3qhpf8zp9jky0k711gxmr")))) + (build-system rakudo-build-system) + (arguments '(#:with-zef? #f)) + (home-page "https://github.com/raku-community-modules/Format-Lisp") + (synopsis "Common Lisp's format call in Raku") + (description "This Raku module implements Common Lisp's @code{format} +language.") + (license license:artistic2.0)))) + (define-public perl6-grammar-debugger ;; Last commit was September 2017. (let ((commit "0375008027c8caa216bd869476ce59ae09b2a702") From c11e49d2316a8c5a1b3653f775a31e7fc5fb2e2c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Mar 2024 09:37:35 +0200 Subject: [PATCH 053/261] gnu: Remove libtommath-1.0. * gnu/packages/multiprecision.scm (libtommath-1.0): Delete variable. Change-Id: I8da3c4b16470ea24e89216644d84350e07b7dd63 --- gnu/packages/multiprecision.scm | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 591170b508a..a81b2771ab1 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -530,22 +530,3 @@ the box without configuration.") (("arch") "uname -m")) #t)))) ((#:test-target _) "test_standalone"))))) - -(define-public libtommath-1.0 - (package - (inherit libtommath-1.1) - (version "1.0.1") - (outputs '("out")) - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/libtom/libtommath/releases/" - "download/v" version "/ltm-" version ".tar.xz")) - (sha256 - (base32 - "0sbccdwbkfc680id2fi0x067j23biqcjqilwkk7y9339knrjy0s7")))) - (arguments - (substitute-keyword-arguments (package-arguments libtommath-1.1) - ((#:phases phases) - `(modify-phases ,phases - (delete 'install-static-library))))))) From 8850782392d4e58384d4c4da36a4f0bd5c8abdb1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Mar 2024 10:41:01 +0200 Subject: [PATCH 054/261] gnu: moarvm: Fix building on powerpc-linux. * gnu/packages/perl6.scm (moarvm)[arguments]: Adjust custom 'configure phase to add '-latomic' to the LDFLAGS when building for powerpc-linux. Change-Id: Ib8a25dea492c7e41c0f61440cc51d20adf77c183 --- gnu/packages/perl6.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm index 4f0fc1a5a76..10eb33be250 100644 --- a/gnu/packages/perl6.scm +++ b/gnu/packages/perl6.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2019, 2024 Efraim Flashner ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; Copyright © 2022 Paul A. Patience ;;; @@ -23,6 +23,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix build-system perl) #:use-module (guix build-system rakudo) #:use-module (gnu packages bdw-gc) @@ -56,7 +57,7 @@ (delete-file-recursively "3rdparty/msinttypes"))))) (build-system perl-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda _ @@ -67,7 +68,10 @@ (let ((out (assoc-ref outputs "out")) (pkg-config (assoc-ref inputs "pkg-config"))) (setenv "CFLAGS" "-fcommon") - (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib")) + (setenv "LDFLAGS" + ,@(if (target-ppc32?) + `((string-append "-Wl,-rpath=" out "/lib" " -latomic")) + `((string-append "-Wl,-rpath=" out "/lib")))) (invoke "perl" "Configure.pl" "--prefix" out "--pkgconfig" (string-append pkg-config "/bin/pkg-config") From 9321cf7f51eb6dc3fe49d4302eed4e47a52284e2 Mon Sep 17 00:00:00 2001 From: dan Date: Sat, 2 Mar 2024 21:19:59 +0800 Subject: [PATCH 055/261] gnu: Add emacs-citar-denote. * gnu/packages/emacs-xyz.scm (emacs-citar-denote): New variable. Change-Id: Ib728e5f005f2c6cd84864bb0ecc11c8ed40ac24b Signed-off-by: Andrew Tropin --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a93165404ec..f858597ea73 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -137,6 +137,7 @@ ;;; Copyright © 2023 Thanos Apollo ;;; Copyright © 2023 Ian Eure ;;; Copyright © 2024 Suhail Singh +;;; Copyright © 2024 dan ;;; ;;; This file is part of GNU Guix. ;;; @@ -23841,6 +23842,29 @@ Citar note support: @end itemize") (license license:gpl3+))) +(define-public emacs-citar-denote + (package + (name "emacs-citar-denote") + (version "2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pprevos/citar-denote") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0g476awbrdws7k7smk1qasz15df20zilx3wqbi3wj0i1q2dbsi8z")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-citar emacs-denote)) + (home-page "https://github.com/pprevos/citar-denote") + (synopsis "Emacs package to create and retrieve bibliography notes with +Citar and Denote") + (description + "@code{citar-denote} is a minor-mode integrating the Emacs Citar and +Denote packages to enable create managing bibliographic notes and citations.") + (license license:gpl3+))) + (define-public emacs-helm-bibtex (let ((commit "8ebf50d5bd368082d0b7ab79d26a52f372cdef98") (revision "1")) From ff3c592710120de2ac05972a85892cdf4b1db101 Mon Sep 17 00:00:00 2001 From: Janneke Nieuwenhuizen Date: Mon, 4 Mar 2024 15:48:48 +0100 Subject: [PATCH 056/261] gnu: dezyne: Update to 2.18.1. * gnu/packages/dezyne.scm (dezyne): Update to 2.18.1. Change-Id: I8750035237cd0784ab4244af034dc28549e54dd5 --- gnu/packages/dezyne.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/dezyne.scm b/gnu/packages/dezyne.scm index a5732f75bfb..7ea2c155aa4 100644 --- a/gnu/packages/dezyne.scm +++ b/gnu/packages/dezyne.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2022, 2023 Janneke Nieuwenhuizen +;;; Copyright © 2022, 2023, 2024 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,14 +34,14 @@ (define-public dezyne (package (name "dezyne") - (version "2.18.0") + (version "2.18.1") (source (origin (method url-fetch) (uri (string-append "https://dezyne.org/download/dezyne/" name "-" version ".tar.gz")) (sha256 - (base32 "1lbrxycpvwmvif3gpjnz8iskvlxp7f8bl71k44j7acwqrp8j2szi")))) + (base32 "0i8a8bzsh58mpgrgb0sg0qfszmf144grdmr741qwxwww5b2nsmbj")))) (propagated-inputs (list boost guile-json-4 guile-readline From 3da49b1472919a62df1fe399638f23a246aa325d Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Mon, 4 Mar 2024 16:16:55 +0100 Subject: [PATCH 057/261] gnu: scribus: Update to 1.6.1 * gnu/packages/scribus.scm (scribus): Update to 1.6.1. * gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch: Delete file. * gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch" Delete file. * gnu/local.mk: Apply file removal. Signed-off-by: Nicolas Goaziou Change-Id: I7f40863f24f5b5ed82cf81bece6833c9d4b4ad9e --- gnu/local.mk | 5 - .../scribus-1.5.8-poppler-22.03.0.patch | 52 ---- .../scribus-1.5.8-poppler-22.04.0.patch | 291 ------------------ .../scribus-1.5.8-poppler-22.09.0.patch | 20 -- .../scribus-1.5.8-poppler-22.2.0-1.patch | 129 -------- .../scribus-1.5.8-poppler-22.2.0-2.patch | 28 -- gnu/packages/scribus.scm | 14 +- 7 files changed, 4 insertions(+), 535 deletions(-) delete mode 100644 gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch delete mode 100644 gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch delete mode 100644 gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch delete mode 100644 gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch delete mode 100644 gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch diff --git a/gnu/local.mk b/gnu/local.mk index cabd82f5326..67a0eab466b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1821,11 +1821,6 @@ dist_patch_DATA = \ %D%/packages/patches/quodlibet-fix-invalid-glob.patch \ %D%/packages/patches/quodlibet-fix-mtime-tests.patch \ %D%/packages/patches/qxlsx-fix-include-directory.patch \ - %D%/packages/patches/scribus-1.5.8-poppler-22.03.0.patch \ - %D%/packages/patches/scribus-1.5.8-poppler-22.04.0.patch \ - %D%/packages/patches/scribus-1.5.8-poppler-22.09.0.patch \ - %D%/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch \ - %D%/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch \ %D%/packages/patches/sdcc-disable-non-free-code.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch deleted file mode 100644 index f7a0c03fdd9..00000000000 --- a/gnu/packages/patches/scribus-1.5.8-poppler-22.03.0.patch +++ /dev/null @@ -1,52 +0,0 @@ -From f19410ac3b27e33dd62105746784e61e85b90a1d Mon Sep 17 00:00:00 2001 -From: Jean Ghali -Date: Wed, 2 Mar 2022 22:22:53 +0000 -Subject: [PATCH] #16764: Build break with poppler 22.03.0 - -git-svn-id: svn://scribus.net/trunk/Scribus@24982 11d20701-8431-0410-a711-e3c959e3b870 ---- - scribus/plugins/import/pdf/importpdf.cpp | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/scribus/plugins/import/pdf/importpdf.cpp b/scribus/plugins/import/pdf/importpdf.cpp -index 154e58a3f0..392dcd9e64 100644 ---- a/scribus/plugins/import/pdf/importpdf.cpp -+++ b/scribus/plugins/import/pdf/importpdf.cpp -@@ -89,7 +89,11 @@ QImage PdfPlug::readThumbnail(const QString& fName) - #endif - globalParams->setErrQuiet(gTrue); - -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) -+ PDFDoc pdfDoc{ std::make_unique(fname) }; -+#else - PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr}; -+#endif - if (!pdfDoc.isOk() || pdfDoc.getErrorCode() == errEncrypted) - return QImage(); - -@@ -342,7 +346,11 @@ bool PdfPlug::convert(const QString& fn) - globalParams->setErrQuiet(gTrue); - // globalParams->setPrintCommands(gTrue); - QList ocgGroups; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) -+ auto pdfDoc = std::make_unique(std::make_unique(fname)); -+#else - auto pdfDoc = std::unique_ptr(new PDFDoc(fname, nullptr, nullptr, nullptr)); -+#endif - if (pdfDoc) - { - if (pdfDoc->getErrorCode() == errEncrypted) -@@ -361,8 +369,13 @@ bool PdfPlug::convert(const QString& fn) - #else - auto fname = new GooString(QFile::encodeName(fn).data()); - #endif -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 3, 0) -+ std::optional userPW(std::in_place, text.toLocal8Bit().data()); -+ pdfDoc.reset(new PDFDoc(std::make_unique(fname), userPW, userPW, nullptr)); -+#else - auto userPW = new GooString(text.toLocal8Bit().data()); - pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr)); -+#endif - qApp->changeOverrideCursor(QCursor(Qt::WaitCursor)); - } - if ((!pdfDoc) || (pdfDoc->getErrorCode() != errNone)) diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch deleted file mode 100644 index 290484e7e87..00000000000 --- a/gnu/packages/patches/scribus-1.5.8-poppler-22.04.0.patch +++ /dev/null @@ -1,291 +0,0 @@ -https://bugs.gentoo.org/843287 -https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch - -From f2237b8f0b5cf7690e864a22ef7a63a6d769fa36 Mon Sep 17 00:00:00 2001 -From: Jean Ghali -Date: Fri, 1 Apr 2022 23:52:32 +0000 -Subject: [PATCH] Fix build with poppler 22.04.0 - -git-svn-id: svn://scribus.net/trunk/Scribus@25074 11d20701-8431-0410-a711-e3c959e3b870 ---- - scribus/plugins/import/pdf/slaoutput.cpp | 123 ++++++++++++++--------- - 1 file changed, 78 insertions(+), 45 deletions(-) - -diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp -index e20a81f99e..5626fe3477 100644 ---- a/scribus/plugins/import/pdf/slaoutput.cpp -+++ b/scribus/plugins/import/pdf/slaoutput.cpp -@@ -174,8 +174,13 @@ void AnoOutputDev::drawString(GfxState *state, POPPLER_CONST GooString *s) - int shade = 100; - currColorText = getColor(state->getFillColorSpace(), state->getFillColor(), &shade); - fontSize = state->getFontSize(); -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ if (state->getFont() && state->getFont()->getName()) -+ fontName = new GooString(state->getFont()->getName().value()); -+#else - if (state->getFont()) - fontName = state->getFont()->getName()->copy(); -+#endif - itemText = s->copy(); - } - -@@ -357,7 +362,12 @@ std::unique_ptr SlaOutputDev::SC_getAdditionalAction(const char *key - GBool SlaOutputDev::annotations_callback(Annot *annota, void *user_data) - { - SlaOutputDev *dev = (SlaOutputDev*)user_data; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ const PDFRectangle& annotRect = annota->getRect();; -+ const PDFRectangle* box = &annotRect; -+#else - PDFRectangle *box = annota->getRect(); -+#endif - double xCoor = dev->m_doc->currentPage()->xOffset() + box->x1 - dev->cropOffsetX; - double yCoor = dev->m_doc->currentPage()->yOffset() + dev->m_doc->currentPage()->height() - box->y2 + dev->cropOffsetY; - double width = box->x2 - box->x1; -@@ -684,7 +694,12 @@ bool SlaOutputDev::handleWidgetAnnot(Annot* annota, double xCoor, double yCoor, - if (apa || !achar) - { - AnoOutputDev *annotOutDev = new AnoOutputDev(m_doc, m_importedColors); -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ const PDFRectangle& annotaRect = annota->getRect(); -+ Gfx* gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), &annotaRect, nullptr); -+#else - Gfx *gfx = new Gfx(pdfDoc, annotOutDev, pdfDoc->getPage(m_actPage)->getResourceDict(), annota->getRect(), nullptr); -+#endif - ano->draw(gfx, false); - if (!bgFound) - m_currColorFill = annotOutDev->currColorFill; -@@ -2916,22 +2931,27 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties) - - void SlaOutputDev::updateFont(GfxState *state) - { -- GfxFont *gfxFont; --#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ std::optional fontLoc; -+ std::string fileName; -+ std::unique_ptr ff; -+ std::optional> tmpBuf; -+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) - std::optional fontLoc; - const GooString * fileName = nullptr; - std::unique_ptr ff; -+ char* tmpBuf = nullptr; - #else - GfxFontLoc * fontLoc = nullptr; - GooString * fileName = nullptr; - FoFiTrueType * ff = nullptr; -+ char* tmpBuf = nullptr; - #endif - GfxFontType fontType; - SlaOutFontFileID *id; - SplashFontFile *fontFile; - SplashFontSrc *fontsrc = nullptr; - Object refObj, strObj; -- char *tmpBuf = nullptr; - int tmpBufLen = 0; - int *codeToGID = nullptr; - const double *textMat = nullptr; -@@ -2943,7 +2963,11 @@ void SlaOutputDev::updateFont(GfxState *state) - - m_font = nullptr; - -- gfxFont = state->getFont(); -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ GfxFont* gfxFont = state->getFont().get(); -+#else -+ GfxFont* gfxFont = state->getFont(); -+#endif - if (!gfxFont) - goto err1; - -@@ -2968,15 +2992,23 @@ void SlaOutputDev::updateFont(GfxState *state) - if (fontLoc->locType == gfxFontLocEmbedded) - { - // if there is an embedded font, read it to memory -- tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen); -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ tmpBuf = gfxFont->readEmbFontFile((xref) ? xref : pdfDoc->getXRef()); - if (! tmpBuf) - goto err2; -+#else -+ tmpBuf = gfxFont->readEmbFontFile(xref, &tmpBufLen); -+ if (!tmpBuf) -+ goto err2; -+#endif - - // external font - } - else - { // gfxFontLocExternal --#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ fileName = fontLoc->path; -+#elif POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) - fileName = fontLoc->pathAsGooString(); - #else - fileName = fontLoc->path; -@@ -2985,52 +3017,54 @@ void SlaOutputDev::updateFont(GfxState *state) - } - - fontsrc = new SplashFontSrc; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ if (!fileName.empty()) -+ fontsrc->setFile(fileName); -+ else -+ fontsrc->setBuf(std::move(tmpBuf.value())); -+#else - if (fileName) - fontsrc->setFile(fileName, gFalse); - else - fontsrc->setBuf(tmpBuf, tmpBufLen, gTrue); -+#endif - - // load the font file - switch (fontType) { - case fontType1: -- if (!(fontFile = m_fontEngine->loadType1Font( -- id, -- fontsrc, -- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) -+ if (!(fontFile = m_fontEngine->loadType1Font(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) - { -- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", -- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); - goto err2; - } - break; - case fontType1C: -- if (!(fontFile = m_fontEngine->loadType1CFont( -- id, -- fontsrc, -- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) -+ if (!(fontFile = m_fontEngine->loadType1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) - { -- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", -- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); - goto err2; - } - break; - case fontType1COT: -- if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont( -- id, -- fontsrc, -- (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) -+ if (!(fontFile = m_fontEngine->loadOpenTypeT1CFont(id, fontsrc, (const char **)((Gfx8BitFont *) gfxFont)->getEncoding()))) - { -- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", -- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); - goto err2; - } - break; - case fontTrueType: - case fontTrueTypeOT: -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ if (!fileName.empty()) -+ ff = FoFiTrueType::load(fileName.c_str()); -+ else -+ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size()); -+#else - if (fileName) - ff = FoFiTrueType::load(fileName->getCString()); - else - ff = FoFiTrueType::make(tmpBuf, tmpBufLen); -+#endif - if (ff) - { - #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -@@ -3047,24 +3081,17 @@ void SlaOutputDev::updateFont(GfxState *state) - codeToGID = nullptr; - n = 0; - } -- if (!(fontFile = m_fontEngine->loadTrueTypeFont( -- id, -- fontsrc, -- codeToGID, n))) -+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n))) - { -- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", -- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); - goto err2; - } - break; - case fontCIDType0: - case fontCIDType0C: -- if (!(fontFile = m_fontEngine->loadCIDFont( -- id, -- fontsrc))) -+ if (!(fontFile = m_fontEngine->loadCIDFont(id, fontsrc))) - { -- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", -- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); - goto err2; - } - break; -@@ -3080,10 +3107,7 @@ void SlaOutputDev::updateFont(GfxState *state) - codeToGID = nullptr; - n = 0; - } -- if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont( -- id, -- fontsrc, -- codeToGID, n))) -+ if (!(fontFile = m_fontEngine->loadOpenTypeCFFFont(id, fontsrc, codeToGID, n))) - { - error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", - gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -@@ -3105,10 +3129,17 @@ void SlaOutputDev::updateFont(GfxState *state) - } - else - { -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) -+ if (!fileName.empty()) -+ ff = FoFiTrueType::load(fileName.c_str()); -+ else -+ ff = FoFiTrueType::make(fontsrc->buf.data(), fontsrc->buf.size()); -+#else - if (fileName) - ff = FoFiTrueType::load(fileName->getCString()); - else - ff = FoFiTrueType::make(tmpBuf, tmpBufLen); -+#endif - if (! ff) - goto err2; - #if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -@@ -3119,13 +3150,9 @@ void SlaOutputDev::updateFont(GfxState *state) - delete ff; - #endif - } -- if (!(fontFile = m_fontEngine->loadTrueTypeFont( -- id, -- fontsrc, -- codeToGID, n, faceIndex))) -+ if (!(fontFile = m_fontEngine->loadTrueTypeFont(id, fontsrc, codeToGID, n, faceIndex))) - { -- error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", -- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -+ error(errSyntaxError, -1, "Couldn't create a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); - goto err2; - } - break; -@@ -3269,9 +3296,15 @@ void SlaOutputDev::drawChar(GfxState* state, double x, double y, double dx, doub - GBool SlaOutputDev::beginType3Char(GfxState *state, double x, double y, double dx, double dy, CharCode code, POPPLER_CONST_082 Unicode *u, int uLen) - { - // qDebug() << "beginType3Char"; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 4, 0) - GfxFont *gfxFont; -+ if (!(gfxFont = state->getFont().get())) -+ return gTrue; -+#else -+ GfxFont* gfxFont; - if (!(gfxFont = state->getFont())) - return gTrue; -+#endif - if (gfxFont->getType() != fontType3) - return gTrue; - F3Entry f3e; diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch deleted file mode 100644 index 106a6f5162b..00000000000 --- a/gnu/packages/patches/scribus-1.5.8-poppler-22.09.0.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/scribus/plugins/import/pdf/slaoutput.cpp -+++ b/scribus/plugins/import/pdf/slaoutput.cpp -@@ -3741,9 +3741,16 @@ void SlaOutputDev::getPenState(GfxState *state) - break; - } - double lw = state->getLineWidth(); -- double *dashPattern; - int dashLength; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 9, 0) -+ const double *dashPattern; -+ const std::vector &dash = state->getLineDash(&DashOffset); -+ dashPattern = dash.data(); -+ dashLength = dash.size(); -+#else -+ double *dashPattern; - state->getLineDash(&dashPattern, &dashLength, &DashOffset); -+#endif - QVector pattern(dashLength); - for (int i = 0; i < dashLength; ++i) - { diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch deleted file mode 100644 index 4e0f607c6a0..00000000000 --- a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-1.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 85c0dff3422fa3c26fbc2e8d8561f597ec24bd92 Mon Sep 17 00:00:00 2001 -From: Jean Ghali -Date: Wed, 2 Feb 2022 23:12:52 +0000 -Subject: [PATCH] #16734: Build break with poppler 22.2.0 - -git-svn-id: svn://scribus.net/trunk/Scribus@24884 11d20701-8431-0410-a711-e3c959e3b870 ---- - scribus/plugins/import/pdf/slaoutput.cpp | 47 +++++++++++++++++++----- - 1 file changed, 37 insertions(+), 10 deletions(-) - -diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp -index 5894bf2ad6..3650c96f52 100644 ---- a/scribus/plugins/import/pdf/slaoutput.cpp -+++ b/scribus/plugins/import/pdf/slaoutput.cpp -@@ -7,6 +7,11 @@ for which a new license (GPL+exception) is in place. - - #include "slaoutput.h" - -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -+#include -+#include -+#endif -+ - #include - #include - #include -@@ -3027,18 +3032,24 @@ void SlaOutputDev::markPoint(POPPLER_CONST char *name, Dict *properties) - void SlaOutputDev::updateFont(GfxState *state) - { - GfxFont *gfxFont; -- GfxFontLoc *fontLoc; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -+ std::optional fontLoc; -+ const GooString * fileName = nullptr; -+ std::unique_ptr ff; -+#else -+ GfxFontLoc * fontLoc = nullptr; -+ GooString * fileName = nullptr; -+ FoFiTrueType * ff = nullptr; -+#endif - GfxFontType fontType; - SlaOutFontFileID *id; - SplashFontFile *fontFile; - SplashFontSrc *fontsrc = nullptr; -- FoFiTrueType *ff; - Object refObj, strObj; -- GooString *fileName; -- char *tmpBuf; -+ char *tmpBuf = nullptr; - int tmpBufLen = 0; -- int *codeToGID; -- const double *textMat; -+ int *codeToGID = nullptr; -+ const double *textMat = nullptr; - double m11, m12, m21, m22, fontSize; - SplashCoord mat[4]; - int n = 0; -@@ -3046,9 +3057,6 @@ void SlaOutputDev::updateFont(GfxState *state) - SplashCoord matrix[6]; - - m_font = nullptr; -- fileName = nullptr; -- tmpBuf = nullptr; -- fontLoc = nullptr; - - gfxFont = state->getFont(); - if (!gfxFont) -@@ -3083,7 +3091,11 @@ void SlaOutputDev::updateFont(GfxState *state) - } - else - { // gfxFontLocExternal -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -+ fileName = fontLoc->pathAsGooString(); -+#else - fileName = fontLoc->path; -+#endif - fontType = fontLoc->fontType; - } - -@@ -3136,9 +3148,14 @@ void SlaOutputDev::updateFont(GfxState *state) - ff = FoFiTrueType::make(tmpBuf, tmpBufLen); - if (ff) - { -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -+ codeToGID = ((Gfx8BitFont*) gfxFont)->getCodeToGIDMap(ff.get()); -+ ff.reset(); -+#else - codeToGID = ((Gfx8BitFont *)gfxFont)->getCodeToGIDMap(ff); -- n = 256; - delete ff; -+#endif -+ n = 256; - } - else - { -@@ -3209,8 +3226,13 @@ void SlaOutputDev::updateFont(GfxState *state) - ff = FoFiTrueType::make(tmpBuf, tmpBufLen); - if (! ff) - goto err2; -+#if POPPLER_ENCODED_VERSION >= POPPLER_VERSION_ENCODE(22, 2, 0) -+ codeToGID = ((GfxCIDFont*) gfxFont)->getCodeToGIDMap(ff.get(), &n); -+ ff.reset(); -+#else - codeToGID = ((GfxCIDFont *)gfxFont)->getCodeToGIDMap(ff, &n); - delete ff; -+#endif - } - if (!(fontFile = m_fontEngine->loadTrueTypeFont( - id, -@@ -3247,14 +3269,19 @@ void SlaOutputDev::updateFont(GfxState *state) - mat[3] = -m22; - m_font = m_fontEngine->getFont(fontFile, mat, matrix); - -+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0) - delete fontLoc; -+#endif - if (fontsrc && !fontsrc->isFile) - fontsrc->unref(); - return; - - err2: - delete id; -+#if POPPLER_ENCODED_VERSION < POPPLER_VERSION_ENCODE(22, 2, 0) - delete fontLoc; -+#endif -+ - err1: - if (fontsrc && !fontsrc->isFile) - fontsrc->unref(); diff --git a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch b/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch deleted file mode 100644 index 73beac2d70d..00000000000 --- a/gnu/packages/patches/scribus-1.5.8-poppler-22.2.0-2.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f75c1613db67f4067643d0218a2db3235e42ec9f Mon Sep 17 00:00:00 2001 -From: Jean Ghali -Date: Thu, 3 Feb 2022 19:46:13 +0000 -Subject: [PATCH] Small update vs latest code in poppler - -git-svn-id: svn://scribus.net/trunk/Scribus@24885 11d20701-8431-0410-a711-e3c959e3b870 ---- - scribus/plugins/import/pdf/slaoutput.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/scribus/plugins/import/pdf/slaoutput.cpp b/scribus/plugins/import/pdf/slaoutput.cpp -index 3650c96f52..a6f4e00fa9 100644 ---- a/scribus/plugins/import/pdf/slaoutput.cpp -+++ b/scribus/plugins/import/pdf/slaoutput.cpp -@@ -3072,10 +3072,10 @@ void SlaOutputDev::updateFont(GfxState *state) - delete id; - else - { -- if (!(fontLoc = gfxFont->locateFont(xref, nullptr))) -+ fontLoc = gfxFont->locateFont((xref) ? xref : pdfDoc->getXRef(), nullptr); -+ if (!fontLoc) - { -- error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", -- gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); -+ error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'", gfxFont->getName() ? gfxFont->getName()->getCString() : "(unnamed)"); - goto err2; - } - diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm index ba323615751..02dd0e3c6e2 100644 --- a/gnu/packages/scribus.scm +++ b/gnu/packages/scribus.scm @@ -50,20 +50,14 @@ (define-public scribus (package (name "scribus") - (version "1.5.8") + (version "1.6.1") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/scribus/scribus-devel/" - version "/scribus-" version ".tar.xz")) + (uri (string-append "mirror://sourceforge/scribus/scribus/" + version "/scribus-" version ".tar.gz")) (sha256 - (base32 "0x3bw58v920akca8jxvsfwf468pzjyglk93ay67ph1bdry7nx0a7")) - (patches - (search-patches "scribus-1.5.8-poppler-22.2.0-1.patch" - "scribus-1.5.8-poppler-22.2.0-2.patch" - "scribus-1.5.8-poppler-22.03.0.patch" - "scribus-1.5.8-poppler-22.04.0.patch" - "scribus-1.5.8-poppler-22.09.0.patch")))) + (base32 "1kqqffx5xz35mwd422s4i110794zzx9sc2bn2mg77rz02hrxdhxg")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no test target From cd042f3a8efe85754a35979fadb392157ec12367 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Mar 2024 11:55:45 +0200 Subject: [PATCH 058/261] gnu: Remove libtommath-1.1. * gnu/packages/multiprecision.scm (libtommath-1.1): Delete variable. * gnu/packages/patches/libtommath-fix-linkage.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: I3a2bb697cbb72716756c24643920008e919889b5 --- gnu/local.mk | 1 - gnu/packages/multiprecision.scm | 25 --------- .../patches/libtommath-fix-linkage.patch | 55 ------------------- 3 files changed, 81 deletions(-) delete mode 100644 gnu/packages/patches/libtommath-fix-linkage.patch diff --git a/gnu/local.mk b/gnu/local.mk index 67a0eab466b..5e7fbf3545a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1608,7 +1608,6 @@ dist_patch_DATA = \ %D%/packages/patches/libtiff-CVE-2022-34526.patch \ %D%/packages/patches/libtirpc-CVE-2021-46828.patch \ %D%/packages/patches/libtirpc-hurd.patch \ - %D%/packages/patches/libtommath-fix-linkage.patch \ %D%/packages/patches/libtommath-integer-overflow.patch \ %D%/packages/patches/libtool-grep-compat.patch \ %D%/packages/patches/libtool-skip-tests2.patch \ diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index a81b2771ab1..18a269ddc7a 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -505,28 +505,3 @@ integer library written entirely in C. It's designed to provide an API that is simple to work with that provides fairly efficient routines that build out of the box without configuration.") (license unlicense))) - -(define-public libtommath-1.1 - (package - (inherit libtommath) - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/libtom/libtommath/releases/" - "download/v" version "/ltm-" version ".tar.xz")) - (sha256 - (base32 - "1bbyagqzfdbg37k1n08nsqzdf44z8zsnjjinqbsyj7rxg246qilh")) - (patches (search-patches "libtommath-fix-linkage.patch")))) - (arguments - (substitute-keyword-arguments (package-arguments libtommath) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'patch-coreutils-call - (lambda _ - ;; Don't pull in coreutils. - (substitute* "makefile_include.mk" - (("arch") "uname -m")) - #t)))) - ((#:test-target _) "test_standalone"))))) diff --git a/gnu/packages/patches/libtommath-fix-linkage.patch b/gnu/packages/patches/libtommath-fix-linkage.patch deleted file mode 100644 index 1a9d46eb7c2..00000000000 --- a/gnu/packages/patches/libtommath-fix-linkage.patch +++ /dev/null @@ -1,55 +0,0 @@ -https://github.com/libtom/libtommath/commit/93dea3a4162527346cd8856bfda6f17ffe98ab04.patch - -From 93dea3a4162527346cd8856bfda6f17ffe98ab04 Mon Sep 17 00:00:00 2001 -From: Steffen Jaeckel -Date: Thu, 31 Jan 2019 14:12:03 +0100 -Subject: [PATCH] makefile.shared: fix compilation and linkage - ---- - makefile.shared | 15 ++++++++------- - 1 file changed, 8 insertions(+), 7 deletions(-) - -diff --git a/makefile.shared b/makefile.shared -index 3955f830..870b18d1 100644 ---- a/makefile.shared -+++ b/makefile.shared -@@ -18,6 +18,7 @@ ifndef LIBTOOL - endif - endif - LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) -+LTLINK = $(LIBTOOL) --mode=link --tag=CC $(CC) - - LCOV_ARGS=--directory .libs --directory . - -@@ -59,7 +60,7 @@ objs: $(OBJECTS) - LOBJECTS = $(OBJECTS:.o=.lo) - - $(LIBNAME): $(OBJECTS) -- $(LIBTOOL) --mode=link --tag=CC $(CC) $(LDFLAGS) $(LOBJECTS) -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_SO) $(LIBTOOLFLAGS) -+ $(LTLINK) $(LDFLAGS) $(LOBJECTS) -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION_SO) $(LIBTOOLFLAGS) - - install: $(LIBNAME) - install -d $(DESTDIR)$(LIBPATH) -@@ -76,16 +77,16 @@ uninstall: - rm $(DESTDIR)$(LIBPATH)/pkgconfig/libtommath.pc - - test: $(LIBNAME) demo/demo.o -- $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o -- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME) -+ $(LTCOMPILE) $(CFLAGS) -c demo/demo.c -o demo/demo.o -+ $(LTLINK) $(LDFLAGS) -o test demo/demo.o $(LIBNAME) - - test_standalone: $(LIBNAME) demo/demo.o -- $(CC) $(CFLAGS) -c demo/demo.c -o demo/demo.o -- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o test demo/demo.o $(LIBNAME) -+ $(LTCOMPILE) $(CFLAGS) -c demo/demo.c -o demo/demo.o -+ $(LTLINK) $(LDFLAGS) -o test demo/demo.o $(LIBNAME) - - .PHONY: mtest - mtest: -- cd mtest ; $(CC) $(CFLAGS) $(LDFLAGS) mtest.c -o mtest -+ cd mtest ; $(CC) $(CFLAGS) -O0 mtest.c $(LDFLAGS) -o mtest - - timing: $(LIBNAME) demo/timing.c -- $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME) -o timing -+ $(LTLINK) $(CFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME) -o timing From f9207c33780eaf97acdc209ef8bf5125c784a6f2 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Mar 2024 11:58:50 +0200 Subject: [PATCH 059/261] gnu: libtommath: Update to 1.2.1. * gnu/packages/multiprecision.scm (libtommath): Update to 1.2.1. [source]: Remove patch. [arguments]: Remove trailing #t from phases. [properties]: Add upstream-name, lint-hidden-cve. * gnu/packages/patches/libtommath-integer-overflow.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: I4c1de43b4083e0649fcb493a5c304736e41ab4b8 --- gnu/local.mk | 1 - gnu/packages/multiprecision.scm | 13 +- .../patches/libtommath-integer-overflow.patch | 140 ------------------ 3 files changed, 6 insertions(+), 148 deletions(-) delete mode 100644 gnu/packages/patches/libtommath-integer-overflow.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5e7fbf3545a..83937db4c80 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1608,7 +1608,6 @@ dist_patch_DATA = \ %D%/packages/patches/libtiff-CVE-2022-34526.patch \ %D%/packages/patches/libtirpc-CVE-2021-46828.patch \ %D%/packages/patches/libtirpc-hurd.patch \ - %D%/packages/patches/libtommath-integer-overflow.patch \ %D%/packages/patches/libtool-grep-compat.patch \ %D%/packages/patches/libtool-skip-tests2.patch \ %D%/packages/patches/libtree-fix-check-non-x86.patch \ diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 18a269ddc7a..daa3144bd3a 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -455,7 +455,7 @@ number generators, public key cryptography and a plethora of other routines.") (define-public libtommath (package (name "libtommath") - (version "1.2.0") + (version "1.2.1") (outputs '("out" "static")) (source (origin @@ -464,8 +464,7 @@ number generators, public key cryptography and a plethora of other routines.") "download/v" version "/ltm-" version ".tar.xz")) (sha256 (base32 - "1c8q1qy88cjhdjlk3g24mra94h34c1ldvkjz0n2988c0yvn5xixp")) - (patches (search-patches "libtommath-integer-overflow.patch")))) + "07qdxnmp5bhfw5za6mr2l2w0vb7494v9zs9h5vp6y9vlngbjaq4q")))) (build-system gnu-build-system) (arguments '(#:phases @@ -476,13 +475,11 @@ number generators, public key cryptography and a plethora of other routines.") ;; We want the shared library by default so force it to be the ;; default makefile target. (delete-file "makefile") - (symlink "makefile.shared" "makefile") - #t)) + (symlink "makefile.shared" "makefile"))) (add-after 'install 'remove-static-library (lambda* (#:key outputs #:allow-other-keys) (delete-file (string-append (assoc-ref outputs "out") - "/lib/libtommath.a")) - #t)) + "/lib/libtommath.a")))) (replace 'check (lambda* (#:key tests? test-target make-flags #:allow-other-keys) (when tests? @@ -504,4 +501,6 @@ number generators, public key cryptography and a plethora of other routines.") integer library written entirely in C. It's designed to provide an API that is simple to work with that provides fairly efficient routines that build out of the box without configuration.") + (properties `((upstream-name . "ltm") + (lint-hidden-cve . ("CVE-2023-36328")))) (license unlicense))) diff --git a/gnu/packages/patches/libtommath-integer-overflow.patch b/gnu/packages/patches/libtommath-integer-overflow.patch deleted file mode 100644 index 5241726775d..00000000000 --- a/gnu/packages/patches/libtommath-integer-overflow.patch +++ /dev/null @@ -1,140 +0,0 @@ -This patch is from upstream: -https://github.com/libtom/libtommath/pull/546 - -From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001 -From: czurnieden -Date: Tue, 9 May 2023 17:17:12 +0200 -Subject: [PATCH] Fix possible integer overflow - ---- - bn_mp_2expt.c | 4 ++++ - bn_mp_grow.c | 4 ++++ - bn_mp_init_size.c | 5 +++++ - bn_mp_mul_2d.c | 4 ++++ - bn_s_mp_mul_digs.c | 4 ++++ - bn_s_mp_mul_digs_fast.c | 4 ++++ - bn_s_mp_mul_high_digs.c | 4 ++++ - bn_s_mp_mul_high_digs_fast.c | 4 ++++ - 8 files changed, 33 insertions(+) - -diff --git a/bn_mp_2expt.c b/bn_mp_2expt.c -index 0ae3df1bf..23de0c3c5 100644 ---- a/bn_mp_2expt.c -+++ b/bn_mp_2expt.c -@@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b) - { - mp_err err; - -+ if (b < 0) { -+ return MP_VAL; -+ } -+ - /* zero a as per default */ - mp_zero(a); - -diff --git a/bn_mp_grow.c b/bn_mp_grow.c -index 9e904c547..2b1682651 100644 ---- a/bn_mp_grow.c -+++ b/bn_mp_grow.c -@@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size) - int i; - mp_digit *tmp; - -+ if (size < 0) { -+ return MP_VAL; -+ } -+ - /* if the alloc size is smaller alloc more ram */ - if (a->alloc < size) { - /* reallocate the array a->dp -diff --git a/bn_mp_init_size.c b/bn_mp_init_size.c -index d62268721..99573833f 100644 ---- a/bn_mp_init_size.c -+++ b/bn_mp_init_size.c -@@ -6,6 +6,11 @@ - /* init an mp_init for a given size */ - mp_err mp_init_size(mp_int *a, int size) - { -+ -+ if (size < 0) { -+ return MP_VAL; -+ } -+ - size = MP_MAX(MP_MIN_PREC, size); - - /* alloc mem */ -diff --git a/bn_mp_mul_2d.c b/bn_mp_mul_2d.c -index 87354de20..bfeaf2eb2 100644 ---- a/bn_mp_mul_2d.c -+++ b/bn_mp_mul_2d.c -@@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c) - mp_digit d; - mp_err err; - -+ if (b < 0) { -+ return MP_VAL; -+ } -+ - /* copy */ - if (a != c) { - if ((err = mp_copy(a, c)) != MP_OKAY) { -diff --git a/bn_s_mp_mul_digs.c b/bn_s_mp_mul_digs.c -index 64509d4cb..3682b4980 100644 ---- a/bn_s_mp_mul_digs.c -+++ b/bn_s_mp_mul_digs.c -@@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs) - mp_word r; - mp_digit tmpx, *tmpt, *tmpy; - -+ if (digs < 0) { -+ return MP_VAL; -+ } -+ - /* can we use the fast multiplier? */ - if ((digs < MP_WARRAY) && - (MP_MIN(a->used, b->used) < MP_MAXFAST)) { -diff --git a/bn_s_mp_mul_digs_fast.c b/bn_s_mp_mul_digs_fast.c -index b2a287b02..3c4176a87 100644 ---- a/bn_s_mp_mul_digs_fast.c -+++ b/bn_s_mp_mul_digs_fast.c -@@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs) - mp_digit W[MP_WARRAY]; - mp_word _W; - -+ if (digs < 0) { -+ return MP_VAL; -+ } -+ - /* grow the destination as required */ - if (c->alloc < digs) { - if ((err = mp_grow(c, digs)) != MP_OKAY) { -diff --git a/bn_s_mp_mul_high_digs.c b/bn_s_mp_mul_high_digs.c -index 2bb2a5098..c9dd355f8 100644 ---- a/bn_s_mp_mul_high_digs.c -+++ b/bn_s_mp_mul_high_digs.c -@@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs) - mp_word r; - mp_digit tmpx, *tmpt, *tmpy; - -+ if (digs < 0) { -+ return MP_VAL; -+ } -+ - /* can we use the fast multiplier? */ - if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST) - && ((a->used + b->used + 1) < MP_WARRAY) -diff --git a/bn_s_mp_mul_high_digs_fast.c b/bn_s_mp_mul_high_digs_fast.c -index a2c4fb692..4ce7f590c 100644 ---- a/bn_s_mp_mul_high_digs_fast.c -+++ b/bn_s_mp_mul_high_digs_fast.c -@@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int - mp_digit W[MP_WARRAY]; - mp_word _W; - -+ if (digs < 0) { -+ return MP_VAL; -+ } -+ - /* grow the destination as required */ - pa = a->used + b->used; - if (c->alloc < pa) { From cd4c01e010ba7026fea17f523ff3a22fc982f3b2 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Tue, 27 Feb 2024 21:57:04 -0800 Subject: [PATCH 060/261] gnu: font-gnu-unifont: Update to 15.1.05. * gnu/packages/fonts.scm (font-gnu-unifont): Update to 15.1.05. Change-Id: I79b51df78735d52afc5dde129bff299f3e83b7f6 Signed-off-by: Efraim Flashner --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 2cc420f7ba2..2509aa65f2b 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1013,7 +1013,7 @@ for use at smaller text sizes"))) (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "15.1.01") + (version "15.1.05") (source (origin (method url-fetch) @@ -1023,7 +1023,7 @@ for use at smaller text sizes"))) (string-append "mirror://gnu/unifont/unifont-" version "/unifont-" version ".tar.gz"))) (sha256 - (base32 "1dydcqa2nvmnij5jzj10carrzssd3ar24i8zd18pk4zpl84l4pz1")) + (base32 "1yi33kxlgw7ds99za5bclh537sw8ggl94nrhhq7hwxaq8dgzaxfj")) (snippet '(begin (use-modules (guix build utils)) From 85d564b0fc9257d7d24a9bf4312f56509b6dc341 Mon Sep 17 00:00:00 2001 From: Zheng Junjie Date: Thu, 29 Feb 2024 21:39:36 +0800 Subject: [PATCH 061/261] gnu: gcc@11: fix 'compiler-cpu-architectures' property. * gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): fix typo `alterlake' to `alderlake'. Change-Id: Ia1a7af3f25040101f6995b6a4df5f298bfbbeb44 Signed-off-by: Efraim Flashner --- gnu/packages/gcc.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index ff830f8b356..3abecdeaddc 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Greg Hogan +;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -618,7 +619,7 @@ Go. It also includes runtime support libraries for these languages.") (define %gcc-11-x86_64-micro-architectures ;; Suitable '-march' values for GCC 11. (append %gcc-10-x86_64-micro-architectures - '("sapphirerapids" "alterlake" "rocketlake" ;Intel + '("sapphirerapids" "alderlake" "rocketlake" ;Intel "btver1" "btver2" ;AMD From b9f87817a193a3ff4769602aa33e3e2f7776fa05 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Mar 2024 13:49:32 +0200 Subject: [PATCH 062/261] guix: cpu: Update x86_64 CPUs. * guix/cpu.scm (cpu->gcc-architecture): Add graniterapids-d, pantherlake, clearwaterforest, arrowlake-s, yongfeng. Remove grandridge. Update CPU flags for searching to match architecture. (gcc-architecture->micro-architecture-level): Adjust listed architectures and sort in order used above. Change-Id: I186ab6e396e36c34f7c61827e02f637716993141 --- guix/cpu.scm | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/guix/cpu.scm b/guix/cpu.scm index 29ad8835843..c5837ade7f7 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Ludovic Courtès -;;; Copyright © 2022, 2023 Efraim Flashner +;;; Copyright © 2022-2024 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,18 +128,21 @@ corresponds to CPU, a record as returned by 'current-cpu'." (or (and (equal? "GenuineIntel" (cpu-vendor cpu)) (= 6 (cpu-family cpu)) ;the "Pentium Pro" family - (if-flags ("avx" "raoint" => "grandridge") - ("avx" "amx_fp16" => "graniterapids") + (if-flags ("avx512f" "amx_complex" => "graniterapids-d") + ("avx512f" "amx_fp16" => "graniterapids") + ("avx512f" "avx512vp2intersect" => "tigerlake") + ("avx512f" "tsxldtrk" => "sapphirerapids") + ("avx512f" "avx512bf16" => "cooperlake") + ("avx512f" "wbnoinvd" => "icelake-server") + ("avx512f" "avx512bitalg" => "icelake-client") + ("avx512f" "avx512vbmi" => "cannonlake") + ("avx512f" "avx5124vnniw" => "knm") + ("avx512f" "avx512er" => "knl") + ("avx512f" => "skylake-avx512") + ("avx" "prefetchi" => "pantherlake") + ("avx" "user_msr" => "clearwaterforest") + ("avx" "sm3" => "arrowlake-s") ("avx" "avxvnniint8" => "sierraforest") - ("avx" "avx512vp2intersect" => "tigerlake") - ("avx" "tsxldtrk" => "sapphirerapids") - ("avx" "avx512bf16" => "cooperlake") - ("avx" "wbnoinvd" => "icelake-server") - ("avx" "avx512bitalg" => "icelake-client") - ("avx" "avx512vbmi" => "cannonlake") - ("avx" "avx5124vnniw" => "knm") - ("avx" "avx512er" => "knl") - ("avx" "avx512f" => "skylake-avx512") ("avx" "serialize" => "alderlake") ("avx" "clflushopt" => "skylake") ("avx" "adx" => "broadwell") @@ -190,6 +193,10 @@ corresponds to CPU, a record as returned by 'current-cpu'." (= #x3b (cpu-model cpu))) "lujiazui" (cpu->micro-architecture-level cpu)) + (if (and (= 7 (cpu-family cpu)) + (>= #x5b (cpu-model cpu))) + "yongfeng" + (cpu->micro-architecture-level cpu)) ;; TODO: Recognize CENTAUR/CYRIX/NSC? @@ -292,16 +299,16 @@ CPUs for compilers which don't allow for more focused optimizing." ;; 'Haswell and higher' qualify for x86_64-v3. ;; https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex (match gcc-architecture - ((or "grandridge" "graniterapids" "sierraforest" "tigerlake" - "sapphirerapids" "cooperlake" "icelake-server" "icelake-client" - "cannonlake" "knm" "knl" "skylake-avx512" "alderlake" "skylake" - "broadwell" "haswell" + ((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids" + "cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm" "knl" + "skylake-avx512" "pantherlake" "clearwaterforest" "arrowlake-s" + "sierraforest" "alderlake" "skylake" "broadwell" "haswell" "znver4" "znver3" "znver2" "znver1" "bdver4") "x86_64-v3") ((or "sandybridge" "tremont" "goldmont-plus" "goldmont" "silvermont" "nehalem" "bonnell" "core2" "btver2" "athalon" "k8-sse3" "k8" "bdver3" "bdver2" "bdver1" "btver1" "amdfam10" - "lujiazui" "x86-64") + "lujiazui" "yongfeng" "x86-64") "x86_64-v1") (_ gcc-architecture))) From 5dce7964ef7c368d421c5a0c8738be06ed57ea0e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 4 Mar 2024 13:59:49 +0200 Subject: [PATCH 063/261] guix: cpu: Autodetect the x86-64-v4 microarchitecture. * guix/cpu.scm (gcc-architecture->micro-architecture-level): Sort gcc-architectures which have AVX512F support into x86-64-v4. Change-Id: I8af0ceb692eefec7433e1fd5149379244da799c4 --- guix/cpu.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/guix/cpu.scm b/guix/cpu.scm index c5837ade7f7..6891d9f266d 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm @@ -296,14 +296,17 @@ correspond roughly to CPU, a record as returned by 'current-cpu'." "Return a matching psABI micro-architecture, allowing optimizations for x86_64 CPUs for compilers which don't allow for more focused optimizing." ;; Matching gcc-architectures isn't an easy task, with the rule-of-thumb being - ;; 'Haswell and higher' qualify for x86_64-v3. + ;; AVX512F+ for x86_64-v4, AVX+ for x86_64-v3. ;; https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex (match gcc-architecture ((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids" - "cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm" "knl" - "skylake-avx512" "pantherlake" "clearwaterforest" "arrowlake-s" - "sierraforest" "alderlake" "skylake" "broadwell" "haswell" - "znver4" "znver3" "znver2" "znver1" "bdver4") + "cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm" + "knl" "skylake-avx512" + "znver4") + "x86_64-v4") + ((or "pantherlake" "clearwaterforest" "arrowlake-s" "sierraforest" + "alderlake" "skylake" "broadwell" "haswell" + "znver3" "znver2" "znver1" "bdver4") "x86_64-v3") ((or "sandybridge" "tremont" "goldmont-plus" "goldmont" "silvermont" "nehalem" "bonnell" "core2" From 29a9d0596f38ae1ab271dba4b827a4e318020732 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Mar 2024 08:50:17 +0200 Subject: [PATCH 064/261] guix: cpu: Update aarch64 CPUs. * guix/cpu.scm (cpu->gcc-architecture): Update list of CPUs from the list in gcc. Change-Id: Ifcd26c143fc9e3aaa0c5514e1dac4908d2780255 --- guix/cpu.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/guix/cpu.scm b/guix/cpu.scm index 6891d9f266d..e80b74f1613 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm @@ -217,7 +217,9 @@ corresponds to CPU, a record as returned by 'current-cpu'." (#xd15 "armv8-r") ((or #xd46 #xd47 #xd4d #xd48 #xd4e #xd49 #xd4f) - "armv9-a"))) + "armv9-a") + ((or #xd80 #xd81) + "armv9.2-a"))) ("0x42" "armv8.1-a") ("0x43" @@ -248,8 +250,14 @@ corresponds to CPU, a record as returned by 'current-cpu'." "armv8-a") ("0x68" "armv8-a") + ("0x6d" + "armv9-a") ("0xC0" - "armv8.6-a") + (match (cpu-model cpu) + ((or #xac3 #xac4) + "armv8.6-a") + (#xac5 + "armv8.7-a"))) ("0xC00" "armv8-a") (_ From 32ac25a19b10ca1ad6120e917775025f657b003f Mon Sep 17 00:00:00 2001 From: TakeV Date: Mon, 4 Mar 2024 18:00:43 -0500 Subject: [PATCH 065/261] gnu: git-annex: Update to 10.20240227. * gnu/packages/haskell-apps.scm (git-annex): Update to 10.20240227. Change-Id: I440fbc80f58671cbe515b7b0a1605dabe6fd76e3 Signed-off-by: Efraim Flashner --- gnu/packages/haskell-apps.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 3288b0d0a9f..3fce4f803c8 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -294,7 +294,7 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "10.20230926") + (version "10.20240227") (source (origin ;; hackage release doesn't include everything needed for extra bits. @@ -304,7 +304,7 @@ to @code{cabal repl}).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0zsq686b0q7mlkybm1xrc0kpl32ymvf0ybar01p68wx800031b2b")))) + (base32 "023gk1v01ks367h4zz67ksn2xaw6pgcfhmniay6ipkncfqv8rsra")))) (build-system haskell-build-system) (properties '((upstream-name . "git-annex"))) (arguments From 4cca394dfd5f838dcc72649bd97a651db5b67163 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:10 +0100 Subject: [PATCH 066/261] gnu: Add rust-h3-0.0.2. * gnu/packages/crates-web.scm (rust-h3-0.0.2): New variable. Change-Id: I511f9bd64db17d12c38d2708e9dc1bd93b347667 Signed-off-by: Efraim Flashner --- gnu/packages/crates-web.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index 6650c269139..fe4945cf90e 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -2045,6 +2045,27 @@ transfer coding.") (description "This package provides an async HTTP/3 implementation.") (license license:expat))) +(define-public rust-h3-0.0.2 + (package + (inherit rust-h3-0.0.3) + (name "rust-h3") + (version "0.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "h3" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17nbmkz6xs848257xv7gdhrnhyhagfb0dbqla82zv1nixr1wmrkd")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-bytes" ,rust-bytes-1) + ("rust-fastrand" ,rust-fastrand-1) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing" ,rust-tracing-0.1)))))) + (define-public rust-h3-quinn-0.0.4 (package (name "rust-h3-quinn") From 9793cc36355412fd0ea469a8d81bfcf1ce4632f0 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:11 +0100 Subject: [PATCH 067/261] gnu: Add rust-h3-quinn-0.0.3. * gnu/packages/crates-web.scm (rust-h3-quinn-0.0.3): New variable. Change-Id: Ib9012197310f4c862d9b0aedfbdd8259955f78e2 Signed-off-by: Efraim Flashner --- gnu/packages/crates-web.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index fe4945cf90e..38f558598dc 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -2092,6 +2092,26 @@ transfer coding.") "This package provides QUIC transport implementation based on Quinn.") (license license:expat))) +(define-public rust-h3-quinn-0.0.3 + (package + (inherit rust-h3-quinn-0.0.4) + (name "rust-h3-quinn") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "h3-quinn" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0kf6bqmm751gwj24dqgb2rrwq8ibhv7z5v7ix4pfiwz4ccbiljid")))) + (arguments + `(#:cargo-inputs (("rust-bytes" ,rust-bytes-1) + ("rust-futures" ,rust-futures-0.3) + ("rust-h3" ,rust-h3-0.0.2) + ("rust-quinn" ,rust-quinn-0.10) + ("rust-quinn-proto" ,rust-quinn-proto-0.10) + ("rust-tokio-util" ,rust-tokio-util-0.7)))))) + (define-public rust-headers-0.3 (package (name "rust-headers") From db8c5711f2108e7546c3603c13fbe0ef9d797800 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:12 +0100 Subject: [PATCH 068/261] gnu: Add rust-event-listener-strategy-0.1. * gnu/packages/crates-io.scm (rust-event-listener-strategy-0.1): New variable. Change-Id: I15b35f677c57ec5205ea140e65c1b70042fbf661 Signed-off-by: Efraim Flashner --- gnu/packages/crates-io.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index aaf2157661f..2290a28bad6 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -22343,6 +22343,23 @@ blocking data structures.") (description "This package provides block and poll on event_listener.") (license (list license:asl2.0 license:expat)))) +(define-public rust-event-listener-strategy-0.1 + (package + (inherit rust-event-listener-strategy-0.4) + (name "rust-event-listener-strategy") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "event-listener-strategy" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1z99km9lwya36bxhvrz4rsl3nhqhhlnnx7a2gdz4nzpa6177pj8m")))) + (arguments + `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-3) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)) + #:cargo-development-inputs (("rust-futures-lite" ,rust-futures-lite-1)))))) + (define-public rust-executable-path-1 (package (name "rust-executable-path") From 1a1cf210a71f2b07ceb3ab08d1baeee951751d5d Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:13 +0100 Subject: [PATCH 069/261] gnu: Add rust-async-broadcast-0.6. * gnu/packages/crates-io.scm (rust-async-broadcast-0.6): New variable. (rust-async-broadcast-0.5): Inherit from it. Change-Id: I942490385b625fa6f0cdec6f2c3262b84f06b76b Signed-off-by: Efraim Flashner --- gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 2290a28bad6..88c1742bbed 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -3909,8 +3909,36 @@ capacity and random or least recently used (LRU) replacement.") Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-async-broadcast-0.6 + (package + (name "rust-async-broadcast") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "async-broadcast" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0d1xk2pr5khk1radkbaf7pp7pbjkb18m43n2rgkfsfxk177pak9k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-event-listener" ,rust-event-listener-3) + ("rust-event-listener-strategy" ,rust-event-listener-strategy-0.1) + ("rust-futures-core" ,rust-futures-core-0.3)) + #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-easy-parallel" ,rust-easy-parallel-3) + ("rust-futures-lite" ,rust-futures-lite-1) + ("rust-futures-util" ,rust-futures-util-0.3)))) + (home-page "https://github.com/smol-rs/async-broadcast") + (synopsis "Async broadcast channels") + (description "This package provides async broadcast channels in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-async-broadcast-0.5 (package + (inherit rust-async-broadcast-0.6) (name "rust-async-broadcast") (version "0.5.1") (source (origin @@ -3920,7 +3948,6 @@ Rust.") (sha256 (base32 "0avdqbci1qdlfc4glc3wqrb0wi5ffc7bqv2q1wg14syayvdwqj3w")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-event-listener" ,rust-event-listener-2) @@ -3930,11 +3957,7 @@ Rust.") ("rust-doc-comment" ,rust-doc-comment-0.3) ("rust-easy-parallel" ,rust-easy-parallel-3) ("rust-futures-lite" ,rust-futures-lite-1) - ("rust-futures-util" ,rust-futures-util-0.3)))) - (home-page "https://github.com/smol-rs/async-broadcast") - (synopsis "Async broadcast channels") - (description "This package provides async broadcast channels in Rust.") - (license (list license:expat license:asl2.0)))) + ("rust-futures-util" ,rust-futures-util-0.3)))))) (define-public rust-async-channel-2 (package From 4b2c8deda8d7d0d6cbf7bf02490899c5e051f945 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:14 +0100 Subject: [PATCH 070/261] gnu: Add rust-hickory-proto-0.24. * gnu/packages/crates-web.scm (rust-hickory-proto-0.24): New variable. Change-Id: I0bf90d9b78fa830f8b61444c4cdb610c715d4d63 Signed-off-by: Efraim Flashner --- gnu/packages/crates-web.scm | 65 +++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index 38f558598dc..d77e79838b4 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -2199,6 +2199,71 @@ transfer coding.") (("rust-bytes" ,rust-bytes-0.4) ("rust-http" ,rust-http-0.1)))))) +(define-public rust-hickory-proto-0.24 + (package + (name "rust-hickory-proto") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hickory-proto" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1kxvdzmwwi1d6wsp9bcs91ipmwxcyhpwbvz3an9h0q28ryy6y6h9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-bytes" ,rust-bytes-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-enum-as-inner" ,rust-enum-as-inner-0.6) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-h2" ,rust-h2-0.3) + ("rust-h3" ,rust-h3-0.0.2) + ("rust-h3-quinn" ,rust-h3-quinn-0.0.3) + ("rust-http" ,rust-http-0.2) + ("rust-idna" ,rust-idna-0.4) + ("rust-ipnet" ,rust-ipnet-2) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-quinn" ,rust-quinn-0.10) + ("rust-rand" ,rust-rand-0.8) + ("rust-ring" ,rust-ring-0.16) + ("rust-rustls" ,rust-rustls-0.21) + ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6) + ("rust-rustls-pemfile" ,rust-rustls-pemfile-1) + ("rust-serde" ,rust-serde-1) + ("rust-socket2" ,rust-socket2-0.5) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tinyvec" ,rust-tinyvec-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.6) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.24) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-url" ,rust-url-2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-webpki-roots" ,rust-webpki-roots-0.25)) + #:cargo-development-inputs + (("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (native-inputs + (list openssl pkg-config)) + (home-page "https://hickory-dns.org/") + (synopsis + "Foundational DNS protocol library for all Hickory DNS projects") + (description + "Hickory DNS is a safe and secure DNS library. This is the foundational +DNS protocol library for all Hickory DNS projects.") + (license (list license:expat license:asl2.0)))) + (define-public rust-http-1 (package (name "rust-http") From 08522b65cc6bb5e8a12f13d8fc3c0898f9598fa8 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:15 +0100 Subject: [PATCH 071/261] gnu: Add rust-hickory-resolver-0.24. * gnu/packages/crates-web.scm (rust-hickory-resolver-0.24): New variable. Change-Id: I863039f4524ebcadf91bac3f26f62c65268b5de7 Signed-off-by: Efraim Flashner --- gnu/packages/crates-web.scm | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index d77e79838b4..d56c43881ba 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -2264,6 +2264,70 @@ transfer coding.") DNS protocol library for all Hickory DNS projects.") (license (list license:expat license:asl2.0)))) +(define-public rust-hickory-resolver-0.24 + (package + (name "rust-hickory-resolver") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hickory-resolver" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1s3486qczv9gaw8dap06c0bwb2bpqm23a0ihj169hsjf2qhz1f1m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + '("--release" "--lib" "--bins" "--tests" "--" + ;; Some tests require network access. + "--skip=async_resolver::tests::test_domain_search" + "--skip=async_resolver::tests::test_fqdn" + "--skip=async_resolver::tests::test_idna" + "--skip=async_resolver::tests::test_large_ndots" + "--skip=async_resolver::tests::test_lookup_cloudflare" + "--skip=async_resolver::tests::test_lookup_google" + "--skip=async_resolver::tests::test_lookup_quad9" + "--skip=async_resolver::tests::test_ndots" + "--skip=async_resolver::tests::test_search_list" + "--skip=hosts::tests::test_read_hosts_conf" + "--skip=name_server::name_server::tests::test_name_server" + "--skip=name_server::name_server_pool::tests::test_multi_use_conns" + "--skip=resolver::tests::test_lookup" + "--skip=system_conf::unix::tests::test_read_resolv_conf") + #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hickory-proto" ,rust-hickory-proto-0.24) + ("rust-ipconfig" ,rust-ipconfig-0.3) + ("rust-lru-cache" ,rust-lru-cache-0.1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-parking-lot" ,rust-parking-lot-0.12) + ("rust-rand" ,rust-rand-0.8) + ("rust-resolv-conf" ,rust-resolv-conf-0.7) + ("rust-rustls" ,rust-rustls-0.21) + ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-native-tls" ,rust-tokio-native-tls-0.3) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.6) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.24) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-webpki-roots" ,rust-webpki-roots-0.25)) + #:cargo-development-inputs + (("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (home-page "https://hickory-dns.org/") + (synopsis + "Hickory DNS Resolver library built on top of tokio's @code{async-io}") + (description + "Hickory DNS Resolver is a safe and secure DNS library. The Resolver is +intended to be a high-level library for any DNS record resolution, see +@code{Resolver} and @code{AsyncResolver} for supported resolution types. The +@code{Client} can be used for other queries.") + (license (list license:expat license:asl2.0)))) + (define-public rust-http-1 (package (name "rust-http") From 87f538c0902dd0061a64ea95ed6ede490471db65 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:16 +0100 Subject: [PATCH 072/261] gnu: Add rust-hickory-recursor-0.24. * gnu/packages/crates-web.scm (rust-hickory-recursor-0.24): New variable. Change-Id: I93348b33c4d82b8cf2187ec61e67791c114a721d Signed-off-by: Efraim Flashner --- gnu/packages/crates-web.scm | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index d56c43881ba..d26e0ca9344 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -2264,6 +2264,49 @@ transfer coding.") DNS protocol library for all Hickory DNS projects.") (license (list license:expat license:asl2.0)))) +(define-public rust-hickory-recursor-0.24 + (package + (name "rust-hickory-recursor") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hickory-recursor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "146ifrml22hjydrw16qgfw32kv3v9wvvl4dqh45pg6fymxvw8xgi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-async-recursion" ,rust-async-recursion-1) + ("rust-async-trait" ,rust-async-trait-0.1) + ("rust-bytes" ,rust-bytes-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-enum-as-inner" ,rust-enum-as-inner-0.6) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hickory-proto" ,rust-hickory-proto-0.24) + ("rust-hickory-resolver" ,rust-hickory-resolver-0.24) + ("rust-lru-cache" ,rust-lru-cache-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.12) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing" ,rust-tracing-0.1)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (home-page "https://hickory-dns.org/") + (synopsis + "Hickory DNS Recursor is a DNS recursive resolver with DNSSEC support") + (description + "*WARNING* This library is experimental + +Hickory DNS Recursor is a safe and secure DNS recursive resolver with DNSSEC +support. Hickory DNS is based on the Tokio and Futures libraries, which means +it should be easily integrated into other software that also use those +libraries. This library can be used as in the server and binary for +performing recursive lookups.") + (license (list license:expat license:asl2.0)))) + (define-public rust-hickory-resolver-0.24 (package (name "rust-hickory-resolver") From 4dda0c372aa6a42704dd758c3124c6d715be347b Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:17 +0100 Subject: [PATCH 073/261] gnu: Add rust-hickory-client-0.24. * gnu/packages/crates-web.scm (rust-hickory-client-0.24): New variable. Change-Id: I0fcaf5d82837d2d380171faae0bcddd281e55826 Signed-off-by: Efraim Flashner --- gnu/packages/crates-web.scm | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index d26e0ca9344..7206e200732 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -2199,6 +2199,54 @@ transfer coding.") (("rust-bytes" ,rust-bytes-0.4) ("rust-http" ,rust-http-0.1)))))) +(define-public rust-hickory-client-0.24 + (package + (name "rust-hickory-client") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hickory-client" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0bj6g69h86d7mbclrwaj7cgl1plr6pvllv8qn69xmpgh9h90hgkz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + '("--release" "--lib" "--bins" "--tests" "--" + ;; Some tests require network access. + "--skip=client::async_client::tests::async_client") + #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hickory-proto" ,rust-hickory-proto-0.24) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-radix-trie" ,rust-radix-trie-0.2) + ("rust-rand" ,rust-rand-0.8) + ("rust-rustls" ,rust-rustls-0.21) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing" ,rust-tracing-0.1)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (native-inputs + (list openssl pkg-config)) + (home-page "https://hickory-dns.org/") + (synopsis "Client library for Hickory DNS, with DNSSEC support") + (description + "Hickory DNS is a safe and secure DNS library. This is the Client +library with DNSSEC support. DNSSEC with NSEC validation for negative +records, is complete. The client supports dynamic DNS with SIG0 authenticated +requests, implementing easy to use high level funtions. Hickory DNS is based +on the Tokio and Futures libraries, which means it should be easily integrated +into other software that also use those libraries.") + (license (list license:expat license:asl2.0)))) + (define-public rust-hickory-proto-0.24 (package (name "rust-hickory-proto") From 1571fa3aab7c601982617976c5417e6fc2934ff9 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:18 +0100 Subject: [PATCH 074/261] gnu: Add rust-hickory-server-0.24. * gnu/packages/crates-web.scm (rust-hickory-server-0.24): New variable. Change-Id: I3bde5a809f68e6f161286b7630dfc97d3a68ba51 Signed-off-by: Efraim Flashner --- gnu/packages/crates-web.scm | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/gnu/packages/crates-web.scm b/gnu/packages/crates-web.scm index 7206e200732..60c735efa76 100644 --- a/gnu/packages/crates-web.scm +++ b/gnu/packages/crates-web.scm @@ -2419,6 +2419,84 @@ intended to be a high-level library for any DNS record resolution, see @code{Client} can be used for other queries.") (license (list license:expat license:asl2.0)))) +(define-public rust-hickory-server-0.24 + (package + (name "rust-hickory-server") + (version "0.24.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hickory-server" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1dbwsrmxgf9nxkn3cp5fpjw96wywrzihbirjax25dd6wqidv9fsg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + '("--release" "--" + ;; Not all files included. + "--skip=store::file::authority::tests::test_load_zone" + "--skip=basic::file::test_a_lookup" + "--skip=basic::file::test_aname" + "--skip=basic::file::test_aname_a_lookup" + "--skip=basic::file::test_aname_chain" + "--skip=basic::file::test_cname" + "--skip=basic::file::test_cname_alias" + "--skip=basic::file::test_cname_chain" + "--skip=basic::file::test_dots_in_name" + "--skip=basic::file::test_invalid_lookup" + "--skip=basic::file::test_mx" + "--skip=basic::file::test_mx_to_null" + "--skip=basic::file::test_ns" + "--skip=basic::file::test_ns_lookup" + "--skip=basic::file::test_soa" + "--skip=basic::file::test_srv" + "--skip=basic::file::test_update_errors" + "--skip=basic::file::test_wildcard" + "--skip=basic::file::test_wildcard_chain" + "--skip=test_all_lines_are_loaded" + "--skip=test_implicit_in_class" + "--skip=test_ttl_wilcard") + #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-basic-toml" ,rust-basic-toml-0.1) + ("rust-bytes" ,rust-bytes-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-enum-as-inner" ,rust-enum-as-inner-0.6) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-h2" ,rust-h2-0.3) + ("rust-h3" ,rust-h3-0.0.2) + ("rust-h3-quinn" ,rust-h3-quinn-0.0.3) + ("rust-hickory-proto" ,rust-hickory-proto-0.24) + ("rust-hickory-recursor" ,rust-hickory-recursor-0.24) + ("rust-hickory-resolver" ,rust-hickory-resolver-0.24) + ("rust-http" ,rust-http-0.2) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-rusqlite" ,rust-rusqlite-0.29) + ("rust-rustls" ,rust-rustls-0.21) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-time" ,rust-time-0.3) + ("rust-tokio" ,rust-tokio-1) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.6) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.24) + ("rust-tokio-util" ,rust-tokio-util-0.7) + ("rust-tracing" ,rust-tracing-0.1)) + #:cargo-development-inputs + (("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-tokio" ,rust-tokio-1) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (home-page "https://hickory-dns.org/") + (synopsis "Hickory DNS Server is a DNS server with DNSSEC support") + (description + "Hickory DNS Server is a safe and secure DNS server with DNSSEC support. +Eventually this could be a replacement for BIND9. The DNSSEC support allows +for live signing of all records, in it does not currently support records +signed offline. The server supports dynamic DNS with SIG0 authenticated +requests. Hickory DNS is based on the Tokio and Futures libraries, which +means it should be easily integrated into other software that also use those +libraries.") + (license (list license:expat license:asl2.0)))) + (define-public rust-http-1 (package (name "rust-http") From b14ca64caf13cff3f29f6b867713e8967a9bf25f Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Tue, 5 Mar 2024 00:19:19 +0100 Subject: [PATCH 075/261] gnu: Add aardvark-dns. * gnu/packages/rust-apps.scm (aardvark-dns): New variable. Change-Id: If0cb81d7739e72d93a342ffa43f57129421ff691 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 01e01ecba3c..9e5c7d391fd 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -99,6 +99,40 @@ #:use-module (gnu packages webkit) #:use-module (gnu packages xorg)) +(define-public aardvark-dns + (package + (name "aardvark-dns") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aardvark-dns" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0ldqv9v3v9a1m2kka660d5v15y2zasy5z7m4fh5hif74r089cx6x")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f + #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) + ("rust-async-broadcast" ,rust-async-broadcast-0.6) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-4) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hickory-client" ,rust-hickory-client-0.24) + ("rust-hickory-proto" ,rust-hickory-proto-0.24) + ("rust-hickory-server" ,rust-hickory-server-0.24) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.27) + ("rust-resolv-conf" ,rust-resolv-conf-0.7) + ("rust-signal-hook" ,rust-signal-hook-0.3) + ("rust-syslog" ,rust-syslog-6) + ("rust-tokio" ,rust-tokio-1)))) + (home-page "https://github.com/containers/aardvark-dns") + (synopsis "Container-focused DNS server") + (description "This package provides a container-focused DNS server.") + (license license:asl2.0))) + (define-public agate (package (name "agate") From ed84b7fe37f55a820121955785b722b8eca9b057 Mon Sep 17 00:00:00 2001 From: Suhail Singh Date: Mon, 4 Mar 2024 18:57:15 -0500 Subject: [PATCH 076/261] gnu: Add rust-clap-verbosity-flag-2. * gnu/packages/crates-io.scm (rust-clap-verbosity-flag-2): New variable. Change-Id: I9fa802d964e71a1618d8d42571ca954c34dbf59e Signed-off-by: Efraim Flashner --- gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 88c1742bbed..1a08748392e 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2023, 2024 Troy Figiel ;;; Copyright © 2024 Herman Rimm ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> +;;; Copyright © 2024 Suhail Singh ;;; ;;; This file is part of GNU Guix. ;;; @@ -11723,6 +11724,34 @@ stream of tokens.") (("rust-clap" ,rust-clap-3) ("rust-snapbox" ,rust-snapbox-0.2)))))) +(define-public rust-clap-verbosity-flag-2 + (package + (name "rust-clap-verbosity-flag") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "clap-verbosity-flag" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15f419hg1xskf7pwzk5n27cpn05n0ccbd6sbji906ymi47576zxm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-clap" ,rust-clap-4) + ("rust-log" ,rust-log-0.4)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-4) + ("rust-env-logger" ,rust-env-logger-0.10) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-log" ,rust-tracing-log-0.2) + ("rust-tracing-subscriber" ,rust-tracing-subscriber-0.3)))) + (home-page "https://github.com/clap-rs/clap-verbosity-flag") + (synopsis "Easily add a `--verbose` flag to CLIs using Clap") + (description + "This package provides a way to add a `--verbose` flag to CLIs using +Clap.") + (license (list license:expat license:asl2.0)))) + (define-public rust-clearscreen-1 (package (name "rust-clearscreen") From b7f0aad907d6c33c4ccb137190b7a6b710a7112b Mon Sep 17 00:00:00 2001 From: Suhail Singh Date: Tue, 5 Mar 2024 00:45:19 -0500 Subject: [PATCH 077/261] gnu: Add emacs-lsp-booster. * gnu/packages/rust-apps.scm (emacs-lsp-booster): New variable. Change-Id: If89f9941662ed01ddec578b220f69e6370775103 Signed-off-by: Efraim Flashner --- gnu/packages/rust-apps.scm | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 9e5c7d391fd..7313cdef774 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2024 Troy Figiel ;;; Copyright © 2024 Herman Rimm ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> +;;; Copyright © 2024 Suhail Singh ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,6 +72,7 @@ #:use-module (gnu packages crates-windows) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) + #:use-module (gnu packages emacs) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages haskell-xyz) @@ -502,6 +504,43 @@ Features include: @end enumerate\n") (license license:gpl3))) +(define-public emacs-lsp-booster + (package + (name "emacs-lsp-booster") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/blahgeek/emacs-lsp-booster") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xx32ms3mpi1clxf74mx7nanj0iw9qkmhi0a53fx8fkz0jw2fq8f")))) + (build-system cargo-build-system) + (arguments + (list + #:cargo-inputs `(("rust-anyhow" ,rust-anyhow-1) + ("rust-clap" ,rust-clap-4) + ("rust-clap-verbosity-flag" ,rust-clap-verbosity-flag-2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-env-logger" ,rust-env-logger-0.10)) + #:cargo-development-inputs `(("rust-emacs" ,rust-emacs-0.18) + ("rust-tempfile" ,rust-tempfile-3)) + #:install-source? #f)) + (native-inputs (list emacs)) ; Not emacs-minimal + (home-page "https://github.com/blahgeek/emacs-lsp-booster") + (synopsis "Emacs LSP performance booster") + (description + "@code{emacs-lsp-booster} improves the performance of @code{lsp-mode} and +@code{eglot} Emacs packages using a wrapper executable. See the home-page for +configuration instructions.") + (license license:expat))) + (define-public eza (package (name "eza") From b6dec0108f99d75066bad15aaa124b84bb0261f3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 12:42:47 +0100 Subject: [PATCH 078/261] gnu: emacs-activities: Update to 0.6. * gnu/packages/emacs-xyz.scm (emacs-activities): Update to 0.6. Change-Id: I638ec282c49e9f52b258a672770c076cfcbedcd5 --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f858597ea73..e1d14ea4aad 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -372,14 +372,14 @@ (define-public emacs-activities (package (name "emacs-activities") - (version "0.5.1") + (version "0.6") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/activities-" version ".tar")) (sha256 - (base32 "0ng9sgajcpal881s3kavkmz0fc38f2h207hpqj62cf14z7bsk0zk")))) + (base32 "03dc2d9w40qp0qacv5vk49498qyb9y9n6ppd79jbglkpr0a60y21")))) (build-system emacs-build-system) (propagated-inputs (list emacs-persist)) (home-page "https://github.com/alphapapa/activities.el") From f18d13b5f89c161c6ee88d15ecdaa8d973ee4503 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Tue, 5 Mar 2024 15:28:08 -0500 Subject: [PATCH 079/261] gnu: rofi-wayland: Update to 1.7.5+wayland3. * gnu/packages/xdisorg.scm (rofi-wayland): Update to 1.7.5+wayland3. Change-Id: I43e87790272fe3e6d1b9b2fe9f837025083962d2 --- gnu/packages/xdisorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 86e50868673..c81c5497365 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2032,7 +2032,7 @@ by name.") (package (inherit rofi) (name "rofi-wayland") - (version "1.7.5+wayland2") + (version "1.7.5+wayland3") (source (origin (method url-fetch) (uri (string-append "https://github.com/lbonn/rofi" @@ -2040,7 +2040,7 @@ by name.") "/rofi-" version ".tar.xz")) (sha256 (base32 - "0l6rf8qwvawyh938pinl9fkwzjnq72xpa9a7lwk9jrr5lkk3h8yj")))) + "11xiksh3m7yf3270kqf1jranlfh9q6rr8i99jvx4ak4azn4pwhpw")))) (build-system meson-build-system) (inputs (modify-inputs (package-inputs base) From 3e0a1469b8c231a061522f36b54ad0755103d4e1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:36:43 +0100 Subject: [PATCH 080/261] import/cran: Add one more invalid package. * guix/import/cran.scm (invalid-packages): Add "use_c17". Change-Id: Ie3b6455d4eff97811057cd82dca460367a4583e5 --- guix/import/cran.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 9b30dc30e07..c4c42836ee9 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -418,6 +418,7 @@ empty list when the FIELD cannot be found." "none" "rtools" "unix" + "use_c17" "windows" "xcode" "xquartz")) From 783088d2e38f1f294318b3c3bae4d111f1220cae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 21:55:18 +0100 Subject: [PATCH 081/261] gnu: Add r-transformr. * gnu/packages/cran.scm (r-transformr): New variable. Change-Id: I52114b946832c202c6e2278a330f98f78b92efce --- gnu/packages/cran.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8d7425e4c1b..5601a7bf4fb 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -9549,6 +9549,34 @@ imputations.") ;; Any of these two versions. (license (list license:gpl2 license:gpl3)))) +(define-public r-transformr + (package + (name "r-transformr") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "transformr" version)) + (sha256 + (base32 "125y99wpgvp92qsg7934nzjqy6irjzaj21c0dcq7apqd2hqamfxw")))) + (properties `((upstream-name . "transformr"))) + (build-system r-build-system) + (propagated-inputs (list r-cpp11 + r-lpsolve + r-rlang + r-sf + r-tweenr + r-vctrs)) + (home-page "https://github.com/thomasp85/transformr") + (synopsis "Polygon and path transformations") + (description + "In order to smoothly animate the transformation of polygons and paths, +many aspects needs to be taken into account, such as differing number of +control points, changing center of rotation, etc. The transformr package +provides an extensive framework for manipulating the shapes of polygons and +paths and can be seen as the spatial brother to the tweenr package.") + (license license:expat))) + (define-public r-truncnorm (package (name "r-truncnorm") From c2e428b2992e5a10538e22f407e73db202af150f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:31 +0100 Subject: [PATCH 082/261] gnu: r-conos: Update to 1.5.2. * gnu/packages/bioconductor.scm (r-conos): Update to 1.5.2. Change-Id: Ia2192481d7d829ef47fec23d4fc8c028abce7098 --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index f38b787bdf4..8bda746ee0e 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -7211,13 +7211,13 @@ self-defined annotation graphics.") (define-public r-conos (package (name "r-conos") - (version "1.5.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (cran-uri "conos" version)) (sha256 - (base32 "01d2knwyf0g2pvqq3dy5vhf0i7mc5f7rzg3a7cbglsw3l9irsixv")))) + (base32 "0p66gb308w2zfsppm0k1vsvgr33kzzhql0vh7l39vlsgayi00skk")))) (properties `((upstream-name . "conos"))) (build-system r-build-system) (propagated-inputs From 2f8a48f928abd23fc6dbeb9bbf2f890c814d0c14 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:31 +0100 Subject: [PATCH 083/261] gnu: r-ggdist: Update to 3.3.2. * gnu/packages/cran.scm (r-ggdist): Update to 3.3.2. [propagated-inputs]: Remove r-dplyr and r-tidyselect; add r-gtable. Change-Id: Ie67212a05e55eff3e8f4047a807ce3a0aee9099e --- gnu/packages/cran.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5601a7bf4fb..654c971a20e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1026,27 +1026,26 @@ axis breaks of a ggplot.") (define-public r-ggdist (package (name "r-ggdist") - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (cran-uri "ggdist" version)) (sha256 - (base32 "0agr1l65s7vimdb88a7n3ahr6pp9ng5zf9mypdic26vhaaifh1b7")))) + (base32 "1wc3pqnf2r0324jm0vv1872smriv25h0lx0mni7qp93wrf8k0mpn")))) (properties `((upstream-name . "ggdist"))) (build-system r-build-system) (propagated-inputs (list r-cli r-distributional - r-dplyr r-ggplot2 r-glue + r-gtable r-numderiv r-quadprog r-rcpp r-rlang r-scales r-tibble - r-tidyselect r-vctrs r-withr)) (native-inputs (list r-knitr)) From d0a2b433f339c87ad731b4f26086d6bac554b87c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:31 +0100 Subject: [PATCH 084/261] gnu: r-ggside: Update to 0.3.1. * gnu/packages/cran.scm (r-ggside): Update to 0.3.1. Change-Id: I9c48c262672fc3621a037f3d8082549acd61cb8a --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 654c971a20e..0380c5d8a79 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2709,13 +2709,13 @@ respecting the grammar of its graphics paradigm.") (define-public r-ggside (package (name "r-ggside") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "ggside" version)) (sha256 (base32 - "0mx6j9wi54inklmyydcqm0ahbx0b6c6y4sfh2awqsbgwigc3056p")))) + "1r36hsnha9bqzfb3rhpj11zg307wzacnkn4i6hi627xrx4knj5cl")))) (properties `((upstream-name . "ggside"))) (build-system r-build-system) (propagated-inputs From ff90043a6b2d5bfa8c7a5f6d72978ac0aa042782 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:32 +0100 Subject: [PATCH 085/261] gnu: r-pagoda2: Update to 1.0.12. * gnu/packages/cran.scm (r-pagoda2): Update to 1.0.12. Change-Id: I68f0e26f73afc714f266d3510f41e7e0a29c5bca --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0380c5d8a79..f115bdd4800 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2976,13 +2976,13 @@ functions which can speed up workflow.") (define-public r-pagoda2 (package (name "r-pagoda2") - (version "1.0.11") + (version "1.0.12") (source (origin (method url-fetch) (uri (cran-uri "pagoda2" version)) (sha256 - (base32 "13x2l7hcvd6975921c5hba8hm2qijkslviszfizah8wxynhbayy1")))) + (base32 "1kck12ri52nwsrxhjs8ghjji3rv1dxxjy8bxn1kk1hbg30265fsw")))) (properties `((upstream-name . "pagoda2"))) (build-system r-build-system) (propagated-inputs From fd5b1b5514f91df7f095e7602d96eacc875bf312 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:32 +0100 Subject: [PATCH 086/261] gnu: r-secretbase: Update to 0.3.0.1. * gnu/packages/cran.scm (r-secretbase): Update to 0.3.0.1. Change-Id: Id9ce065d84105f1e0e45d3c8938cdc3e9b2a98d3 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f115bdd4800..53bccf38529 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3972,13 +3972,13 @@ scraping tasks, inspired by libraries like @code{BeautifulSoup}.") (define-public r-secretbase (package (name "r-secretbase") - (version "0.3.0") + (version "0.3.0.1") (source (origin (method url-fetch) (uri (cran-uri "secretbase" version)) (sha256 - (base32 "1wgbk16by9w933cff5ybb2sa0ndgj3sv9ahr2r1843vgqiyvx2xi")))) + (base32 "0mhfkkl35g10lgz4llm017f2jbgp7vmgi0g301r4agx1iqj5g51w")))) (properties `((upstream-name . "secretbase"))) (build-system r-build-system) (home-page "https://shikokuchuo.net/secretbase/") From e9edbab0db5b78b51b8889aa6397ce2d66e7da60 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:32 +0100 Subject: [PATCH 087/261] gnu: r-curl: Update to 5.2.1. * gnu/packages/cran.scm (r-curl): Update to 5.2.1. Change-Id: I3d2906ffaf2f17f70be10267017e31dec953ef76 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 53bccf38529..4f6423f8427 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -4703,13 +4703,13 @@ LaTeX.") (define-public r-curl (package (name "r-curl") - (version "5.2.0") + (version "5.2.1") (source (origin (method url-fetch) (uri (cran-uri "curl" version)) (sha256 (base32 - "12gldddkfkdwm6h0lb1pjrcpqc9kmqwfwz18wn9brilzbw8s9nxz")))) + "147smp4am6z23c3j21bd0zcjxsmhnkkssn4wrlpwl6xa1264syja")))) (properties `((upstream-name . "curl") (updater-extra-inputs . ("curl")))) From 62a0cd5e4b800e598f7c0dd7bf516f7b730af69d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:33 +0100 Subject: [PATCH 088/261] gnu: r-spelling: Update to 2.3.0. * gnu/packages/cran.scm (r-spelling): Update to 2.3.0. Change-Id: I08bc6914707efa49418d1473cca9b239afc39dbe --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 4f6423f8427..40e6a6f22a5 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5823,14 +5823,14 @@ contained in the navigation bar.") (define-public r-spelling (package (name "r-spelling") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) (uri (cran-uri "spelling" version)) (sha256 (base32 - "0vr5mgw9grnsnzsc29al72p05z786hnd6b9c6wq0c0dabk5szm2g")))) + "0fxa0wpmmx7bal7xb4yy3134s2bskj98kwhqn25bqga3inzqdm6d")))) (properties `((upstream-name . "spelling"))) (build-system r-build-system) (propagated-inputs From 24d2c8af3072d7c37cea0c5015db898eeb893b00 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:33 +0100 Subject: [PATCH 089/261] gnu: r-rmumps: Update to 5.2.1-28. * gnu/packages/cran.scm (r-rmumps): Update to 5.2.1-28. Change-Id: Ifd5efb6d21dcf3c90da416dd89a2711a328dbce9 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 40e6a6f22a5..559dcfd1535 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7641,13 +7641,13 @@ provides an interactive R manager and worker environment.") (define-public r-rmumps (package (name "r-rmumps") - (version "5.2.1-27") + (version "5.2.1-28") (source (origin (method url-fetch) (uri (cran-uri "rmumps" version)) (sha256 - (base32 "08zvmbhjgcrlgdhfn8ssajy8vnwcyaw90zgc0v1ncn95z310gpl3")))) + (base32 "1cq7zrq730lj1z5xirzk5fvvlvdq101ppg47n0z7c0v17rvs80n6")))) (properties `((upstream-name . "rmumps"))) (build-system r-build-system) (inputs (list zlib)) From 37dd00abd7ce73f5ea97ac3272d41e1cb6293813 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:33 +0100 Subject: [PATCH 090/261] gnu: r-bdsmatrix: Update to 1.3-7. * gnu/packages/cran.scm (r-bdsmatrix): Update to 1.3-7. Change-Id: I7244cad6a9e82a0d87d5d1abcd427850994b63c0 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 559dcfd1535..0847862ea41 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7995,14 +7995,14 @@ those for the gamma distribution in the @code{stats} package.") (define-public r-bdsmatrix (package (name "r-bdsmatrix") - (version "1.3-6") + (version "1.3-7") (source (origin (method url-fetch) (uri (cran-uri "bdsmatrix" version)) (sha256 (base32 - "1g300x11rv56f826mbv7mbb67a5xz3dv74hpjc18jh3q8gap3j7r")))) + "08krrd7454ixqv4nq55hgf3djp1pz1vl3ndslsrh2pkdq1d5wl63")))) (properties `((upstream-name . "bdsmatrix"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/bdsmatrix/") From 8a6ad77b73e65da772223b4d211f8413d9c88cef Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:34 +0100 Subject: [PATCH 091/261] gnu: r-lava: Update to 1.8.0. * gnu/packages/cran.scm (r-lava): Update to 1.8.0. [propagated-inputs]: Add r-cli. Change-Id: I3cac62611057dd66efa82ef2c8f6ae460fd91ff7 --- gnu/packages/cran.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0847862ea41..2cc6e1c3edd 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8461,17 +8461,22 @@ these progress updates.") (define-public r-lava (package (name "r-lava") - (version "1.7.3") + (version "1.8.0") (source (origin (method url-fetch) (uri (cran-uri "lava" version)) (sha256 (base32 - "023av1mz4hr1lqv8cpbx0j1y3c7ljyns35rm838c618b6pqps22f")))) + "0zz8hzmqd4qa14y52c8gw9hr6gn0d7srffrddxrmhb01rbp9dfcd")))) (build-system r-build-system) (propagated-inputs - (list r-future-apply r-numderiv r-progressr r-squarem r-survival)) + (list r-cli + r-future-apply + r-numderiv + r-progressr + r-squarem + r-survival)) (native-inputs (list r-knitr)) (home-page "https://github.com/kkholst/lava") From ae752e88727afb7fb73b0b0ed6a429dd8d6aada9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:34 +0100 Subject: [PATCH 092/261] gnu: r-n2r: Update to 1.0.3. * gnu/packages/cran.scm (r-n2r): Update to 1.0.3. Change-Id: I4bd01c00d9a772b69fb69e23d94d8a98f7db6ff0 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2cc6e1c3edd..df621d5439e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -10771,13 +10771,13 @@ features: (define-public r-n2r (package (name "r-n2r") - (version "1.0.1") + (version "1.0.3") (source (origin (method url-fetch) (uri (cran-uri "N2R" version)) (sha256 - (base32 "12bv7xx6j6222qgpv6g61i68017fz0x6fjg9a9k5yhgw3zk05hpk")))) + (base32 "0bbxl0y36bmsxwi4rs4f6jwhf9bhag2rkvvzcg5669vgm2p4scjr")))) (properties `((upstream-name . "N2R"))) (build-system r-build-system) (propagated-inputs From 72d66dfd077a7fac15c05ef08a50c2cd6fc336a3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:34 +0100 Subject: [PATCH 093/261] gnu: r-renv: Update to 1.0.5. * gnu/packages/cran.scm (r-renv): Update to 1.0.5. Change-Id: Ie51126dec50f4ec3bacd0b52354fd1a4cc2a926f --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index df621d5439e..ac581dfd02a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13440,14 +13440,14 @@ those searches and pull data into their R sessions.") (define-public r-renv (package (name "r-renv") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "renv" version)) (sha256 (base32 - "0jfrkxslx1bw4b2akkp12bgvpfc58dh2vrm91hgb1xa5xydai7j6")))) + "07y1xqnx5jkgk0cqgf8c4p5vm3qy87zjl31zv6s0jssy3v7amq4p")))) (properties `((upstream-name . "renv"))) (build-system r-build-system) (native-inputs From 2668c97d557866dbfd7544f5677e46e4e3cb6715 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:35 +0100 Subject: [PATCH 094/261] gnu: r-ggsci: Update to 3.0.1. * gnu/packages/cran.scm (r-ggsci): Update to 3.0.1. Change-Id: I95c260015b909d2c6b8da4d853f2b1a528c4ef2e --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ac581dfd02a..bf649751e89 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13709,14 +13709,14 @@ Sequence logos can easily be combined with other ggplot2 plots.") (define-public r-ggsci (package (name "r-ggsci") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (cran-uri "ggsci" version)) (sha256 (base32 - "0ag1cj4ycl5xmll8mqmmikyvq94l8yx96pb8m2i853yp2rjk20c9")))) + "030rkjx64mlhy19d74p3blsi92nyjq9vbn33323dvm1rihb8avgi")))) (build-system r-build-system) (propagated-inputs (list r-ggplot2 r-scales)) From 4fd4d7a9537ad71259d01828c46e07c1891555f1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:35 +0100 Subject: [PATCH 095/261] gnu: r-factominer: Update to 2.10. * gnu/packages/cran.scm (r-factominer): Update to 2.10. Change-Id: Id9f93c26d3ab7d94a2f19e9606c64d20540284e8 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bf649751e89..fa40e33169a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -13879,14 +13879,14 @@ clustering.") (define-public r-factominer (package (name "r-factominer") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri (cran-uri "FactoMineR" version)) (sha256 (base32 - "0c2j3xid85qffsdjwndqiwihclzw6k1nkbpzcc7whhd6k79rh9l8")))) + "1kjb0hk7zck8702inw9ayxrpbi8raq3rldxsq848lk15z3wg9r6w")))) (properties `((upstream-name . "FactoMineR"))) (build-system r-build-system) (propagated-inputs From 8ae33df24d38ae0cddd0e1cd095602598da1c5f6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:36 +0100 Subject: [PATCH 096/261] gnu: r-hdf5r: Update to 1.3.10. * gnu/packages/cran.scm (r-hdf5r): Update to 1.3.10. [native-inputs]: Add pkg-config. Change-Id: Ie93236c090afef5d29178bd4b3a9152ae9298a54 --- gnu/packages/cran.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fa40e33169a..3402a686092 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14021,21 +14021,21 @@ results to the user.") (define-public r-hdf5r (package (name "r-hdf5r") - (version "1.3.9") + (version "1.3.10") (source (origin (method url-fetch) (uri (cran-uri "hdf5r" version)) (sha256 (base32 - "1av3pafbfff4wanw9s1iqgwkcdmc5f8c8h3z0byqll9i661kz3pg")))) + "0khj94z6ls6dnc6fpxwf1w93mk6f3z2p39mbihf0lz52jc36wjcj")))) (build-system r-build-system) (inputs (list hdf5 zlib)) (propagated-inputs (list r-bit64 r-r6)) (native-inputs - (list r-knitr)) + (list pkg-config r-knitr)) (home-page "https://hhoeflin.github.io/hdf5r") (synopsis "Interface to the HDF5 binary data format") (description From 073bf699aa7f9630e6c5aa532a6a467501d0f9a3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:36 +0100 Subject: [PATCH 097/261] gnu: r-nodbi: Update to 0.10.3. * gnu/packages/cran.scm (r-nodbi): Update to 0.10.3. Change-Id: I6acc7fddf0c9bc2eb0bdc241d024431d9a0d9c4e --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3402a686092..12ca1398da9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14572,13 +14572,13 @@ tidyverse workflow.") (define-public r-nodbi (package (name "r-nodbi") - (version "0.10.2") + (version "0.10.3") (source (origin (method url-fetch) (uri (cran-uri "nodbi" version)) (sha256 (base32 - "1pznlnln0p55qqwy22h9m79ddf3wgnx3vaxx2q39wvgqwj0kk1b0")))) + "17ghgp6sabj4dlmx3cdn9rrhci7050a73cd17fymjksgvy1jbwf6")))) (properties `((upstream-name . "nodbi"))) (build-system r-build-system) (propagated-inputs From 1e3ca80a8388d349b2aba0147da1e11472e9961e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:36 +0100 Subject: [PATCH 098/261] gnu: r-partr2: Update to 0.9.2. * gnu/packages/cran.scm (r-partr2): Update to 0.9.2. Change-Id: Ib746e6755e2ea99ce08cdd3674b069cd14e6109d --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 12ca1398da9..900790d3d50 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -16205,13 +16205,13 @@ for the reconstruction of gene regulatory networks.") (define-public r-partr2 (package (name "r-partr2") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (cran-uri "partR2" version)) (sha256 (base32 - "06ky0hhrq0mcsn9rwrzvwn0rrjj0l8rxs0hqp10668gdq5hjk8bn")))) + "09x8ykg90y4xq0sqm6zvx41sccgdbglmhpqm9sp3m74a87j4bjly")))) (properties `((upstream-name . "partR2"))) (build-system r-build-system) (propagated-inputs (list r-dplyr From 7cdc4949015060d544b3a924a2b1fbe97b13de53 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:36 +0100 Subject: [PATCH 099/261] gnu: r-colorramps: Update to 2.3.2. * gnu/packages/cran.scm (r-colorramps): Update to 2.3.2. Change-Id: I81f7e3141c97da2f9c8a6a6fee37de98c6a7d4c8 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 900790d3d50..f99d8fd60f4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -19327,14 +19327,14 @@ over-plotting in scatter plots with text.") (define-public r-colorramps (package (name "r-colorramps") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (cran-uri "colorRamps" version)) (sha256 (base32 - "12jnkj50yh2hc5l7j56lrrrmn58akrj9dwj98vzf42iq4h42kwb1")))) + "0cq8l6ybhff2q2dj2i73b4cnw6v2c6ql24jbrkh0xrpc9wjsarxj")))) (properties `((upstream-name . "colorRamps"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/colorRamps") From 1fa13a541683e85e259275340cbf81e023696d1e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:37 +0100 Subject: [PATCH 100/261] gnu: r-tractor-base: Update to 3.4.2. * gnu/packages/cran.scm (r-tractor-base): Update to 3.4.2. Change-Id: I86d07604a6f3bcac561d8df0e7332effdce92176 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f99d8fd60f4..417b05912f1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -20017,14 +20017,14 @@ conditional reporting based on the current \"output level\".") (define-public r-tractor-base (package (name "r-tractor-base") - (version "3.3.5.1") + (version "3.4.2") (source (origin (method url-fetch) (uri (cran-uri "tractor.base" version)) (sha256 (base32 - "0fxbzbhpi6l55m14nmww8y3kdxgchzj4mw1yf4xkm2y6s68phvgc")))) + "12mp5x6c7c82a4z7p39cb478kwwf6lkrgbis6ak00yibsd3n6na3")))) (properties `((upstream-name . "tractor.base"))) (build-system r-build-system) (propagated-inputs From 8f0b8ad9fc19568a3c86685ee4e0232a35fc723b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:37 +0100 Subject: [PATCH 101/261] gnu: r-ontologyindex: Update to 2.12. * gnu/packages/cran.scm (r-ontologyindex): Update to 2.12. Change-Id: Iaa72aa3c1f01f4bdc82707aa8fbc70949647e78f --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 417b05912f1..64c7388361d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -20374,14 +20374,14 @@ library.") (define-public r-ontologyindex (package (name "r-ontologyindex") - (version "2.11") + (version "2.12") (source (origin (method url-fetch) (uri (cran-uri "ontologyIndex" version)) (sha256 (base32 - "17ndvqvb74b980gpb3hpg9bd68bb5f52k9s1i2kd1f9cdrdjvw97")))) + "0gf0z0vgc1f4f70f2zpwz9bka0gbgbj4w3fcxncv1b7lbrxddrd8")))) (properties `((upstream-name . "ontologyIndex"))) (build-system r-build-system) (native-inputs From 9cfd5d388614692e329e92dfbbb79620db2d9651 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:38 +0100 Subject: [PATCH 102/261] gnu: r-parallelly: Update to 1.37.1. * gnu/packages/cran.scm (r-parallelly): Update to 1.37.1. Change-Id: I6ff44227c6fcd9c49bf4eb4d172005334bb73d1f --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 64c7388361d..71569a7e211 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -21666,14 +21666,14 @@ them in distributed compute environments.") (define-public r-parallelly (package (name "r-parallelly") - (version "1.37.0") + (version "1.37.1") (source (origin (method url-fetch) (uri (cran-uri "parallelly" version)) (sha256 (base32 - "19zrfiakg5xg51r9va4r976b4lnnsj5nsk6i6srxsl227q45xra1")))) + "189ngbh9i6mqmfn4z6446in7687ddlpdq6v5rj3hr8zqinqlwznz")))) (properties `((upstream-name . "parallelly"))) (build-system r-build-system) (home-page "https://github.com/HenrikBengtsson/parallelly") From 1054398a1298e7b3bc8f1eef4e0d1908ccc726e9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:37:38 +0100 Subject: [PATCH 103/261] gnu: r-deldir: Update to 2.0-4. * gnu/packages/cran.scm (r-deldir): Update to 2.0-4. Change-Id: I31ef8c01111569c3619b80b1178413a5cd84d07c --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 71569a7e211..c99dcb046bb 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -23398,14 +23398,14 @@ sampling.") (define-public r-deldir (package (name "r-deldir") - (version "2.0-2") + (version "2.0-4") (source (origin (method url-fetch) (uri (cran-uri "deldir" version)) (sha256 (base32 - "1qzfq47fs3pr0946m53z6cq93pbpkgwwhqkcdgfahxsq1izpigz9")))) + "0ls69b9yynvsiy6madvzafcb0jdvxw66sin7cinpnw63israq66l")))) (build-system r-build-system) (native-inputs (list gfortran)) (home-page "https://cran.r-project.org/web/packages/deldir") From c8449027a08e81ef668ff4c7d8b54f0f9db649d6 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:12 +0100 Subject: [PATCH 104/261] gnu: r-bookdown: Update to 0.38. * gnu/packages/cran.scm (r-bookdown): Update to 0.38. Change-Id: I2dd69baf405e938626ad487691fec8ee97027b97 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index c99dcb046bb..ff4cec203b1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -23974,13 +23974,13 @@ SELECT or UPDATE queries to an end-point.") (define-public r-bookdown (package (name "r-bookdown") - (version "0.37") + (version "0.38") (source (origin (method url-fetch) (uri (cran-uri "bookdown" version)) (sha256 (base32 - "18j8ylaq5wnw1c0lif9a002kbymv04pd0i43ahmqkskkv1b13hdk")) + "1i0z75sxvy3cb582siz544az6b9bs3vk2kyij9zx5jdpc1247fgd")) ;; TODO: there is one more file to replace: ;; inst/resources/gitbook/js/app.min.js (snippet From 44e4a9a3f3281c85689f341e3456a74bad5d0e8c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:26 +0100 Subject: [PATCH 105/261] gnu: r-tweenr: Update to 2.0.3. * gnu/packages/cran.scm (r-tweenr): Update to 2.0.3. Change-Id: Ia7780ff00aeb25937a29a33cdb2d683f59067114 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ff4cec203b1..34dc45e58e1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24619,14 +24619,14 @@ packages with Rcpp.") (define-public r-tweenr (package (name "r-tweenr") - (version "2.0.2") + (version "2.0.3") (source (origin (method url-fetch) (uri (cran-uri "tweenr" version)) (sha256 (base32 - "1wqzcsxlz1isb1j0v5g6dgvd40q3q9qlahvgcgiq0j4d87nzvfv4")))) + "1glc7ks5yymcm4pi0fjpi1zh7m5d4cz7zy20pa3kfraxlh9fbazg")))) (build-system r-build-system) (arguments (list From e8121c0c2c3985abf26def6da2ac1a1351a02cb9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:27 +0100 Subject: [PATCH 106/261] gnu: r-ggraph: Update to 2.2.0. * gnu/packages/cran.scm (r-ggraph): Update to 2.2.0. [propagated-inputs]: Remove r-digest, r-gtable, and r-rcpp; add r-cpp11 and r-memoise. Change-Id: Id5c4be4765171c0b46bd421cf13e4dbdbfa44955 --- gnu/packages/cran.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 34dc45e58e1..cf8d488441b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24829,28 +24829,27 @@ databases, including ENA, PDB or ChEMBL are also accessible.") (define-public r-ggraph (package (name "r-ggraph") - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (cran-uri "ggraph" version)) (sha256 (base32 - "07sw4h94dzbs44dcvvj80g8v8252k4iw8pkmzdrk4qagvhidnvv8")))) + "0zs02xyzvimk8hj1z465zxp1hlca3gfirdcwb3gqriwsmnfhg661")))) (build-system r-build-system) (propagated-inputs (list r-cli - r-digest + r-cpp11 r-dplyr r-ggforce r-ggplot2 r-ggrepel r-graphlayouts - r-gtable r-igraph r-lifecycle r-mass - r-rcpp + r-memoise r-rlang r-scales r-tidygraph From 69acd366eecf0245a062c629d0ee4d099ddbf3d8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:27 +0100 Subject: [PATCH 107/261] gnu: r-leidenalg: Update to 1.1.3. * gnu/packages/cran.scm (r-leidenalg): Update to 1.1.3. Change-Id: I20737485f2bbeab212bb1cce2f5935f0df938741 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index cf8d488441b..6dd2829adcb 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -26987,13 +26987,13 @@ guaranteeing well-connected communities.\" .") (define-public r-leidenalg (package (name "r-leidenalg") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (cran-uri "leidenAlg" version)) (sha256 - (base32 "0wqay0rf28pgaf88bsvmrwgggzbma93rv9nqbydhjf1lc96ay1lz")))) + (base32 "0g4gs6rrz3wn97ag7wsfr6qa4zgb75i0k9jc1siii4pf6h689d1x")))) (properties `((upstream-name . "leidenAlg") (updater-extra-inputs . ("gmp")))) From b8a4807f1a061dd044575577b2408a680c1deb2d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:27 +0100 Subject: [PATCH 108/261] gnu: r-sysfonts: Update to 0.8.9. * gnu/packages/cran.scm (r-sysfonts): Update to 0.8.9. Change-Id: I4b1398049ac0fd07dcbd56247e3808c85c1b3d7e --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6dd2829adcb..6344f722ef6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -28103,14 +28103,14 @@ server-side.") (define-public r-sysfonts (package (name "r-sysfonts") - (version "0.8.8") + (version "0.8.9") (source (origin (method url-fetch) (uri (cran-uri "sysfonts" version)) (sha256 (base32 - "1fq5dn4l09sgrbznfz9cakf4vgc3761zwicvqaazh0s8mzbaicpn")))) + "124zcnw88xnlhx27qjm07mw59f98jiwspmm65v94k815lqs9qiaj")))) (properties `((upstream-name . "sysfonts"))) (build-system r-build-system) (inputs From e96228adb82efae752cfcbabfffa28b7b8113f52 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:28 +0100 Subject: [PATCH 109/261] gnu: r-showtext: Update to 0.9-7. * gnu/packages/cran.scm (r-showtext): Update to 0.9-7. Change-Id: Iff35114553726dd2941e870de02427c73cb397f1 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 6344f722ef6..00831aa4cb4 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -28149,14 +28149,14 @@ package.") (define-public r-showtext (package (name "r-showtext") - (version "0.9-6") + (version "0.9-7") (source (origin (method url-fetch) (uri (cran-uri "showtext" version)) (sha256 (base32 - "0c4cssqk4s27pxfyb7fii97zhy4awzapj7bx9zkbki4va75mkjhf")))) + "12a8j87ca39fd8vn9ixzfgkbffz8ajyslhsx2hqjry1gzbk864i5")))) (properties `((upstream-name . "showtext"))) (build-system r-build-system) (inputs From d51eaad12799d935fdc93e6bd4de9d75c34d4cb1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:28 +0100 Subject: [PATCH 110/261] gnu: r-fda: Update to 6.1.7. * gnu/packages/cran.scm (r-fda): Update to 6.1.7. Change-Id: Ieee4094c64be5bb89b257efea788a3799baef7b7 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 00831aa4cb4..13a0a82d11a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -29856,14 +29856,14 @@ variable observed over time.") (define-public r-fda (package (name "r-fda") - (version "6.1.4") + (version "6.1.7") (source (origin (method url-fetch) (uri (cran-uri "fda" version)) (sha256 (base32 - "0595887hv80blx9aq63qnmc9vr022p21zqhgp2wmdjvq1g68x0g2")))) + "00hiz15v31zs5l0bqdkim1fpfd3bjvssv77iczq0si724s4fqxiq")))) (properties `((upstream-name . "fda"))) (build-system r-build-system) (propagated-inputs From ac139b1644b103904363f600a8115cde2bafe6c5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:28 +0100 Subject: [PATCH 111/261] gnu: r-forecast: Update to 8.22.0. * gnu/packages/cran.scm (r-forecast): Update to 8.22.0. Change-Id: I866e6aa742a663fe8baa4ba5e90add41cfc9b957 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 13a0a82d11a..295897a5bb2 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -31363,14 +31363,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.") (define-public r-forecast (package (name "r-forecast") - (version "8.21.1") + (version "8.22.0") (source (origin (method url-fetch) (uri (cran-uri "forecast" version)) (sha256 (base32 - "09w1vh96cf9wz071why5f4265cvvwqi2b3wb0khrjvkzgkiaq7l1")))) + "09s5fdyzc6f5l8dy7ynjmd6l5fk3wvz59q0kfv2fd9da5c1mqd8w")))) (properties `((upstream-name . "forecast"))) (build-system r-build-system) (propagated-inputs From fc8e0c91e3f760bfc4db7f4cd0129344697eae26 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:29 +0100 Subject: [PATCH 112/261] gnu: r-stanheaders: Update to 2.32.6. * gnu/packages/cran.scm (r-stanheaders): Update to 2.32.6. Change-Id: I257b98c4d366644412823e7db9c077c5fa94437c --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 295897a5bb2..f9daaa73bfd 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -31956,14 +31956,14 @@ perform @dfn{exploratory mediation} (XMed).") (define-public r-stanheaders (package (name "r-stanheaders") - (version "2.32.5") + (version "2.32.6") (source (origin (method url-fetch) (uri (cran-uri "StanHeaders" version)) (sha256 (base32 - "0wqps6xy2xypxsg3p3grdiw67a0xla3vh9x9hcf2ln03yhgkn4jl")))) + "18p1rch5ipj0f4jdvr8mnlk8pg1l4njjj4cgbp7ni7kcngsn3049")))) (properties `((upstream-name . "StanHeaders"))) (build-system r-build-system) (inputs (list pandoc)) From 06a3e957cb3828af51469d842a23232fd27b5a32 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:29 +0100 Subject: [PATCH 113/261] gnu: r-erm: Update to 1.0-5. * gnu/packages/cran.scm (r-erm): Update to 1.0-5. Change-Id: I2afb17f770e54a3fb33dd2decf97fa33946d65df --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f9daaa73bfd..7e9015845f2 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -32360,14 +32360,14 @@ Latent regression models and plausible value imputation are also supported.") (define-public r-erm (package (name "r-erm") - (version "1.0-4") + (version "1.0-5") (source (origin (method url-fetch) (uri (cran-uri "eRm" version)) (sha256 (base32 - "0rp2lxkwkh09zmv101rzk7x1v1pmscp71qpf8f4chxp3idg6rpid")))) + "0bkivhiy02pibdcvb9z0i0yvc3wz3v33n6slhkkik61gcw1idmf0")))) (properties `((upstream-name . "eRm"))) (build-system r-build-system) (propagated-inputs From 6982f320e239b009a365cdecd72a50c0de102031 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:29 +0100 Subject: [PATCH 114/261] gnu: r-hrbrthemes: Update to 0.8.7. * gnu/packages/cran.scm (r-hrbrthemes): Update to 0.8.7. [propagated-inputs]: Remove r-htmltools, r-knitr, and r-rmarkdown. [native-inputs]: Remove r-knitr. Change-Id: Id7486f175962306caea0ef290925f809e6db7972 --- gnu/packages/cran.scm | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7e9015845f2..ffe6a9fd318 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -33078,26 +33078,17 @@ statistics and p-values of the correlation coefficients.") (define-public r-hrbrthemes (package (name "r-hrbrthemes") - (version "0.8.0") + (version "0.8.7") (source (origin (method url-fetch) (uri (cran-uri "hrbrthemes" version)) (sha256 - (base32 "057h60b5p53dcyjyfwlgjc1ry968s9s64dw78p443w8717zk7zpc")))) + (base32 "0vwrwcx3yp5yi1fw45zb5b3rhhbhrmzkl935s5apvf9lwjz2wjas")))) (properties `((upstream-name . "hrbrthemes"))) (build-system r-build-system) (propagated-inputs - (list r-extrafont - r-gdtools - r-ggplot2 - r-htmltools - r-knitr - r-magrittr - r-rmarkdown - r-scales)) - (native-inputs - (list r-knitr)) + (list r-extrafont r-gdtools r-ggplot2 r-magrittr r-scales)) (home-page "https://github.com/hrbrmstr/hrbrthemes/") (synopsis "Additional themes, theme components and utilities for @code{ggplot2}") (description From 8337e810fcba728062314b0e78f826ce67c4b461 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:30 +0100 Subject: [PATCH 115/261] gnu: r-spatstat-geom: Update to 3.2-9. * gnu/packages/cran.scm (r-spatstat-geom): Update to 3.2-9. Change-Id: I122f0f3a5ca692eb32cfa7adfb050e11a91d0a84 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ffe6a9fd318..add58134867 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -34691,14 +34691,14 @@ package.") (define-public r-spatstat-geom (package (name "r-spatstat-geom") - (version "3.2-8") + (version "3.2-9") (source (origin (method url-fetch) (uri (cran-uri "spatstat.geom" version)) (sha256 (base32 - "08q9k7065gpjmwja4xac9q8jv2hdkgmwvdncrnhdk9xkzc0z9mjb")))) + "05ymr4h6g5kp6kinm8qi6mcwi51d2rp671cm3hqgyrhk91k72cx7")))) (properties `((upstream-name . "spatstat.geom"))) (build-system r-build-system) (propagated-inputs From 7b1bdd0eccdb53cf2b3164d77755599d01fd9829 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:30 +0100 Subject: [PATCH 116/261] gnu: r-spatstat-random: Update to 3.2-3. * gnu/packages/cran.scm (r-spatstat-random): Update to 3.2-3. Change-Id: Ie8496efc4fbb4ab7ed296353ac746c7f2fb6f5ab --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index add58134867..eb930573c45 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -34777,13 +34777,13 @@ for spatial data on a linear network.") (define-public r-spatstat-random (package (name "r-spatstat-random") - (version "3.2-2") + (version "3.2-3") (source (origin (method url-fetch) (uri (cran-uri "spatstat.random" version)) (sha256 - (base32 "01rsh7z9prsdrqlbc2761sf54w24z7jzj64ijfzy8l5ca56fxij8")))) + (base32 "19rl757lccr169fj00zmhb1a20bxw4kljzb81hbbr5xhj0za6lp0")))) (properties `((upstream-name . "spatstat.random"))) (build-system r-build-system) (propagated-inputs (list r-spatstat-data r-spatstat-geom r-spatstat-utils)) From 03c6a20fc1ca6d2983e1d939d0bef402e06cec99 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:30 +0100 Subject: [PATCH 117/261] gnu: r-seurat: Update to 5.0.2. * gnu/packages/cran.scm (r-seurat): Update to 5.0.2. Change-Id: I358d4bcab984b207ab9ee69ebdaeecf440626b70 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index eb930573c45..a5b12d7e05b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -36892,13 +36892,13 @@ other R users.") (define-public r-seurat (package (name "r-seurat") - (version "5.0.1") + (version "5.0.2") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "038mqnavn3gxxx41yzq0q7gfnnx15dizryv8l374zwavpqsb84q7")))) + "1d49a9mhip81lvnkr8i4dznkmzyskdzrpi485w7yw2sr0qbyzg5c")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs From 74a179bc44d09e98e378f9640b1d174c4291c70c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:31 +0100 Subject: [PATCH 118/261] gnu: r-mlr3: Update to 0.18.0. * gnu/packages/cran.scm (r-mlr3): Update to 0.18.0. Change-Id: I4694be8897b834dc107b80aff89ccf2fb43759d1 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a5b12d7e05b..7029a69a912 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37631,13 +37631,13 @@ implemented as @code{R6} classes.") (define-public r-mlr3 (package (name "r-mlr3") - (version "0.17.2") + (version "0.18.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3" version)) (sha256 (base32 - "0kcny3wxc7qc2538hxxdzs9bw4pq55s4abhlnpf1r13b2gkns323")))) + "0v83lwigpm227dqr8hz5x1khcjqf3q0glqvz812sckbcf74ibhdz")))) (build-system r-build-system) (propagated-inputs (list r-backports From 85c9d158f3256aa8b1c62b7e89bfb9b70556a9d0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:31 +0100 Subject: [PATCH 119/261] gnu: r-bbotk: Update to 0.8.0. * gnu/packages/cran.scm (r-bbotk): Update to 0.8.0. Change-Id: I5ecb9e126b96970db6aee5374ae809cd03eab9f4 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 7029a69a912..5d8a8ec07da 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37696,14 +37696,14 @@ vector machines, and gradient boosting.") (define-public r-bbotk (package (name "r-bbotk") - (version "0.7.3") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "bbotk" version)) (sha256 (base32 - "1ddr5w7n68d3imcrm0ipgk1waml8zj4szi566dmmiqvlpzpgdr3p")))) + "1ggfl1lhvjnnkxib4svqd82agrvjcg1101cbf4g2c0kzgzm1jaj6")))) (properties `((upstream-name . "bbotk"))) (build-system r-build-system) (propagated-inputs From 1c13f01037608b0bdf3b9ed80573f02e61d3c22a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:31 +0100 Subject: [PATCH 120/261] gnu: r-mlr3tuning: Update to 0.20.0. * gnu/packages/cran.scm (r-mlr3tuning): Update to 0.20.0. Change-Id: I4eff54cf5e5961ea8389e606fcdf8b197c9a0b43 --- gnu/packages/cran.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5d8a8ec07da..2bac4a21d96 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37726,13 +37726,13 @@ annealing.") (define-public r-mlr3tuning (package (name "r-mlr3tuning") - (version "0.19.2") + (version "0.20.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3tuning" version)) (sha256 (base32 - "1d27m6yzwr7chpf19q6mwpj2fyz9vv8k6nbg8z9615hmbp96lan5")))) + "1y1cqfqdx9v0lfb4619y2hw6clhhjzi7hjwrpwzdpd7ymcx3dgi3")))) (build-system r-build-system) (propagated-inputs (list r-bbotk From f0ea78f219cd5157a8692099de184b953d60cadc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:32 +0100 Subject: [PATCH 121/261] gnu: r-gganimate: Update to 1.0.9. * gnu/packages/cran.scm (r-gganimate): Update to 1.0.9. [propagated-inputs]: Add r-cli, r-lifecycle, r-transformr, and r-vctrs. Change-Id: I6fbee3cf380992caeeedaa738aa21dabad670950 --- gnu/packages/cran.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2bac4a21d96..538eb76fe5a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -39212,14 +39212,14 @@ complex functions.") (define-public r-gganimate (package (name "r-gganimate") - (version "1.0.8") + (version "1.0.9") (source (origin (method url-fetch) (uri (cran-uri "gganimate" version)) (sha256 (base32 - "1jabs9qr0319w508kdsk5nmzfhl6nzykpp1by7l639yfvrfqcbd1")))) + "016nky797h4093qrpynq5rr1p7h4chpv1hyngpcs2csr1064rjmz")))) (properties `((upstream-name . "gganimate"))) (build-system r-build-system) (arguments @@ -39234,13 +39234,17 @@ complex functions.") ;; For video output. (list ffmpeg)) (propagated-inputs - (list r-ggplot2 + (list r-cli + r-ggplot2 r-glue + r-lifecycle r-progress r-rlang r-scales r-stringi + r-transformr r-tweenr + r-vctrs ;; For GIF/SVG output. gifski is faster, but depends on Rust. r-magick ;; For HTML output. From 17f602aec27dbe61d58e1e04ce5ff1b82c1ee054 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:32 +0100 Subject: [PATCH 122/261] gnu: r-gdtools: Update to 0.3.7. * gnu/packages/statistics.scm (r-gdtools): Update to 0.3.7. Change-Id: I6f784e10a6856c3b651fca44f658810750a255fc --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d17061205fb..edf73387bf9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1328,14 +1328,14 @@ agnes cluster diagrams.") (define-public r-gdtools (package (name "r-gdtools") - (version "0.3.6") + (version "0.3.7") (source (origin (method url-fetch) (uri (cran-uri "gdtools" version)) (sha256 (base32 - "1d1sidm2qi1nrp1hhf010xji66aj8sn833fv4a39gli2c560p4i6")))) + "155ky9fdi023b5fjk1gh3607xlgm3hymq232fq03ip2aaywc74nj")))) (build-system r-build-system) (native-inputs (list pkg-config)) From 9519b412e744ae31c57d1ebf75770212c7f7e066 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:32 +0100 Subject: [PATCH 123/261] gnu: r-locfit: Update to 1.5-9.9. * gnu/packages/statistics.scm (r-locfit): Update to 1.5-9.9. Change-Id: I792b37ef9b5f10b95b14ca633d254843a9de9aab --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index edf73387bf9..d510dec0ac5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -1994,14 +1994,14 @@ side.") (define-public r-locfit (package (name "r-locfit") - (version "1.5-9.8") + (version "1.5-9.9") (source (origin (method url-fetch) (uri (cran-uri "locfit" version)) (sha256 (base32 - "1qqxw69p42l4szr2fl73bdydpcbxn68iyxyyjy7qy3p56bxrn2hd")))) + "1m7ji1ykvffqvs9ly1pzadiwhwxcyv4xivziikmahp0w0sv45lck")))) (build-system r-build-system) (propagated-inputs (list r-lattice)) From 3db9c8349808661d77841cf24fcd2f7ace71b901 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:32 +0100 Subject: [PATCH 124/261] gnu: r-data-table: Update to 1.15.2. * gnu/packages/statistics.scm (r-data-table): Update to 1.15.2. Change-Id: I1e68949514e1f525bc70218752d3f978b787d4b6 --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index d510dec0ac5..c9b7f6f284b 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -2033,13 +2033,13 @@ times.") (define-public r-data-table (package (name "r-data-table") - (version "1.15.0") + (version "1.15.2") (source (origin (method url-fetch) (uri (cran-uri "data.table" version)) (sha256 (base32 - "0qhh4ii10b6rbimhh83160gsax82gbrm3hqbqqddkzknpifxpdrr")))) + "04pfcm3pyl997rpyj5zdmbhi4ndaai81vfgv4whjp8rhqzjk7i6j")))) (properties `((upstream-name . "data.table"))) (build-system r-build-system) (inputs From 91be2002491430198b344f33d8dba05e642c543a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:33 +0100 Subject: [PATCH 125/261] gnu: r-rcpparmadillo: Update to 0.12.8.1.0. * gnu/packages/statistics.scm (r-rcpparmadillo): Update to 0.12.8.1.0. Change-Id: Ic0e678dadd5fcbbea3b0edda60a6bc465bdbe98c --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c9b7f6f284b..4c7e68b9092 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -3179,13 +3179,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.12.8.0.0") + (version "0.12.8.1.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0pkn4334dh4k6hqfx4xln2nfvajyxdbfnfddajb8875il0f7kp0x")))) + "0ax4812dm33c67ckd902qabis3dgqmpkchk4s30bshnfv4fxx1z2")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (propagated-inputs From 839a6ed474e10a85631a85b4a73ed506582d723d Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:33 +0100 Subject: [PATCH 126/261] gnu: r-vgam: Update to 1.1-10. * gnu/packages/statistics.scm (r-vgam): Update to 1.1-10. Change-Id: I0f116e19095577e20ac9c6644e00141dcc953d84 --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 4c7e68b9092..569b0f1ddd5 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5861,13 +5861,13 @@ groupings.") (define-public r-vgam (package (name "r-vgam") - (version "1.1-9") + (version "1.1-10") (source (origin (method url-fetch) (uri (cran-uri "VGAM" version)) (sha256 - (base32 "1l5gn6495k8vqp2b4hj4g5ani7j4cli2p7n8fwkw7bmc42q13m6l")))) + (base32 "04yy5rxid3fwn42sak9rjbxd1h4d7iigiznpbrvwxl06b1xficyb")))) (properties `((upstream-name . "VGAM"))) (build-system r-build-system) (native-inputs From 5ec0ff2dc85a0bf2bad82aa4e00f7224d3133ded Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:33 +0100 Subject: [PATCH 127/261] gnu: r-rcppeigen: Update to 0.3.4.0.0. * gnu/packages/statistics.scm (r-rcppeigen): Update to 0.3.4.0.0. Change-Id: Ie879a04dcc7c22fac69da0f72a82868f14571f59 --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 569b0f1ddd5..c4866acfea4 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5928,14 +5928,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.") (define-public r-rcppeigen (package (name "r-rcppeigen") - (version "0.3.3.9.4") + (version "0.3.4.0.0") (source (origin (method url-fetch) (uri (cran-uri "RcppEigen" version)) (sha256 (base32 - "1faz1phvg7g14bchi88vizn5mfhgiwmsjg7jzkyf1yjg0f6vpsj1")))) + "0djiyimgka7g3kfakb6mfaq7cxna9kn6kgib59x9p7qj24ha1m18")))) (properties `((upstream-name . "RcppEigen"))) (build-system r-build-system) (propagated-inputs From 85cdebc014e3770d66e20488951302e5151ed733 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:33 +0100 Subject: [PATCH 128/261] gnu: r-naniar: Update to 1.1.0. * gnu/packages/statistics.scm (r-naniar): Update to 1.1.0. [propagated-inputs]: Add r-lifecycle. Change-Id: I01815422981039a0b4c23a2d91fae37300e9d5da --- gnu/packages/statistics.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index c4866acfea4..f811f649d15 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -7291,22 +7291,23 @@ normal model.") (define-public r-naniar (package (name "r-naniar") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "naniar" version)) (sha256 (base32 - "1x4ljc6yji7312g6cg1shc85jqv5kaf2zlf5q7sdmqh3wryskvf2")))) + "0i3gijr1l7hbcp75cyj26pxmm493lnvasl8aba9vv4w8lz1lck59")))) (build-system r-build-system) (propagated-inputs (list r-cli r-dplyr - r-norm r-forcats r-ggplot2 r-glue + r-lifecycle r-magrittr + r-norm r-purrr r-rlang r-tibble From 86552708c31e628d98f8ca261edb22c01fbd7445 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 5 Mar 2024 14:38:34 +0100 Subject: [PATCH 129/261] gnu: r-datasaurus: Update to 0.1.8. * gnu/packages/statistics.scm (r-datasaurus): Update to 0.1.8. Change-Id: Ida2de5f36bbb7bbb42f6088bffafaa0059c02ec3 --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index f811f649d15..0c830db6e51 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -7356,14 +7356,14 @@ Michael Lim & Trevor Hastie (2015)") (define-public r-datasaurus (package (name "r-datasaurus") - (version "0.1.6") + (version "0.1.8") (source (origin (method url-fetch) (uri (cran-uri "datasauRus" version)) (sha256 (base32 - "0vgylf3bab0xcfg08xwvfq9yhxy6w0fxi7wp4kkxfyjb0pw15qxk")))) + "08yx87k4kl3i9g3m1j9532whvs4l0l3v5gwj8sk7qlb3m3wajakr")))) (properties `((upstream-name . "datasauRus"))) (build-system r-build-system) (native-inputs (list r-knitr)) From 9d9bb8955a939b89b5b28f1071b70ed9f9a54f8c Mon Sep 17 00:00:00 2001 From: Carlo Zancanaro Date: Wed, 6 Mar 2024 16:38:54 +1100 Subject: [PATCH 130/261] scripts: import: elpa: Unquote-splice package sexp contents. * guix/scripts/import/elpa.scm (guix-import-elpa): Unquote-splice the contents of the package sexp so the matched package definition is returned unchanged. Change-Id: Iaaa7e72390c73c6d6671811fe9ac284d599b44c6 Signed-off-by: Ricardo Wurmus --- guix/scripts/import/elpa.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/import/elpa.scm b/guix/scripts/import/elpa.scm index f587eeb243c..7f77beaac03 100644 --- a/guix/scripts/import/elpa.scm +++ b/guix/scripts/import/elpa.scm @@ -104,7 +104,7 @@ Import the latest package named PACKAGE-NAME from an ELPA repository.\n")) #:repo (assoc-ref opts 'repo))) ((or #f '()) (leave (G_ "failed to download meta-data for package '~a'~%") package-name)) - (('package etc ...) `(package ,etc)) + (('package etc ...) `(package ,@etc)) ((? list? sexps) (map (match-lambda ((and ('package ('name name) . rest) pkg) From 7ddc66bd36d602984f35996096f6136a6458a14a Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Mar 2024 11:31:31 +0100 Subject: [PATCH 131/261] gnu: r-nebulosa: Update to 1.12.1. * gnu/packages/bioconductor.scm (r-nebulosa): Update to 1.12.1. [propagated-inputs]: Remove r-seurat; add r-ggrastr and r-seuratobject. Change-Id: If301102ec02ce618ed1ebeff17a9d7e0845e847c --- gnu/packages/bioconductor.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 8bda746ee0e..e1a782d9257 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -6198,20 +6198,21 @@ mapping.") (define-public r-nebulosa (package (name "r-nebulosa") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (bioconductor-uri "Nebulosa" version)) (sha256 (base32 - "0kzkdwxrhl7plbcbqr58gnadhhbhx2811ian0s4kds14y4mxl26c")))) + "11wn6l27cshhb1djsgqaqr8d33j4bipy0w0gafp3fkvg7mnpnhps")))) (properties `((upstream-name . "Nebulosa"))) (build-system r-build-system) (propagated-inputs (list r-ggplot2 + r-ggrastr r-ks r-matrix r-patchwork - r-seurat + r-seuratobject r-singlecellexperiment r-summarizedexperiment)) (native-inputs (list r-knitr)) From f83fbb935368419d62e608f9a9dab89555757a63 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Mar 2024 11:31:31 +0100 Subject: [PATCH 132/261] gnu: r-ggtree: Update to 3.10.1. * gnu/packages/bioconductor.scm (r-ggtree): Update to 3.10.1. Change-Id: I62eec59a6be3f806261198a1d39eb38ee86a9a79 --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index e1a782d9257..09477a8266e 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -13867,14 +13867,14 @@ data.") (define-public r-ggtree (package (name "r-ggtree") - (version "3.10.0") + (version "3.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ggtree" version)) (sha256 (base32 - "12w2l1q0c5aznd5fls04wvgsmjidqhr1kkqj4gajz1abj9f49cqf")))) + "1p475vh567q4szb8hy2qk72pvqh5rlbyqfjcdd0i83fa2y4bi31d")))) (properties `((upstream-name . "ggtree"))) (build-system r-build-system) (propagated-inputs From c202079ef8e4ca2e7b70d6fe80ca918a3324dddb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Mar 2024 11:31:32 +0100 Subject: [PATCH 133/261] gnu: r-ggcyto: Update to 1.30.2. * gnu/packages/bioconductor.scm (r-ggcyto): Update to 1.30.2. Change-Id: I29c123aa60347b491412631f036923c3bbb7d6c9 --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 09477a8266e..53074553496 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -18396,14 +18396,14 @@ manipulation of flow cytometry data.") (define-public r-ggcyto (package (name "r-ggcyto") - (version "1.30.0") + (version "1.30.2") (source (origin (method url-fetch) (uri (bioconductor-uri "ggcyto" version)) (sha256 (base32 - "13zc5952drl187fl07v1nh6gv0g6ba11vxpxl4ghvavnknvi5phd")))) + "0ig23b6apyp35rxxiqd5nw46yjm2784njlafsgw98akhl8ck0g7n")))) (properties `((upstream-name . "ggcyto"))) (build-system r-build-system) (propagated-inputs From 82a449419c1b64b1eb36558f6b93b58d5b779c0c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Mar 2024 11:31:32 +0100 Subject: [PATCH 134/261] gnu: r-s4arrays: Update to 1.2.1. * gnu/packages/bioconductor.scm (r-s4arrays): Update to 1.2.1. Change-Id: I68c0ee03264073e8816fc92fbaa97ebb6c5036ed --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 53074553496..856a720f590 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -21300,13 +21300,13 @@ routines.") (define-public r-s4arrays (package (name "r-s4arrays") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (bioconductor-uri "S4Arrays" version)) (sha256 (base32 - "0x420l98f6b10r3qrdjq5ijs2p0msdcg6d6aghr3yvj1f9g06h8y")))) + "1z6kcgjb5fzslr02vmsvchbilrhwpgh1ghk1zmlq0h0lyzncaapd")))) (properties `((upstream-name . "S4Arrays"))) (build-system r-build-system) (propagated-inputs From f3ea06baca2b96cd20170616fd5da13ec2daac54 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Mar 2024 11:31:32 +0100 Subject: [PATCH 135/261] gnu: r-snprelate: Update to 1.36.1. * gnu/packages/bioconductor.scm (r-snprelate): Update to 1.36.1. Change-Id: I5cf14d463c0f4ca3707a8ac33c7a06baa4337789 --- gnu/packages/bioconductor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 856a720f590..4dc70002504 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -23016,13 +23016,13 @@ segmented data for individual and multiple arrays.") (define-public r-snprelate (package (name "r-snprelate") - (version "1.36.0") + (version "1.36.1") (source (origin (method url-fetch) (uri (bioconductor-uri "SNPRelate" version)) (sha256 (base32 - "0jw9ziz0a472mnnvmqwas5w646xfgx8dn1bdpwz8c99m663d8ayp")))) + "0d15r7qwwrr6m9saikx4x6hj56kb3p2w3v1awkgm3wfqfgdf1pin")))) (properties `((upstream-name . "SNPRelate"))) (build-system r-build-system) (propagated-inputs (list r-gdsfmt)) From 06e61f9cd2f4c317e19bf4eca817737af6544c42 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Mar 2024 15:42:03 +0100 Subject: [PATCH 136/261] gnu: r-seuratdata: Update to 0.2.2.9001-1.4dc08e0. * gnu/packages/cran.scm (r-seuratdata): Update to 0.2.2.9001-1.4dc08e0. [propagated-inputs]: Add r-seurat and r-seuratobject. Change-Id: I8bf21d23ec0bdfbc0b8930673ac5750d081ac780 --- gnu/packages/cran.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 538eb76fe5a..dbbf30c5517 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -37075,11 +37075,11 @@ goal of enhancing interoperability between Seurat and Scanpy.") (license license:gpl3)))) (define-public r-seuratdata - (let ((commit "b59556b24d7d6728a5744c9c715dd5f7f32ed7a5") + (let ((commit "4dc08e022f51c324bc7bf785b1b5771d2742701d") (revision "1")) (package (name "r-seuratdata") - (version (git-version "0.2.1" revision commit)) + (version (git-version "0.2.2.9001" revision commit)) (source (origin (method git-fetch) @@ -37088,7 +37088,7 @@ goal of enhancing interoperability between Seurat and Scanpy.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1xfdmdmgn4r0z6w4cxa98ic6xk8i6qz054r215dvqbjs1vydsbf9")))) + (base32 "1wac1jqh42nbaikkd8v3apr1lwqcn1ppprfkwqfnqs6mvavgqavp")))) (properties `((upstream-name . "SeuratData"))) (build-system r-build-system) (arguments @@ -37098,8 +37098,7 @@ goal of enhancing interoperability between Seurat and Scanpy.") ;; the included list of packages. (add-after 'unpack 'set-HOME (lambda _ (setenv "HOME" "/tmp")))))) - (propagated-inputs - (list r-cli r-crayon r-rappdirs)) + (propagated-inputs (list r-cli r-crayon r-rappdirs r-seurat r-seuratobject)) (home-page "https://github.com/satijalab/seurat-data") (synopsis "Install and manage Seurat datasets") (description From 364422d0ac6608e9297070b80d091a3c11c6cce7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 2 Mar 2024 18:46:06 +0100 Subject: [PATCH 137/261] =?UTF-8?q?doc:=20Fix=20typo=20in=20=E2=80=9CGetti?= =?UTF-8?q?ng=20Started=20with=20the=20System=E2=80=9D.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Getting Started with the System): Fix typo. Change-Id: Idc52b9a4d5f5003899613595b6b275e098f6a3a8 --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 87fe9f803cc..176c92971fc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17295,7 +17295,7 @@ as. This means that if you choose to use @command{guix system reconfigure} in root's login shell, you'll need to @command{guix pull} separately. @end quotation -That's it! If you're getting starting with Guix entirely, +That's it! If you're getting started with Guix entirely, @pxref{Getting Started}. The next sections dive in more detail into the crux of the matter: system configuration. From 9e3061a163abcae5ccd3823ba3d8f757a0478e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 6 Mar 2024 11:14:17 +0100 Subject: [PATCH 138/261] services: virtual-build-machine: Disable substitutes by default. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These are useless when offloading yet were causing problems on systems where the default substitute servers are unreachable. * gnu/services/virtualization.scm (%virtual-build-machine-operating-system): Add ‘use-substitutes?’ field to ‘guix-configuration’. Change-Id: I7d5e380a6f2e2d537de43fdb3c550958ed4db255 --- gnu/services/virtualization.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 7b04ddb35ec..fc5adb94d0a 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -1220,10 +1220,13 @@ authpriv.*;auth.info /var/log/secure ;; pre-initialized /etc/guix/acl file in the VM. Thus, ;; clear 'authorize-key?' so that it's not overridden ;; at activation time. + ;; Since it's used for offloading, disable substitutes + ;; (this avoids network issues). (guix-service-type config => (guix-configuration (inherit config) - (authorize-key? #f))) + (authorize-key? #f) + (use-substitutes? #f))) (syslog-service-type config => (syslog-configuration (config-file From 01f685d56016ae529381a73daedccc1949b808ec Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Wed, 6 Mar 2024 21:52:42 +0100 Subject: [PATCH 139/261] gnu: home: dotfiles: Properly support both plain and Stow directory layouts. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . The current implementation of the home-dotfiles-service-type contradicts the Guix manual. This patch properly implements both the plain and Stow dotfiles directory layouts. It does so by refactoring home-dotfiles-configuration adding a new packages field to support GNU Stow's users workflow and introducing a new layout field to switch between the two directory layouts. * gnu/home/services/dotfiles (home-dotfiles-configuration): Migrate to (gnu services configuration); [packages]: new field; [layout]: new field; (strip-stow-dotfile): new variable; (strip-plain-dotfile): new variable; (home-dotfiles-configuration->files): use the new fields; [directory-contents]: allow for selecting a subset of application dotfile directories; * doc/guix.texi: document the new layouts. Change-Id: I2e96037608353e360828290f055ec5271cfdfd48 Signed-off-by: Ludovic Courtès --- doc/guix.texi | 84 ++++++++++++++++++------ gnu/home/services/dotfiles.scm | 113 +++++++++++++++++++++++++-------- 2 files changed, 150 insertions(+), 47 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 176c92971fc..858d5751bfe 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -111,7 +111,7 @@ Copyright @copyright{} 2022 (@* Copyright @copyright{} 2022 John Kehayias@* Copyright @copyright{} 2022⁠–⁠2023 Bruno Victal@* Copyright @copyright{} 2022 Ivan Vilata-i-Balaguer@* -Copyright @copyright{} 2023 Giacomo Leidi@* +Copyright @copyright{} 2023-2024 Giacomo Leidi@* Copyright @copyright{} 2022 Antero Mejr@* Copyright @copyright{} 2023 Karl Hallsby@* Copyright @copyright{} 2023 Nathaniel Nicandro@* @@ -44667,17 +44667,42 @@ directory, and some way of automatically deploy changes to their user home. @cindex Stow-like dot file management The @code{home-dotfiles-service-type} from @code{(gnu home services dotfiles)} is designed to ease the way into using Guix Home for this kind of users, -allowing them to point the service to their dotfiles directory, which must -follow the layout suggested by -@uref{https://www.gnu.org/software/stow/, GNU Stow}, -and have their dotfiles automatically deployed to their user home, without +allowing them to point the service to their dotfiles directory without migrating them to Guix native configurations. -The dotfiles directory layout is expected to be structured as follows. Please -keep in mind that it is advisable to keep your dotfiles directories under +Please keep in mind that it is advisable to keep your dotfiles directories under version control, for example in the same repository where you'd track your Guix Home configuration. +There are two supported dotfiles directory layouts, for now. The +@code{'plain} layout, which is structured as follows: + +@example +~$ tree -a ./dotfiles/ +dotfiles/ +├── .gitconfig +├── .gnupg +│ ├── gpg-agent.conf +│ └── gpg.conf +├── .guile +├── .config +│ ├── guix +│ │ └── channels.scm +│ └── nixpkgs +│ └── config.nix +├── .nix-channels +├── .tmux.conf +└── .vimrc +@end example + +This tree structure is installed as is to the +home directory upon @command{guix home reconfigure}. + +The @code{'stow} layout, which must +follow the layout suggested by +@uref{https://www.gnu.org/software/stow/, GNU Stow} presents an additional +application specific directory layer, just like: + @example ~$ tree -a ./dotfiles/ dotfiles/ @@ -44707,8 +44732,10 @@ dotfiles/ @end example For an informal specification please refer to the Stow manual -(@pxref{Top,,, stow, Introduction}). A suitable configuration would then -be: +(@pxref{Top,,, stow, Introduction}). This tree structure is installed following +GNU Stow's logic to the home directory upon @command{guix home reconfigure}. + +A suitable configuration with a @code{'plain} layout could be: @lisp (home-environment @@ -44716,7 +44743,7 @@ be: (services (service home-dotfiles-service-type (home-dotfiles-configuration - (directories (list "./dotfiles")))))) + (directories '("./dotfiles")))))) @end lisp The expected home directory state would then be: @@ -44743,32 +44770,47 @@ Return a service which is very similiar to @code{home-files-service-type} (and actually extends it), but designed to ease the way into using Guix Home for users that already track their dotfiles under some kind of version control. This service allows users to point Guix Home to their dotfiles -directory and have their files automatically deployed to their home directory -just like Stow would, without migrating all of their dotfiles to Guix native +directory and have their files automatically provisioned to their home +directory, without migrating all of their dotfiles to Guix native configurations. @end defvar +@c %start of fragment + @deftp {Data Type} home-dotfiles-configuration Available @code{home-dotfiles-configuration} fields are: @table @asis -@item @code{source-directory} (default: @code{(current-source-directory)}) -The path where dotfile directories are resolved. By default dotfile directories -are resolved relative the source location where +@item @code{source-directory} (default: @code{(current-source-directory)}) (type: string) +The path where dotfile directories are resolved. By default dotfile +directories are resolved relative the source location where @code{home-dotfiles-configuration} appears. -@item @code{directories} (type: list-of-strings) -The list of dotfiles directories where @code{home-dotfiles-service-type} will -look for application dotfiles. +@item @code{layout} (default: @code{'plain}) (type: symbol) +The intended layout of the specified @code{directory}. It can be either +@code{'stow} or @code{'plain}. -@item @code{exclude} (default: @code{'(".*~" ".*\\.swp" "\\.git" "\\.gitignore")}) -The list of file patterns @code{home-dotfiles-service-type} will exclude while -visiting each one of the @code{directories}. +@item @code{directories} (default: @code{'()}) (type: list-of-strings) +The list of dotfiles directories where @code{home-dotfiles-service-type} +will look for application dotfiles. + +@item @code{packages} (type: maybe-list-of-strings) +The names of a subset of the GNU Stow package layer directories. When provided +the @code{home-dotfiles-service-type} will only provision dotfiles from this +subset of applications. This field will be ignored if @code{layout} is set +to @code{'plain}. + +@item @code{excluded} (default: @code{'(".*~" ".*\\.swp" "\\.git" "\\.gitignore")}) (type: list-of-strings) +The list of file patterns @code{home-dotfiles-service-type} will exclude +while visiting each one of the @code{directories}. @end table @end deftp + +@c %end of fragment + @defvar home-xdg-configuration-files-service-type The service is very similar to @code{home-files-service-type} (and actually extends it), but used for defining files, which will go to diff --git a/gnu/home/services/dotfiles.scm b/gnu/home/services/dotfiles.scm index 6a740c42ce4..823bdb03fb4 100644 --- a/gnu/home/services/dotfiles.scm +++ b/gnu/home/services/dotfiles.scm @@ -20,17 +20,25 @@ (define-module (gnu home services dotfiles) #:use-module (gnu home services) #:use-module (gnu services) + #:use-module (gnu services configuration) #:autoload (guix build utils) (find-files) + #:use-module (guix diagnostics) #:use-module (guix gexp) - #:use-module (guix records) + #:use-module (guix i18n) #:use-module ((guix utils) #:select (current-source-directory)) #:use-module (srfi srfi-1) #:use-module (ice-9 ftw) + #:use-module (ice-9 match) #:use-module (ice-9 regex) #:export (home-dotfiles-service-type + home-dotfiles-configuration->files + home-dotfiles-configuration home-dotfiles-configuration? + home-dotfiles-configuration-fields + home-dotfiles-configuration-layout home-dotfiles-configuration-source-directory + home-dotfiles-configuration-packages home-dotfiles-configuration-directories home-dotfiles-configuration-excluded)) @@ -40,26 +48,64 @@ "\\.git" "\\.gitignore")) -(define-record-type* - home-dotfiles-configuration make-home-dotfiles-configuration - home-dotfiles-configuration? - (source-directory home-dotfiles-configuration-source-directory - (default (current-source-directory)) - (innate)) - (directories home-dotfiles-configuration-directories ;list of strings - (default '())) - (excluded home-dotfiles-configuration-excluded ;list of strings - (default %home-dotfiles-excluded))) +(define %home-dotfiles-layouts + '(plain stow)) -(define (import-dotfiles directory files) +(define (sanitize-layout value) + (if (member value %home-dotfiles-layouts) + value + (raise + (formatted-message + (G_ "layout field of home-dotfiles-configuration should be either 'plain +or 'stow, but ~a was found.") + value)))) + +(define list-of-strings? + (list-of string?)) + +(define-maybe list-of-strings) + +(define-configuration/no-serialization home-dotfiles-configuration + (source-directory + (string (current-source-directory)) + "The path where dotfile directories are resolved. By default dotfile +directories are resolved relative the source location where +@code{home-dotfiles-configuration} appears.") + (layout + (symbol 'plain) + "The intended layout of the specified @code{directory}. It can be either +@code{'stow} or @code{'plain}." + (sanitizer sanitize-layout)) + (directories + (list-of-strings '()) + "The list of dotfiles directories where @code{home-dotfiles-service-type} +will look for application dotfiles.") + (packages + (maybe-list-of-strings) + "The names of a subset of the GNU Stow package layer directories. When provided +the @code{home-dotfiles-service-type} will only provision dotfiles from this +subset of applications. This field will be ignored if @code{layout} is set +to @code{'plain}.") + (excluded + (list-of-strings %home-dotfiles-excluded) + "The list of file patterns @code{home-dotfiles-service-type} will exclude +while visiting @code{directory}.")) + +(define (strip-stow-dotfile file-name directory) + (let ((dotfile-name (string-drop file-name (1+ (string-length directory))))) + (match (string-split dotfile-name #\/) + ((package parts ...) + (string-join parts "/"))))) + +(define (strip-plain-dotfile file-name directory) + (string-drop file-name (+ 1 (string-length directory)))) + +(define (import-dotfiles directory files strip) "Return a list of objects compatible with @code{home-files-service-type}'s value. Each object is a pair where the first element is the relative path of a file and the second is a gexp representing the file content. Objects are generated by recursively visiting DIRECTORY and mapping its contents to the user's home directory, excluding files that match any of the patterns in EXCLUDED." - (define (strip file) - (string-drop file (+ 1 (string-length directory)))) - (define (format file) ;; Remove from FILE characters that cannot be used in the store. (string-append @@ -73,7 +119,7 @@ user's home directory, excluding files that match any of the patterns in EXCLUDE file))) (map (lambda (file) - (let ((stripped (strip file))) + (let ((stripped (strip file directory))) (list stripped (local-file file (format stripped) #:recursive? #t)))) @@ -81,18 +127,25 @@ user's home directory, excluding files that match any of the patterns in EXCLUDE (define (home-dotfiles-configuration->files config) "Return a list of objects compatible with @code{home-files-service-type}'s -value, generated following GNU Stow's algorithm for each of the -directories in CONFIG, excluding files that match any of the patterns configured." +value, excluding files that match any of the patterns configured." + (define stow? (eq? (home-dotfiles-configuration-layout config) 'stow)) (define excluded (home-dotfiles-configuration-excluded config)) (define exclusion-rx (make-regexp (string-append "^.*(" (string-join excluded "|") ")$"))) - (define (directory-contents directory) - (find-files directory - (lambda (file stat) - (not (regexp-exec exclusion-rx - (basename file)))))) + (define* (directory-contents directory #:key (packages #f)) + (define (filter-files directory) + (find-files directory + (lambda (file stat) + (not (regexp-exec exclusion-rx + (basename file)))))) + (if (and stow? packages (maybe-value-set? packages)) + (append-map filter-files + (map (lambda (pkg) + (string-append directory "/" pkg)) + packages)) + (filter-files directory))) (define (resolve directory) ;; Resolve DIRECTORY relative to the 'source-directory' field of CONFIG. @@ -103,15 +156,23 @@ directories in CONFIG, excluding files that match any of the patterns configured (append-map (lambda (directory) (let* ((directory (resolve directory)) - (contents (directory-contents directory))) - (import-dotfiles directory contents))) + (packages + (home-dotfiles-configuration-packages config)) + (contents + (directory-contents directory + #:packages packages)) + (strip + (if stow? strip-stow-dotfile strip-plain-dotfile))) + (import-dotfiles directory contents strip))) (home-dotfiles-configuration-directories config))) (define-public home-dotfiles-service-type (service-type (name 'home-dotfiles) (extensions (list (service-extension home-files-service-type - home-dotfiles-configuration->files))) + (lambda (config) + (when config + (home-dotfiles-configuration->files config)))))) (default-value (home-dotfiles-configuration)) (description "Files that will be put in the user's home directory following GNU Stow's algorithm, and further processed during activation."))) From 5980c8a6b16dd589769ad7cd0bab82fcb9c116cb Mon Sep 17 00:00:00 2001 From: Zheng Junjie Date: Tue, 5 Mar 2024 01:19:34 +0800 Subject: [PATCH 140/261] gnu: libtheora: Use Gexps. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xiph.scm (libtheora): Use Gexps. Change-Id: Ie055cd4f6cb9d2a4601b93d1f9db227598349c7c Signed-off-by: Ludovic Courtès --- gnu/packages/xiph.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index b47c718fb66..879d8e8d39d 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2021 Brendan Tildesley ;;; Copyright © 2021 Matthew James Kraai ;;; Copyright © 2021 Vinicius Monego +;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +48,8 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix gexp)) (define-public libogg (package @@ -115,7 +117,7 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to (patches (search-patches "libtheora-config-guess.patch")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + (list #:configure-flags #~'("--disable-static"))) (inputs (list libvorbis)) ;; The .pc files refer to libogg. (propagated-inputs (list libogg)) From 64d269b983b76553466ac93945d58c7865cf190e Mon Sep 17 00:00:00 2001 From: Zheng Junjie Date: Tue, 5 Mar 2024 01:19:35 +0800 Subject: [PATCH 141/261] gnu: libtheora: Fix cross-compiling to riscv64-linux. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xiph.scm (libtheora): [native-inputs]: When cross compiling to riscv64-linux-gnu, add config. [arguments]: When target riscv64-linux-gnu, add update-config phase. Change-Id: Ie055cd4f6cb9d2a4601b93d1f9db227598349c7c Signed-off-by: Ludovic Courtès --- gnu/packages/xiph.scm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 879d8e8d39d..f3603c39bbe 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) @@ -117,7 +118,26 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to (patches (search-patches "libtheora-config-guess.patch")))) (build-system gnu-build-system) (arguments - (list #:configure-flags #~'("--disable-static"))) + (append + (if (and (target-riscv64?) + (%current-target-system)) + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'update-config + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub")))))) + '()) + (list #:configure-flags #~'("--disable-static")))) + (native-inputs + (if (and (target-riscv64?) + (%current-target-system)) + (list config) + '())) (inputs (list libvorbis)) ;; The .pc files refer to libogg. (propagated-inputs (list libogg)) From 228ee09d35899faa34a003d7af99dd147497432c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 6 Mar 2024 13:44:25 +0100 Subject: [PATCH 142/261] gnu: r-with-tests: Update to 4.3.3. * gnu/packages/statistics.scm (r-with-tests): Update to 4.3.3. Change-Id: Ida43d1e7f747245b01aa6fc73716b79611f0bbfd --- gnu/packages/statistics.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 0c830db6e51..660400fc234 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -223,7 +223,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") (define r-with-tests (package (name "r-with-tests") - (version "4.3.2") + (version "4.3.3") (source (origin (method url-fetch) (uri (string-append "mirror://cran/src/base/R-" @@ -231,7 +231,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") version ".tar.gz")) (sha256 (base32 - "0aj51j34q2b28y28xvlf0dwdj8vpnhjwpvqf7xm05s7fq857dxdk")))) + "0c03abq3kqg6d2yhrijy9j3fsl77har3k7pffwwbz19v74qi51c0")))) (build-system gnu-build-system) (arguments (list From 201f90f34f90242bb74baa5ca44bda6131b3a035 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 7 Mar 2024 00:15:44 +0100 Subject: [PATCH 143/261] gnu: emacs-ess: Disable two bad tests. These tests used to be disabled before and they do still fail. * gnu/packages/statistics.scm (emacs-ess)[arguments]: Disable two more tests. Change-Id: I44a18b43d4fa6af2c9244bb8f3697a01c6c8d255 --- gnu/packages/statistics.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 660400fc234..0d9f5936145 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -6891,6 +6891,8 @@ Java package that provides routines for various statistical distributions.") "ess-eval-line-test" "ess-eval-region-test" "ess-mock-remote-process" + "ess-r-eval-sink-freeze-test" + "ess-r-eval-ns-env-roxy-tracebug-test" "ess-r-load-ESSR-github-fetch-no" "ess-r-load-ESSR-github-fetch-yes" "ess-set-working-directory-test" From 548a4ac51cea891f4f5a796fd68e6e752f568a23 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sun, 25 Feb 2024 11:22:00 +0100 Subject: [PATCH 144/261] gnu: Add go-github-com-tklauser-numcpus. * gnu/packages/golang-xyz.scm (go-github-com-tklauser-numcpus): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index e68948e4952..ad6b8f04e6b 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2023 Timo Wilken ;;; Copyright © 2023, 2024 Sharlatan Hellseher ;;; Copyright © 2024 Artyom V. Poptsov +;;; Copyright © 2024 Troy Figiel ;;; ;;; This file is part of GNU Guix. ;;; @@ -1189,6 +1190,42 @@ Use waterutil with it to work with TUN/TAP packets/frames.") (home-page "https://github.com/stathat/go") (license license:expat)))) +(define-public go-github-com-tklauser-numcpus + (package + (name "go-github-com-tklauser-numcpus") + (version "0.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tklauser/numcpus") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xcwk42zr6q72zvkqdd9nbyhvq11rmwm2164mr2rvbb9z7alkff8")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.18 + #:import-path "github.com/tklauser/numcpus" + #:phases #~(modify-phases %standard-phases + (add-before 'check 'remove-failing-tests + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" + import-path) + (for-each delete-file-recursively + ;; These tests try to access + ;; /sys/devices/system/cpu, which is not + ;; available in the test environment. + '("numcpus_test.go" "numcpus_linux_test.go")))))))) + (propagated-inputs (list go-golang-org-x-sys)) + (home-page "https://github.com/tklauser/numcpus") + (synopsis "Provides information about the number of CPUs in the system") + (description + "This package provides both library functions and a command-line tool to +query information regarding the number of CPUs available to the system.") + (license license:asl2.0))) + (define-public go-go-uber-org-automaxprocs (package (name "go-go-uber-org-automaxprocs") From bd4c6bbf0a821387687bb16221c59f0c1563a26e Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sun, 25 Feb 2024 11:24:41 +0100 Subject: [PATCH 145/261] gnu: Add go-github-com-tklauser-go-sysconf. * gnu/packages/golang-xyz.scm (go-github-com-tklauser-go-sysconf): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index ad6b8f04e6b..1badc3856c4 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1190,6 +1190,43 @@ Use waterutil with it to work with TUN/TAP packets/frames.") (home-page "https://github.com/stathat/go") (license license:expat)))) +(define-public go-github-com-tklauser-go-sysconf + (package + (name "go-github-com-tklauser-go-sysconf") + (version "0.3.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tklauser/go-sysconf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07vkimncnmh89706s49599h2w9gwa6jyrv70f8ifw90nsh766km9")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.18 + #:import-path "github.com/tklauser/go-sysconf" + #:phases #~(modify-phases %standard-phases + (add-before 'check 'remove-failing-tests + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + ;; sysconf_test.go (among others) tries to read the + ;; number of online CPUs using /proc/stat and + ;; /sys/devices/system/cpu/online. These files are not + ;; accessible in the test environment. + (string-append "src/" import-path + "/cgotest/sysconf_test.go"))))))) + (propagated-inputs (list go-golang-org-x-sys + go-github-com-tklauser-numcpus)) + (home-page "https://github.com/tklauser/go-sysconf") + (synopsis "Go implementation of @code{sysconf}") + (description + "This package implements @code{sysconf} and provides the associated +@code{SC_*} constants to query system configuration values at run time.") + (license license:bsd-3))) + (define-public go-github-com-tklauser-numcpus (package (name "go-github-com-tklauser-numcpus") From 51a10d33166a33cf25fd22397382a5684ccf003e Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 16:00:33 +0000 Subject: [PATCH 146/261] gnu: Add go-numcpus. * gnu/packages/golang-xyz.scm (go-numcpus): New variable. Change-Id: I2edb2f355fd14f2f9a470c91519e7fe1581cc243 --- gnu/packages/golang-xyz.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 1badc3856c4..90942f8991b 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1301,6 +1301,20 @@ CPU quota.") ;;; Executables: ;;; +(define-public go-numcpus + (package + (inherit go-github-com-tklauser-numcpus) + (name "go-numcpus") + (arguments + (list + #:go go-1.18 + #:import-path "github.com/tklauser/numcpus/cmd/numcpus" + #:unpack-path "github.com/tklauser/numcpus" + #:install-source? #f)) + (description + "This package provides a CLI build from the +go-github-com-tklauser-numcpus source."))) + (define-public go-pixelmatch (package (inherit go-github-com-orisano-pixelmatch) From 8468c5556577e36f566c39ae74835bebfa900930 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Fri, 23 Feb 2024 00:14:21 +0100 Subject: [PATCH 147/261] gnu: go-github-com-shirou-gopsutil: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-shirou-gopsutil): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 28 +++++++++++++++++++++++++++- gnu/packages/golang.scm | 25 ------------------------- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 90942f8991b..09b20a48308 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -2,7 +2,8 @@ ;;; Copyright © 2017, 2018, 2019 Leo Famulari ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2019 Brian Leung -;;; Copyright © 2020 Efraim Flashner +;;; Copyright © 2019 Leo Famulari +;;; Copyright © 2019, 2020 Efraim Flashner ;;; Copyright © 2020 Joseph LaFreniere ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2021 Raghav Gururajan @@ -1093,6 +1094,31 @@ Metrics library.") (home-page "https://github.com/rcrowley/go-metrics") (license license:bsd-2)))) +(define-public go-github-com-shirou-gopsutil + (let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399") + (revision "0")) + (package + (name "go-github-com-shirou-gopsutil") + (version (git-version "v2.19.7" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shirou/gopsutil") + (commit commit))) ; XXX + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/shirou/gopsutil")) + (synopsis "Process and system monitoring in Go") + (description "This package provides a library for retrieving information +on running processes and system utilization (CPU, memory, disks, network, +sensors).") + (home-page "https://github.com/shirou/gopsutil") + (license license:bsd-3)))) + (define-public go-github-com-skip2-go-qrcode (package (name "go-github-com-skip2-go-qrcode") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 0bcd231a930..367ef73646b 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -6337,31 +6337,6 @@ and aid debugging.") a cron spec parser and job runner.") (license license:expat))) -(define-public go-github-com-shirou-gopsutil - (let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399") - (revision "0")) - (package - (name "go-github-com-shirou-gopsutil") - (version (git-version "v2.19.7" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/shirou/gopsutil") - (commit commit))) ; XXX - (file-name (git-file-name name version)) - (sha256 - (base32 - "0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/shirou/gopsutil")) - (synopsis "Process and system monitoring in Go") - (description "This package provides a library for retrieving information -on running processes and system utilization (CPU, memory, disks, network, -sensors).") - (home-page "https://github.com/shirou/gopsutil") - (license license:bsd-3)))) - (define-public go-github-com-danwakefield-fnmatch (let ((commit "cbb64ac3d964b81592e64f957ad53df015803288") (revision "0")) From 12b8b129b3691eca101b6928a8dedd567cb1cb32 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 24 Feb 2024 09:19:28 +0100 Subject: [PATCH 148/261] gnu: go-github-com-shirou-gopsutil: Update to 2.21.11. * gnu/packages/golang-xyz.scm (go-github-com-shirou-gopsutil): Update to 2.21.11. [arguments]: Fix tests. <#:go>: Update to go-1.18. <#:phases>: Add 'remove-v3 and 'remove-failing-tests phases. [propagated-inputs]: Add go-golang-org-x-sys. [native-inputs]: Add go-github-com-stretchr-testify and procps. * gnu/packages/golang-xyz.scm: Add (gnu packages linux) module. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 63 ++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 09b20a48308..09e294e298b 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -46,7 +46,8 @@ #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-check) #:use-module (gnu packages golang-compression) - #:use-module (gnu packages golang-crypto)) + #:use-module (gnu packages golang-crypto) + #:use-module (gnu packages linux)) ;;; Commentary: ;;; @@ -1095,29 +1096,47 @@ Metrics library.") (license license:bsd-2)))) (define-public go-github-com-shirou-gopsutil - (let ((commit "47ef3260b6bf6ead847e7c8fc4101b33c365e399") - (revision "0")) - (package - (name "go-github-com-shirou-gopsutil") - (version (git-version "v2.19.7" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/shirou/gopsutil") - (commit commit))) ; XXX - (file-name (git-file-name name version)) - (sha256 - (base32 - "0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/shirou/gopsutil")) - (synopsis "Process and system monitoring in Go") - (description "This package provides a library for retrieving information + (package + (name "go-github-com-shirou-gopsutil") + (version "2.21.11") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shirou/gopsutil") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gpb10xkdwfimn1sp4jhrvzz4p3zgmdb78q8v23nap3yi6v4bff5")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.18 + #:import-path "github.com/shirou/gopsutil" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'remove-v3 + (lambda* (#:key import-path #:allow-other-keys) + ;; We remove the separately included v3 module. + (delete-file-recursively (string-append "src/" + import-path + "/v3")))) + (add-before 'check 'remove-failing-tests + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + ;; host_test.go tries to access files such as + ;; /var/run/utmp that do not exist in the build + ;; environment. + (string-append "src/" import-path "/host/host_test.go"))))))) + (propagated-inputs + (list go-github-com-tklauser-go-sysconf go-golang-org-x-sys)) + (native-inputs + (list go-github-com-stretchr-testify procps)) + (synopsis "Process and system monitoring in Go") + (description "This package provides a library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors).") - (home-page "https://github.com/shirou/gopsutil") - (license license:bsd-3)))) + (home-page "https://github.com/shirou/gopsutil") + (license license:bsd-3))) (define-public go-github-com-skip2-go-qrcode (package From 06d6f3debf0103e4d397f4fc7a5b88a9711fa973 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 24 Feb 2024 08:53:30 +0100 Subject: [PATCH 149/261] gnu: go-github-com-shirou-gopsutil: Reformat with guix style. * gnu/packages/golang-xyz.scm (go-github-com-shirou-gopsutil): Reformat with guix style. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 09e294e298b..fc1d2213de8 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1099,15 +1099,15 @@ Metrics library.") (package (name "go-github-com-shirou-gopsutil") (version "2.21.11") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/shirou/gopsutil") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0gpb10xkdwfimn1sp4jhrvzz4p3zgmdb78q8v23nap3yi6v4bff5")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shirou/gopsutil") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gpb10xkdwfimn1sp4jhrvzz4p3zgmdb78q8v23nap3yi6v4bff5")))) (build-system go-build-system) (arguments (list @@ -1132,7 +1132,8 @@ Metrics library.") (native-inputs (list go-github-com-stretchr-testify procps)) (synopsis "Process and system monitoring in Go") - (description "This package provides a library for retrieving information + (description + "This package provides a library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors).") (home-page "https://github.com/shirou/gopsutil") From 7991eedd0393e0a90892ef27cf1eb9ea28eb0754 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Wed, 6 Mar 2024 16:31:02 +0000 Subject: [PATCH 150/261] gnu: Add go-github-com-shirou-gopsutil-v3. * gnu/packages/golang-xyz.scm (go-github-com-shirou-gopsutil-v3): New variable. Signed-off-by: Sharlatan Hellseher Change-Id: Ibbfe76f0a56daf76fc4a4ecd844b445e9355a7ce --- gnu/packages/golang-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index fc1d2213de8..28bd13018ff 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1139,6 +1139,34 @@ sensors).") (home-page "https://github.com/shirou/gopsutil") (license license:bsd-3))) +(define-public go-github-com-shirou-gopsutil-v3 + (package + (inherit go-github-com-shirou-gopsutil) + (name "go-github-com-shirou-gopsutil-v3") + (version "3.24.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shirou/gopsutil") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xlfcx6giqaxdah2m02q2i8ynwlzar953wr8wqx1j3004xdgaivd")))) + (arguments + (list + #:go go-1.18 + #:import-path "github.com/shirou/gopsutil" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'remove-failing-tests + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively + ;; host_test.go tries to access files such as + ;; /var/run/utmp that do not exist in the build + ;; environment. + (string-append "src/" import-path "/host/host_test.go"))))))))) + (define-public go-github-com-skip2-go-qrcode (package (name "go-github-com-skip2-go-qrcode") From 2477aea26d4c10495149dbbf4afb9c53de3dc5f5 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sun, 25 Feb 2024 18:07:45 +0100 Subject: [PATCH 151/261] gnu: go-github-com-vividcortex-ewma: Fix import-path. * gnu/packages/golang.scm (go-github-com-vividcortex-ewma): Fix import-path. [arguments]<#:import-path>: Use proper capitalization. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 367ef73646b..2eb63641f92 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9606,7 +9606,7 @@ parser.") (sha256 (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq")))) (build-system go-build-system) - (arguments '(#:import-path "github.com/vividcortex/ewma")) + (arguments '(#:import-path "github.com/VividCortex/ewma")) (home-page "https://github.com/VividCortex/ewma") (synopsis "Exponentially Weighted Moving Average algorithms for Go") (description From 436cd5a62557e51156ed893ada5aa01ad0e631b4 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sun, 25 Feb 2024 18:11:17 +0100 Subject: [PATCH 152/261] gnu: go-github-com-cheggaaa-pb-v3: Enable tests. * gnu/packages/golang.scm (go-github-com-cheggaaa-pb-v3): Enable tests. [arguments] <#:tests?>: Set to true. <#:unpack-path>: Set unpack-path to the repository root. Signed-off-by: Sharlatan Hellseher Change-Id: Ic8b64dcf4717ff6a163d8a674e5e7c2c6d162b98 --- gnu/packages/golang.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2eb63641f92..98e6739f426 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -8770,9 +8770,7 @@ inspired by the causal messaging system in the Pony programming language.") (build-system go-build-system) (arguments '(#:import-path "github.com/cheggaaa/pb/v3" - ;; XXX: it does have tests but I'm not sure how to run them. - ;; go-build-system is looking in the wrong directory. - #:tests? #f)) + #:unpack-path "github.com/cheggaaa/pb")) (propagated-inputs (list go-golang-org-x-sys go-github-com-rivo-uniseg From 036b364138d5f7da4bea484f1b9b2c565dd1f5bb Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sun, 25 Feb 2024 18:13:56 +0100 Subject: [PATCH 153/261] gnu: go-github-com-cheggaaa-pb-v3: Remove unnecessary inputs. * gnu/packages/golang.scm (go-github-com-cheggaaa-pb-v3): Remove unnecessary inputs. [propagated-inputs]: Remove go-golang-org-x-sys and go-github-com-rivo-uniseg. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 98e6739f426..3e58f981033 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -8772,9 +8772,7 @@ inspired by the causal messaging system in the Pony programming language.") '(#:import-path "github.com/cheggaaa/pb/v3" #:unpack-path "github.com/cheggaaa/pb")) (propagated-inputs - (list go-golang-org-x-sys - go-github-com-rivo-uniseg - go-github-com-mattn-go-runewidth + (list go-github-com-mattn-go-runewidth go-github-com-mattn-go-isatty go-github-com-mattn-go-colorable go-github-com-fatih-color From 532914a389ca0b8462db1b91e92d226559a599e0 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 16:40:09 +0000 Subject: [PATCH 154/261] gnu: go-github-com-vividcortex-ewma: Update description. * gnu/packages/golang.scm (go-github-com-vividcortex-ewma) [description]: Provide link to a wiki page sourced from the project's README. Change-Id: I0520b0502f676b8891ddd746774acd483358b95e --- gnu/packages/golang.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3e58f981033..59107ec762e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9606,8 +9606,9 @@ parser.") (home-page "https://github.com/VividCortex/ewma") (synopsis "Exponentially Weighted Moving Average algorithms for Go") (description - "This package implements algorithms for exponentially weighted moving -averages.") + "This package implements algorithms for +@url{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average,exponentially +weighted moving averages}.") (license license:expat))) (define-public go-github-com-rivo-uniseg From c21f468cf16758b99de950a2d64afb83aa275349 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 18:28:04 +0000 Subject: [PATCH 155/261] gnu: go-github-com-cheggaaa-pb-v3: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-cheggaaa-pb-v3): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. * gnu/packages/golang.scm (go-github-com-cheggaaa-pb): Remove variable. Change-Id: Ieddfddfec841e5b35c14002dbfe8655a7b5dec0f --- gnu/packages/golang-xyz.scm | 30 ++++++++++++++++++++++++++++++ gnu/packages/golang.scm | 32 -------------------------------- 2 files changed, 30 insertions(+), 32 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 28bd13018ff..645b979e11e 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2019, 2020 Efraim Flashner ;;; Copyright © 2020 Joseph LaFreniere ;;; Copyright © 2020 Oleg Pykhalov +;;; Copyright © 2020, 2021 raingloom ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Dominic Martinez @@ -351,6 +352,35 @@ quantiles over an unbounded data stream within low memory and CPU bounds.") similar to Go's standard library @code{json} and @code{xml} package.") (license license:expat))) +(define-public go-github-com-cheggaaa-pb-v3 + (package + (name "go-github-com-cheggaaa-pb-v3") + (version "3.0.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cheggaaa/pb/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/cheggaaa/pb/v3" + #:unpack-path "github.com/cheggaaa/pb")) + (propagated-inputs + (list go-github-com-fatih-color + go-github-com-mattn-go-colorable + go-github-com-mattn-go-isatty + go-github-com-mattn-go-runewidth + go-github-com-vividcortex-ewma)) + (home-page "https://github.com/cheggaaa/pb/") + (synopsis "Console progress bar for Go") + (description + "This package is a Go library that draws progress bars on the terminal.") + (license license:bsd-3))) + (define-public go-github-com-coocood-freecache (package (name "go-github-com-coocood-freecache") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 59107ec762e..ac4c24e487e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -8754,38 +8754,6 @@ error messages.") inspired by the causal messaging system in the Pony programming language.") (license license:expat)))) -(define-public go-github-com-cheggaaa-pb-v3 - (package - (name "go-github-com-cheggaaa-pb-v3") - (version "3.0.8") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cheggaaa/pb/") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0d701s2niy39r650d1phjw19h4l27b1yfc2ih6s31f56b3zzqspx")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/cheggaaa/pb/v3" - #:unpack-path "github.com/cheggaaa/pb")) - (propagated-inputs - (list go-github-com-mattn-go-runewidth - go-github-com-mattn-go-isatty - go-github-com-mattn-go-colorable - go-github-com-fatih-color - go-github-com-vividcortex-ewma)) - (home-page "https://github.com/cheggaaa/pb/") - (synopsis "Console progress bar for Go") - (description "This package is a Go library that draws progress bars on -the terminal.") - (license license:bsd-3))) - -(define-public go-github-com-cheggaaa-pb - (deprecated-package "go-github-com-cheggaaa-pb" go-github-com-cheggaaa-pb-v3)) - (define-public go-github-com-gologme-log ;; this is the same as v1.2.0, only the LICENSE file changed (let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55")) From 9af99245e78f96cd494203e3f48edeb420db173d Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 18:34:38 +0000 Subject: [PATCH 156/261] gnu: go-github-com-vividcortex-ewma: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-vividcortex-ewma): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. Change-Id: Iabf8a6ee15240c0817d80584a34e80dcbce1c974 --- gnu/packages/golang-xyz.scm | 25 ++++++++++++++++++++++++- gnu/packages/golang.scm | 23 ----------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 645b979e11e..8d77ee956ae 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2019 Brian Leung ;;; Copyright © 2019 Leo Famulari -;;; Copyright © 2019, 2020 Efraim Flashner +;;; Copyright © 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2020 Joseph LaFreniere ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020, 2021 raingloom @@ -1367,6 +1367,29 @@ Use waterutil with it to work with TUN/TAP packets/frames.") query information regarding the number of CPUs available to the system.") (license license:asl2.0))) +(define-public go-github-com-vividcortex-ewma + (package + (name "go-github-com-vividcortex-ewma") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/VividCortex/ewma") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq")))) + (build-system go-build-system) + (arguments '(#:import-path "github.com/VividCortex/ewma")) + (home-page "https://github.com/VividCortex/ewma") + (synopsis "Exponentially Weighted Moving Average algorithms for Go") + (description + "This package implements algorithms for +@url{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average,exponentially +weighted moving averages}.") + (license license:expat))) + (define-public go-go-uber-org-automaxprocs (package (name "go-go-uber-org-automaxprocs") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index ac4c24e487e..32c2171ca21 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9556,29 +9556,6 @@ programming language.") parser.") (license license:bsd-2))) -(define-public go-github-com-vividcortex-ewma - (package - (name "go-github-com-vividcortex-ewma") - (version "1.2.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/VividCortex/ewma") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0whx516l9nm4n41spagb605ry7kfnz1qha96mcshnfjlahhnnylq")))) - (build-system go-build-system) - (arguments '(#:import-path "github.com/VividCortex/ewma")) - (home-page "https://github.com/VividCortex/ewma") - (synopsis "Exponentially Weighted Moving Average algorithms for Go") - (description - "This package implements algorithms for -@url{https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average,exponentially -weighted moving averages}.") - (license license:expat))) - (define-public go-github-com-rivo-uniseg (package (name "go-github-com-rivo-uniseg") From fbc7a0efa7136d14265533932a19eb501214e7f9 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 24 Feb 2024 11:14:09 +0100 Subject: [PATCH 157/261] gnu: Add go-github-com-dave-jennifer. * gnu/packages/golang-xyz.scm (go-github-com-dave-jennifer): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 8d77ee956ae..6cbdaeee13e 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -562,6 +562,29 @@ of unit files."))) metrics to Graphite.") (license license:bsd-2))) +(define-public go-github-com-dave-jennifer + (package + (name "go-github-com-dave-jennifer") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dave/jennifer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01sgafbds8n5zs61qf057whn06yj6avz30xgxk6pllf22528558m")))) + (build-system go-build-system) + (arguments + (list + #:go go-1.20 + #:import-path "github.com/dave/jennifer")) + (home-page "https://github.com/dave/jennifer") + (synopsis "Code generator for Go") + (description "This package provides functionality to generate Go code.") + (license license:expat))) + (define-public go-github-com-dimchansky-utfbom (package (name "go-github-com-dimchansky-utfbom") From 1583fe7e24b6e1a48f7525b338e96cecd5813a3a Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sun, 3 Mar 2024 21:54:37 +0100 Subject: [PATCH 158/261] gnu: Add go-github-com-hhrutter-lzw. * gnu/packages/golang-compression.scm (go-github-com-hhrutter-lzw): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-compression.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang-compression.scm b/gnu/packages/golang-compression.scm index 568fdd12b92..031ff54f8ab 100644 --- a/gnu/packages/golang-compression.scm +++ b/gnu/packages/golang-compression.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2021 Arun Isaac ;;; Copyright © 2021 Efraim Flashner ;;; Copyright © 2022 Sharlatan Hellseher +;;; Copyright © 2024 Troy Figiel ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,6 +85,30 @@ the @code{c2go} tool at compression format.") (license license:bsd-3))) +(define-public go-github-com-hhrutter-lzw + (package + (name "go-github-com-hhrutter-lzw") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hhrutter/lzw") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n13qhf8ih08jzm10wprdvjy56ylmy6fhakyqrddm6nszf397wch")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hhrutter/lzw")) + (home-page "https://github.com/hhrutter/lzw") + (synopsis "Extended version of @code{compress/lzw}") + (description + "This package provides an enhanced version of the @code{compress/lzw} +library included in the stdlib, and supports GIF, TIFF and PDF.") + (license license:bsd-3))) + (define-public go-github-com-klauspost-compress (package (name "go-github-com-klauspost-compress") From da582bcf50bfbd643e6625cd724b5eb3dfc326a1 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sun, 3 Mar 2024 17:54:48 +0100 Subject: [PATCH 159/261] gnu: Add go-github-com-hhrutter-tiff. * gnu/packages/golang-xyz.scm (go-github-com-hhrutter-tiff): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 6cbdaeee13e..fe0a06270e1 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -742,6 +742,36 @@ Differentiation between text and binary files}. @end itemize") (license license:expat))) +(define-public go-github-com-hhrutter-tiff + (package + (name "go-github-com-hhrutter-tiff") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hhrutter/tiff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09fzgvxwkd34izbfd26ln8vdbhc4j9gxpar3s7h9h125psrjvg0k")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hhrutter/tiff")) + (propagated-inputs (list go-golang-org-x-image go-github-com-hhrutter-lzw)) + (home-page "https://github.com/hhrutter/tiff") + (synopsis "Extended version of @code{golang.org/x/image/tiff}") + (description "This package is an enhanced version of the +@code{golang.org/x/image/tiff} library featuring: + +@itemize +@item Read support for CCITT Group3/4 compressed images. +@item Read/write support for LZW compressed images. +@item Read/write support for the CMYK color model. +@end itemize") + (license license:bsd-3))) + (define-public go-github-com-jinzhu-copier (package (name "go-github-com-jinzhu-copier") From b75db99600db84e8c98e00034fb3c4f7675031b2 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 20:54:46 +0000 Subject: [PATCH 160/261] gnu: go-github.com-ulikunitz-xz: Adjust name. * gnu/packages/golang-compression.scm (go-github.com-ulikunitz-xz): Rename variable to go-github-com-ulikunitz-xz to follow golang naming style. * gnu/packages/admin.scm (fiano) [inputs]: Remove go-github.com-ulikunitz-xz. Add go-github-com-ulikunitz-xz. * gnu/packages/bioinformatics.scm (go-github-com-biogo-hts-cram) [propagated-inputs]: Remove go-github.com-ulikunitz-xz. Add go-github-com-ulikunitz-xz. Change-Id: Id2f2556666c4f9a08e0203f5ca7eb8352c492051 --- gnu/packages/admin.scm | 2 +- gnu/packages/bioinformatics.scm | 2 +- gnu/packages/golang-compression.scm | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 023a85f1361..c12d47da4b7 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -5188,7 +5188,7 @@ disk utilization, priority, username, state, and exit code.") `()) (inputs `(("go-golang-org-x-text" ,go-golang-org-x-text) - ("go-github.com-ulikunitz-xz" ,go-github.com-ulikunitz-xz))) + ("go-github-com-ulikunitz-xz" ,go-github-com-ulikunitz-xz))) (synopsis "UEFI image editor") (description "This package provides a command-line UEFI image editor.") (home-page "https://github.com/linuxboot/fiano") diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index e7816eb1d13..b8ecea013ca 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -22484,7 +22484,7 @@ useful for bioinformatic analysis.") #:tests? #false)) ;require network access (propagated-inputs (list go-gopkg-in-check-v1 - go-github.com-ulikunitz-xz + go-github-com-ulikunitz-xz go-github-com-kortschak-utter)) (synopsis "HTS CRAM module for biogo") (description "This package provides tools for handling CRAM files."))) diff --git a/gnu/packages/golang-compression.scm b/gnu/packages/golang-compression.scm index 031ff54f8ab..77701db1a82 100644 --- a/gnu/packages/golang-compression.scm +++ b/gnu/packages/golang-compression.scm @@ -140,9 +140,9 @@ library included in the stdlib, and supports GIF, TIFF and PDF.") (description "@code{compress} provides various compression algorithms.") (license license:bsd-3))) -(define-public go-github.com-ulikunitz-xz +(define-public go-github-com-ulikunitz-xz (package - (name "go-github.com-ulikunitz-xz") + (name "go-github-com-ulikunitz-xz") (version "0.5.8") (source (origin From dda217f25ac3358b19542deb616756859df7225a Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Tue, 5 Mar 2024 08:44:10 +0100 Subject: [PATCH 161/261] gnu: Add go-github-com-nwaples-rardecode-v2. * gnu/packages/golang-compression.scm (go-github-com-nwaples-rardecode-v2): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-compression.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/golang-compression.scm b/gnu/packages/golang-compression.scm index 77701db1a82..b999c063ee1 100644 --- a/gnu/packages/golang-compression.scm +++ b/gnu/packages/golang-compression.scm @@ -140,6 +140,29 @@ library included in the stdlib, and supports GIF, TIFF and PDF.") (description "@code{compress} provides various compression algorithms.") (license license:bsd-3))) +(define-public go-github-com-nwaples-rardecode-v2 + (package + (name "go-github-com-nwaples-rardecode-v2") + (version "2.0.0-beta.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nwaples/rardecode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1344mxfdgs5fps6mqxk6352arrfszi33kmq394rgmqpf4394f1y7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/nwaples/rardecode")) + (home-page "https://github.com/nwaples/rardecode") + (synopsis "Reading RAR archives in Go") + (description + "This package provides a library for reading RAR archives with Golang.") + (license license:bsd-2))) + (define-public go-github-com-ulikunitz-xz (package (name "go-github-com-ulikunitz-xz") From a28498d83d644d02a0e02ce74954c6e936ff0543 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 24 Feb 2024 10:40:58 +0100 Subject: [PATCH 162/261] gnu: Add go-github-com-ugorji-go-codec. * gnu/packages/golang-web.scm (go-github-com-ugorji-go-codec): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-web.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index 4f2c6f8c1a2..5f5278e11cd 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm @@ -1394,6 +1394,38 @@ an interface to implement any other minifier.") sockets.") (license license:expat)))) +(define-public go-github-com-ugorji-go-codec + (package + (name "go-github-com-ugorji-go-codec") + (version "1.2.12") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ugorji/go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11j0sd7kli2bh2npfr2znnvdjsk118rs8khqzfdp6pb5jm0l20ib")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/ugorji/go/codec" + #:unpack-path "github.com/ugorji/go" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'remove-benchmarks + (lambda* (#:key import-path #:allow-other-keys) + (delete-file-recursively (string-append "src/" + import-path + "/bench"))))))) + (propagated-inputs (list go-golang-org-x-tools)) + (home-page "https://github.com/ugorji/go") + (synopsis "Codec and encoding library for various serialization formats") + (description + "This package provides a high performance and feature rich codec and +encoding library for the MessagePack, CBOR, JSON and the Binc formats.") + (license license:expat))) + (define-public go-github-com-valyala-fasthttp (package (name "go-github-com-valyala-fasthttp") From 15b96de8526e6cae03fa919384aaa47a8d7a0699 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 17 Feb 2024 20:11:05 +0100 Subject: [PATCH 163/261] gnu: Add go-github-com-k0kubun-pp. * gnu/packages/golang-xyz.scm (go-github-com-k0kubun-pp): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index fe0a06270e1..f85bfe1e71f 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -795,6 +795,33 @@ Differentiation between text and binary files}. struct to another.") (license license:expat))) +(define-public go-github-com-k0kubun-pp + (package + (name "go-github-com-k0kubun-pp") + (version "3.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/k0kubun/pp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vpp5n3kdazk4s1ljhwbrhz3kilzvdvx5hya922bg0q9vnjqqvvc")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/k0kubun/pp")) + (propagated-inputs (list go-github-com-mattn-go-colorable + go-golang-org-x-text)) + (home-page "https://github.com/k0kubun/pp") + (synopsis "Colored pretty-printer for Go") + (description + "This package provides a pretty-printer for Go. The functions defined by +@code{pp} follow an API similar to @code{fmt} and its configuration can be +customized globally.") + (license license:expat))) + (define-public go-github-com-matryer-try (package (name "go-github-com-matryer-try") From 48b8655667f46d9418f897d4066a502c57738ff0 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 17 Feb 2024 20:19:15 +0100 Subject: [PATCH 164/261] gnu: sqls: Add missing inputs. * gnu/packages/databases (sqls): Add missing inputs. [native-inputs]: Add go-github-com-google-go-cmp-cmp and go-github-com-k0kubun-pp. * gnu/packages/databases: Add (gnu packages golang-xyz) module. Signed-off-by: Sharlatan Hellseher --- gnu/packages/databases.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 33e7327ebb3..62739fa1c0b 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -111,6 +111,7 @@ #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-check) #:use-module (gnu packages golang-web) + #:use-module (gnu packages golang-xyz) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -5375,6 +5376,8 @@ compatible with SQLite using a graphical user interface.") go-github-com-mattn-go-runewidth go-golang-org-x-xerrors go-gopkg-in-yaml-v2)) + (native-inputs (list go-github-com-google-go-cmp-cmp + go-github-com-k0kubun-pp)) (synopsis "SQL language server written in Go") (description "This package implements the @acronym{LSP, Language Server Protocol} for SQL.") From e1a0562dae8b723cfb6c123c2c22f58b76da6a14 Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 24 Feb 2024 10:03:16 +0100 Subject: [PATCH 165/261] gnu: Add go-github-com-pkg-sftp. * gnu/packages/golang-web.scm (go-github-com-pkg-sftp): New variable. Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-web.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index 5f5278e11cd..1d7ad01af27 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm @@ -1216,6 +1216,34 @@ which produce colorized output using github.com/fatih/color.") (description "OpenTracing-Go is a Go implementation of the OpenTracing API.") (license license:asl2.0))) +(define-public go-github-com-pkg-sftp + (package + (name "go-github-com-pkg-sftp") + (version "1.13.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pkg/sftp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n35lzfrnrffjqy34ny6gxs27kq81s67ply6q8s1g19mhfzm6my7")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/pkg/sftp")) + (propagated-inputs (list go-golang-org-x-crypto go-github-com-kr-fs)) + (native-inputs (list go-github-com-stretchr-testify)) + (home-page "https://github.com/pkg/sftp") + (synopsis "SFTP implementation for Go") + (description + "This package provides an @acronym{SFTP, SSH File Transfer Protocol} +implementation, as described in +@url{https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt}, +for Go.") + (license license:bsd-2))) + (define-public go-github-com-pquerna-cachecontrol (package (name "go-github-com-pquerna-cachecontrol") From 7675dec155aea222678cd125bb23c971ec5b002e Mon Sep 17 00:00:00 2001 From: Troy Figiel Date: Sat, 24 Feb 2024 10:06:30 +0100 Subject: [PATCH 166/261] gnu: go-github-com-spf13-afero: Add missing input. * gnu/packages/golang.scm (go-github-com-spf13-afero): Add missing input. [propagated-inputs]: Add go-github-com-pkg-sftp. Signed-off-by: Sharlatan Hellseher Change-Id: If428fdf82c191ce3e408053886c5ec726e9644df --- gnu/packages/golang.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 32c2171ca21..db57c16a84d 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3781,8 +3781,7 @@ containers.") (build-system go-build-system) (arguments `(#:import-path "github.com/spf13/afero")) - (propagated-inputs - `(("golang.org/x/text" ,go-golang-org-x-text))) + (propagated-inputs (list go-github-com-pkg-sftp go-golang-org-x-text)) (home-page "https://github.com/spf13/afero") (synopsis "File system abstraction for Go") (description From eb77abfb444edaa034f70c839fd31b02900278e9 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Fri, 1 Mar 2024 22:58:21 +0300 Subject: [PATCH 167/261] gnu: go-go-uber-org-zap: Update to 1.24.0. * gnu/packages/golang.scm (go-go-uber-org-zap): Update to 1.24.0. Change-Id: I3028c065ac71ca3accd2789f491829e466068cc2 Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index db57c16a84d..6d19bf4f700 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9322,7 +9322,7 @@ be used as both a binary and a library.") (define-public go-go-uber-org-zap (package (name "go-go-uber-org-zap") - (version "1.16.0") + (version "1.24.0") (source (origin (method git-fetch) @@ -9331,7 +9331,7 @@ be used as both a binary and a library.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05ix5wg1r8pgi7fb6084lg4x7mrkvzkh1nxa7zj337w5b9xj0myr")))) + (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs")))) (build-system go-build-system) (arguments '(#:import-path "go.uber.org/zap" From d3bc9e73e5fdee97244069dadaa75b5109236359 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Fri, 1 Mar 2024 22:59:49 +0300 Subject: [PATCH 168/261] gnu: kubo: Update to 0.22.0. * gnu/packages/ipfs.scm (kubo): Update to 0.22.0. Change-Id: Iee640c01024a399bdf2b9c6e07ef6951e5567f54 Signed-off-by: Sharlatan Hellseher --- gnu/packages/ipfs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 830e2ccd329..36eed11802b 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -227,7 +227,7 @@ written in Go.") (define-public kubo (package (name "kubo") - (version "0.19.0") + (version "0.22.0") (source (origin (method url-fetch/tarbomb) @@ -235,7 +235,7 @@ written in Go.") "https://dist.ipfs.io/kubo/v" version "/kubo-source.tar.gz")) (sha256 - (base32 "0k0mw44fq6306pmfp6v4wawgigry9plnl2ij8i5f46606j55c31w")) + (base32 "0p8iaa56lnac1lxnbzp4fbjqzps50z5yqs34szcp53xjq8rmjzjd")) (file-name (string-append name "-" version "-source")) (modules '((guix build utils))) (snippet '(for-each delete-file-recursively From c3992c8871c6bef554e180ab0ecdb786a9595207 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 21:32:33 +0000 Subject: [PATCH 169/261] gnu: go-go-uber-org-zap: Move to golang-xyz. * gnu/packages/golang.scm (go-go-uber-org-zap): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. * gnu/packages/radio.scm: Add (gnu packages golang-xyz) module. Change-Id: Id4de6cb4714b9b28e43e5aecabf5b32684f1a370 --- gnu/packages/golang-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ gnu/packages/golang.scm | 30 ------------------------------ gnu/packages/radio.scm | 1 + 3 files changed, 35 insertions(+), 30 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index f85bfe1e71f..7e6e0aa27b7 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2020 Joseph LaFreniere ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2020, 2021 raingloom +;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2022 Dominic Martinez @@ -1495,6 +1496,39 @@ weighted moving averages}.") CPU quota.") (license license:expat))) +(define-public go-go-uber-org-zap + (package + (name "go-go-uber-org-zap") + (version "1.24.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uber-go/zap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs")))) + (build-system go-build-system) + (arguments + '(#:import-path "go.uber.org/zap" + #:tests? #f)) ; TODO: Fix tests + (native-inputs + (list go-github-com-stretchr-testify + go-golang-org-x-lint + go-honnef-co-go-tools)) + (propagated-inputs + (list go-github-com-pkg-errors + go-go-uber-org-atomic + go-go-uber-org-multierr + go-gopkg-in-yaml-v2)) + (home-page "https://go.uber.org/zap") + (synopsis "Logging library for Go") + (description + "This package provides a library for fast, structured, leveled logging in +Go.") + (license license:expat))) + (define-public go-gopkg-in-op-go-logging-v1 (package (inherit go-github-com-op-go-logging) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6d19bf4f700..fbf6b4c3493 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -9319,36 +9319,6 @@ be used as both a binary and a library.") (native-inputs '()) (inputs '()))) -(define-public go-go-uber-org-zap - (package - (name "go-go-uber-org-zap") - (version "1.24.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/uber-go/zap") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0lzbbs87fvixzbyv4wpl3s70vm2m0jz2jgdvrviiksc2al451qgs")))) - (build-system go-build-system) - (arguments - '(#:import-path "go.uber.org/zap" - #:tests? #f)) ; TODO: Fix tests - (native-inputs - (list go-github-com-stretchr-testify go-golang-org-x-lint - go-honnef-co-go-tools)) - (propagated-inputs - (list go-github-com-pkg-errors go-go-uber-org-atomic - go-go-uber-org-multierr go-gopkg-in-yaml-v2)) - (home-page "https://go.uber.org/zap") - (synopsis "Logging library for Go") - (description - "This package provides a library for fast, structured, leveled logging in -Go.") - (license license:expat))) - (define-public go-github-com-davecgh-go-xdr (package (name "go-github-com-davecgh-go-xdr") diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 2f258b03643..caa8b61ee3d 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -63,6 +63,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages golang) + #:use-module (gnu packages golang-xyz) #:use-module (gnu packages gps) #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) From 496e0f10b63a3218cfc86804c8eb38b4d77acd8e Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sat, 2 Mar 2024 10:02:54 +0300 Subject: [PATCH 170/261] gnu: Add go-github-com-cskr-pubsub. * gnu/packages/golang-xyz.scm (go-github-com-cskr-pubsub): New variable. Change-Id: Ia0a3d5b86cdaad45b6b58af9441b1ea3396ec056 Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 7e6e0aa27b7..3fdc88c3561 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -537,6 +537,31 @@ its C API."))) (description "Go bindings to systemd for (de)serialization and comparison of unit files."))) +(define-public go-github-com-cskr-pubsub + (package + (name "go-github-com-cskr-pubsub") + (version "2.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cskr/pubsub") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18kqfdzkfs7z8266a5q5wldwkcvnhc7yw09b9vr8r0s7svy8d5s6")))) + (build-system go-build-system) + (arguments + (list + #:tests? #t ; Tests require network interface access + #:go go-1.18 + #:import-path "github.com/cskr/pubsub")) + (home-page "https://github.com/cskr/pubsub") + (synopsis "Simple pubsub package for go") + (description + "Package @code{pubsub} implements a simple multi-topic pub-sub library.") + (license license:bsd-2))) + (define-public go-github-com-cyberdelia-go-metrics-graphite (package (name "go-github-com-cyberdelia-go-metrics-graphite") From d7abe61507572f040cefe788a6853dbd5959e205 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sat, 2 Mar 2024 23:25:06 +0300 Subject: [PATCH 171/261] gnu: Add go-github-com-hashicorp-errwrap. * gnu/packages/golang-xyz.scm (go-github-com-hashicorp-errwrap): New variable. Change-Id: I4a0e7c23f9aaab4e29c81a68d976dafcd86dd2d1 Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 3fdc88c3561..f488b17e61d 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -768,6 +768,30 @@ Differentiation between text and binary files}. @end itemize") (license license:expat))) +(define-public go-github-com-hashicorp-errwrap + (package + (name "go-github-com-hashicorp-errwrap") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/errwrap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0p5wdz8p7dmwphmb33gwhy3iwci5k9wkfqmmfa6ay1lz0cqjwp7a")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hashicorp/errwrap")) + (home-page "https://github.com/hashicorp/errwrap") + (synopsis "Wrapping and querying errors for Golang") + (description + "@code{errwrap} is a package for Go that formalizes the pattern of +wrapping errors and checking if an error contains another error.") + (license license:mpl2.0))) + (define-public go-github-com-hhrutter-tiff (package (name "go-github-com-hhrutter-tiff") From b577550c0026b27c0493480cac7852881eec4116 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sat, 2 Mar 2024 23:26:40 +0300 Subject: [PATCH 172/261] gnu: Add go-github-com-hashicorp-go-multierror. * gnu/packages/golang-xyz.scm (go-github-com-hashicorp-go-multierror): New variable. Change-Id: I6b09a52dc314c4cc6903690738debf4b6c99393f Signed-off-by: Sharlatan Hellseher --- gnu/packages/golang-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index f488b17e61d..08c3df44b57 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -792,6 +792,34 @@ Differentiation between text and binary files}. wrapping errors and checking if an error contains another error.") (license license:mpl2.0))) +(define-public go-github-com-hashicorp-go-multierror + (package + (name "go-github-com-hashicorp-go-multierror") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-multierror") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l4s41skdpifndn9s8y6s9vzgghdzg4z8z0lld9qjr28888wzp00")))) + (build-system go-build-system) + (inputs (list go-github-com-hashicorp-errwrap)) + (arguments + (list + #:import-path "github.com/hashicorp/go-multierror")) + (home-page "https://github.com/hashicorp/go-multierror") + (synopsis "Representing a errors list as a single error for Golang") + (description + "@code{go-multierror} is Golang module providing a mechanism for +representing a list of @code{error} values as a single @code{error}. It is +fully compatible with the standard @code{errors} package, including +the functions @code{As}, @code{Is}, and @code{Unwrap}. This provides a +standardized approach for introspecting on error values.") + (license license:mpl2.0))) + (define-public go-github-com-hhrutter-tiff (package (name "go-github-com-hhrutter-tiff") From e6ce91d1bf610baba201d9d81557d79baa15ccd8 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 22:59:01 +0000 Subject: [PATCH 173/261] gnu: go-github-com-hashicorp-go-syslog: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-hashicorp-go-syslog): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. Change-Id: Iae1acbde5fcccb7879944dbcbda8a32672478f6a --- gnu/packages/golang-xyz.scm | 24 ++++++++++++++++++++++++ gnu/packages/golang.scm | 22 ---------------------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 08c3df44b57..05f32ad2e4d 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -820,6 +820,30 @@ the functions @code{As}, @code{Is}, and @code{Unwrap}. This provides a standardized approach for introspecting on error values.") (license license:mpl2.0))) +(define-public go-github-com-hashicorp-go-syslog + (package + (name "go-github-com-hashicorp-go-syslog") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-syslog") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hashicorp/go-syslog")) + (home-page "https://github.com/hashicorp/go-syslog") + (synopsis "Golang syslog wrapper, cross-compile friendly") + (description + "This package is a very simple wrapper around log/syslog") + (license license:expat))) + (define-public go-github-com-hhrutter-tiff (package (name "go-github-com-hhrutter-tiff") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index fbf6b4c3493..4382b12f7c7 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -8781,28 +8781,6 @@ is unchanged. This package contains a series of small enhancements and additions.") (license license:bsd-3)))) -(define-public go-github-com-hashicorp-go-syslog - (package - (name "go-github-com-hashicorp-go-syslog") - (version "1.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hashicorp/go-syslog") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/hashicorp/go-syslog")) - (home-page "https://github.com/hashicorp/go-syslog") - (synopsis "Golang syslog wrapper, cross-compile friendly") - (description "This package is a very simple wrapper around log/syslog") - (license license:expat))) - (define-public go-golang-zx2c4-com-wireguard (package (name "go-golang-zx2c4-com-wireguard") From 5f5d8167b19e21146b56299c44117fd1a6509eba Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 23:03:39 +0000 Subject: [PATCH 174/261] gnu: go-github-com-hashicorp-go-uuid: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-hashicorp-go-uuid): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. Change-Id: Ib97abb60b716c971bb54144d7d1ea015211e1ed4 --- gnu/packages/golang-xyz.scm | 27 +++++++++++++++++++++++++++ gnu/packages/golang.scm | 25 ------------------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 05f32ad2e4d..c6c1c4bb248 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2023 Benjamin ;;; Copyright © 2023 Hilton Chain ;;; Copyright © 2023 Katherine Cox-Buday +;;; Copyright © 2023 Nicolas Graves ;;; Copyright © 2023 Thomas Ieong ;;; Copyright © 2023 Timo Wilken ;;; Copyright © 2023, 2024 Sharlatan Hellseher @@ -844,6 +845,32 @@ standardized approach for introspecting on error values.") "This package is a very simple wrapper around log/syslog") (license license:expat))) +(define-public go-github-com-hashicorp-go-uuid + (package + (name "go-github-com-hashicorp-go-uuid") + (version "1.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-uuid") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hashicorp/go-uuid")) + (home-page "https://github.com/hashicorp/go-uuid") + (synopsis "Generate UUID-format strings") + (description + "This package generates UUID-format strings using high quality bytes. +It is not intended to be RFC compliant, merely to use a well-understood string +representation of a 128-bit value. It can also parse UUID-format strings into +their component bytes.") + (license license:mpl2.0))) + (define-public go-github-com-hhrutter-tiff (package (name "go-github-com-hhrutter-tiff") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 4382b12f7c7..58126f7eeba 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3500,31 +3500,6 @@ editor.") spec in Go.") (license license:bsd-3)))) -(define-public go-github-com-hashicorp-go-uuid - (package - (name "go-github-com-hashicorp-go-uuid") - (version "1.0.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hashicorp/go-uuid") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0wd4maaq20alxwcvfhr52rzfnwwpmc2a698ihyr0vfns2sl7gkzk")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/hashicorp/go-uuid")) - (home-page "https://github.com/hashicorp/go-uuid") - (synopsis "Generate UUID-format strings") - (description - "This package generates UUID-format strings using high quality bytes. -It is not intended to be RFC compliant, merely to use a well-understood string -representation of a 128-bit value. It can also parse UUID-format strings into -their component bytes.") - (license license:mpl2.0))) - (define-public go-github-com-hashicorp-go-version (let ((commit "03c5bf6be031b6dd45afec16b1cf94fc8938bc77") From 080f93132064eb16df0ea1d7d744975193c2a9de Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 23:07:57 +0000 Subject: [PATCH 175/261] gnu: go-github-com-spf13-viper: Remove input labels. * gnu/package/golang.scm (go-github-com-spf13-viper) [propagated-inputs]: Remove input labels. Change-Id: I0c8c616b9b44a2fd21f83dbfb609fe1bd861d657 --- gnu/packages/golang.scm | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 58126f7eeba..74fc08f83d4 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3888,21 +3888,21 @@ GNU extensions} to the POSIX recommendations for command-line options.") "099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/spf13/viper")) + (list + #:import-path "github.com/spf13/viper")) (propagated-inputs - `(("github.com/spf13/afero" ,go-github-com-spf13-afero) - ("github.com/spf13/cast" ,go-github-com-spf13-cast) - ("github.com/spf13/pflag" ,go-github-com-spf13-pflag) - ("github.com/spf13/jwalterweatherman" ,go-github-com-spf13-jwalterweatherman) - ("github.com/fsnotify/fsnotify" ,go-github-com-fsnotify-fsnotify) - ("github.com/hashicorp/hcl" ,go-github-com-hashicorp-hcl) - ("github.com/magiconair/properties" ,go-github-com-magiconair-properties) - ("github.com/mitchellh/mapstructure" ,go-github-com-mitchellh-mapstructure) - ("github.com/pelletier/go-toml" ,go-github-com-pelletier-go-toml) - ("github.com/subosito/gotenv" ,go-github-com-subosito-gotenv) - - ("gopkg.in/ini.v1" ,go-gopkg-in-ini-v1) - ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2))) + (list go-github-com-fsnotify-fsnotify + go-github-com-hashicorp-hcl + go-github-com-magiconair-properties + go-github-com-mitchellh-mapstructure + go-github-com-pelletier-go-toml + go-github-com-spf13-afero + go-github-com-spf13-cast + go-github-com-spf13-jwalterweatherman + go-github-com-spf13-pflag + go-github-com-subosito-gotenv + go-gopkg-in-ini-v1 + go-gopkg-in-yaml-v2)) (native-inputs (list go-github-com-stretchr-testify)) (home-page "https://github.com/spf13/viper") From f3914c1a7bee3f552d2ce653f7fb8ac07829063a Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 23:12:57 +0000 Subject: [PATCH 176/261] gnu: go-github-com-hashicorp-go-version: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-hashicorp-go-version): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. Change-Id: Ica0c069e90ade97efbbb201f36d92ff70bad1c8b --- gnu/packages/golang-xyz.scm | 29 +++++++++++++++++++++++++++++ gnu/packages/golang.scm | 30 ------------------------------ 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index c6c1c4bb248..27216e745dc 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -871,6 +871,35 @@ representation of a 128-bit value. It can also parse UUID-format strings into their component bytes.") (license license:mpl2.0))) +(define-public go-github-com-hashicorp-go-version + (let ((commit + "03c5bf6be031b6dd45afec16b1cf94fc8938bc77") + (revision "0")) + (package + (name "go-github-com-hashicorp-go-version") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-version") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/hashicorp/go-version")) + (home-page "https://github.com/hashicorp/go-version") + (synopsis "Go library for parsing and verifying versions and version +constraints") + (description + "This package is a library for parsing versions and version +constraints, and verifying versions against a set of constraints. It can sort +a collection of versions properly, handles prerelease/beta versions, can +increment versions.") + (license license:mpl2.0)))) + (define-public go-github-com-hhrutter-tiff (package (name "go-github-com-hhrutter-tiff") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 74fc08f83d4..d1f6bada15f 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3500,36 +3500,6 @@ editor.") spec in Go.") (license license:bsd-3)))) -(define-public go-github-com-hashicorp-go-version - (let ((commit - "03c5bf6be031b6dd45afec16b1cf94fc8938bc77") - (revision "0")) - (package - (name "go-github-com-hashicorp-go-version") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hashicorp/go-version") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/hashicorp/go-version")) - (home-page - "https://github.com/hashicorp/go-version") - (synopsis "Go library for parsing and verifying versions and version -constraints") - (description "This package is a library for parsing versions and version -constraints, and verifying versions against a set of constraints. It can sort -a collection of versions properly, handles prerelease/beta versions, can -increment versions.") - (license license:mpl2.0)))) - (define-public go-github-com-jpillora-backoff (let ((commit "06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d") From 44790c7c8c31e4f543c330c61a9b11175a380483 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 23:15:47 +0000 Subject: [PATCH 177/261] gnu: go-github-com-hashicorp-go-version: Update to 1.6.0. * gnu/packages/golang-xyz.scm (go-github-com-hashicorp-go-version): Update to 1.6.0. Change-Id: I964c450d42a436bf093222c90abadcaf84b2968d --- gnu/packages/golang-xyz.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 27216e745dc..cda7d24de07 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -872,21 +872,18 @@ their component bytes.") (license license:mpl2.0))) (define-public go-github-com-hashicorp-go-version - (let ((commit - "03c5bf6be031b6dd45afec16b1cf94fc8938bc77") - (revision "0")) (package (name "go-github-com-hashicorp-go-version") - (version (git-version "0.0.0" revision commit)) + (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/hashicorp/go-version") - (commit commit))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik")))) + (base32 "0fw6hwvjadpbfj10yk7f64ypw8lmv5s5ny3s4ria0nv6xam1wpai")))) (build-system go-build-system) (arguments '(#:import-path "github.com/hashicorp/go-version")) @@ -898,7 +895,7 @@ constraints") constraints, and verifying versions against a set of constraints. It can sort a collection of versions properly, handles prerelease/beta versions, can increment versions.") - (license license:mpl2.0)))) + (license license:mpl2.0))) (define-public go-github-com-hhrutter-tiff (package From adab22203ee41d95dc5fcff807adfab3a92a02fb Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 23:16:03 +0000 Subject: [PATCH 178/261] gnu: go-github-com-hashicorp-go-version: Fix indentation. * gnu/packages/golang-xyz.scm (go-github-com-hashicorp-go-version): Fix indentation. Change-Id: Ib6f81057c9434097209875b91806703695c5089c --- gnu/packages/golang-xyz.scm | 40 ++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index cda7d24de07..7221a54b6a5 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -872,30 +872,30 @@ their component bytes.") (license license:mpl2.0))) (define-public go-github-com-hashicorp-go-version - (package - (name "go-github-com-hashicorp-go-version") - (version "1.6.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hashicorp/go-version") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0fw6hwvjadpbfj10yk7f64ypw8lmv5s5ny3s4ria0nv6xam1wpai")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/hashicorp/go-version")) - (home-page "https://github.com/hashicorp/go-version") - (synopsis "Go library for parsing and verifying versions and version + (package + (name "go-github-com-hashicorp-go-version") + (version "1.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-version") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fw6hwvjadpbfj10yk7f64ypw8lmv5s5ny3s4ria0nv6xam1wpai")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/hashicorp/go-version")) + (home-page "https://github.com/hashicorp/go-version") + (synopsis "Go library for parsing and verifying versions and version constraints") - (description - "This package is a library for parsing versions and version + (description + "This package is a library for parsing versions and version constraints, and verifying versions against a set of constraints. It can sort a collection of versions properly, handles prerelease/beta versions, can increment versions.") - (license license:mpl2.0))) + (license license:mpl2.0))) (define-public go-github-com-hhrutter-tiff (package From cd49133bfe97d6336adc85b1b587e335721cbdaa Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 23:21:12 +0000 Subject: [PATCH 179/261] gnu: go-github-com-hashicorp-hcl: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-hashicorp-hcl): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. Change-Id: I431689059384d203cdb1c2d40f16ef9c5958b5ab --- gnu/packages/golang-xyz.scm | 30 +++++++++++++++++++++++++++++- gnu/packages/golang.scm | 27 --------------------------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 7221a54b6a5..5911461a595 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2019 Leo Famulari +;;; Copyright © 2018 Christopher Baines ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2019 Brian Leung ;;; Copyright © 2019 Leo Famulari @@ -10,6 +11,7 @@ ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Raghav Gururajan ;;; Copyright © 2021 Sarah Morgensen +;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher ;;; Copyright © 2022 Dominic Martinez ;;; Copyright © 2023 Benjamin ;;; Copyright © 2023 Hilton Chain @@ -17,7 +19,6 @@ ;;; Copyright © 2023 Nicolas Graves ;;; Copyright © 2023 Thomas Ieong ;;; Copyright © 2023 Timo Wilken -;;; Copyright © 2023, 2024 Sharlatan Hellseher ;;; Copyright © 2024 Artyom V. Poptsov ;;; Copyright © 2024 Troy Figiel ;;; @@ -793,6 +794,33 @@ Differentiation between text and binary files}. wrapping errors and checking if an error contains another error.") (license license:mpl2.0))) +(define-public go-github-com-hashicorp-hcl + (package + (name "go-github-com-hashicorp-hcl") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/hcl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hashicorp/hcl")) + (native-inputs + (list go-github-com-davecgh-go-spew)) + (synopsis "Go implementation of HashiCorp Configuration Language V1") + (description + "This package contains the main implementation of the @acronym{HCL, +HashiCorp Configuration Language}. HCL is designed to be a language for +expressing configuration which is easy for both humans and machines to read.") + (home-page "https://github.com/hashicorp/hcl") + (license license:mpl2.0))) + (define-public go-github-com-hashicorp-go-multierror (package (name "go-github-com-hashicorp-go-multierror") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d1f6bada15f..3fa3ed7ebf7 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3304,33 +3304,6 @@ command-line parsers.") (home-page "https://github.com/tj/docopt") (license license:expat))) -(define-public go-github-com-hashicorp-hcl - (package - (name "go-github-com-hashicorp-hcl") - (version "1.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hashicorp/hcl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/hashicorp/hcl")) - (native-inputs - (list go-github-com-davecgh-go-spew)) - (synopsis "Go implementation of HashiCorp Configuration Language V1") - (description - "This package contains the main implementation of the @acronym{HCL, -HashiCorp Configuration Language}. HCL is designed to be a language for -expressing configuration which is easy for both humans and machines to read.") - (home-page "https://github.com/hashicorp/hcl") - (license license:mpl2.0))) - (define-public go-github-com-hashicorp-hcl-v2 (package (name "go-github-com-hashicorp-hcl-v2") From b4107ca3ad8bb8a6b8e669c298be2f14ff0237da Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Wed, 6 Mar 2024 23:24:24 +0000 Subject: [PATCH 180/261] gnu: go-github-com-hashicorp-hcl-v2: Move to golang-xyz. * gnu/packages/golang.scm (go-github-com-hashicorp-hcl-v2): Move from here ... * gnu/packages/golang-xyz.scm: ... to here. Change-Id: Ife07c1ca7b0ba7241955767ebd2430a8e60aec90 --- gnu/packages/golang-xyz.scm | 32 ++++++++++++++++++++++++++++++++ gnu/packages/golang.scm | 31 ------------------------------- 2 files changed, 32 insertions(+), 31 deletions(-) diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm index 5911461a595..0b3db6e379b 100644 --- a/gnu/packages/golang-xyz.scm +++ b/gnu/packages/golang-xyz.scm @@ -821,6 +821,38 @@ expressing configuration which is easy for both humans and machines to read.") (home-page "https://github.com/hashicorp/hcl") (license license:mpl2.0))) +(define-public go-github-com-hashicorp-hcl-v2 + (package + (name "go-github-com-hashicorp-hcl-v2") + (version "2.11.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/hcl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/hashicorp/hcl/v2")) + (native-inputs + (list go-github-com-davecgh-go-spew)) + (inputs + (list go-github-com-agext-levenshtein + go-github-com-apparentlymart-go-textseg-v13 + go-github-com-mitchellh-go-wordwrap + go-github-com-zclconf-go-cty)) + (synopsis "Go implementation of HashiCorp Configuration Language V2") + (description + "This package contains the main implementation of the @acronym{HCL, +HashiCorp Configuration Language}. HCL is designed to be a language for +expressing configuration which is easy for both humans and machines to read.") + (home-page "https://github.com/hashicorp/hcl") + (license license:mpl2.0))) + (define-public go-github-com-hashicorp-go-multierror (package (name "go-github-com-hashicorp-go-multierror") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 3fa3ed7ebf7..d12902290e2 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3304,37 +3304,6 @@ command-line parsers.") (home-page "https://github.com/tj/docopt") (license license:expat))) -(define-public go-github-com-hashicorp-hcl-v2 - (package - (name "go-github-com-hashicorp-hcl-v2") - (version "2.11.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hashicorp/hcl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0f9flmmkj7fr1337fc56cqy73faq87ix375hnz3id4wc023przv1")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/hashicorp/hcl/v2")) - (native-inputs - (list go-github-com-davecgh-go-spew)) - (inputs - (list go-github-com-agext-levenshtein go-github-com-mitchellh-go-wordwrap - go-github-com-zclconf-go-cty - go-github-com-apparentlymart-go-textseg-v13)) - (synopsis "Go implementation of HashiCorp Configuration Language V2") - (description - "This package contains the main implementation of the @acronym{HCL, -HashiCorp Configuration Language}. HCL is designed to be a language for -expressing configuration which is easy for both humans and machines to read.") - (home-page "https://github.com/hashicorp/hcl") - (license license:mpl2.0))) - (define-public govulncheck (package (name "govulncheck") From 915e2fc339db7b52beccb9e43fb888899ed8306b Mon Sep 17 00:00:00 2001 From: Suhail Singh Date: Tue, 5 Mar 2024 19:48:42 -0500 Subject: [PATCH 181/261] gnu: emacs-eldev: Update to 1.9. * gnu/packages/emacs-xyz.scm (emacs-eldev): Update to 1.9. Change-Id: I364f261a5d332793d7dd0b789e32a993fa749bd4 Signed-off-by: Andrew Tropin --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e1d14ea4aad..903537acb5e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -23495,7 +23495,7 @@ according to a parsing expression grammar.") (define-public emacs-eldev (package (name "emacs-eldev") - (version "1.8.2") + (version "1.9") (source (origin (method git-fetch) @@ -23504,7 +23504,7 @@ according to a parsing expression grammar.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "108px7lnf39ngvb8rcqb9qh2amcbs1h22dbwd1q7js2np2nd132y")))) + (base32 "0mhp3m4d5na844nnv107j706552h0q6xs93jkp4rmqiig73kq17w")))) (build-system emacs-build-system) (arguments (list From 0f2eede9f1d4574813935b7f58384036d509002d Mon Sep 17 00:00:00 2001 From: Suhail Singh Date: Tue, 5 Mar 2024 19:50:38 -0500 Subject: [PATCH 182/261] gnu: emacs-ox-tufte: Simplify test invocation. * gnu/packages/emacs-xyz.scm (emacs-ox-tufte): Simplify the test invocation using the --use-emacsloadpath option in emacs-eldev@1.9. Change-Id: Ie61a336251b2670872cc8d049cc1c62284b7f350 Signed-off-by: Andrew Tropin --- gnu/packages/emacs-xyz.scm | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 903537acb5e..7fa5df92026 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -33691,22 +33691,7 @@ simple but powerful Org contents.") (list #:include #~(cons "^src/" %default-include) #:tests? #t - ;; - #:test-command #~(list "eldev" "-X" "-dtTC" "test") - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'configure-eldev - (lambda _ - (setenv "HOME" - (string-append (getcwd) "/.eldev")) - (with-output-to-file "Eldev-local" - (lambda _ - (format #t "~s" - '(dolist (d (split-string (getenv - "EMACSLOADPATH") - ":" t)) - (ignore-errors - (eldev-use-local-dependency d))))))))))) + #:test-command #~(list "eldev" "--use-emacsloadpath" "-dtTC" "test"))) (native-inputs (list emacs-buttercup emacs-eldev)) (propagated-inputs (list emacs-org)) (home-page "https://github.com/ox-tufte/ox-tufte") From f7295486ac22ba51904b10bbedd518390c81ac57 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Mar 2024 11:27:23 +0200 Subject: [PATCH 183/261] gnu: guix-icons: Clean-up package. * gnu/packages/package-management.scm (guix-icons): Don't inherit from guix. [inputs]: Remove field. [home-page]: Use Guix's home-page. [license]: Update to cc-by-sa4.0. Change-Id: Icc14bd16a1746a6d1f95260a0da5f8f5bf7494a7 --- gnu/packages/package-management.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 5d6bc47b8b6..f392c737fe9 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2018, 2019 Rutger Helling ;;; Copyright © 2018 Sou Bunnbu ;;; Copyright © 2018, 2019 Eric Bavier -;;; Copyright © 2019-2023 Efraim Flashner +;;; Copyright © 2019-2024 Efraim Flashner ;;; Copyright © 2019 Jonathan Brielmaier ;;; Copyright © 2020 Mathieu Othacehe ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen @@ -682,15 +682,12 @@ overridden by setting the 'current-guix-package' parameter." (define-public guix-icons (package - (inherit guix) (name "guix-icons") (version "0.1") (source %artwork-repository) (build-system trivial-build-system) (native-inputs (list imagemagick)) - (inputs - '()) (arguments `(#:modules ((guix build utils) (gnu build svg)) @@ -738,10 +735,12 @@ overridden by setting the 'current-guix-package' parameter." #:width size #:height size))) sizes)))))) + (home-page "https://www.gnu.org/software/guix/") (synopsis "GNU Guix icons") (description "This package contains GNU Guix icons organized according to the Icon Theme Specification. They can be used by applications querying the -GTK icon cache for instance."))) +GTK icon cache for instance.") + (license license:cc-by-sa4.0))) (define-public guix-modules (package From f7fcddef52e5d167922e0225a3a22c900a14cb5b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 7 Mar 2024 11:29:20 +0200 Subject: [PATCH 184/261] gnu: Add guix-backgrounds. * gnu/packages/package-management.scm (guix-backgrounds): New variable. Change-Id: If6159ed955877c42452b5ab6d853d3bf8687cde0 --- gnu/packages/package-management.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index f392c737fe9..c40f90ecfc8 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -120,6 +120,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages version-control) #:autoload (guix build-system channel) (channel-build-system) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system guile) @@ -742,6 +743,23 @@ the Icon Theme Specification. They can be used by applications querying the GTK icon cache for instance.") (license license:cc-by-sa4.0))) +(define-public guix-backgrounds + (package + (name "guix-backgrounds") + (version "0.1") + (source %artwork-repository) + (build-system copy-build-system) + (arguments + (list #:install-plan + #~'(("backgrounds" "share/backgrounds/guix" #:exclude ("README"))))) + (home-page "https://www.gnu.org/software/guix/") + (synopsis "Background images for GNU Guix") + (description "The SVG files in this directory are intended to be used as +backgrounds for different components of the GNU system like login managers and +desktop environments. The backgrounds are available in different aspect ratios +which are indicated in the file name.") + (license (list license:public-domain license:cc-by-sa4.0)))) + (define-public guix-modules (package (name "guix-modules") From 7e72b7f119d720758e17cb7ebd0e2245c88863d1 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Mar 2024 11:40:51 +0200 Subject: [PATCH 185/261] gnu: opus: Mark as tunable. * gnu/packages/xiph.scm (opus)[properties]: Mark package as tunable. Change-Id: I5df964b5692c6f390eef55d780810b03d6a895dc --- gnu/packages/xiph.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index f3603c39bbe..6fc05711f44 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -367,6 +367,8 @@ is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.") + ;; This package shows a sizable speed increase when tuned. + (properties `((tunable? . #t))) (license license:bsd-3) (home-page "https://www.opus-codec.org"))) From 0753dd3aa07f609db98d50438f69f96c27e11eec Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 5 Mar 2024 11:41:46 +0200 Subject: [PATCH 186/261] gnu: libvorbis: Mark as tunable. * gnu/packages/xiph.scm (libvorbis)[properties]: Mark package as tunable. Change-Id: Ie378a8c671ba6408a137e3c27824cb17671cafe3 --- gnu/packages/xiph.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 6fc05711f44..9019029f24d 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -100,6 +100,8 @@ a fully open, non-proprietary, patent-and-royalty-free, general-purpose compressed audio format for mid to high quality (8kHz-48.0kHz, 16+ bit, polyphonic) audio and music at fixed and variable bitrates from 16 to 128 kbps/channel.") + ;; This package shows a sizable speed increase when tuned. + (properties `((tunable? . #t))) (license (license:non-copyleft "file://COPYING" "See COPYING in the distribution.")) (home-page "https://xiph.org/vorbis/"))) From 63165a94862c2b338e329cbd781712c7a7a1b475 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Mar 2024 09:09:56 +0200 Subject: [PATCH 187/261] cpu: Be consistent with x86_64 micro-architecture names. * gnu/packages/golang.scm (%go-1.18-x86_64-micro-architectures): Rename micro-architectures from x86_64-v* to x86-64-v*. * guix/cpu.scm (cpu->gcc-architecture): Return x86-64 as the fallback. (cpu->micro-architecture-level): Rename micro-architectures from x86_64-v* to x86-64-v*. (gcc-architecture->micro-architecture-level): Same. Change-Id: I37db65970417c22699ae8097b0361bccf76c1267 --- gnu/packages/golang.scm | 2 +- guix/cpu.scm | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d12902290e2..670056f8a05 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -870,7 +870,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)))))) (define %go-1.18-x86_64-micro-architectures - (list "x86_64-v1" "x86_64-v2" "x86_64-v3" "x86_64-v4")) + (list "x86-64-v1" "x86-64-v2" "x86-64-v3" "x86-64-v4")) (define-public go-1.18 (package diff --git a/guix/cpu.scm b/guix/cpu.scm index e80b74f1613..b69c9b53601 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm @@ -200,7 +200,7 @@ corresponds to CPU, a record as returned by 'current-cpu'." ;; TODO: Recognize CENTAUR/CYRIX/NSC? - "x86_64"))) + "x86-64"))) ("aarch64" ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def ;; What to do with big.LITTLE cores? @@ -290,12 +290,12 @@ correspond roughly to CPU, a record as returned by 'current-cpu'." ;; v2: CMPXCHG16B, LAHF, SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3 ("avx512f" "avx512bw" "abx512cd" "abx512dq" "avx512vl" "avx" "avx2" "bmi1" "bmi2" "f16c" "fma" "movbe" - "popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86_64-v4") + "popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v4") ("avx" "avx2" "bmi1" "bmi2" "f16c" "fma" "movbe" - "popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86_64-v3") - ("popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86_64-v2") - (_ => "x86_64-v1"))) - "x86_64-v1")) + "popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v3") + ("popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v2") + (_ => "x86-64-v1"))) + "x86-64-v1")) (architecture ;; TODO: More architectures architecture))) @@ -304,22 +304,22 @@ correspond roughly to CPU, a record as returned by 'current-cpu'." "Return a matching psABI micro-architecture, allowing optimizations for x86_64 CPUs for compilers which don't allow for more focused optimizing." ;; Matching gcc-architectures isn't an easy task, with the rule-of-thumb being - ;; AVX512F+ for x86_64-v4, AVX+ for x86_64-v3. + ;; AVX512F+ for x86-64-v4, AVX+ for x86-64-v3. ;; https://gitlab.com/x86-psABIs/x86-64-ABI/-/blob/master/x86-64-ABI/low-level-sys-info.tex (match gcc-architecture ((or "graniterapids-d" "graniterapids" "tigerlake" "sapphirerapids" "cooperlake" "icelake-server" "icelake-client" "cannonlake" "knm" "knl" "skylake-avx512" "znver4") - "x86_64-v4") + "x86-64-v4") ((or "pantherlake" "clearwaterforest" "arrowlake-s" "sierraforest" "alderlake" "skylake" "broadwell" "haswell" "znver3" "znver2" "znver1" "bdver4") - "x86_64-v3") + "x86-64-v3") ((or "sandybridge" "tremont" "goldmont-plus" "goldmont" "silvermont" "nehalem" "bonnell" "core2" "btver2" "athalon" "k8-sse3" "k8" "bdver3" "bdver2" "bdver1" "btver1" "amdfam10" "lujiazui" "yongfeng" "x86-64") - "x86_64-v1") + "x86-64-v1") (_ gcc-architecture))) From 7700dc2cf5e1ada04a6fbcbffbe150f8274ab502 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Mar 2024 09:14:03 +0200 Subject: [PATCH 188/261] cpu: Rename x86-64-v1 to x86-64. This is the actual micro-architecture designation used by compilers. * gnu/packages/gcc.scm (%gcc-11-x86_64-micro-architectures): Rename x86-64-v1 to x86-64. * gnu/packages/golang.scm (%go-1.18-x86_64-micro-architectures): Same. * guix/cpu.scm (cpu->micro-architecture-level): Same. (gcc-architecture->micro-architecture-level): Same. Change-Id: I19ed556a7e8deb4a77f4c63fca3b794f25092788 --- gnu/packages/gcc.scm | 2 +- gnu/packages/golang.scm | 3 ++- guix/cpu.scm | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 3abecdeaddc..3555d12c442 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -624,7 +624,7 @@ Go. It also includes runtime support libraries for these languages.") "btver1" "btver2" ;AMD ;; psABI micro-architecture levels - "x86-64-v1" "x86-64-v2" "x86-64-v3" "x86-64-v4"))) + "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4"))) ;; Suitable '-march' values for GCC 12. (define %gcc-12-aarch64-micro-architectures diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 670056f8a05..49e25320fa5 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -870,7 +870,8 @@ in the style of communicating sequential processes (@dfn{CSP}).") ("powerpc64le" ,@%go-1.17-powerpc64le-micro-architectures)))))) (define %go-1.18-x86_64-micro-architectures - (list "x86-64-v1" "x86-64-v2" "x86-64-v3" "x86-64-v4")) + ;; GOAMD defaults to 'v1' so we match the default elsewhere. + (list "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4")) (define-public go-1.18 (package diff --git a/guix/cpu.scm b/guix/cpu.scm index b69c9b53601..6f9e8daa618 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm @@ -294,8 +294,8 @@ correspond roughly to CPU, a record as returned by 'current-cpu'." ("avx" "avx2" "bmi1" "bmi2" "f16c" "fma" "movbe" "popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v3") ("popcnt" "sse3" "sse4_1" "sse4_2" "ssse3" => "x86-64-v2") - (_ => "x86-64-v1"))) - "x86-64-v1")) + (_ => "x86-64"))) + "x86-64")) (architecture ;; TODO: More architectures architecture))) @@ -321,5 +321,5 @@ CPUs for compilers which don't allow for more focused optimizing." "btver2" "athalon" "k8-sse3" "k8" "bdver3" "bdver2" "bdver1" "btver1" "amdfam10" "lujiazui" "yongfeng" "x86-64") - "x86-64-v1") + "x86-64") (_ gcc-architecture))) From cae9e9db329ff13188ef98bd062a7d5b6b5e5a99 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Mar 2024 09:19:56 +0200 Subject: [PATCH 189/261] cpu: Enable tuning for i686-linux. * gnu/packages/gcc.scm (gcc-7, gcc-10, gcc-11, gcc-12, gcc-13) [properties]: In compiler-cpu-architectures use the x86_64-micro-architectures list for i686. * guix/cpu.scm (cpu->gcc-architecture): Expand the x86_64 case to also support i686. Change-Id: I0b820ceb715960db5e702814fa278dc8c619a836 --- gnu/packages/gcc.scm | 5 +++++ guix/cpu.scm | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 3555d12c442..c8902de6a0b 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -673,6 +673,7 @@ It also includes runtime support libraries for these languages.") `((compiler-cpu-architectures ("aarch64" ,@%gcc-7.5-aarch64-micro-architectures) ("armhf" ,@%gcc-7.5-armhf-micro-architectures) + ("i686" ,@%gcc-7.5-x86_64-micro-architectures) ("x86_64" ,@%gcc-7.5-x86_64-micro-architectures)) ,@(package-properties gcc-6))))) @@ -729,6 +730,7 @@ It also includes runtime support libraries for these languages.") `((compiler-cpu-architectures ("aarch64" ,@%gcc-10-aarch64-micro-architectures) ("armhf" ,@%gcc-10-armhf-micro-architectures) + ("i686" ,@%gcc-10-x86_64-micro-architectures) ("x86_64" ,@%gcc-10-x86_64-micro-architectures)) ,@(package-properties gcc-8))))) @@ -764,6 +766,7 @@ It also includes runtime support libraries for these languages.") `((compiler-cpu-architectures ("aarch64" ,@%gcc-11-aarch64-micro-architectures) ("armhf" ,@%gcc-11-armhf-micro-architectures) + ("i686" ,@%gcc-11-x86_64-micro-architectures) ("x86_64" ,@%gcc-11-x86_64-micro-architectures)) ,@(package-properties gcc-8))))) @@ -786,6 +789,7 @@ It also includes runtime support libraries for these languages.") `((compiler-cpu-architectures ("aarch64" ,@%gcc-12-aarch64-micro-architectures) ("armhf" ,@%gcc-12-armhf-micro-architectures) + ("i686" ,@%gcc-12-x86_64-micro-architectures) ("x86_64" ,@%gcc-12-x86_64-micro-architectures)) ,@(package-properties gcc-11))))) @@ -808,6 +812,7 @@ It also includes runtime support libraries for these languages.") `((compiler-cpu-architectures ("aarch64" ,@%gcc-13-aarch64-micro-architectures) ("armhf" ,@%gcc-13-armhf-micro-architectures) + ("i686" ,@%gcc-13-x86_64-micro-architectures) ("x86_64" ,@%gcc-13-x86_64-micro-architectures)) ,@(package-properties gcc-11))))) diff --git a/guix/cpu.scm b/guix/cpu.scm index 6f9e8daa618..840215cff04 100644 --- a/guix/cpu.scm +++ b/guix/cpu.scm @@ -113,7 +113,7 @@ "Return the architecture name, suitable for GCC's '-march' flag, that corresponds to CPU, a record as returned by 'current-cpu'." (match (cpu-architecture cpu) - ("x86_64" + ((or "x86_64" "i686") ;; Transcribed from GCC's 'host_detect_local_cpu' in driver-i386.cc. (letrec-syntax ((if-flags (syntax-rules (=>) ((_) @@ -200,7 +200,9 @@ corresponds to CPU, a record as returned by 'current-cpu'." ;; TODO: Recognize CENTAUR/CYRIX/NSC? - "x86-64"))) + (match (cpu-architecture cpu) + ("x86_64" "x86-64") + (_ "generic"))))) ("aarch64" ;; Transcribed from GCC's list of aarch64 processors in aarch64-cores.def ;; What to do with big.LITTLE cores? From 7fd57fdd83c0e4ec60641f330dd2181018f8106e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Mar 2024 12:25:18 +0200 Subject: [PATCH 190/261] gnu: clang-properties: Update x86_64 micro-architectures. * gnu/packages/llvm.scm (clang-properties): Add entries on x86_64 for versions 17, 16, 15, 13, 9 and remove entry for version 10. Change-Id: I93149c30f011c6de8ff0cc2c2b6f0186540359cd --- gnu/packages/llvm.scm | 122 +++++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 2778d0ec389..2567405cb48 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -482,67 +482,67 @@ code analysis tools.") (define (clang-properties version) "Return package properties for Clang VERSION." `((compiler-cpu-architectures - ("x86_64" - ;; This list was obtained by running: - ;; - ;; guix shell clang -- llc -march=x86-64 -mattr=help - ;; - ;; filtered from uninteresting entries such as "i686" and "pentium". - ,@(if (version>=? version "10.0") ;TODO: refine - '("atom" - "barcelona" - "bdver1" - "bdver2" - "bdver3" - "bdver4" - "bonnell" - "broadwell" - "btver1" - "btver2" - "c3" - "c3-2" - "cannonlake" - "cascadelake" - "cooperlake" - "core-avx-i" - "core-avx2" - "core2" - "corei7" - "corei7-avx" - "generic" - "geode" - "goldmont" - "goldmont-plus" - "haswell" - "icelake-client" - "icelake-server" - "ivybridge" - "k8" - "k8-sse3" - "knl" - "knm" - "lakemont" - "nehalem" - "nocona" - "opteron" - "opteron-sse3" - "sandybridge" - "silvermont" - "skx" - "skylake" - "skylake-avx512" - "slm" - "tigerlake" - "tremont" - "westmere" - "x86-64" - "x86-64-v2" - "x86-64-v3" - "x86-64-v4" - "znver1" - "znver2" - "znver3") - '()))))) + ("x86_64" + ;; This list was obtained from clang/test/Misc/target-invalid-cpu-note.c + ,@(cond + ((version>=? version "17.0") + '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm" + "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere" + "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell" + "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx" + "cascadelake" "cooperlake" "cannonlake" "icelake-client" + "rocketlake" "icelake-server" "tigerlake" "sapphirerapids" + "alderlake" "raptorlake" "meteorlake" "sierraforest" "grandridge" + "graniterapids" "graniterapids-d" "emeraldrapids" "knl" "knm" "k8" + "athlon64" "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3" + "opteron-sse3" "amdfam10" "barcelona" "btver1" "btver2" "bdver1" + "bdver2" "bdver3" "bdver4" "znver1" "znver2" "znver3" "znver4" + "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4")) + ((version>=? version "16.0") + '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm" + "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere" + "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell" + "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx" + "cascadelake" "cooperlake" "cannonlake" "icelake-client" + "rocketlake" "icelake-server" "tigerlake" "sapphirerapids" + "alderlake" "raptorlake" "meteorlake" "sierraforest" "grandridge" + "graniterapids" "emeraldrapids" "knl" "knm" "k8" "athlon64" + "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3" "opteron-sse3" + "amdfam10" "barcelona" "btver1" "btver2" "bdver1" "bdver2" + "bdver3" "bdver4" "znver1" "znver2" "znver3" "znver4" "x86-64" + "x86-64-v2" "x86-64-v3" "x86-64-v4")) + ((version>=? version "15.0") + '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm" + "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere" + "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell" + "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx" + "cascadelake" "cooperlake" "cannonlake" "icelake-client" + "rocketlake" "icelake-server" "tigerlake" "sapphirerapids" + "alderlake" "knl" "knm" "k8" "athlon64" "athlon-fx" "opteron" + "k8-sse3" "athlon64-sse3" "opteron-sse3" "amdfam10" "barcelona" + "btver1" "btver2" "bdver1" "bdver2" "bdver3" "bdver4" "znver1" + "znver2" "znver3" "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4")) + ((version>=? version "13.0") + '("nocona" "core2" "penryn" "bonnell" "atom" "silvermont" "slm" + "goldmont" "goldmont-plus" "tremont" "nehalem" "corei7" "westmere" + "sandybridge" "corei7-avx" "ivybridge" "core-avx-i" "haswell" + "core-avx2" "broadwell" "skylake" "skylake-avx512" "skx" + "cascadelake" "cooperlake" "cannonlake" "icelake-client" + "rocketlake" "icelake-server" "tigerlake" "sapphirerapids" + "alderlake" "knl" "knm" "k8" "athlon64" "athlon-fx" "opteron" + "k8-sse3" "athlon64-sse3" "opteron-sse3" "amdfam10" "barcelona" + "btver1" "btver2" "bdver1" "bdver2" "bdver3" "bdver4" "znver1" + "znver2" "znver3" "x86-64" "x86-64-v2" "x86-64-v3" "x86-64-v4")) + ((version>=? version "9.0") + '("atom" "silvermont" "slm" "goldmont" "goldmont-plus" "tremont" + "nehalem" "corei7" "westmere" "sandybridge" "corei7-avx" + "ivybridge" "core-avx-i" "haswell" "core-avx2" "broadwell" + "skylake" "skylake-avx512" "skx" "cascadelake" "cooperlake" + "cannonlake" "icelake-client" "icelake-server" "knl" "knm" "k8" + "athlon64" "athlon-fx" "opteron" "k8-sse3" "athlon64-sse3" + "opteron-sse3" "amdfam10" "barcelona" "btver1" "btver2" "bdver1" + "bdver2" "bdver3" "bdver4" "znver1" "znver2" "x86-64")) + (else '())))))) (define-public (make-clang-toolchain clang libomp) (package From e8c904318339fd3b9edd763d70fad78fd7c3b2a8 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Wed, 6 Mar 2024 12:28:08 +0200 Subject: [PATCH 191/261] gnu: clang-properties: Add micro-architecture support for powerpc64le. * gnu/packages/llvm.scm (clang-properties): Add entry for powerpc64le. Change-Id: I89f300922270a1f35aa08e73e62d90843bd902c8 --- gnu/packages/llvm.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 2567405cb48..c002f62cacf 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -482,6 +482,11 @@ 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 From fa2029890fc1b9a6261582e545742dae6fad487f Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 7 Mar 2024 15:05:21 +0000 Subject: [PATCH 192/261] gnu: bffe: Update to 0-4.006b96a. * gnu/packages/package-management.scm (bffe): Update to 0-4.006b96a. Change-Id: Ie3a41c8ccad89ec746cd621088d1e45499e3d52a --- gnu/packages/package-management.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c40f90ecfc8..68c4329b092 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -991,8 +991,8 @@ transactions from C or Python.") (license license:gpl2+))) (define-public bffe - (let ((commit "1c12da4e6f3c7d3ab557781769fb848354362748") - (revision "3")) + (let ((commit "006b96a9ff41f5d8e639f93f81eeab87d204bd89") + (revision "4")) (package (name "bffe") (version (git-version "0" revision commit)) @@ -1003,7 +1003,7 @@ transactions from C or Python.") (commit commit))) (sha256 (base32 - "0qa63mssv85g38m3bcblgp3yscywgz0hrg4lc84dxx99b07pmfc3")) + "1ai3dzwp5ddn5i7xzvg0qcj0nbip03jx0d3vhvxqr1vnlr71rzvh")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (native-inputs @@ -1018,7 +1018,7 @@ transactions from C or Python.") guix guix-data-service guix-build-coordinator - guile-fibers-1.3 + guile-fibers guile-prometheus guile-lib)) (propagated-inputs @@ -1027,7 +1027,7 @@ transactions from C or Python.") guix guix-data-service guix-build-coordinator - guile-fibers-1.3 + guile-fibers guile-prometheus guile-lib)) (home-page "https://git.cbaines.net/guix/bffe") From 5a057914951047a299d7ec405aebe38dcf419253 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 7 Mar 2024 15:09:31 +0000 Subject: [PATCH 193/261] gnu: guix-build-coordinator: Update to 0-98.1c80525. * gnu/packages/package-management.scm (guix-build-coordinator): Update to 0-98.1c80525. Change-Id: Ia590600c2112b39f4ceced5734d7ed46f9045a46 --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 68c4329b092..f155edaca08 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1530,8 +1530,8 @@ environments.") "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) (define-public guix-build-coordinator - (let ((commit "9f1545b15269523eac109b54e1a62f4c0cda837e") - (revision "97")) + (let ((commit "1c80525d21f183ed2556def6fcd021f6ea9a88a4") + (revision "98")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1542,7 +1542,7 @@ environments.") (commit commit))) (sha256 (base32 - "1h35jjpvl7lipbys8q7ivx13cffkya6n0jpc91ckag3z2vb09iwp")) + "0krw4v04ynp8v12zgc87cx6d3rldr13b48kix9rzq4z17x7f39yc")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments From 7f2f1bcddae64c48f793cde15c21617fa706c157 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 7 Mar 2024 15:11:49 +0000 Subject: [PATCH 194/261] gnu: guix-data-service: Update to 0.0.1-45.5f80856. * gnu/packages/web.scm (guix-data-service): Update to 0.0.1-45.5f80856. Change-Id: I8ca137ee0088a6eb453306f9a7e6d8f9f8225d71 --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 040be69240d..75edf7b152b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4967,8 +4967,8 @@ Cloud.") (license license:expat))) (define-public guix-data-service - (let ((commit "e13febc81706fbfb7f073bc4e9ce73fbc80d5180") - (revision "44")) + (let ((commit "5f80856ad1587aea38ee4e7b54db558cdb43f6b7") + (revision "45")) (package (name "guix-data-service") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -4980,7 +4980,7 @@ Cloud.") (file-name (git-file-name name version)) (sha256 (base32 - "0pk86b44zg2yn73sxlcd9pqbz8xwprwzaib2npnq80y3yzc6qc22")))) + "18m002d9pkh0qn4xn4n6lijl541m9z7c3lbapl7m6zi41p3dywww")))) (build-system gnu-build-system) (arguments (list From 0db53e647028df60223ce0e2d4a404deaaca7652 Mon Sep 17 00:00:00 2001 From: arkhan Date: Thu, 7 Mar 2024 12:27:14 -0500 Subject: [PATCH 195/261] gnu: xonsh: Update to 0.15.1 * gnu/packages/shells.scm (xonsh): Update to 0.15.1 Signed-off-by: Arun Isaac --- gnu/packages/shells.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 1822380ac8c..492f4693d82 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -547,14 +547,14 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.14.2") + (version "0.15.1") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 (base32 - "0fddxzd45zvfr687mvd90f5s376yz0a8ln7qbpl94q89z7l0y77k")) + "0427mimr4k75myg5mnig564kq7xbb5f5hws2ly3gxxl6g8mk79il")) (modules '((guix build utils))) (snippet #~(begin From 2c5be45f3a3b1a60b3f5b2e02bc7f2f71b461c3b Mon Sep 17 00:00:00 2001 From: Ian Eure Date: Sun, 25 Feb 2024 14:20:30 -0800 Subject: [PATCH 196/261] gnu: Add python-mpv-jsonipc. * gnu/packages/python-xyz.scm (python-mpv-jsonipc): New variable. Change-Id: Iec7679213d9b9e8e5cbf01a30838e27e71704e54 Signed-off-by: Andreas Enge --- gnu/packages/python-xyz.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index fc6e997b6c9..55fd4cdad24 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -147,6 +147,7 @@ ;;; Copyright © 2023 Attila Lendvai ;;; Copyright © 2023, 2024 Troy Figiel ;;; Copyright © 2024 Timothee Mathieu +;;; Copyright © 2024 Ian Eure ;;; ;;; This file is part of GNU Guix. ;;; @@ -25936,6 +25937,23 @@ cases, generating additional test cases, testing for your code, and submitting it.") (license license:expat))) +(define-public python-mpv-jsonipc + (package + (name "python-mpv-jsonipc") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-mpv-jsonipc" version)) + (sha256 + (base32 "0ymdwrx544a6gn6wm9dixpgzbfrbpxvcj5ys7m41cgb4lvpvx691")))) + (build-system pyproject-build-system) + (home-page "https://github.com/iwalton3/python-mpv-jsonipc") + (synopsis "Python API to control MPV using JSON IPC") + (description "Python MPV JSONIPC implements an interface similar to +python-mpv, but it uses the JSON IPC protocol instead of the C API.") + (license license:asl2.0))) + (define-public python-parso (package (name "python-parso") From 34d7fa58edce071292050a3553081bcd3b5e180e Mon Sep 17 00:00:00 2001 From: Ian Eure Date: Sun, 25 Feb 2024 14:20:31 -0800 Subject: [PATCH 197/261] gnu: Add python-jellyfin-apiclient. * gnu/packages/python-xyz.scm (python-jellyfin-apiclient): New variable. Change-Id: If84546b14d380a3a10af63d4f41711125298487a Signed-off-by: Andreas Enge --- gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 55fd4cdad24..b9c9b9da16b 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -25954,6 +25954,26 @@ submitting it.") python-mpv, but it uses the JSON IPC protocol instead of the C API.") (license license:asl2.0))) +(define-public python-jellyfin-apiclient + (package + (name "python-jellyfin-apiclient") + (version "1.9.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jellyfin-apiclient-python" version)) + (sha256 + (base32 "0r67cp9nizvn3cbslgi30zpd3mw4a6zal0ygik3jv5lni1xdkk5w")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-certifi python-requests python-urllib3 + python-websocket-client)) + (home-page "https://github.com/jellyfin/jellyfin-apiclient-python") + (synopsis "Python API client for Jellyfin") + (description "The Jellyfin ApiClient Python package makes it possible +to use the Jellyfin API from Python. It was extracted from the Jellyfin +Kodi plugin.") + (license license:gpl3+))) + (define-public python-parso (package (name "python-parso") From 719112d2c5be8bf6474480ff0c92ca0ee7616736 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Tue, 5 Mar 2024 22:30:53 -0800 Subject: [PATCH 198/261] gnu: meld: Update to 3.22.1 * gnu/packages/patchutils.scm (meld): Update to 3.22.1 Signed-off-by: Vagrant Cascadian Change-Id: Ifb4ec944508fd5a3f34f973026291ad973be5690 --- gnu/packages/patchutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 3d7ffdcd884..afe4af3eb3c 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -301,7 +301,7 @@ GiB).") (define-public meld (package (name "meld") - (version "3.22.0") + (version "3.22.1") (source (origin (method url-fetch) @@ -309,7 +309,7 @@ GiB).") (version-major+minor version) "/meld-" version ".tar.xz")) (sha256 - (base32 "03f4j27amyi28flkks8i9bhqzd6xhm6d3c6jzxc57rzniv4hgh9z")))) + (base32 "0dk8j27jlqhxcjrkc8pa3rl7fz7pfwvrbyrhfsx1ld6lvcrbvlvd")))) (build-system meson-build-system) (native-inputs (list desktop-file-utils From d29e5a83e887cd2f4f459a12cbbfc40c77e55ce2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 6 Mar 2024 22:07:25 +0100 Subject: [PATCH 199/261] gnu: crawl: Update to 0.31.0. * gnu/packages/games.scm (crawl): Update to 0.31.0. Change-Id: I53c4de85a7e58ecd5eeffe31fbbfcaaab4563292 Signed-off-by: Arun Isaac --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 41bfe40dffd..9ff08e5e749 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2017 Roel Janssen -;;; Copyright © 2017-2023 Nicolas Goaziou +;;; Copyright © 2017-2024 Nicolas Goaziou ;;; Copyright © 2018 okapi ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2018 Madalin Ionel-Patrascu @@ -7089,7 +7089,7 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.30.1") + (version "0.31.0") (source (origin (method git-fetch) @@ -7098,7 +7098,7 @@ fish. The whole game is accompanied by quiet, comforting music.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1rlp8z1n7ziv7aaa3fb4h4nnq24pfz1m23a99c1ra582fh0yx1pl")) + (base32 "0igrl0a9qd2g27q3wr86xjkpqcqs4y7bh3na1saqvpd4vc8mbayk")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs From 0b5cbca689b2f91949e191ca256ffc9bb48c1141 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 7 Mar 2024 23:37:20 +0100 Subject: [PATCH 200/261] gnu: python-lambda-4dn: Fix pip install. * gnu/packages/web.scm (python-lambda-4dn)[arguments]: Add phase 'fix-pip-install. [propagated-inputs]: Add python-virtualenv. Change-Id: I3722a9dd2b017d4db5ced7ac9c65603cfa98744d --- gnu/packages/web.scm | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 75edf7b152b..e519552a36a 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013 Aljosha Papsch ;;; Copyright © 2014-2024 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016 Mark H Weaver -;;; Copyright © 2015-2023 Ricardo Wurmus +;;; Copyright © 2015-2024 Ricardo Wurmus ;;; Copyright © 2018 Raoul Jean Pierre Bonnal ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier @@ -4893,9 +4893,40 @@ their web site.") "1p5i8wsi8q5fpq63i7n7ri1w1lnh4gpn17f88vhkbh14aah5wxj1")))) (properties '(("upstream-name" . "python-lambda-4dn"))) (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-pip-install + (lambda _ + (substitute* "aws_lambda/aws_lambda.py" + ;; This package uses pip to install Python packages, wrap them + ;; up, and push them to AWS Lambda. We need to reset + ;; GUIX_PYTHONPATH to avoid introducing package conflicts that + ;; would cause pip to fail. + (("(subprocess.call\\(\\[sys.executable.*'--no-cache-dir'\\])\\)" _ m) + (string-append m ", env={\"GUIX_PYTHONPATH\":\"" + #$(this-package-input "python") + "/lib/python" + #$(version-major+minor + (package-version (this-package-input "python"))) + "/site-packages/\"})")) + ;; Zipfile uses the mtime of the temporary directory to build + ;; a zip file. But the temp directory has a timestamp of 0, + ;; and zipfile refuses to build a zip archive dated before + ;; 1980. So we reset the mtime of all temp files before they + ;; are added to the zip archive. + (("^( +)arcname = os.path.join" line indent) + (string-append indent + "os.utime(os.path.join(root, file), (315619200, 315619200))\n" + line)))))))) + (inputs (list python)) (propagated-inputs - (list python-boto3 python-botocore python-docutils - python-six)) + (list python-boto3 + python-botocore + python-docutils + python-six + python-virtualenv)) (home-page "https://github.com/4dn-dcic/python-lambda") (synopsis "Toolkit for developing and deploying Python code in AWS Lambda") From ce0435f8280cdf481284302f8e8229903733b734 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Wed, 6 Mar 2024 21:43:48 -0800 Subject: [PATCH 201/261] gnu: gnuradio: Update to 3.10.8.0. * gnu/packages/radio.scm (gnuradio): Update to 3.10.8.0. Change-Id: Ibf1560b642dd7d54f06eba0288f5068d7077e7ec Reviewed-by: Juliana Sims Signed-off-by: Guillaume Le Vaillant --- gnu/packages/radio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index caa8b61ee3d..9c8225d22b3 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -791,7 +791,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") (define-public gnuradio (package (name "gnuradio") - (version "3.10.3.0") + (version "3.10.8.0") (source (origin (method git-fetch) @@ -800,7 +800,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0xdhb2blzajxpi0f2ch23hh6bzdwz5q7syi3bmiqzdjlj2yjfzd4")))) + (base32 "11p08qrbfh5dz6l5n4c2g8c2gv1qq8aiydq91ryzfzgp49r0j6p0")))) (build-system cmake-build-system) (native-inputs (list doxygen From d2677a1ebb3cb19de0e2c27b84298700223d0234 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 6 Mar 2024 10:23:40 +0000 Subject: [PATCH 202/261] gnu: Add cl-all. * gnu/packages/lisp-xyz.scm (sbcl-cl-all, cl-all): New variables. Change-Id: I63903a81dbf9719c3f840778b92656cdf9cc9d76 Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 6ee8ef22d27..c69cadda3b2 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -1221,6 +1221,43 @@ Features: (define-public ecl-coleslaw (sbcl-package->ecl-package sbcl-coleslaw)) +(define-public sbcl-cl-all + (let ((commit "4ce1ea9d9f33c0dd6212044e7952a0c854757ace") + (revision "0")) + (package + (name "sbcl-cl-all") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/cl-all") + (commit commit))) + (file-name (git-file-name "cl-all" version)) + (sha256 + (base32 "0n4sjarj373zpxn78m32rmhxnsnr8qahdslrd9vrkkwjpzar2bwp")))) + (build-system asdf-build-system/sbcl) + (outputs '("out" "bin")) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'create-asdf-configuration 'build-program + (lambda* (#:key outputs #:allow-other-keys) + (build-program + (string-append (assoc-ref outputs "bin") "/bin/cl-all") + outputs + #:entry-program '((cl-all:toplevel arguments)) + #:compress? #t)))))) + (home-page "https://github.com/Shinmera/cl-all") + (synopsis "Evaluate Common Lisp expressions in multiple implementations") + (description "@samp{cl-all} is a library and script for evaluating Common +Lisp expressions in multiple implementations.") + (license license:zlib)))) + +(define-public cl-all + (sbcl-package->cl-source-package sbcl-cl-all)) + (define-public sbcl-tripod (let ((commit "b019a27cd7eb895870f84b0eb6c3edc5d7b05928") (revision "1")) From 56e607efc85e220d89ddf42b8e5ba30dd7f05f16 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Wed, 6 Mar 2024 12:06:58 +0000 Subject: [PATCH 203/261] gnu: abcl: Fix quoting in wrapper script. * gnu/packages/java.scm (abcl)[arguments]<#:phases>: Fix quoting in installed wrapper script. Also set hash-bang to bash since '[[' is used. Change-Id: I09ee266764c455194ab6097f096378ee1a986bcb Signed-off-by: Guillaume Le Vaillant --- gnu/packages/java.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 8be5d98a77f..151fc8aa89f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2021 Pierre Langlois ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2022 Artyom V. Poptsov +;;; Copyright © 2024 Paul A. Patience ;;; ;;; This file is part of GNU Guix. ;;; @@ -13578,14 +13579,14 @@ network protocols, and core version control algorithms.") ":" share "abcl-contrib.jar"))) (display (string-append - "#!" (which "sh") "\n" + "#!" (which "bash") "\n" "if [[ -z $CLASSPATH ]]; then\n" " cp=\"" classpath "\"\n" "else\n" " cp=\"" classpath ":$CLASSPATH\"\n" "fi\n" "exec " (which "java") - " -cp $cp org.armedbear.lisp.Main $@\n"))))) + " -cp \"$cp\" org.armedbear.lisp.Main \"$@\"\n"))))) (chmod (string-append bin "abcl") #o755) #t)))))) (home-page "https://abcl.org/") From 61ef4d2adb5a30ba98fb37b4a5626f84e08df567 Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Thu, 7 Mar 2024 09:30:57 +0000 Subject: [PATCH 204/261] gnu: cl-agnostic-lizard: Update to 0.0.0-2.fe1a1d7. * gnu/packages/lisp-xyz.scm (sbcl-agnostic-lizard): Update to 0.0.0-2.fe1a1d7. Change-Id: I31e9dbd060d8b510c8e3c28fe791d496268e80f4 Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index c69cadda3b2..f9c01c94eca 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -17876,8 +17876,8 @@ compression/decompression using bindings to the libzstd C library.") (sbcl-package->ecl-package sbcl-zstd)) (define-public sbcl-agnostic-lizard - (let ((commit "fe3a73719f05901c8819f8995a3ebae738257952") - (revision "1")) + (let ((commit "fe1a1d7d80c8b56163754e0e5b3653fd750ad298") + (revision "2")) (package (name "sbcl-agnostic-lizard") (version (git-version "0.0.0" revision commit)) @@ -17887,9 +17887,9 @@ compression/decompression using bindings to the libzstd C library.") (uri (git-reference (url "https://gitlab.common-lisp.net/mraskin/agnostic-lizard") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cl-agnostic-lizard" version)) (sha256 - (base32 "0ax78y8w4zlp5dcwyhz2nq7j3shi49qn31dkfg8lv2jlg7mkwh2d")))) + (base32 "0amzshh6v3mp24j0h2cinv4zvdlg4kih04md5biakwhnmcw4j4pr")))) (build-system asdf-build-system/sbcl) (synopsis "Almost correct portable code walker for Common Lisp") (description From 867eb0cfb9cce30b49b309c71f02be4cd5f51c28 Mon Sep 17 00:00:00 2001 From: nik gaffney Date: Tue, 5 Mar 2024 18:14:46 +0100 Subject: [PATCH 205/261] gnu: cl-osc: update to 0.9-0.f647738. * gnu/packages/lisp-xyz.scm (sbcl-osc): Update to 0.9-0.f647738. [native-inputs]: Add sbcl-fiveam. [inputs]: Remove sbcl-usocket, add sbcl-ieee-floats. [description]: Update it. [license]: Remove llgpl. Change-Id: Iba92207d845101a1c6e57d3676e7bd177127c192 Modified-by: Guillaume Le Vaillant Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index f9c01c94eca..435f588ab32 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -43,6 +43,7 @@ ;;; Copyright © 2023 Raven Hallsby ;;; Copyright © 2024 Michal Atlas ;;; Copyright © 2024 Carlo Zancanaro +;;; Copyright © 2024 Nik Gaffney ;;; ;;; This file is part of GNU Guix. ;;; @@ -25731,11 +25732,11 @@ Common Lisp.") (sbcl-package->ecl-package sbcl-cl-collider)) (define-public sbcl-osc - (let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad") + (let ((commit "f647738ccc22925ed740a8ca9132fda76a05baeb") (revision "0")) (package (name "sbcl-osc") - (version (git-version "0.7" revision commit)) + (version (git-version "0.9" revision commit)) (source (origin (method git-fetch) @@ -25744,16 +25745,18 @@ Common Lisp.") (commit commit))) (file-name (git-file-name "cl-osc" version)) (sha256 - (base32 "0gh29zcl9pmy3xlmwzpf9www2z06ah6b4jk06sj2cvxbc15nblqa")))) + (base32 "1x4cavspaxcr604g0hwak1ncy4m9cqq03ji4v56g2h1443n7h48a")))) (build-system asdf-build-system/sbcl) - (inputs (list sbcl-usocket)) + (native-inputs (list sbcl-fiveam)) + (inputs (list sbcl-ieee-floats)) (synopsis "Implementation of the Open Sound Control protocol") - (description "This package provides a common lisp implementation -of the Open Sound Control Protocol aka OSC. The code should be close -to the ansi standard, and does not rely on any external code/ffi/etc+ -to do the basic encoding and decoding of packets.") + (description "This is a lisp implementation of the Open Sound Control +protocol (or more accurately “data transport specification” or +“encoding”). The code should be close to ANSI standard common lisp and +provides self contained code for encoding and decoding of OSC data, messages, +and bundles.") (home-page "https://github.com/zzkt/osc/") - (license (list license:gpl3 license:llgpl))))) + (license license:gpl3+)))) (define-public cl-osc (sbcl-package->cl-source-package sbcl-osc)) From bd1cc64ddd6c9739351e9312d33f891cddbd198b Mon Sep 17 00:00:00 2001 From: AwesomeAdam54321 Date: Wed, 6 Mar 2024 19:25:55 +0800 Subject: [PATCH 206/261] teams: Add entry for Adam Faiz. * etc/teams.scm ("Adam Faiz"): New member. Signed-off-by: Andreas Enge Change-Id: Idb913da5e4f622b8efdbadc87d2cf3e5aec118eb --- etc/teams.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/etc/teams.scm b/etc/teams.scm index e2da31a2b4b..afcd187abbd 100755 --- a/etc/teams.scm +++ b/etc/teams.scm @@ -724,6 +724,10 @@ GLib/GIO, GTK, GStreamer and Webkit." "mhw@netris.org") mozilla) +(define-member (person "Adam Faiz" + "adam.faiz@disroot.org") + games) + (define (find-team name) (or (hash-ref %teams (string->symbol name)) From 906f380f7cd0570e253bc7affc90077f62e98528 Mon Sep 17 00:00:00 2001 From: "Andre A. Gomes" Date: Mon, 4 Mar 2024 12:36:39 +0200 Subject: [PATCH 207/261] gnu: webkitgtk: Update to 2.42.5 [security fixes]. Fixes CVE-2024-23222, CVE-2024-23206, CVE-2024-23213. * gnu/packages/webkit.scm (webkitgtk): Update to 2.42.5. [source]: Add snippet to fix build on some architectures. Co-Authored-by: Efraim Flashner Signed-off-by: Efraim Flashner Change-Id: I6edbe89c0e15a237fab6d678bc656881d6628ffe --- gnu/packages/webkit.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index d359d01f985..bf24a65e830 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -127,13 +127,20 @@ engine that uses Wayland for graphics output.") (define-public webkitgtk (package (name "webkitgtk") - (version "2.42.4") + (version "2.42.5") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" name "-" version ".tar.xz")) (sha256 - (base32 "11pdcwmdj3i9aarrf7wsfvadi6jnkaf6zf7c5i2768x2plq8na2j")) + (base32 "0jg7c7z572afywwrnvdj3m5agaviv0vkqmzznnzzv30byb0phhmn")) + (snippet + #~(begin + (use-modules (guix build utils)) + ;; https://bugs.webkit.org/show_bug.cgi?id=268739 + ;; Fix a FTBFS on i686, powerpc64le. + (substitute* "Source/JavaScriptCore/llint/LowLevelInterpreter.cpp" + (("UNUSED_VARIABLE\\(t[67]\\);") "")))) (patches (search-patches "webkitgtk-adjust-bubblewrap-paths.patch")))) (build-system cmake-build-system) From 30fdec375490fdf56d8f5caeede102eb103193b7 Mon Sep 17 00:00:00 2001 From: Juliana Sims Date: Thu, 7 Mar 2024 14:43:06 -0500 Subject: [PATCH 208/261] gnu: Add rdate. * gnu/packages/time.scm (rdate): New variable. Change-Id: I12217c62fe17a93bdb5364f807804eea7fc57a23 Signed-off-by: Andreas Enge --- gnu/packages/time.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index b0d800da949..0bb493c27fb 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -40,6 +40,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages time) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -549,6 +550,30 @@ datetime type.") "This package contains a library for parsing ISO 8601 datetime strings.") (license bsd-3))) +(define-public rdate + (let ((commit "91d84610e3695e90a884e2953908e95a856a9b74") + (revision "1")) + (package + (name "rdate") + (version (git-version "1.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/njh/rdate") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "002ryjq8gj1ml5la4v6dr3bh1zw5kxwy65rpziq8d2ccccarhv59")))) + (build-system gnu-build-system) + (native-inputs (list autoconf automake)) + (synopsis "Get date and time based on RFC 868") + (description + "@code{rdate} connects to an RFC 868 time server over a TCP/IP network, +printing the returned time and/or setting the system clock.") + (home-page "https://www.aelius.com/njh/rdate/") + (license gpl2+)))) + (define-public datefudge (package (name "datefudge") From 68b715ac4db5ff09cf9597e1de1062f384243604 Mon Sep 17 00:00:00 2001 From: Zheng Junjie Date: Wed, 6 Mar 2024 23:38:23 +0800 Subject: [PATCH 209/261] gnu: Register sajson-build-with-gcc10.patch. This is a follow-up to commit e34bf9b63423f5846fa3b03be0c970cb3d33ac33 . * gnu/local.mk (dist_patch_DATA): Add sajson-build-with-gcc10.patch. Change-Id: Iaba2a03c0aeda38899225fffbd55b884e14dd3e6 Signed-off-by: Andreas Enge --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/local.mk b/gnu/local.mk index 83937db4c80..16241ee4411 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2012,6 +2012,7 @@ dist_patch_DATA = \ %D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \ %D%/packages/patches/s7-flint-3.patch \ %D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \ + %D%/packages/patches/sajson-build-with-gcc10.patch \ %D%/packages/patches/sbc-fix-build-non-x86.patch \ %D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \ %D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \ From 42b228513de8eacbdaab329110c5f0c19ae4b16b Mon Sep 17 00:00:00 2001 From: Ian Eure Date: Sun, 25 Feb 2024 14:20:32 -0800 Subject: [PATCH 210/261] gnu: Add python-pystray. * gnu/packages/python-xyz.scm (python-pystray): New variable. Change-Id: If10777c9ec91b549b9937b4825565223786a75cb Signed-off-by: Andreas Enge --- gnu/packages/python-xyz.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b9c9b9da16b..07ca8a9723e 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -31857,6 +31857,41 @@ handling those variations.") Qt applications.") (license license:expat))) +(define-public python-pystray + (package + (name "python-pystray") + (version "0.19.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moses-palmer/pystray") + (commit "1907f8681d6d421517c63d94f425f9cdd74d0034"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vj6c8s7rbc7xc4bi5brx5629ls1ri9prcw9290v85hagilmp609")))) + (build-system python-build-system) + (arguments + (list + ;; The test suite requires user interaction, there are no automated + ;; tests. + #:tests? #false + #:phases #~(modify-phases %standard-phases + (add-before 'sanity-check 'use-dummy-backend + (lambda _ + ;; Without setting this, pystray tries to connect to + ;; X11 on import. + (setenv "PYSTRAY_BACKEND" "dummy")))))) + (native-inputs (list python-sphinx)) + (propagated-inputs (list python-pillow python-six python-xlib)) + (home-page "https://github.com/moses-palmer/pystray") + (synopsis "Create a system tray icon") + (description "This library allows you to create a system tray icon. +It makes it possible to specify an icon, a title and a callback for when +the icon is activated. The icon and title can be changed after the icon +has been created, and the visibility of the icon can be toggled.") + (license license:lgpl3+))) + (define-public python-bitstring (package (name "python-bitstring") From 4d15e04a6df19082430dbdaaeb4660decd5c2553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 8 Mar 2024 20:00:25 +0800 Subject: [PATCH 211/261] teams: lxqt: Remove qt.scm from scope. * etc/teams.scm (lxqt)[#:scope]: Remove "gnu/packages/qt.scm". Change-Id: If05ea534a827eba5a2acf6526d906cea43f72442 --- etc/teams.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/etc/teams.scm b/etc/teams.scm index afcd187abbd..c8fc0952272 100755 --- a/etc/teams.scm +++ b/etc/teams.scm @@ -549,8 +549,7 @@ GLib/GIO, GTK, GStreamer and Webkit." (team 'lxqt #:name "LXQt team" #:description "LXQt desktop environment." - #:scope (list "gnu/packages/lxqt.scm" - "gnu/packages/qt.scm"))) + #:scope (list "gnu/packages/lxqt.scm"))) (define-team audio (team 'audio From de3f86443837b7bd6e3bad11dbaeed2550d4207c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 8 Mar 2024 20:02:00 +0800 Subject: [PATCH 212/261] =?UTF-8?q?teams:=20Add=20=E5=AE=8B=E6=96=87?= =?UTF-8?q?=E6=AD=A6=20to=20the=20qt=20team.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * etc/teams.scm (宋文武): Add qt team. Change-Id: Ib1b50b109ded4dbbcfd0649d3e0c1e6884585c5e --- etc/teams.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/teams.scm b/etc/teams.scm index c8fc0952272..ac2886a6eb1 100755 --- a/etc/teams.scm +++ b/etc/teams.scm @@ -665,7 +665,7 @@ GLib/GIO, GTK, GStreamer and Webkit." (define-member (person "宋文武" "iyzsong@envs.net") - games localization lxqt xfce) + games localization lxqt qt xfce) (define-member (person "Vagrant Cascadian" "vagrant@debian.org") From c7cbe7ff8dfc4965677a3233738bc0b537e9918a Mon Sep 17 00:00:00 2001 From: Ian Eure Date: Sun, 25 Feb 2024 14:20:33 -0800 Subject: [PATCH 213/261] gnu: Add jellyfin-mpv-shim. * gnu/packages/video.scm (jellyfin-mpv-shim): New variable. Change-Id: Ie030dee36b1c2afc796f082fdebf909cbddd59da Signed-off-by: Andreas Enge --- gnu/packages/video.scm | 73 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 925f5ff83bc..c4660c8998a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -162,6 +162,7 @@ #:use-module (gnu packages man) #:use-module (gnu packages markup) #:use-module (gnu packages maths) + #:use-module (gnu packages messaging) #:use-module (gnu packages music) #:use-module (gnu packages mp3) #:use-module (gnu packages multiprecision) @@ -2751,6 +2752,78 @@ possibility to play Youtube videos, download subtitles, remember the last played position, etc.") (license license:gpl2+))) +(define-public jellyfin-mpv-shim + (package + (name "jellyfin-mpv-shim") + (version "2.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jellyfin-mpv-shim" version)) + (sha256 + (base32 "1cy2sfv84k5nw8bqy4aa7v0hdawp7gk5s7wq850xizqk0sz7cipp")))) + (build-system python-build-system) + (arguments + (list + ;; There is no test suite, but the code is ill-behaved and tries + ;; to open network connections at module import time, which makes + ;; `python setup.py test' fail. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; sanity-check loads console_scripts endpoints, which launches + ;; the program, which makes the build hang. Disable it. + (delete 'sanity-check) + (add-after 'unpack 'disable-updates + (lambda _ + (substitute* "jellyfin_mpv_shim/conf.py" + (("check_updates: bool = True") + "check_updates: bool = False") + (("notify_updates: bool = True") + "notify_updates: bool = False")))) + (add-after 'install 'install-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (apps (string-append out "/share/applications")) + (desktop-base "jellyfin_mpv_shim/integration/") + (package-id + "com.github.iwalton3.jellyfin-mpv-shim")) + (for-each (lambda (size) + (install-file (format #f + "~ajellyfin-~a.png" + desktop-base size) apps)) + '(256 128 64 48 32 16)) + (install-file (string-append desktop-base package-id + ".appdata.xml") apps) + (install-file (string-append desktop-base package-id + ".desktop") apps))))))) + (inputs (list `(,python "tk") + python-jellyfin-apiclient + python-jinja2 + python-mpv + python-mpv-jsonipc + python-pypresence + python-pystray + python-requests)) + (home-page "https://github.com/jellyfin/jellyfin-mpv-shim") + (synopsis "Cast media from Jellyfin Mobile and Web apps to MPV") + (description "Jellyfin MPV Shim is a cross-platform cast client for +Jellyfin. It has support for various media files without transcoding.") + (license (list + ;; jellyfin-mpv-shim + license:gpl3 + + ;; jellyfin-mpv-shim, and Anime4K, FSRCNNX, NVIDIA Image + ;; Scaling, AMD FidelityFX Super Resolution, AMD + ;; FidelityFX Contrast Adaptive Sharpening shaders. + license:expat + + ;; Static Grain shader. + license:public-domain + + ;; KrigBilatera, SSimDownscaler, and NNEDI3 shaders. + license:lgpl3+)))) + (define-public gallery-dl (package (name "gallery-dl") From d79c88e8809d2079452fd276bf4d17eb16636ff9 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 8 Mar 2024 13:33:37 +0100 Subject: [PATCH 214/261] gnu: nauty: Update to 2.8.8. * gnu/packages/maths.scm (nauty): Update to 2.8.8. Change-Id: I741b398e7ab367a7c82ee8cc454f1790524b5db6 --- gnu/packages/maths.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 47070ded15e..ea42341c41f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2018 Eric Brown ;;; Copyright © 2018, 2021, 2024 Julien Lepiller ;;; Copyright © 2018 Amin Bandali -;;; Copyright © 2019, 2021-2023 Nicolas Goaziou +;;; Copyright © 2019, 2021-2024 Nicolas Goaziou ;;; Copyright © 2019 Steve Sprang ;;; Copyright © 2019 Robert Smith ;;; Copyright © 2020 Jakub Kądziołka @@ -8735,7 +8735,7 @@ management via the GIMPS project's Primenet server.") (define-public nauty (package (name "nauty") - (version "2.8.6") + (version "2.8.8") (source (origin (method url-fetch) @@ -8743,7 +8743,7 @@ management via the GIMPS project's Primenet server.") "https://pallini.di.uniroma1.it/" "nauty" (string-join (string-split version #\.) "_") ".tar.gz")) (sha256 - (base32 "1yp6wpz2drq0viww8px1vl4pw919nq3xgxrmrrdhycx8bhi9ikpj")))) + (base32 "1ki9z60qcyx3va68hp7iv6451n5d86v1xmhc850b4sqah5b2378m")))) (build-system gnu-build-system) (outputs '("out" "lib")) (arguments From 8b0500729754e208bff983563bfe60836de9f30b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Fri, 8 Mar 2024 14:02:20 +0200 Subject: [PATCH 215/261] gnu: colord-minimal: Skip tests on big-endian systems. * gnu/packages/gnome.scm (colord-minimal)[arguments]: Disable tests when building on a big-endian system. Change-Id: I6d1ba215894175e75ed4a3171ad3c54cb12653cd --- gnu/packages/gnome.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index d14651c792b..a0710aa78af 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -5583,6 +5583,9 @@ file.") "-Dlocalstatedir=/var" "-Dman=false" "-Dsystemd=false") ;no systemd + ;; Apparently the tests are known to fail on big-endian systems. + #:tests? (not (or (%current-target-system) + (not (target-little-endian?)))) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'disable-problematic-tests From 09346fd05f19da3846635e1a0f1c844050d59f26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Fri, 8 Mar 2024 16:20:28 +0100 Subject: [PATCH 216/261] gnu: torbrowser: Update to 13.0.11. * gnu/packages/tor-browsers.scm (%torbrowser-build-date): Update to 20240305132801. (%torbrowser-version): Update to 13.0.11. (%torbrowser-firefox-version): Update to 115.8.0esr-13.0-1-build2. (translation-base-browser): Update to 16211a4b8524d71525f0ea73c07771c634132b30. (translation-tor-browser): Update to 012f643d2d6b04ebf868bf62cdb7ad5b727734f5. Change-Id: I1d5cd4a0d7c3a01f8489db7b69b65a9451ead315 --- gnu/packages/tor-browsers.scm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/tor-browsers.scm b/gnu/packages/tor-browsers.scm index 7c59cebd44f..6c8113c4611 100644 --- a/gnu/packages/tor-browsers.scm +++ b/gnu/packages/tor-browsers.scm @@ -149,16 +149,16 @@ ;; We copy the official build id, which can be found there: ;; https://aus1.torproject.org/torbrowser/update_3/release/. -(define %torbrowser-build-date "20240213172118") +(define %torbrowser-build-date "20240305132801") ;; To find the last version, look at https://www.torproject.org/download/. -(define %torbrowser-version "13.0.10") +(define %torbrowser-version "13.0.11") ;; To find the last Firefox version, browse ;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version> ;; There should be only one archive that starts with ;; "src-firefox-tor-browser-". -(define %torbrowser-firefox-version "115.8.0esr-13.0-1-build1") +(define %torbrowser-firefox-version "115.8.0esr-13.0-1-build2") ;; See tor-browser-build/projects/translation/config. ;; If Tor Browser and Mullvad Browser updates are not synchronized, maybe this @@ -168,11 +168,11 @@ (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "cbd9b6c415ec2edb99237ef67ccd4f033a7b9c2a"))) + (commit "16211a4b8524d71525f0ea73c07771c634132b30"))) (file-name "translation-base-browser") (sha256 (base32 - "103dj1zzc68gxzjxwcpc4sbc6qca4zg8kkhdivzpq37ma07sp9sf")))) + "1452lpzbx0a049ksw84q7fj93bldfpllpp86aa4kggiv7vb3dqxk")))) ;; See tor-browser-build/projects/translation/config. (define translation-tor-browser @@ -180,11 +180,11 @@ (method git-fetch) (uri (git-reference (url "https://gitlab.torproject.org/tpo/translation.git") - (commit "a50fa943d7428ebe6e4e6b09f175e098a97eec63"))) + (commit "012f643d2d6b04ebf868bf62cdb7ad5b727734f5"))) (file-name "translation-tor-browser") (sha256 (base32 - "0kvjdkgfdl0sh413wrli9pn7ygv9idrq5yvsi5q8c4bmnnxfig7c")))) + "1253zrpl59bwy6s71ip3f84k46m2wwid7ixgf72pzqrkkh5lcnkn")))) (define torbrowser-assets ;; This is a prebuilt Torbrowser from which we take the assets we need. @@ -200,7 +200,7 @@ version "/tor-browser-linux-x86_64-" version ".tar.xz")) (sha256 (base32 - "1v4jbgzw640lnsyxk275w62xdyqbw0p0fwvkzfawpg4d3pqp7fpw")))) + "0qcl9yqndnaqkvgmmb6f5rrzvwdr323l3r4s3hd9mwv9q1x41h3b")))) (arguments (list #:install-plan @@ -236,7 +236,7 @@ Browser.") ".tar.xz")) (sha256 (base32 - "0lbarj4i21f6jkpk2ji1cmgv625yhqyjksln97zgbbki43bx09v6")))) + "0c7jfliznxfdfs5xrwwgib486vgpmpcvq4s54rxxcxfk633kgz67")))) (build-system mozilla-build-system) (inputs (list go-gitlab-torproject-org-tpo-anti-censorship-pluggable-transports-lyrebird From bd306916817d54bc0ccd443d43865b5f32ce7aa4 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 8 Mar 2024 23:55:09 +0100 Subject: [PATCH 217/261] gnu: tgl: Remove -Werror. * gnu/packages/telegram.scm (tgl)[arguments]: Add phase to remove "-Werror". Change-Id: I0e93b41ed6bae4b74fc12bdeddd3019a8b0e6bd5 --- gnu/packages/telegram.scm | 78 ++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 990dc0a001b..4be33e60038 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2023 Saku Laesvuori ;;; Copyright © 2023 Lu Hui ;;; Copyright © 2023 Camilo Q.S. (Distopico) +;;; Copyright © 2024 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -613,47 +614,50 @@ formerly a part of telegram-cli, but now being maintained separately.") (base32 "0cf5s7ygslb5klg1qv9qdc3hivhspmvh3zkacyyhd2yyikb5p0f9")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; No target + (list + #:tests? #f ; No target #:imported-modules - ((guix build copy-build-system) - ,@%gnu-build-system-modules) + `((guix build copy-build-system) + ,@%gnu-build-system-modules) #:modules - (((guix build copy-build-system) - #:prefix copy:) - (guix build gnu-build-system) - (guix build utils)) + '(((guix build copy-build-system) + #:prefix copy:) + (guix build gnu-build-system) + (guix build utils)) #:configure-flags - (list - ;; Use gcrypt instead of openssl. - "--disable-openssl" - ;; Enable extended queries system. - "--enable-extf" - ;; Include libevent-based net and timers. - "--enable-libevent") + '(list + ;; Use gcrypt instead of openssl. + "--disable-openssl" + ;; Enable extended queries system. + "--enable-extf" + ;; Include libevent-based net and timers. + "--enable-libevent") #:phases - (modify-phases %standard-phases - (add-after 'unpack 'trigger-bootstrap - (lambda _ - (delete-file "configure") - #t)) - (add-after 'trigger-bootstrap 'patch-tl-parser - (lambda _ - (delete-file "Makefile.tl-parser") - (substitute* "Makefile.in" - (("include \\$\\{srcdir\\}/Makefile\\.tl-parser") - "") - (("\\$\\{EXE\\}/tl-parser") - "tl-parser")) - #t)) - (replace 'install - (lambda args - (apply (assoc-ref copy:%standard-phases 'install) - #:install-plan - '(("bin" "bin") - ("." "include/tgl" - #:include-regexp ("\\.h$")) - ("libs" "lib/tgl")) - args)))))) + '(modify-phases %standard-phases + (add-after 'unpack 'trigger-bootstrap + (lambda _ + (delete-file "configure"))) + (add-after 'trigger-bootstrap 'patch-tl-parser + (lambda _ + (delete-file "Makefile.tl-parser") + (substitute* "Makefile.in" + (("include \\$\\{srcdir\\}/Makefile\\.tl-parser") + "") + (("\\$\\{EXE\\}/tl-parser") + "tl-parser")))) + (add-after 'unpack 'remove-Werror + (lambda _ + (substitute* "Makefile.in" + (("-Werror") "")))) + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("bin" "bin") + ("." "include/tgl" + #:include-regexp ("\\.h$")) + ("libs" "lib/tgl")) + args)))))) (native-inputs (list autoconf automake libtool pkg-config)) (inputs From c7c99aeb3c6f974a41b9fc79bce1e6ce4d8f1904 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 8 Mar 2024 23:57:15 +0100 Subject: [PATCH 218/261] gnu: telegram-cli: Update compiler flags. * gnu/packages/telegram.scm (telegram-cli)[arguments]: Add phase to remove -Werror and add -fcommon; remove trailing #T. Change-Id: I1c82fdd914b5f27f00e4bf87e4adc3eb559a874c --- gnu/packages/telegram.scm | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 4be33e60038..8d835bf2431 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -687,25 +687,29 @@ formerly a part of telegram-cli, but now being maintained separately.") (base32 "0c1w7jgska71jjbvg1y09v52549pwa4zkdjly18yxywn7gayd2p6")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; No target - #:imported-modules - ((guix build copy-build-system) + (list + #:tests? #f ; No target + #:imported-modules + `((guix build copy-build-system) ,@%gnu-build-system-modules) - #:modules - (((guix build copy-build-system) + #:modules + '(((guix build copy-build-system) #:prefix copy:) (guix build gnu-build-system) (guix build utils)) - #:configure-flags - (list + #:configure-flags + '(list ;; Use gcrypt instead of openssl. "--disable-openssl") - #:phases - (modify-phases %standard-phases + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'remove-Werror + (lambda _ + (substitute* "Makefile.in" + (("-Werror") "-fcommon")))) (add-after 'unpack 'trigger-bootstrap (lambda _ - (delete-file "configure") - #t)) + (delete-file "configure"))) (add-after 'trigger-bootstrap 'patch-tgl-and-tlparser (lambda* (#:key inputs #:allow-other-keys) (for-each delete-file @@ -725,8 +729,7 @@ formerly a part of telegram-cli, but now being maintained separately.") "/include/tgl/auto")) (("LIB=libs") (string-append "LIB=" (assoc-ref inputs "tgl") - "/lib/tgl"))) - #t)) + "/lib/tgl"))))) (replace 'install (lambda args (apply (assoc-ref copy:%standard-phases 'install) From 7fd0975edcf4f69e7c5c997f9b63642cfb82b5ca Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sun, 25 Feb 2024 01:38:41 +0800 Subject: [PATCH 219/261] gnu: patatt: Update to 0.6.3. * gnu/packages/version-control.scm (patatt): Update to 0.6.3. Change-Id: I3a1c767c0dbbddade590ccddef6e6c28eb1d4c69 --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index ceee5878dce..946b1f5aac0 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2900,13 +2900,13 @@ based on a manifest file published by servers.") (define-public patatt (package (name "patatt") - (version "0.4.9") + (version "0.6.3") (source (origin (method url-fetch) (uri (pypi-uri "patatt" version)) (sha256 - (base32 "0fpbkmdlnz9s1lakw11jlrzpz4mb6f4dksdiir9g1ppq0g34sy58")))) + (base32 "0a0a5ndlnv7dk2smn8algss6q17gbd6mc7yacz17c9cxabv2c24q")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; No tests. (propagated-inputs From 8f8ec56052766aa5105d672b77ad9eaca5c1ab3c Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Mon, 26 Feb 2024 13:47:13 +0800 Subject: [PATCH 220/261] linux-initrd: Avoid looking up builtin modules. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/system/linux-initrd.scm (flat-linux-module-directory) [build-exp]: New variables. : Use ‘modules-to-lookup’ to avoid looking up builtin modules. Change-Id: I60fdae0211bb6632508b1c63582e013e78186cd1 --- gnu/system/linux-initrd.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 58e95a1312b..6236d25b9d8 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -132,15 +132,27 @@ MODULES and taken from LINUX." #~(begin (use-modules (gnu build linux-modules) (guix build utils) + (rnrs io ports) (srfi srfi-1) (srfi srfi-26)) (define module-dir (string-append #$linux "/lib/modules")) + (define builtin-modules + (call-with-input-file + (first (find-files module-dir "modules.builtin$")) + (lambda (port) + (map file-name->module-name + (string-tokenize + (get-string-all port)))))) + + (define modules-to-lookup + (lset-difference string=? '#$modules builtin-modules)) + (define modules (let* ((lookup (cut find-module-file module-dir <>)) - (modules (map lookup '#$modules))) + (modules (map lookup modules-to-lookup))) (append modules (recursive-module-dependencies modules From c8529c32010ae632ff9b8cc21d7971a93b000033 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 27 Feb 2024 23:06:01 +0800 Subject: [PATCH 221/261] gnu: font-chiron-sung-hk: Update to 1.011. * gnu/packages/fonts.scm (font-chiron-sung-hk): Update to 1.011. Change-Id: Ib462e1707e611a2ff8053d69d38d28324e8d1cfe --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 2509aa65f2b..9cfc9594148 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -3321,7 +3321,7 @@ dialects in Hong Kong and Taiwan."))) (define-public font-chiron-sung-hk (package (name "font-chiron-sung-hk") - (version "1.010") + (version "1.011") (source (origin (method git-fetch) (uri (git-reference @@ -3330,7 +3330,7 @@ dialects in Hong Kong and Taiwan."))) (file-name (git-file-name name version)) (sha256 (base32 - "065p1gc5xjwc4kfw8bqpsbhaf1p4w0k4l0j04vjsjhcl4k9vyvfz")))) + "1916bb834y4r4312g14zid7w3pbx1i70jcgkkfbf4z20grrj891m")))) (build-system font-build-system) (home-page "https://chiron-fonts.github.io/") (synopsis "Traditional Chinese Song typeface") From e4265aa97f7ba14ccba52cd163a64de3bd8fa825 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 27 Feb 2024 23:11:25 +0800 Subject: [PATCH 222/261] gnu: font-chiron-hei-hk: Update to 2.509. * gnu/packages/fonts.scm (font-chiron-hei-hk): Update to 2.509. Change-Id: I29f2ad3409eaa9ecbdf964397d03110d83a91f75 --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 9cfc9594148..e1e4c503885 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -3345,7 +3345,7 @@ prevalent typefaces in Traditional Chinese regions.") (package (inherit font-chiron-sung-hk) (name "font-chiron-hei-hk") - (version "2.508") + (version "2.509") (source (origin (method git-fetch) (uri (git-reference @@ -3354,7 +3354,7 @@ prevalent typefaces in Traditional Chinese regions.") (file-name (git-file-name name version)) (sha256 (base32 - "0drvkqk629z63k62v3ds559phl82dmkyvpx2r8mi99nnsz22a8ps")))) + "0bwx909sijpnc474355hlfjwgxin0m9yxd5k9qwmgxkp2rzqiwnk")))) (synopsis "Traditional Chinese Gothic typeface") (description "Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong From a900fa3c6c81fb9319d00966b89fa5c52fdd6ec1 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 27 Feb 2024 23:12:24 +0800 Subject: [PATCH 223/261] gnu: font-chiron-sung-hk: Split outputs. * gnu/packages/fonts.scm (font-chiron-sung-hk)[arguments]: Split outputs. [outputs]: Add "otf" and "ttf". Change-Id: Id96bba47e8f9ae9404a528bcceab3e110a05db4e --- gnu/packages/fonts.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index e1e4c503885..7700eaa4fa4 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -3332,6 +3332,20 @@ dialects in Hong Kong and Taiwan."))) (base32 "1916bb834y4r4312g14zid7w3pbx1i70jcgkkfbf4z20grrj891m")))) (build-system font-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'install + (lambda _ + (let ((install (assoc-ref %standard-phases 'install))) + (with-directory-excursion "VAR" + (for-each delete-file (find-files "." "\\.ttf$")) + (install #:outputs `(("out" . ,#$output)))) + (with-directory-excursion "OTF" + (install #:outputs `(("out" . ,#$output:otf)))) + (with-directory-excursion "TTF" + (install #:outputs `(("out" . ,#$output:ttf)))))))))) + (outputs '("out" "otf" "ttf")) (home-page "https://chiron-fonts.github.io/") (synopsis "Traditional Chinese Song typeface") (description From 0e9c2d2eba5e573e43382611474784c8bf5a4309 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 27 Feb 2024 23:48:25 +0800 Subject: [PATCH 224/261] gnu: sway: Update to 1.9. * gnu/packages/wm.scm (sway): Update to 1.9. [arguments]<#:phases>: Don't hardcode path to scdoc. [inputs]: Replace wlroots-0.16 with wlroots. Change-Id: I2108e57180a91dc2873d5398dc5f6981002e1c3d --- gnu/packages/wm.scm | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 8ed3ed11074..9c0f5e38bdd 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1762,7 +1762,7 @@ modules for building a Wayland compositor.") (define-public sway (package (name "sway") - (version "1.8.1") + (version "1.9") (source (origin (method git-fetch) @@ -1771,7 +1771,7 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1y7brfrsjnm9gksijgnr6zxqiqvn06mdiwsk5j87ggmxazxd66av")))) + (base32 "1n36vgpi4bg2gkiq4fam4khly1z9bjinmjclzq5vfx0z8h7a5bzz")))) (build-system meson-build-system) (arguments `(;; elogind is propagated by wlroots -> libseat @@ -1786,11 +1786,6 @@ modules for building a Wayland compositor.") (("strdup..swaybg..") (string-append "strdup(\"" (assoc-ref inputs "swaybg") "/bin/swaybg\")"))) - ;; Hardcode path to scdoc. - (substitute* "meson.build" - (("scdoc.get_pkgconfig_variable..scdoc..") - (string-append "'" (assoc-ref inputs "scdoc") - "/bin/scdoc'"))) #t))))) (inputs (list basu cairo @@ -1803,7 +1798,7 @@ modules for building a Wayland compositor.") pcre2 swaybg wayland - wlroots-0.16)) + wlroots)) (native-inputs (cons* linux-pam mesa pkg-config scdoc wayland-protocols (if (%current-target-system) From 5759e8be03486f780104a400e020992acd2982d1 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Tue, 27 Feb 2024 23:51:22 +0800 Subject: [PATCH 225/261] gnu: sway: Update package style. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/wm.scm (sway)[arguments]: Use gexps. <#:phases>: Adjust to use ‘search-input-file’. Remove trailing #t. Change-Id: I5bd91faf2c79566486437b37cf72964d2c6a85fc --- gnu/packages/wm.scm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 9c0f5e38bdd..edbb3096b8a 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1774,19 +1774,20 @@ modules for building a Wayland compositor.") (base32 "1n36vgpi4bg2gkiq4fam4khly1z9bjinmjclzq5vfx0z8h7a5bzz")))) (build-system meson-build-system) (arguments - `(;; elogind is propagated by wlroots -> libseat - ;; and would otherwise shadow basu. - #:configure-flags '("-Dsd-bus-provider=basu") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'hardcode-paths - (lambda* (#:key inputs #:allow-other-keys) - ;; Hardcode path to swaybg. - (substitute* "sway/config.c" - (("strdup..swaybg..") - (string-append "strdup(\"" (assoc-ref inputs "swaybg") - "/bin/swaybg\")"))) - #t))))) + (list + ;; elogind is propagated by wlroots -> libseat + ;; and would otherwise shadow basu. + #:configure-flags + #~'("-Dsd-bus-provider=basu") + #:phases + #~(modify-phases %standard-phases + (add-before 'configure 'hardcode-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; Hardcode path to swaybg. + (substitute* "sway/config.c" + (("strdup..swaybg..") + (format #f "strdup(\"~a\")" + (search-input-file inputs "bin/swaybg"))))))))) (inputs (list basu cairo gdk-pixbuf From 334f9f6b4fa14db9ad17035f58bf3cc3267efbd0 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Wed, 28 Feb 2024 00:22:39 +0800 Subject: [PATCH 226/261] gnu: font-lxgw-wenkai: Update to 1.320. * gnu/packages/fonts.scm (font-lxgw-wenkai): Update to 1.320. Change-Id: I2c533eec088a5b62a4a54138c179a5a9f89d79a6 --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 7700eaa4fa4..a60e84fe19e 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -3280,7 +3280,7 @@ and readability. This package bundles those icons into a font.") (define-public font-lxgw-wenkai (package (name "font-lxgw-wenkai") - (version "1.315") + (version "1.320") (source (origin (method url-fetch) (uri (string-append @@ -3288,7 +3288,7 @@ and readability. This package bundles those icons into a font.") version "/lxgw-wenkai-v" version ".tar.gz")) (sha256 (base32 - "0isb7rbg8yb6hv8xk1ngngkgzpyb3papkl19jczwrwm373m8bn3f")))) + "1wvab2g2hcy8wqi23zva17rymqfrrfwd7yh0wbhfb67mz18wbjpm")))) (build-system font-build-system) (home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/") (synopsis "Simplified Chinese Imitation Song typeface") From 67c45d836756727cde23bdc752d7ead7fbb67228 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Wed, 28 Feb 2024 00:23:02 +0800 Subject: [PATCH 227/261] gnu: font-lxgw-wenkai-tc: Update to 1.320. * gnu/packages/fonts.scm (font-lxgw-wenkai-tc): Update to 1.320. Change-Id: Id7881c2fd486341a48cc7f1cb9708988f672ab5a --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index a60e84fe19e..368d4c331d0 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -3302,7 +3302,7 @@ within GB 2312, standard glyphs for Mainland China is used.") (package (inherit font-lxgw-wenkai) (name "font-lxgw-wenkai-tc") - (version "1.011") + (version "1.320") (source (origin (method url-fetch) (uri (string-append @@ -3310,7 +3310,7 @@ within GB 2312, standard glyphs for Mainland China is used.") version "/lxgw-wenkai-tc-v" version ".tar.gz")) (sha256 (base32 - "0x83a7zg1w82bpilk84ajlisccf90kl01gz89fipgqji9nii71bv")))) + "0lzfci4zpia62vbnyv22ajlrd8gvwj1ff7iaa0mxs66dbb0p6pq8")))) (home-page "https://github.com/lxgw/LxgwWenKaitc") (synopsis "Traditional Chinese Imitation Song typeface") (description From c5cb09e42f770744b3e1240c19c958fad018a479 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sun, 3 Mar 2024 21:15:16 +0800 Subject: [PATCH 228/261] gnu: qbittorrent-enhanced: Update to 4.6.3.10. * gnu/packages/bittorrent.scm (qbittorrent-enhanced): Update to 4.6.3.10. Change-Id: I415d228dbbff2f4d5abf9bda2ca84ac81c0d0602 --- gnu/packages/bittorrent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 264e9e9724c..61464689195 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -583,7 +583,7 @@ features.") (package (inherit qbittorrent) (name "qbittorrent-enhanced") - (version "4.6.1.10") + (version "4.6.3.10") (source (origin (method git-fetch) @@ -593,7 +593,7 @@ features.") (file-name (git-file-name name version)) (sha256 (base32 - "101a9n2vk9d6b4vc3schkmpc56l0i0i60fcjh8hwadc6amc2ymvy")))) + "09b8237h0gn6y3s0a7qg247hsdra5f5kg6xhirnhhfvjd8k6qviv")))) (home-page "https://github.com/c0re100/qBittorrent-Enhanced-Edition") (description "qBittorrent Enhanced is a bittorrent client based on qBittorrent with From 55c5f54f03ecad8d4b056a5d2421c5617dec98d1 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sun, 3 Mar 2024 21:15:39 +0800 Subject: [PATCH 229/261] gnu: qbittorrent-no-x: Actually remove qtsvg from inputs. * gnu/packages/bittorrent.scm (qbittorrent-no-x)[inputs]: Correct "qtsvg-5" to "qtsvg". Change-Id: I77bae8ccf3de7a1be51a74228e135176dc72425d --- gnu/packages/bittorrent.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 61464689195..d8abe84462e 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -574,7 +574,7 @@ features.") #~(cons "-DGUI=OFF" #$configure-flags)))) (inputs (modify-inputs (package-inputs base) - (delete "qtsvg-5")))))) + (delete "qtsvg")))))) (define-public qbittorrent-nox (deprecated-package "qbittorrent-nox" qbittorrent-no-x)) From 8d6d5b2a947b1ca2ff42709ee5faefec53d6cb10 Mon Sep 17 00:00:00 2001 From: Hilton Chain Date: Sun, 3 Mar 2024 21:17:02 +0800 Subject: [PATCH 230/261] gnu: qbittorrent-enhanced-nox: Rename to qbittorrent-enhanced-no-x. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bittorrent.scm (qbittorrent-enhanced-no-x): New variable, renamed from… (qbittorrent-enhanced-nox): …this package, now redefined as a DEPRECATED-PACKAGE. Change-Id: I4d1f9da937df6d6145ffbf9e9f2dd544365b9872 --- gnu/packages/bittorrent.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index d8abe84462e..d53f717f0d2 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -607,12 +607,15 @@ the following features: @item Peer whitelist/blacklist @end itemize"))) -(define-public qbittorrent-enhanced-nox +(define-public qbittorrent-enhanced-no-x (package (inherit qbittorrent-enhanced) - (name "qbittorrent-enhanced-nox") - (arguments (package-arguments qbittorrent-nox)) - (inputs (package-inputs qbittorrent-nox)))) + (name "qbittorrent-enhanced-no-x") + (arguments (package-arguments qbittorrent-no-x)) + (inputs (package-inputs qbittorrent-no-x)))) + +(define-public qbittorrent-enhanced-nox + (deprecated-package "qbittorrent-enhanced-nox" qbittorrent-enhanced-no-x)) (define-public deluge (package From 52f9db6503b398bd2c9d73446c51ca99ee76fafe Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 26 Feb 2024 02:27:48 +0800 Subject: [PATCH 231/261] gnu: Add sioyek. * gnu/packages/patches/sioyek-fix-build.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/pdf.scm (sioyek): New variable. Change-Id: Id2708745bd7ef672b620b8e9c907126bdc5a1f55 Signed-off-by: Hilton Chain --- gnu/local.mk | 1 + gnu/packages/patches/sioyek-fix-build.patch | 82 +++++++++++++++++++++ gnu/packages/pdf.scm | 60 +++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 gnu/packages/patches/sioyek-fix-build.patch diff --git a/gnu/local.mk b/gnu/local.mk index 16241ee4411..3becc8cb137 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1826,6 +1826,7 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-pango-header-guard.patch \ %D%/packages/patches/sdl-pango-matrix_declarations.patch \ %D%/packages/patches/sdl-pango-sans-serif.patch \ + %D%/packages/patches/sioyek-fix-build.patch \ %D%/packages/patches/smalltalk-multiplication-overflow.patch \ %D%/packages/patches/sqlite-hurd.patch \ %D%/packages/patches/strace-readlink-tests.patch \ diff --git a/gnu/packages/patches/sioyek-fix-build.patch b/gnu/packages/patches/sioyek-fix-build.patch new file mode 100644 index 00000000000..521b361f2a0 --- /dev/null +++ b/gnu/packages/patches/sioyek-fix-build.patch @@ -0,0 +1,82 @@ +Patch fetched from https://git.alpinelinux.org/aports/tree/community/sioyek/mupdf-0.23.0.patch + +From 86e913eccf19b97a16f25d9b6cdf0f50232f1226 Mon Sep 17 00:00:00 2001 +From: ptrcnull +Date: Fri, 25 Aug 2023 22:44:26 +0200 +Subject: community/sioyek: fix build with mupdf-0.23.0 + +--- + +diff --git a/pdf_viewer/document_view.cpp b/pdf_viewer/document_view.cpp +index f48d05e..0bc3855 100644 +--- a/pdf_viewer/document_view.cpp ++++ b/pdf_viewer/document_view.cpp +@@ -1121,7 +1121,7 @@ std::vector DocumentView::find_line_definitions() { + + std::optional pdf_link = current_document->get_link_in_page_rect(get_center_page_number(), line_rects[line_index]); + if (pdf_link.has_value()) { +- auto parsed_uri = parse_uri(mupdf_context, pdf_link.value().uri); ++ auto parsed_uri = parse_uri(mupdf_context, current_document->doc, pdf_link.value().uri); + result.push_back({ parsed_uri.page - 1, parsed_uri.x, parsed_uri.y }); + return result; + } +diff --git a/pdf_viewer/main_widget.cpp b/pdf_viewer/main_widget.cpp +index 19b568b..335a93f 100644 +--- a/pdf_viewer/main_widget.cpp ++++ b/pdf_viewer/main_widget.cpp +@@ -170,7 +170,7 @@ void MainWidget::set_overview_position(int page, float offset) { + + void MainWidget::set_overview_link(PdfLink link) { + +- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri); ++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, link.uri); + if (page >= 1) { + set_overview_position(page - 1, offset_y); + } +@@ -3178,7 +3178,7 @@ void MainWidget::handle_pending_text_command(std::wstring text) { + open_web_url(utf8_decode(selected_link->uri)); + } + else{ +- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, selected_link->uri); ++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, selected_link->uri); + long_jump_to_destination(page-1, offset_y); + } + } +@@ -3863,7 +3863,7 @@ void MainWidget::handle_link_click(const PdfLink& link) { + return; + } + +- auto [page, offset_x, offset_y] = parse_uri(mupdf_context, link.uri); ++ auto [page, offset_x, offset_y] = parse_uri(mupdf_context, doc()->doc, link.uri); + + // convert one indexed page to zero indexed page + page--; +diff --git a/pdf_viewer/utils.cpp b/pdf_viewer/utils.cpp +index 22d4265..3150e66 100644 +--- a/pdf_viewer/utils.cpp ++++ b/pdf_viewer/utils.cpp +@@ -116,8 +116,9 @@ bool rects_intersect(fz_rect rect1, fz_rect rect2) { + return range_intersects(rect1.x0, rect1.x1, rect2.x0, rect2.x1) && range_intersects(rect1.y0, rect1.y1, rect2.y0, rect2.y1); + } + +-ParsedUri parse_uri(fz_context* mupdf_context, std::string uri) { +- fz_link_dest dest = pdf_parse_link_uri(mupdf_context, uri.c_str()); ++ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, std::string uri) { ++ pdf_document* doc = pdf_document_from_fz_document(mupdf_context, fz_doc); ++ fz_link_dest dest = pdf_resolve_link_dest(mupdf_context, doc, uri.c_str()); + return { dest.loc.page + 1, dest.x, dest.y }; + } + +diff --git a/pdf_viewer/utils.h b/pdf_viewer/utils.h +index 2a12211..643b030 100644 +--- a/pdf_viewer/utils.h ++++ b/pdf_viewer/utils.h +@@ -55,7 +55,7 @@ void get_flat_toc(const std::vector& roots, std::vector& + int mod(int a, int b); + bool range_intersects(float range1_start, float range1_end, float range2_start, float range2_end); + bool rects_intersect(fz_rect rect1, fz_rect rect2); +-ParsedUri parse_uri(fz_context* mupdf_context, std::string uri); ++ParsedUri parse_uri(fz_context* mupdf_context, fz_document* fz_doc, std::string uri); + char get_symbol(int key, bool is_shift_pressed, const std::vector&special_symbols); + + template diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 0d796f65bb3..f32403b9547 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2022 Paul A. Patience ;;; Copyright © 2022 Petr Hodina ;;; Copyright © 2023 Felix Gruber +;;; Copyright © 2024 dan ;;; ;;; This file is part of GNU Guix. ;;; @@ -1710,3 +1711,62 @@ python library. Keywords: html2pdf, htmltopdf") (license license:bsd-3))) + +(define-public sioyek + (package + (name "sioyek") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ahrm/sioyek") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vmmp2s032ygh1byz77pg9aljmp8hx745fr7mmz11831f96mlmhq")) + (modules '((guix build utils))) + ;; libmupdf-third.so no longer available since mupdf 1.18.0. + (snippet '(substitute* "pdf_viewer_build_config.pro" + (("-lmupdf-third") ""))) + ;; XXX: Fix build with mupdf-0.23.0+. + ;; See also: https://github.com/ahrm/sioyek/issues/804 + (patches (search-patches "sioyek-fix-build.patch")))) + (build-system gnu-build-system) + (arguments + (list + #:configure-flags + #~(list (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + (substitute* "pdf_viewer/main.cpp" + (("/usr/share") + (string-append #$output "/share")) + (("/etc") + (string-append #$output "/etc"))))) + (replace 'configure + (lambda* (#:key configure-flags #:allow-other-keys) + (apply invoke "qmake" configure-flags))) + (add-after 'install 'instal-man-page + (lambda _ + (install-file "resources/sioyek.1" + (string-append #$output "/share/man/man1"))))))) + (inputs + (list freetype + gumbo-parser + harfbuzz + jbig2dec + libjpeg-turbo + mujs + mupdf + openjpeg + qt3d-5 + qtbase-5 + zlib)) + (home-page "https://sioyek.info/") + (synopsis "PDF viewer with a focus on technical books and research papers") + (description + "Sioyek is a PDF viewer with a focus on textbooks and research papers.") + (license license:gpl3+))) From d13cfbc3f9f9461f9a72b9583eedddd342bbf4ea Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Thu, 7 Mar 2024 22:31:45 -0800 Subject: [PATCH 232/261] gnu: mc: Update to 4.8.31. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mc.scm (mc): Update to 4.8.31. Change-Id: Ib610e76b2ef5e6c1a1f49f34073015c0b260ea77 Signed-off-by: 宋文武 --- gnu/packages/mc.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm index 994f89f5248..8cf760ac53c 100644 --- a/gnu/packages/mc.scm +++ b/gnu/packages/mc.scm @@ -40,14 +40,14 @@ (define-public mc (package (name "mc") - (version "4.8.30") + (version "4.8.31") (source (origin (method url-fetch) (uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-" version ".tar.xz")) (sha256 - (base32 "1py7jm620lsas7rcv5j69608gdshmp25d9gx958hr5sb2jr3rg2y")))) + (base32 "06mbnhxd2k29jah4wp1ciicw1gb51a5d3af43zivhxbncvw1q694")))) (build-system gnu-build-system) (arguments (list @@ -68,7 +68,6 @@ (list "lib/utilunix.c" "src/filemanager/ext.c" "src/usermenu.c" - "src/vfs/fish/fish.c" ;; This file hard-codes other shells, but they're never ;; tried after mc's first choice (bash) is found. "lib/shell.c") From 3db5702e0b6dd6bf8966a26745efcd62a07df84a Mon Sep 17 00:00:00 2001 From: Skylar Chan Date: Tue, 5 Mar 2024 11:25:26 -0500 Subject: [PATCH 233/261] gnu: cmark: Update to 0.31.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/markup.scm (cmark): Update to 0.31.0. Change-Id: Ie9890dec34400e2c4b11f20e2dc67aa5dc111574 Signed-off-by: 宋文武 --- gnu/packages/markup.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 4a9a382104b..375367d3958 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -333,7 +333,7 @@ convert HTML to Markdown.") (define-public cmark (package (name "cmark") - (version "0.30.3") + (version "0.31.0") (source (origin (method git-fetch) (uri (git-reference @@ -342,7 +342,7 @@ convert HTML to Markdown.") (file-name (git-file-name name version)) (sha256 (base32 - "07d30s5v893nb1m7qbam5c3x9b3d84m80kzlj7fmkwhgjrlz7d7z")))) + "0llj68l9rxdhral0zyv0bz6yzqsxgq8d3730082sl3kx78lsq5qq")))) (build-system cmake-build-system) (arguments '(#:test-target "test")) From 06ff53d94c519726b319da3147f5742d7496c243 Mon Sep 17 00:00:00 2001 From: unwox Date: Sat, 2 Mar 2024 16:47:26 +0600 Subject: [PATCH 234/261] gnu: fennel: Update to 1.4.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lua.scm (fennel): Update to 1.4.2. Change-Id: I40957cd55dc9278158551952bdfbabc77ecd5885 Signed-off-by: 宋文武 --- gnu/packages/lua.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 1cde6bd66c3..c35bbe8bcdc 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -1233,7 +1233,7 @@ enabled.") (define-public fennel (package (name "fennel") - (version "1.3.1") + (version "1.4.2") (source (origin (method git-fetch) (uri (git-reference @@ -1242,7 +1242,7 @@ enabled.") (file-name (git-file-name name version)) (sha256 (base32 - "12zm3rd0vvkqazv1cv5bhwk6igsj18im2qakqw7cf4a20rc9wpmx")))) + "1h1i87jx889n1wczw5jvqmkx0jmlrq83pjspyd9v27j360d9fcik")))) (build-system gnu-build-system) (arguments (list #:make-flags #~(list (string-append "PREFIX=" From 584e24084299caf6392ebab3f98f0b59b65b7bd1 Mon Sep 17 00:00:00 2001 From: Zheng Junjie Date: Sat, 2 Mar 2024 18:07:27 +0800 Subject: [PATCH 235/261] gnu: catch2-3: Update to 3.5.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/check.scm (catch2-3): Update to 3.5.3. [arguments]: Remove -DCMAKE_CXX_FLAGS from configure-flags. Change-Id: Ib9e88dd6071d14ef70177fa83964a5d92b916ac0 Signed-off-by: 宋文武 --- gnu/packages/check.scm | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 2dcf33a4604..49a026bd20b 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -49,6 +49,7 @@ ;;; Copyright © 2023 Hilton Chain ;;; Copyright © 2023 Troy Figiel ;;; Copyright © 2024 Giacomo Leidi +;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -609,7 +610,7 @@ pattern.") (define-public catch2-3 (package (name "catch2") - (version "3.5.1") + (version "3.5.3") (home-page "https://github.com/catchorg/Catch2") (source (origin (method git-fetch) @@ -619,19 +620,12 @@ pattern.") (file-name (git-file-name name version)) (sha256 (base32 - "0p7rk01n4qfnnm1bgakllyqi83n1kbpz11gh65z1vspfz58hs9iv")))) + "11yla93vm2896fzhm3fz8lk3y3iz5iy7vd6wa7wnwvhsfd2dbfq3")))) (build-system cmake-build-system) (arguments (list #:configure-flags - #~(list #$@(match (%current-system) - ((or "x86_64-linux" "i686-linux") - ;; Tests fail on i686-linux without SSE2 for floats, see - ;; upstream report - ;; . - '("-DCMAKE_CXX_FLAGS=-msse2 -mfpmath=sse")) - (_ '())) - "-DCATCH_DEVELOPMENT_BUILD=ON" + #~(list "-DCATCH_DEVELOPMENT_BUILD=ON" "-DCATCH_ENABLE_WERROR=OFF" "-DBUILD_SHARED_LIBS=ON"))) (inputs (list python-wrapper)) From 757dc108b81115a8a773686982965ed1d9aa2408 Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Sun, 25 Feb 2024 17:03:54 +0000 Subject: [PATCH 236/261] gnu: oil: Update to 0.20.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/shells.scm (oil): Update to 0.20.0. Change-Id: I052cd9a41feb81e0883f70554f1b99d240a1f920 Signed-off-by: 宋文武 --- gnu/packages/shells.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 492f4693d82..ae4e73956e6 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -861,7 +861,7 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.17.0") + (version "0.20.0") (source ;; oil's sources contain a modified version of CPython 2.7.13. ;; According to https://www.oilshell.org/blog/2017/05/05.html @@ -874,7 +874,7 @@ Shell (pdksh).") (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "01b67dq56iam44d7c81ba9w62jjnjx2z7wm928rkc1ff6bacm37r")))) + (base32 "1jpxhixwq29ik01jx372g9acib59wmww8lrdlcypq7jpg5b0b7pi")))) (build-system gnu-build-system) (arguments (list #:strip-binaries? #f ; strip breaks the binary From f16a1125004fef707acb1947f1e08481096c5c15 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Mon, 4 Mar 2024 21:41:59 -0800 Subject: [PATCH 237/261] gnu: xnedit: Update to 1.5.3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/text-editors.scm (xnedit): Update to 1.5.3. Change-Id: I65242f061e8ecbb8d23e7a3e9ad5c50b2fe98842 Signed-off-by: 宋文武 --- gnu/packages/text-editors.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 977a101c97e..d17b370b6da 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -1548,14 +1548,14 @@ highlighting for dozens of languages. Jed is very small and fast.") (define-public xnedit (package (name "xnedit") - (version "1.5.2") + (version "1.5.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/xnedit/" name "-" version ".tar.gz")) (sha256 (base32 - "09424qj03p7v7ih2gi3jnpm5iilr24ssab8rkijcjh6n9qn7izl0")))) + "10pw0yylhfmpcmhs74i3ikgsd8jq4dsy64zp9v14wj5s4qrac4c5")))) (build-system gnu-build-system) (arguments From fd3e618cf0e351e6a1f2cf7e4585d7ff9490af7b Mon Sep 17 00:00:00 2001 From: Alex Devaure Date: Sat, 24 Feb 2024 10:36:05 +0000 Subject: [PATCH 238/261] gnu: darktable: Update to 4.6.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/photo.scm (darktable): Update to 4.6.1. Change-Id: I2642b78036205c97c8183349fc809fcfec78f866 Signed-off-by: 宋文武 --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 48f1c38695a..1018d2e801e 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -530,7 +530,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "4.6.0") + (version "4.6.1") (source (origin (method url-fetch) @@ -538,7 +538,7 @@ photographic equipment.") "https://github.com/darktable-org/darktable/releases/" "download/release-" version "/darktable-" version ".tar.xz")) (sha256 - (base32 "1hmcib37b5v8893d69i2qgvmbkmils8a0gn5dpg2462d43ijfjvj")))) + (base32 "1zbsrx5cfyifzbi657izw8rfkgd9pm4hx8afv8y2sgi9f2hc1v8n")))) (build-system cmake-build-system) (arguments (list From e51c26ef2daf7742eb1617ecb2c7f1594b73fb0c Mon Sep 17 00:00:00 2001 From: Zheng Junjie Date: Fri, 8 Mar 2024 10:49:46 +0800 Subject: [PATCH 239/261] gnu: plasma-desktop: Fix build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/kde-plasma.scm (plasma-desktop)[inputs]: Replace qtwayland with qtwayland-5. Change-Id: I88b4a81b8e93ed94877344f86f8b7787ed5937ed Signed-off-by: 宋文武 --- gnu/packages/kde-plasma.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index 331ab28cd1f..cf45fa59f71 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2019 Marius Bakke ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel ;;; Copyright © 2019 Tobias Geerinckx-Rice -;;; Copyright © 2020, 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2020, 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022 Brendan Tildesley ;;; Copyright © 2022 Petr Hodina ;;; @@ -1787,7 +1787,7 @@ the KDE Plasma 5 desktop.") qtdeclarative-5 qtquickcontrols-5 qtquickcontrols2-5 - qtwayland + qtwayland-5 qtx11extras wayland wayland-protocols From a10cce5246e333be52acd7d334f59228895db89a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 26 Feb 2024 10:28:16 -0600 Subject: [PATCH 240/261] gnu: netsurf: Update to 3.11. * gnu/packages/web.scm (netsurf): Update to 3.11. [arguments]: Adjust to new source. Netsurf's JS engine cannot handle DuckDuckGo's redirect urls, so replace websearch form with post to DuckDuckGo Lite. (netsurf-buildsystem): Update to 1.10 (libparserutils): Update to 0.2.5. (hubbub): Update to 0.3.8. [source]: Remove hubbub-maybe-uninitialized.patch. (libcss): Update to 0.9.2. [source]: Remove snippet. Add patch for tests. (libdom): Update to 0.4.2. (libsvgtiny): Update to 0.1.8. (libnsbmp): Update to 0.1.7. (libnsgif): Update to 1.0.0. (libnsutils): Update to 0.1.1. (libnspsl): Update to 0.1.7. (nsgenbind): Update to 0.9. * gnu/packages/patches/netsurf-message-timestamp.patch: Adjust to latest source. * gnu/packages/patches/hubbub-maybe-uninitialized.patch: Delete patch. * gnu/packages/patches/libcss-check-format.patch: New patch. * gnu/local.mk (dist_patch_DATA): Adjust. Change-Id: I5834b0418270309aa30b6cd0a5a307e20c00fd4a --- gnu/local.mk | 2 +- .../patches/hubbub-maybe-uninitialized.patch | 40 --------- .../patches/libcss-check-format.patch | 13 +++ .../patches/netsurf-message-timestamp.patch | 4 +- gnu/packages/web.scm | 88 ++++++++++--------- 5 files changed, 62 insertions(+), 85 deletions(-) delete mode 100644 gnu/packages/patches/hubbub-maybe-uninitialized.patch create mode 100644 gnu/packages/patches/libcss-check-format.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3becc8cb137..e5d17000778 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1442,7 +1442,6 @@ dist_patch_DATA = \ %D%/packages/patches/http-parser-CVE-2020-8287.patch \ %D%/packages/patches/htslib-for-stringtie.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ - %D%/packages/patches/hubbub-maybe-uninitialized.patch \ %D%/packages/patches/hueplusplus-mbedtls.patch \ %D%/packages/patches/hurd-add-without-rump-configure-option.patch \ %D%/packages/patches/hurd-fix-rumpdisk-build.patch \ @@ -1512,6 +1511,7 @@ dist_patch_DATA = \ %D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \ %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/julia-Use-MPFR-4.2.patch \ + %D%/packages/patches/libcss-check-format.patch \ %D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \ %D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \ %D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \ diff --git a/gnu/packages/patches/hubbub-maybe-uninitialized.patch b/gnu/packages/patches/hubbub-maybe-uninitialized.patch deleted file mode 100644 index 6f289a770ef..00000000000 --- a/gnu/packages/patches/hubbub-maybe-uninitialized.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 69d81a8a4d4c223aad67cde0fdf64d64351b9802 Mon Sep 17 00:00:00 2001 -From: Andy Tai -Date: Sat, 27 May 2023 00:01:34 -0700 -Subject: [PATCH] prevent -Werror=maybe-uninitialized build failure with gcc 11 - when building tests tokeniser2 and tokeniser3 - ---- - test/tokeniser2.c | 2 +- - test/tokeniser3.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/tokeniser2.c b/test/tokeniser2.c -index c8ab9c0..4caae38 100644 ---- a/test/tokeniser2.c -+++ b/test/tokeniser2.c -@@ -438,7 +438,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) - /* Expected token only contained part of the data - * Calculate how much is left, then try again with - * the next expected token */ -- hubbub_token t; -+ hubbub_token t = { 0 }; - - t.type = HUBBUB_TOKEN_CHARACTER; - t.data.character.ptr += len; -diff --git a/test/tokeniser3.c b/test/tokeniser3.c -index e33d018..b3be901 100644 ---- a/test/tokeniser3.c -+++ b/test/tokeniser3.c -@@ -447,7 +447,7 @@ hubbub_error token_handler(const hubbub_token *token, void *pw) - /* Expected token only contained part of the data - * Calculate how much is left, then try again with - * the next expected token */ -- hubbub_token t; -+ hubbub_token t = { 0 }; - - t.type = HUBBUB_TOKEN_CHARACTER; - t.data.character.ptr += len; --- -2.40.1 - diff --git a/gnu/packages/patches/libcss-check-format.patch b/gnu/packages/patches/libcss-check-format.patch new file mode 100644 index 00000000000..b297ac1c929 --- /dev/null +++ b/gnu/packages/patches/libcss-check-format.patch @@ -0,0 +1,13 @@ +Submitted upstream at https://bugs.netsurf-browser.org/mantis/view.php?id=2870 + +--- libcss-0.9.2/test/dump.h.orig ++++ libcss-0.9.2/test/dump.h +@@ -131,7 +131,7 @@ void dump_rule_media(css_rule_media *s, char **buf, size_t *buflen) + char *ptr = *buf; + css_rule *rule; + +- ptr += sprintf(ptr, "| @media %s%03lx", ++ ptr += sprintf(ptr, "| @media %s%03" PRIx64, + s->media->negate_type ? "not " : "", + s->media->type); + diff --git a/gnu/packages/patches/netsurf-message-timestamp.patch b/gnu/packages/patches/netsurf-message-timestamp.patch index 8df9dbf8f7c..03bfdfde3fd 100644 --- a/gnu/packages/patches/netsurf-message-timestamp.patch +++ b/gnu/packages/patches/netsurf-message-timestamp.patch @@ -1,5 +1,5 @@ ---- netsurf-3.8/utils/split-messages.pl.orig 1969-12-31 18:00:00.000000000 -0600 -+++ netsurf-3.8/utils/split-messages.pl 2018-08-30 00:18:58.158367530 -0500 +--- netsurf-3.11/tools/split-messages.pl.orig ++++ netsurf-3.11/tools/split-messages.pl @@ -238,7 +238,7 @@ if( $opt{gzip} ) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index e519552a36a..ddc673896b2 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015-2024 Ricardo Wurmus ;;; Copyright © 2018 Raoul Jean Pierre Bonnal ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier +;;; Copyright © 2015-2020, 2024 Eric Bavier ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016 Jelle Licht @@ -5459,7 +5459,7 @@ tools they trust (e.g. wget).") (define netsurf-buildsystem (package (name "netsurf-buildsystem") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) @@ -5467,7 +5467,7 @@ tools they trust (e.g. wget).") "buildsystem-" version ".tar.gz")) (sha256 (base32 - "0alsmaig9ln8dgllb3z63gq90fiz75jz0ic71fi0k0k898qix14k")))) + "0yadmrpgvl9r08b56qiy5f77jracc7g9n4krn727fip4d7akjgix")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (arguments @@ -5498,7 +5498,7 @@ libraries.") (define-public libparserutils (package (name "libparserutils") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) @@ -5506,7 +5506,7 @@ libraries.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1n2794y2l0c8nv8z2pxwfnbn882987ifmxjv60zdxkhcndhswarj")))) + "0ffi5q1jlcdl66nk3cax0mnzvhrjvvjvlx0rfasjfygi333xazii")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem pkg-config perl)) ;for test harness @@ -5521,7 +5521,7 @@ C. It is developed as part of the NetSurf project.") (define-public hubbub (package (name "hubbub") - (version "0.3.7") + (version "0.3.8") (source (origin (method url-fetch) @@ -5529,15 +5529,14 @@ C. It is developed as part of the NetSurf project.") "libhubbub-" version "-src.tar.gz")) (sha256 (base32 - "1dimfyblmym98qa1b80c5jslv2zk8r44xbdrgrsrw1n9wr9y4yly")) - (patches (search-patches - "hubbub-sort-entities.patch" - "hubbub-maybe-uninitialized.patch")))) + "19fm5h8arnsgxd4w5vr9s2fcb422acciffar3la0b36lygsydhca")) + (patches (search-patches "hubbub-sort-entities.patch")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem pkg-config doxygen + gperf json-c-0.12 ; check whether json-c-0.12 can be removed perl)) (propagated-inputs @@ -5705,7 +5704,7 @@ developed as part of the Netsurf project.") (define-public libcss (package (name "libcss") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) @@ -5713,13 +5712,8 @@ developed as part of the Netsurf project.") "libcss-" version "-src.tar.gz")) (sha256 (base32 - "1p66sdiiqm7w4jkq23hsf08khsnmq93hshh9f9m8sbirjdpf3p6j")) - (modules '((guix build utils))) - (snippet - '(begin - ;; This can be removed with the next release. - (substitute* "src/select/computed.c" - (("css_unit unit;") "css_unit unit = CSS_UNIT_PX;")))))) + "0khmf5bdpkc09fpsgwzi23sihpadvyr02jx0q5h1vm9lxjxibwid")) + (patches (search-patches "libcss-check-format.patch")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem pkg-config perl)) @@ -5736,7 +5730,7 @@ written in C. It is developed as part of the NetSurf project.") (define-public libdom (package (name "libdom") - (version "0.4.1") + (version "0.4.2") ;TODO include patch for additional tags? (source (origin (method url-fetch) @@ -5744,7 +5738,7 @@ written in C. It is developed as part of the NetSurf project.") "libdom-" version "-src.tar.gz")) (sha256 (base32 - "0jpg5hx3y0mdxk5szd47dyijqimd2321brbqk2620pp5f4j0gvlq")))) + "0g0gqcglk8f8gbygbcq5ylcx84zsf0vczbm3n3118w2l2splapnh")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem @@ -5771,7 +5765,7 @@ developed as part of the NetSurf project.") (define-public libsvgtiny (package (name "libsvgtiny") - (version "0.1.7") + (version "0.1.8") (source (origin (method url-fetch) @@ -5779,7 +5773,7 @@ developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "10bpkmvfpydj74im3r6kqm9vnvgib6afy0alx71q5n0w5yawy39c")))) + "0750q884ax8wygl64wq03zdjj8h838ch3f8jdfkv4gz809zj4my3")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem pkg-config gperf-3.0)) @@ -5800,7 +5794,7 @@ project.") (define-public libnsbmp (package (name "libnsbmp") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) @@ -5808,7 +5802,7 @@ project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0krjg69a2amxjsahdgm3wmy9ngnyr3gfs2a1zhdlbvb0z1jr7i3r")))) + "14r2v1ich4lxn3sdwpiwq5adydrd1qlhbd8mbamalaqj59laf1sl")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem)) @@ -5856,7 +5850,7 @@ operations.") (define-public libnsgif (package (name "libnsgif") - (version "0.2.1") + (version "1.0.0") (source (origin (method url-fetch) @@ -5864,7 +5858,7 @@ operations.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0jwshypgmx16xlsbx3d8njk8a5khazlplca5mxd3rdbhrlsabbly")))) + "06q69hn0nz3c6hnwmzfcldyrppkvimx3s97ql3sx4m0lyr1ch530")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem)) @@ -5907,7 +5901,7 @@ client applications. It is developed as part of the NetSurf project.") (define-public libnsutils (package (name "libnsutils") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) @@ -5915,7 +5909,7 @@ client applications. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "1w5fyy2i60a3v3if3iqcn9sy9sycx6966rcx53v85gja6hb6a33r")))) + "14pakllwf7a205d0dkvyg8jhmqfbi5sh5riw840d13j5dr9b952n")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem)) @@ -5930,7 +5924,7 @@ developed as part of the NetSurf project.") (define-public libnspsl (package (name "libnspsl") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) @@ -5938,7 +5932,7 @@ developed as part of the NetSurf project.") "libnspsl-" version "-src.tar.gz")) (sha256 (base32 - "02q28n5i6fwqcz1nn167rb71k1q95mx38mfah6zi1lvqrc2q5ifk")))) + "105cjkb622wz11z26il4j1n4ydyrrgv0nglr67aawpam5z1wx11n")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem)) @@ -5953,7 +5947,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") (define-public nsgenbind (package (name "nsgenbind") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) @@ -5961,7 +5955,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") "nsgenbind-" version "-src.tar.gz")) (sha256 (base32 - "1cqwgwca49jvmijwiyaab2bwxicgxdrnlpinf8kp3nha02nm73ad")))) + "0p9q9ffn9hf1qrphz2qxq2xvyysn5kg2dbl8cbnkwb5wdkvf0b13")))) (build-system gnu-build-system) (native-inputs (list netsurf-buildsystem bison flex)) @@ -5979,7 +5973,7 @@ w3c webidl files and a binding configuration file.") (define-public netsurf (package (name "netsurf") - (version "3.10") + (version "3.11") (source (origin (method url-fetch) @@ -5987,7 +5981,7 @@ w3c webidl files and a binding configuration file.") "releases/source/netsurf-" version "-src.tar.gz")) (sha256 (base32 - "0plra64c5xyiw12yx2q13brxsv8apmany97zqa2lcqckw4ll8j1n")) + "1chw40nx7krpy7m14bajfrcj88h98if8py0k7c2qshpfxxm652n2")) (patches (search-patches "netsurf-system-utf8proc.patch" "netsurf-y2038-tests.patch" "netsurf-longer-test-timeout.patch" @@ -6038,22 +6032,17 @@ w3c webidl files and a binding configuration file.") (add-after 'unpack 'remove-timestamps ;; Avoid embedding timestamp for reproducible builds (lambda _ - (substitute* "utils/git-testament.pl" + (substitute* "tools/git-testament.pl" (("WT_COMPILEDATE ..$compiledate") "WT_COMPILEDATE \\\"")))) (add-after 'build 'adjust-welcome (lambda _ (substitute* "frontends/gtk/res/welcome.html" - ;; Close some XHTML tags. + ;; Close some XHTML tags. (("<(img|input)([^>]*)>" _ tag contents) (string-append "<" tag contents " />")) ;; Increase freedom. - ((" open source") ", free software") - ;; Prefer a more privacy-respecting default search engine. - (("www.google.co.uk") "www.duckduckgo.com/html") - (("Google Search") "DuckDuckGo Search") - (("name=\"btnG\"") "")) - ;; Remove default links so it doesn't seem we're endorsing them. + ((" open source") ", free software")) (with-atomic-file-replacement "frontends/gtk/res/welcome.html" (lambda (in out) ;; Leave the DOCTYPE header as is. @@ -6068,8 +6057,23 @@ w3c webidl files and a binding configuration file.") ;; We'd like to use sxml-match here, but it can't ;; match against generic tag symbols... (match sxml + ;; Remove default links so it doesn't seem we're + ;; endorsing them. (`(div (@ (class "links")) . ,rest) '()) + ;; Prefer a more privacy-respecting default search + ;; engine. + (`(form . ,rest) + `(form (@ (action "https://lite.duckduckgo.com/lite/") + (method "post")) + (div (@ (class "websearch")) + (input (@ (type "text") + (size "42") + (name "q") + (autocomplete "off") + (value ""))) + (input (@ (type "submit") + (value "DuckDuckGo Search")))))) (`(ENTITY ,ent) `(*ENTITY* ,ent)) ((x ...) From 9c78902d8a9350a3277b2550c0dd87019ecc832e Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 29 Feb 2024 06:16:54 +0100 Subject: [PATCH 241/261] gnu: babl: Update to 0.1.108. * gnu/packages/gimp.scm (babl): Update to 0.1.108. --- gnu/packages/gimp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index b1ff08d6521..5287ec78d5f 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -175,7 +175,7 @@ of a larger interface.") (define-public babl (package (name "babl") - (version "0.1.96") + (version "0.1.108") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" @@ -189,7 +189,7 @@ of a larger interface.") "/babl-" version ".tar.xz"))) (sha256 (base32 - "1xj5hlmm834lb84rpjlfxbqnm5piswgzhjas4h8z90x9b7j3yrrk")))) + "0x8lxvnhfpssj84x47y3y06vsvhd5afb9jknw38c8ymbxafzxpi6")))) (build-system meson-build-system) (arguments `(#:configure-flags From d6d9e65175d7e889c0d5020c949a65a396d1ca3d Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 29 Feb 2024 06:17:12 +0100 Subject: [PATCH 242/261] gnu: gegl: Update to 0.4.48. * gnu/packages/gimp.scm (gegl): Update to 0.4.48. --- gnu/packages/gimp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 5287ec78d5f..555a1706653 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -215,7 +215,7 @@ provided, as well as a framework to add new color models and data types.") (define-public gegl (package (name "gegl") - (version "0.4.42") + (version "0.4.48") (source (origin (method url-fetch) @@ -229,7 +229,7 @@ provided, as well as a framework to add new color models and data types.") (version-major+minor version) "/gegl-" version ".tar.xz"))) (sha256 - (base32 "0bg0vlmj4n9x1291b9fsjqxsal192zlg48pa57f6xid6p863ma5b")))) + (base32 "0iw2wag3sls7va4c3dmczisbs9na4ml0rppnk1ymv0789gcjd321")))) (build-system meson-build-system) (arguments `(#:configure-flags From 99cfb624ca801d6d0e857f7cfd8d358ecfe59893 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 29 Feb 2024 06:17:22 +0100 Subject: [PATCH 243/261] gnu: babl: Build with introspection. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gimp.scm (babl)[#:configure-flags]: Remove “-Denable-gir=false”. --- gnu/packages/gimp.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 555a1706653..07581a45959 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -193,8 +193,7 @@ of a larger interface.") (build-system meson-build-system) (arguments `(#:configure-flags - (list "-Denable-gir=false" - "-Dwith-docs=false"))) + (list "-Dwith-docs=false"))) (native-inputs (list gobject-introspection pkg-config vala)) (propagated-inputs From 1f0767a85be59fe79e4ce8301cddd6aad74ce5b8 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 29 Feb 2024 06:18:04 +0100 Subject: [PATCH 244/261] gnu: gegl: Build with introspection. * gnu/packages/gimp.scm (gegl)[arguments]: Remove #:configure-flags. --- gnu/packages/gimp.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 07581a45959..d065182c7f2 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -231,9 +231,7 @@ provided, as well as a framework to add new color models and data types.") (base32 "0iw2wag3sls7va4c3dmczisbs9na4ml0rppnk1ymv0789gcjd321")))) (build-system meson-build-system) (arguments - `(#:configure-flags - (list "-Dintrospection=false") - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'extend-test-time-outs (lambda _ From 0f816853b9ce72caba88f8c1f51b27ba0c134a71 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 29 Feb 2024 18:47:02 +0100 Subject: [PATCH 245/261] gnu: gimp: Update to 2.10.36. * gnu/packages/gimp.scm (gimp): Update to 2.10.36. --- gnu/packages/gimp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index d065182c7f2..ebe1e20c97a 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -285,7 +285,7 @@ buffers.") (define-public gimp (package (name "gimp") - (version "2.10.32") + (version "2.10.36") (source (origin (method url-fetch) @@ -293,7 +293,7 @@ buffers.") (version-major+minor version) "/gimp-" version ".tar.bz2")) (sha256 - (base32 "09csp2d8bzf012n7hvbbwngwr9phv3rnip768qdwqpdgah2wf59z")))) + (base32 "1cnvgkni2q4psv8syyl5yd9kk84fv5g3imd2kgm3mnsbkb3c6frx")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML From 1bc05c6f6d56ad9e0e31d7f1cc75545a65e3d0f3 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 29 Feb 2024 18:47:12 +0100 Subject: [PATCH 246/261] gnu: Add gimp-next. * gnu/packages/gimp.scm (gimp-next): New variable. --- gnu/packages/gimp.scm | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index ebe1e20c97a..3c4353f8a01 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages build-tools) #:use-module (gnu packages documentation) @@ -367,6 +368,52 @@ as well as specialized ones. It features a highly customizable interface that is extensible via a plugin system.") (license license:gpl3+))) ; some files are lgplv3 +(define-public gimp-next + (package + (inherit gimp) + (name "gimp-next") + (version "2.99.18") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.gimp.org/pub/gimp/v" + (version-major+minor version) + "/gimp-" version ".tar.xz")) + (sha256 + (base32 "0vnvdl7x88njyyxkbgdbhz6jwz1qasrxh0fpwk6x1m609alvf6wc")))) + (build-system meson-build-system) + (arguments + (list #:modules `((ice-9 popen) + (ice-9 rdelim) + (guix build meson-build-system) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-gcc-reference + ;; Avoid reference to GCC. + (lambda _ + (let* ((port (open-input-pipe "gcc -v 2>&1 | tail -n 1")) + (cc-version (read-line port))) + (close-pipe port) + (substitute* "app/gimp-version.c" + (("CC_VERSION") (string-append "\"" cc-version "\"")))))) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file (string-append out "/share/doc") + (string-append doc "/share/doc")))))))) + (inputs (modify-inputs (package-inputs gimp) + (replace "gtk+" gtk+) + (prepend libxmu libxt) + (prepend python gjs) + (prepend libxslt))) + (native-inputs (modify-inputs (package-native-inputs gimp) + (prepend appstream-glib + gi-docgen + libarchive))))) + (define-public gimp-fourier (package (name "gimp-fourier") From d1b660a00c1e9a7128ccbd13d01314faedae8ebf Mon Sep 17 00:00:00 2001 From: Tanguy Le Carrour Date: Thu, 7 Mar 2024 19:58:18 +0100 Subject: [PATCH 247/261] gnu: Add python-3.12 and python-next. * gnu/packages/python.scm (python-3.12, python-next): New variables. * gnu/packages/patches/python-3.12-fix-tests.patch: New file. Change-Id: Ie393b732a8863569578e72e62603b75a1655a34e Signed-off-by: Tanguy Le Carrour Signed-off-by: Lars-Dominik Braun --- .../patches/python-3.12-fix-tests.patch | 334 +++++++++++++++ gnu/packages/python.scm | 387 +++++++++++++++++- 2 files changed, 720 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-3.12-fix-tests.patch diff --git a/gnu/packages/patches/python-3.12-fix-tests.patch b/gnu/packages/patches/python-3.12-fix-tests.patch new file mode 100644 index 00000000000..fa5c8027ce8 --- /dev/null +++ b/gnu/packages/patches/python-3.12-fix-tests.patch @@ -0,0 +1,334 @@ +From f0698133e7d6c353a3e6ae0fc62e57ba558a9bc0 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer +Date: Wed, 28 Oct 2020 22:55:05 -0400 +Subject: [PATCH] Skip problematic Python 3 tests in Guix. + +A subset of the hunks in this patch is tracked upstream at +https://bugs.python.org/issue38845, which was contributed by Tanguy Le +Carrour . + +diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py +index e42c7ab4bd..8087c84dab 100644 +--- a/Lib/test/_test_multiprocessing.py ++++ b/Lib/test/_test_multiprocessing.py +@@ -1695,6 +1695,7 @@ def _test_wait_result(cls, c, pid): + if pid is not None: + os.kill(pid, signal.SIGINT) + ++ @unittest.skipIf(True, "This fails for unknown reasons on Guix") + def test_wait_result(self): + if isinstance(self, ProcessesMixin) and sys.platform != 'win32': + pid = os.getpid() +@@ -4150,6 +4151,7 @@ def test_shared_memory_across_processes(self): + sms.close() + + @unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms") ++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") + def test_shared_memory_SharedMemoryServer_ignores_sigint(self): + # bpo-36368: protect SharedMemoryManager server process from + # KeyboardInterrupt signals. +diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py +index 85c8152d49..e35cfffe84 100644 +--- a/Lib/test/test_asyncio/test_base_events.py ++++ b/Lib/test/test_asyncio/test_base_events.py +@@ -1377,6 +1377,8 @@ def test_create_connection_no_inet_pton(self, m_socket): + self._test_create_connection_ip_addr(m_socket, False) + + @patch_socket ++ @unittest.skipUnless(support.is_resource_enabled('network'), ++ 'network is not enabled') + def test_create_connection_service_name(self, m_socket): + m_socket.getaddrinfo = socket.getaddrinfo + sock = m_socket.socket.return_value +diff --git a/Lib/test/test_ctypes/test_find.py b/Lib/test/test_ctypes/test_find.py +index a41e94971d..1291af3057 100644 +--- a/Lib/test/test_ctypes/test_find.py ++++ b/Lib/test/test_ctypes/test_find.py +@@ -117,6 +117,7 @@ def test_find_library_with_gcc(self): + with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None): + self.assertNotEqual(find_library('c'), None) + ++ @unittest.skipIf(True, 'Fails on Guix.') + def test_find_library_with_ld(self): + with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \ + unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None): +diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py +index 1ee9958445..ab6b41befe 100644 +--- a/Lib/test/test_generators.py ++++ b/Lib/test/test_generators.py +@@ -34,6 +34,7 @@ def generator2(self): + else: + return "FAILED" + ++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment') + def test_raise_and_yield_from(self): + gen = self.generator1() + gen.send(None) +diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py +index ec105ae1a0..ae4c5b672e 100644 +--- a/Lib/test/test_pathlib.py ++++ b/Lib/test/test_pathlib.py +@@ -3069,6 +3069,7 @@ def test_rglob(self): + 'pwd module does not expose getpwall()') + @unittest.skipIf(sys.platform == "vxworks", + "no home directory on VxWorks") ++ @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests") + def test_expanduser(self): + P = self.cls + import_helper.import_module('pwd') +diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py +index 51b844262e..004d3133cf 100644 +--- a/Lib/test/test_pdb.py ++++ b/Lib/test/test_pdb.py +@@ -1580,6 +1580,7 @@ def test_pdb_next_command_subiterator(): + (Pdb) continue + """ + ++@unittest.skipIf(True, 'Fails on Guix… but skipIf not taken into account?!') + def test_pdb_issue_20766(): + """Test for reference leaks when the SIGINT handler is set. + +@@ -1598,11 +1599,11 @@ def test_pdb_issue_20766(): + > (6)test_function() + -> print('pdb %d: %s' % (i, sess._previous_sigint_handler)) + (Pdb) continue +- pdb 1: ++ pdb 1: 1 + > (6)test_function() + -> print('pdb %d: %s' % (i, sess._previous_sigint_handler)) + (Pdb) continue +- pdb 2: ++ pdb 2: 1 + """ + + def test_pdb_issue_43318(): +diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py +index 2ab6f6a986..8cf6b4d1c8 100644 +--- a/Lib/test/test_regrtest.py ++++ b/Lib/test/test_regrtest.py +@@ -1049,6 +1049,7 @@ def test_fromfile(self): + output = self.run_tests('--fromfile', filename) + self.check_executed_tests(output, tests, stats=stats) + ++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.') + def test_interrupted(self): + code = TEST_INTERRUPTED + test = self.create_test('sigint', code=code) +@@ -1066,6 +1067,7 @@ def test_slowest(self): + % (self.TESTNAME_REGEX, len(tests))) + self.check_line(output, regex) + ++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.') + def test_slowest_interrupted(self): + # Issue #25373: test --slowest with an interrupted test + code = TEST_INTERRUPTED +diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py +index 317e7ca8f8..7f272daf24 100644 +--- a/Lib/test/test_resource.py ++++ b/Lib/test/test_resource.py +@@ -151,6 +151,7 @@ def test_freebsd_contants(self): + + @unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit') + @support.requires_linux_version(2, 6, 36) ++ @unittest.skipIf(True, "Bug: the PermissionError is not raised") + def test_prlimit(self): + self.assertRaises(TypeError, resource.prlimit) + self.assertRaises(ProcessLookupError, resource.prlimit, +diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py +index bf60f37934..5e3a96380a 100644 +--- a/Lib/test/test_shutil.py ++++ b/Lib/test/test_shutil.py +@@ -1743,6 +1743,7 @@ def test_make_archive(self): + base_name = os.path.join(tmpdir, 'archive') + self.assertRaises(ValueError, make_archive, base_name, 'xxx') + ++ @unittest.skipIf(True, "The Guix build container has no root user") + @support.requires_zlib() + def test_make_archive_owner_group(self): + # testing make_archive with owner and group, with various combinations +@@ -1771,6 +1772,7 @@ def test_make_archive_owner_group(self): + self.assertTrue(os.path.isfile(res)) + + ++ @unittest.skipIf(True, "The Guix build container has no root user") + @support.requires_zlib() + @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support") + def test_tarfile_root_owner(self): +diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py +index 637a0ca3b3..2fb804e340 100644 +--- a/Lib/test/test_signal.py ++++ b/Lib/test/test_signal.py +@@ -160,6 +160,7 @@ def test_valid_signals(self): + self.assertLess(signum, signal.NSIG) + + @unittest.skipUnless(sys.executable, "sys.executable required.") ++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") + @support.requires_subprocess() + def test_keyboard_interrupt_exit_code(self): + """KeyboardInterrupt triggers exit via SIGINT.""" +@@ -211,6 +212,7 @@ def test_issue9324(self): + signal.signal(7, handler) + + @unittest.skipUnless(sys.executable, "sys.executable required.") ++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") + @support.requires_subprocess() + def test_keyboard_interrupt_exit_code(self): + """KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT.""" +@@ -1407,6 +1409,7 @@ def cycle_handlers(): + + class RaiseSignalTest(unittest.TestCase): + ++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") + def test_sigint(self): + with self.assertRaises(KeyboardInterrupt): + signal.raise_signal(signal.SIGINT) +@@ -1452,6 +1455,7 @@ def __del__(self): + + class PidfdSignalTest(unittest.TestCase): + ++ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device") + @unittest.skipUnless( + hasattr(signal, "pidfd_send_signal"), + "pidfd support not built in", +diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py +index 4eb5af99d6..9c7b8f6dbc 100644 +--- a/Lib/test/test_socket.py ++++ b/Lib/test/test_socket.py +@@ -1016,6 +1016,8 @@ def testHostnameRes(self): + if not fqhn in all_host_names: + self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names))) + ++ @unittest.skipUnless(support.is_resource_enabled('network'), ++ 'network is not enabled') + def test_host_resolution(self): + for addr in [socket_helper.HOSTv4, '10.0.0.1', '255.255.255.255']: + self.assertEqual(socket.gethostbyname(addr), addr) +@@ -1161,6 +1163,8 @@ def testNtoHErrors(self): + self.assertRaises(OverflowError, socket.ntohl, k) + self.assertRaises(OverflowError, socket.htonl, k) + ++ @unittest.skipUnless(os.path.exists("/etc/services"), ++ "getservbyname uses /etc/services, which is not in the chroot") + def testGetServBy(self): + eq = self.assertEqual + # Find one service that exists, then check all the related interfaces. +@@ -1521,6 +1525,8 @@ def test_sio_loopback_fast_path(self): + raise + self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None) + ++ @unittest.skipUnless(os.path.exists("/etc/gai.conf"), ++ "getaddrinfo() will fail") + def testGetaddrinfo(self): + try: + socket.getaddrinfo('localhost', 80) +@@ -1653,6 +1659,8 @@ def test_getnameinfo(self): + # only IP addresses are allowed + self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0) + ++ @unittest.skipUnless(os.path.exists("/etc/gai.conf"), ++ "getaddrinfo() will fail") + @unittest.skipUnless(support.is_resource_enabled('network'), + 'network is not enabled') + def test_idna(self): +diff --git a/Lib/test/test_spwd.py b/Lib/test/test_spwd.py +index 50766c2548..0c7eb7a83a 100644 +--- a/Lib/test/test_spwd.py ++++ b/Lib/test/test_spwd.py +@@ -9,8 +9,7 @@ + spwd = import_helper.import_module('spwd') + + +-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0, +- 'root privileges required') ++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow') + class TestSpwdRoot(unittest.TestCase): + + def test_getspall(self): +@@ -60,8 +59,7 @@ def test_getspnam(self): + self.assertRaises(TypeError, spwd.getspnam, bytes_name) + + +-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0, +- 'non-root user required') ++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow') + class TestSpwdNonRoot(unittest.TestCase): + + def test_getspnam_exception(self): +diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py +index 71489ea493..33351919fe 100644 +--- a/Lib/test/test_tarfile.py ++++ b/Lib/test/test_tarfile.py +@@ -2911,9 +2911,12 @@ def root_is_uid_gid_0(): + import pwd, grp + except ImportError: + return False +- if pwd.getpwuid(0)[0] != 'root': +- return False +- if grp.getgrgid(0)[0] != 'root': ++ try: ++ if pwd.getpwuid(0)[0] != 'root': ++ return False ++ if grp.getgrgid(0)[0] != 'root': ++ return False ++ except KeyError: + return False + return True + +diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py +index 00d9e591c7..2515603715 100644 +--- a/Lib/test/test_threading.py ++++ b/Lib/test/test_threading.py +@@ -1962,6 +1962,7 @@ def check_interrupt_main_noerror(self, signum): + # Restore original handler + signal.signal(signum, handler) + ++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.') + def test_interrupt_main_subthread(self): + # Calling start_new_thread with a function that executes interrupt_main + # should raise KeyboardInterrupt upon completion. +@@ -1973,6 +1974,8 @@ def call_interrupt(): + t.join() + t.join() + ++ ++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.') + def test_interrupt_main_mainthread(self): + # Make sure that if interrupt_main is called in main thread that + # KeyboardInterrupt is raised instantly. +diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py +index 0e7ed67de7..6539a2983b 100644 +--- a/Lib/test/test_tools/test_freeze.py ++++ b/Lib/test/test_tools/test_freeze.py +@@ -23,6 +23,7 @@ + 'test is too slow with PGO') + class TestFreeze(unittest.TestCase): + ++ @unittest.skipIf(True, 'Fails on Guix.') + @support.requires_resource('cpu') # Building Python is slow + def test_freeze_simple_script(self): + script = textwrap.dedent(""" +diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py +index 515c3840cb..a96dfad0fe 100644 +--- a/Lib/test/test_unicodedata.py ++++ b/Lib/test/test_unicodedata.py +@@ -342,6 +342,7 @@ def test_linebreak_7643(self): + self.assertEqual(len(lines), 1, + r"\u%.4x should not be a linebreak" % i) + ++@requires_resource('network') + class NormalizationTest(unittest.TestCase): + @staticmethod + def check_version(testfile): +diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py +index 445a34ae3e..8f750537c3 100644 +--- a/Tools/scripts/run_tests.py ++++ b/Tools/scripts/run_tests.py +@@ -69,7 +69,7 @@ def main(regrtest_args): + else: + args.extend(['-j', '0']) # Use all CPU cores + if not any(is_resource_use_flag(arg) for arg in regrtest_args): +- args.extend(['-u', 'all,-largefile,-audio,-gui']) ++ args.extend(['-u', 'all,-largefile,-audio,-gui,-network']) + + if cross_compile and hostrunner: + # If HOSTRUNNER is set and -p/--python option is not given, then diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 51d5f598d73..0ae3709b998 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -55,7 +55,7 @@ ;;; Copyright © 2018, 2019, 2020, 2021 Maxim Cournoyer ;;; Copyright © 2018 Luther Thompson ;;; Copyright © 2018 Vagrant Cascadian -;;; Copyright © 2019 Tanguy Le Carrour +;;; Copyright © 2019, 2024 Tanguy Le Carrour ;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen ;;; Copyright © 2020, 2021 Greg Hogan ;;; Copyright © 2022 Philip McGrath @@ -596,6 +596,391 @@ data types.") (variable "PYTHONTZPATH") (files (list "share/zoneinfo"))))))) +(define-public python-3.12 + (package + (name "python-next") + (version "3.12.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.python.org/ftp/python/" version + "/Python-" version ".tar.xz")) + (sha256 + (base32 "0w6qyfhc912xxav9x9pifwca40b4l49vy52wai9j0gc1mhni2a5y")) + (patches (search-patches "python-3-deterministic-build-info.patch" + "python-3.12-fix-tests.patch" + "python-3-hurd-configure.patch")) + (modules '((guix build utils))) + (snippet '(begin + ;; Delete the bundled copy of libexpat. + (delete-file-recursively "Modules/expat") + (substitute* "Modules/Setup" + ;; Link Expat instead of embedding the bundled one. + (("^#pyexpat.*") + "pyexpat pyexpat.c -lexpat\n")) + ;; Delete windows binaries + (for-each delete-file + (find-files "Lib/distutils/command" "\\.exe$")))))) + (outputs '("out" "tk" ;tkinter; adds 50 MiB to the closure + "idle")) ;programming environment; weighs 5MB + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:configure-flags (list "--enable-shared" ;allow embedding + "--with-system-expat" ;for XML support + "--with-system-ffi" ;build ctypes + "--with-ensurepip=install" ;install pip and setuptools + "--with-computed-gotos" ;main interpreter loop optimization + "--enable-unicode=ucs4" + "--without-static-libpython" + + ;; FIXME: These flags makes Python significantly faster, + ;; but leads to non-reproducible binaries. + ;; "--with-lto" ;increase size by 20MB, but 15% speedup + ;; "--enable-optimizations" + + ;; Prevent the installed _sysconfigdata.py from retaining + ;; a reference to coreutils. + "INSTALL=install -c" + "MKDIR_P=mkdir -p" + + ;; Disable runtime check failing if cross-compiling, see: + ;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html + ,@(if (%current-target-system) + '("ac_cv_buggy_getaddrinfo=no" + "ac_cv_file__dev_ptmx=no" + "ac_cv_file__dev_ptc=no") + '()) + ;; -fno-semantic-interposition reinstates some + ;; optimizations by gcc leading to around 15% speedup. + ;; This is the default starting from python 3.10. + "CFLAGS=-fno-semantic-interposition" + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib" + " -fno-semantic-interposition")) + ;; With no -j argument tests use all available cpus, so provide one. + #:make-flags (list (string-append (format #f "TESTOPTS=-j~d" + (parallel-job-count)) + ;; those tests fail on low-memory systems + " --exclude test_mmap test_socket test_threading test_asyncio" + ,@(if (system-hurd?) + '(" test_posix" ;multiple errors + " test_time" + " test_pty" + " test_shutil" + " test_tempfile" ;chflags: invalid argument: + ;; tbv14c9t/dir0/dir0/dir0/test0.txt + " test_os" ;stty: 'standard input': + ;; Inappropriate ioctl for device + " test_openpty" ;No such file or directory + " test_selectors" ;assertEqual(NUM_FDS // 2, len(fds)) + ;; 32752 != 4 + " test_compileall" ;multiple errors + " test_poll" ;list index out of range + " test_subprocess" ;runs over 10min + " test_asyncore" ;multiple errors + " test_threadsignals" + " test_eintr" ;Process return code is -14 + " test_io" ;multiple errors + " test_logging" + " test_signal" + " test_flags" ;ERROR + " test_bidirectional_pty" + " test_create_unix_connection" + " test_unix_sock_client_ops" + " test_open_unix_connection" + " test_open_unix_connection_error" + " test_read_pty_output" + " test_write_pty" + " test_concurrent_futures" ;freeze + " test_venv" ;freeze + " test_multiprocessing_forkserver" ;runs over 10min + " test_multiprocessing_spawn" ;runs over 10min + " test_builtin" + " test_capi" + " test_dbm_ndbm" + " test_exceptions" + " test_faulthandler" + " test_getopt" + " test_importlib" + " test_json" + " test_multiprocessing_fork" + " test_multiprocessing_main_handling" + " test_pdb " + " test_regrtest" + " test_sqlite") + '()))) + + #:modules ((ice-9 ftw) + (ice-9 match) + (guix build utils) + (guix build gnu-build-system)) + + #:phases (modify-phases %standard-phases + ,@(if (system-hurd?) + `((add-after 'unpack + 'disable-multi-processing + (lambda _ + (substitute* "Makefile.pre.in" + (("-j0") + "-j1"))))) + '()) + (add-before 'configure 'patch-lib-shells + (lambda _ + ;; This variable is used in setup.py to enable cross compilation + ;; specific switches. As it is not set properly by configure + ;; script, set it manually. + ,@(if (%current-target-system) + '((setenv "_PYTHON_HOST_PLATFORM" "")) + '()) + ;; Filter for existing files, since some may not exist in all + ;; versions of python that are built with this recipe. + (substitute* (filter file-exists? + '("Lib/subprocess.py" + "Lib/popen2.py" + "Lib/distutils/tests/test_spawn.py" + "Lib/test/support/__init__.py" + "Lib/test/test_subprocess.py")) + (("/bin/sh") + (which "sh"))))) + (add-before 'configure 'do-not-record-configure-flags + (lambda* (#:key configure-flags #:allow-other-keys) + ;; Remove configure flags from the installed '_sysconfigdata.py' + ;; and 'Makefile' so we don't end up keeping references to the + ;; build tools. + ;; + ;; Preserve at least '--with-system-ffi' since otherwise the + ;; thing tries to build libffi, fails, and we end up with a + ;; Python that lacks ctypes. + (substitute* "configure" + (("^CONFIG_ARGS=.*$") + (format #f "CONFIG_ARGS='~a'\n" + (if (member "--with-system-ffi" + configure-flags) + "--with-system-ffi" "")))))) + (add-before 'check 'pre-check + (lambda _ + ;; 'Lib/test/test_site.py' needs a valid $HOME + (setenv "HOME" + (getcwd)))) + (add-after 'unpack 'set-source-file-times-to-1980 + ;; XXX One of the tests uses a ZIP library to pack up some of the + ;; source tree, and fails with "ZIP does not support timestamps + ;; before 1980". Work around this by setting the file times in the + ;; source tree to sometime in early 1980. + (lambda _ + (let ((circa-1980 (* 10 366 24 60 60))) + (ftw "." + (lambda (file stat flag) + (utime file circa-1980 circa-1980) #t))))) + (add-after 'unpack 'remove-windows-binaries + (lambda _ + ;; Delete .exe from embedded .whl (zip) files + (for-each (lambda (whl) + (let ((dir "whl-content") + (circa-1980 (* 10 366 24 60 60))) + (mkdir-p dir) + (with-directory-excursion dir + (let ((whl (string-append "../" whl))) + (invoke "unzip" whl) + (for-each delete-file + (find-files "." "\\.exe$")) + (delete-file whl) + ;; Reset timestamps to prevent them from ending + ;; up in the Zip archive. + (ftw "." + (lambda (file stat flag) + (utime file circa-1980 + circa-1980) #t)) + (apply invoke "zip" "-X" whl + (find-files "." + #:directories? #t)))) + (delete-file-recursively dir))) + (find-files "Lib/ensurepip" "\\.whl$")))) + (add-after 'install 'remove-tests + ;; Remove 25 MiB of unneeded unit tests. Keep test_support.* + ;; because these files are used by some libraries out there. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (match (scandir (string-append out "/lib") + (lambda (name) + (string-prefix? "python" name))) + ((pythonX.Y) + (let ((testdir (string-append out "/lib/" pythonX.Y + "/test"))) + (with-directory-excursion testdir + (for-each delete-file-recursively + (scandir testdir + (match-lambda + ((or "." "..") + #f) + ("support" #f) + (file (not (string-prefix? + "test_support." + file)))))) + (call-with-output-file "__init__.py" + (const #t)))) + (let ((libdir (string-append out "/lib/" pythonX.Y))) + (for-each (lambda (directory) + (let ((dir (string-append libdir "/" + directory))) + (when (file-exists? dir) + (delete-file-recursively dir)))) + '("email/test" "ctypes/test" + "unittest/test" + "tkinter/test" + "sqlite3/test" + "bsddb/test" + "lib-tk/test" + "json/tests" + "distutils/tests")))))))) + (add-after 'remove-tests 'move-tk-inter + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; When Tkinter support is built move it to a separate output so + ;; that the main output doesn't contain a reference to Tcl/Tk. + (let ((out (assoc-ref outputs "out")) + (tk (assoc-ref outputs "tk"))) + (when tk + (match (find-files out "tkinter.*\\.so") + ((tkinter.so) + ;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we + ;; want it under TK/lib/pythonX.Y/site-packages. + (let* ((len (string-length out)) + (target (string-append tk "/" + (string-drop (dirname + (dirname + tkinter.so)) + len) + "/site-packages"))) + (install-file tkinter.so target) + (delete-file tkinter.so)))) + ;; Remove explicit store path references. + (let ((tcl (assoc-ref inputs "tcl")) + (tk (assoc-ref inputs "tk"))) + (substitute* (find-files (string-append out "/lib") + "^(_sysconfigdata_.*\\.py|Makefile)$") + (((string-append "-L" tk "/lib")) + "") + (((string-append "-L" tcl "/lib")) + ""))))))) + (add-after 'move-tk-inter 'move-idle + (lambda* (#:key outputs #:allow-other-keys) + ;; when idle is built, move it to a separate output to save some + ;; space (5MB) + (let ((out (assoc-ref outputs "out")) + (idle (assoc-ref outputs "idle"))) + (when idle + (for-each (lambda (file) + (let ((target (string-append idle + "/bin/" + (basename + file)))) + (install-file file + (dirname target)) + (delete-file file))) + (find-files (string-append out "/bin") + "^idle")) + (match (find-files out "^idlelib$" + #:directories? #t) + ((idlelib) + (let* ((len (string-length out)) + (target (string-append idle "/" + (string-drop + idlelib len) + "/site-packages"))) + (mkdir-p (dirname target)) + (rename-file idlelib target)))))))) + (add-after 'move-idle 'rebuild-bytecode + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Disable hash randomization to ensure the generated .pycs + ;; are reproducible. + (setenv "PYTHONHASHSEED" "0") + + (for-each (lambda (output) + ;; XXX: Delete existing pycs generated by the build + ;; system beforehand because the -f argument does + ;; not necessarily overwrite all files, leading to + ;; indeterministic results. + (for-each (lambda (pyc) + (delete-file pyc)) + (find-files output "\\.pyc$")) + + (apply invoke + `(,,(if (%current-target-system) + "python3" + '(string-append out + "/bin/python3")) "-m" + "compileall" + "-o" + "0" + "-o" + "1" + "-o" + "2" + "-f" ;force rebuild + "--invalidation-mode=unchecked-hash" + ;; Don't build lib2to3, because it's + ;; Python 2 code. + "-x" + "lib2to3/.*" + ,output))) + (map cdr outputs))))) + (add-before 'check 'set-TZDIR + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; test_email requires the Olson time zone database. + (setenv "TZDIR" + (string-append (assoc-ref (or native-inputs + inputs) "tzdata") + "/share/zoneinfo")))) + (add-after 'install 'install-sitecustomize.py + ,(customize-site version))))) + (inputs (list bzip2 + expat + gdbm + libffi ;for ctypes + sqlite ;for sqlite extension + openssl + readline + zlib + tcl + tk)) ;for tkinter + (native-inputs `(("tzdata" ,tzdata-for-tests) + ("unzip" ,unzip) + ("zip" ,(@ (gnu packages compression) zip)) + ("pkg-config" ,pkg-config) + ("sitecustomize.py" ,(local-file (search-auxiliary-file + "python/sitecustomize.py"))) + ;; When cross-compiling, a native version of Python itself is needed. + ,@(if (%current-target-system) + `(("python" ,this-package) + ("which" ,which)) + '()))) + (native-search-paths + (list (guix-pythonpath-search-path version) + ;; Used to locate tzdata by the zoneinfo module introduced in + ;; Python 3.9. + (search-path-specification + (variable "PYTHONTZPATH") + (files (list "share/zoneinfo"))))) + (home-page "https://www.python.org") + (synopsis "High-level, dynamically-typed programming language") + (description + "Python is a remarkably powerful dynamic programming language that +is used in a wide variety of application domains. Some of its key +distinguishing features include: clear, readable syntax; strong +introspection capabilities; intuitive object orientation; natural +expression of procedural code; full modularity, supporting hierarchical +packages; exception-based error handling; and very high level dynamic +data types.") + (properties '((cpe-name . "python"))) + (license license:psfl))) + + +;; Next 3.x version. +(define-public python-next python-3.12) + ;; Current 3.x version. (define-public python-3 python-3.10) From d53ca793707c2c94a580c572a5cf4ac383c951ee Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 9 Mar 2024 18:44:14 +0200 Subject: [PATCH 248/261] gnu: Register patch. This is a follow-up to d1b660a00c1e9a7128ccbd13d01314faedae8ebf. * gnu/local.mk (dist_patch_DATA): Register new patch. Change-Id: I281aa1e7ed9f30dc17fd3092d0db9e193f94f9d5 --- gnu/local.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/local.mk b/gnu/local.mk index e5d17000778..fb8c4afe1dc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1796,6 +1796,7 @@ dist_patch_DATA = \ %D%/packages/patches/prusa-slicer-fix-tests.patch \ %D%/packages/patches/prusa-slicer-with-cereal-1.3.1.patch \ %D%/packages/patches/pthreadpool-system-libraries.patch \ + %D%/packages/patches/python-3.12-fix-tests.patch \ %D%/packages/patches/python-accupy-use-matplotx.patch \ %D%/packages/patches/python-accupy-fix-use-of-perfplot.patch \ %D%/packages/patches/python-chai-drop-python2.patch \ From cfc63f673fb00dc30f6fd7916e78855721885d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 19 Feb 2024 15:39:19 +0100 Subject: [PATCH 249/261] lint: Switch to SRFI-71. * guix/lint.scm: Switch from SRFI-11 to SRFI-71. Change-Id: I62e6cd304ad73570bd12bd67f7051566205596bb --- guix/lint.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/guix/lint.scm b/guix/lint.scm index c95de85e69b..84df1710451 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -84,10 +84,10 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-6) ;Unicode string ports #:use-module (srfi srfi-9) - #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) + #:use-module (srfi srfi-71) #:use-module (ice-9 rdelim) #:export (check-description-style check-inputs-should-be-native @@ -823,8 +823,8 @@ for connections to complete; when TIMEOUT is #f, wait as long as needed." ;; Return RESPONSE, unless the final response as we follow ;; redirects is not 200. (if location - (let-values (((status response2) - (loop location (cons location visited)))) + (let ((status response2 (loop location + (cons location visited)))) (case status ((http-response) (values 'http-response @@ -926,8 +926,7 @@ display a message including MESSAGE and return ERROR-VALUE." (define (validate-uri uri package field) "Return #t if the given URI can be reached, otherwise return a warning for PACKAGE mentioning the FIELD." - (let-values (((status argument) - (probe-uri uri #:timeout 3))) ;wait at most 3 seconds + (let ((status argument (probe-uri uri #:timeout 3))) ;wait at most 3 seconds (case status ((http-response) (cond ((= 200 (response-code argument)) From 3328dec08757a14ae47f4cbd7017b7518adc689e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 19 Feb 2024 17:51:34 +0100 Subject: [PATCH 250/261] lint: archival: Fix crash in non-Git case. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes a bug introduced in 29f3089c841f00144f24f5c32296aebf22d752cc where ‘guix lint -c archival guile-wisp’ (for instance) would crash with a match error because ‘lookup-by-nar-hash’ returns a string. * guix/lint.scm (check-archival): Add SWHID case in the non-Git case. Change-Id: I66fb060172d372041df47d90a14df168b0fa762d --- guix/lint.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guix/lint.scm b/guix/lint.scm index 84df1710451..ad84048660e 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -1736,6 +1736,8 @@ Disarchive entry refers to non-existent SWH directory '~a'") (list id) #:field 'source))))))) ((? content?) + '()) + ((? string? swhid) '()))) '())) ((? local-file?) From 47a0e5d9fb2209a27c2bffa163becbcb3356bf00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 19 Feb 2024 17:53:52 +0100 Subject: [PATCH 251/261] =?UTF-8?q?lint:=20archival:=20Trigger=20=E2=80=9C?= =?UTF-8?q?Save=20Code=20Now=E2=80=9D=20for=20VCSes=20other=20than=20Git.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Until now, ‘save-origin’ would be called only when given a . With this change, ‘save-origin’ gets called for other version control systems as well. * guix/lint.scm (swh-response->warning): New procedure, formerly in ‘check-archival’. (vcs-origin, save-package-source): New procedures. (check-archival)[response->warning]: Remove. Call ‘save-package-source’ in both the Git and the non-Git cases. * tests/lint.scm ("archival: missing svn revision"): New test. Change-Id: I535e4ec89488faf83bfa544d5e4935fa73ef54fb --- guix/lint.scm | 140 +++++++++++++++++++++++++++++++------------------ tests/lint.scm | 20 +++++++ 2 files changed, 109 insertions(+), 51 deletions(-) diff --git a/guix/lint.scm b/guix/lint.scm index ad84048660e..68d532968de 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -67,6 +67,10 @@ svn-multi-reference-url svn-multi-reference-user-name svn-multi-reference-password) + #:autoload (guix hg-download) (hg-reference? + hg-reference-url) + #:autoload (guix bzr-download) (bzr-reference? + bzr-reference-url) #:use-module (guix import stackage) #:use-module (ice-9 match) #:use-module (ice-9 regex) @@ -1632,6 +1636,69 @@ directory identifiers the spec refers to. Otherwise return #f." (extract-swh-id spec))))) %disarchive-mirrors)) +(define (swh-response->warning package url method response) + "Given RESPONSE, the response of METHOD on URL, return a suitable warning +list for PACKAGE." + (if (request-rate-limit-reached? url method) + (list (make-warning package + (G_ "Software Heritage rate limit reached; \ +try again later") + #:field 'source)) + (list (make-warning package + (G_ "'~a' returned ~a") + (list url (response-code response)) + #:field 'source)))) + +(define (vcs-origin origin) + "Return two values: the URL and type (a string) of the version-control used +for ORIGIN. Return #f and #f if ORIGIN is not a version-control checkout." + (match (and=> origin origin-uri) + ((? git-reference? ref) + (values (git-reference-url ref) "git")) + ((? svn-reference? ref) + (values (svn-reference-url ref) "svn")) + ((? svn-multi-reference? ref) + (values (svn-multi-reference-url ref) "svn")) + ((? hg-reference? ref) + (values (hg-reference-url ref) "hg")) + ((? bzr-reference? ref) + (values (bzr-reference-url ref) "bzr")) + ;; XXX: Not sure what to do with the weird CVS URIs (:pserver: etc.). + (_ + (values #f #f)))) + +(define (save-package-source package) + "Attempt to save the source of PACKAGE on SWH. Return a list of warnings." + (let* ((origin (package-source package)) + (url type (if origin (vcs-origin origin) (values #f #f)))) + (cond ((and url type) + (catch 'swh-error + (lambda () + (save-origin url type) + (list (make-warning + package + ;; TRANSLATORS: "Software Heritage" is a proper noun that + ;; must remain untranslated. See + ;; . + (G_ "scheduled Software Heritage archival") + #:field 'source))) + (lambda (key url method response . _) + (cond ((= 429 (response-code response)) + (list (make-warning + package + (G_ "archival rate limit exceeded; \ +try again later") + #:field 'source))) + (else + (swh-response->warning package url method response)))))) + ((not origin) + '()) + (else + (list (make-warning + package + (G_ "source code cannot be archived") + #:field 'source)))))) + (define (check-archival package) "Check whether PACKAGE's source code is archived on Software Heritage. If it's not, and if its source code is a VCS snapshot, then send a \"save\" @@ -1640,17 +1707,6 @@ request to Software Heritage. Software Heritage imposes limits on the request rate per client IP address. This checker prints a notice and stops doing anything once that limit has been reached." - (define (response->warning url method response) - (if (request-rate-limit-reached? url method) - (list (make-warning package - (G_ "Software Heritage rate limit reached; \ -try again later") - #:field 'source)) - (list (make-warning package - (G_ "'~a' returned ~a") - (list url (response-code response)) - #:field 'source)))) - (define skip-key (gensym "skip-archival-check")) (define (skip-when-limit-reached url method) @@ -1685,28 +1741,8 @@ try again later") '()) (#f ;; Revision is missing from the archive, attempt to save it. - (catch 'swh-error - (lambda () - (save-origin (git-reference-url reference) "git") - (list (make-warning - package - ;; TRANSLATORS: "Software Heritage" is a proper noun - ;; that must remain untranslated. See - ;; . - (G_ "scheduled Software Heritage archival") - #:field 'source))) - (lambda (key url method response . _) - (cond ((= 429 (response-code response)) - (list (make-warning - package - (G_ "archival rate limit exceeded; \ -try again later") - #:field 'source))) - (else - (response->warning url method response)))))))) + (save-package-source package)))) ((? origin? origin) - ;; Since "save" origins are not supported for non-VCS source, all - ;; we can do is tell whether a given tarball is available or not. (if (and=> (origin-hash origin) ;XXX: for ungoogled-chromium content-hash-value) ;& icecat (let ((hash (origin-hash origin))) @@ -1715,26 +1751,28 @@ try again later") (symbol->string (content-hash-algorithm hash)))) (#f - ;; If SWH doesn't have HASH as is, it may be because it's - ;; a hand-crafted tarball. In that case, check whether - ;; the Disarchive database has an entry for that tarball. - (match (lookup-disarchive-spec hash) - (#f - (list (make-warning package - (G_ "source not archived on Software \ + ;; If ORIGIN is a version-control checkout, save it now. + ;; If not, check whether HASH is in the Disarchive + ;; database ("Save Code Now" does not accept tarballs). + (if (vcs-origin origin) + (save-package-source package) + (match (lookup-disarchive-spec hash) + (#f + (list (make-warning package + (G_ "source not archived on Software \ Heritage and missing from the Disarchive database") - #:field 'source))) - (directory-ids - (match (find (lambda (id) - (not (lookup-directory id))) - directory-ids) - (#f '()) - (id - (list (make-warning package - (G_ "\ + #:field 'source))) + (directory-ids + (match (find (lambda (id) + (not (lookup-directory id))) + directory-ids) + (#f '()) + (id + (list (make-warning package + (G_ "\ Disarchive entry refers to non-existent SWH directory '~a'") - (list id) - #:field 'source))))))) + (list id) + #:field 'source)))))))) ((? content?) '()) ((? string? swhid) @@ -1749,7 +1787,7 @@ source is not an origin, it cannot be archived") #:field 'source))))) (match-lambda* (('swh-error url method response) - (response->warning url method response)) + (swh-response->warning package url method response)) ((key . args) (if (eq? key skip-key) '() diff --git a/tests/lint.scm b/tests/lint.scm index 87213fcc78a..95d82d74902 100644 --- a/tests/lint.scm +++ b/tests/lint.scm @@ -1407,6 +1407,26 @@ (check-archival (dummy-package "x" (source origin))))))) (warning-contains? "scheduled" warnings))) +(test-assert "archival: missing svn revision" + (let* ((origin (origin + (method svn-fetch) + (uri (svn-reference + (url "http://example.org/svn/foo") + (revision "1234"))) + (sha256 (make-bytevector 32)))) + ;; https://archive.softwareheritage.org/api/1/origin/save/ + (save "{ \"origin_url\": \"http://example.org/svn/foo\", + \"save_request_date\": \"2014-11-17T22:09:38+01:00\", + \"save_request_status\": \"accepted\", + \"save_task_status\": \"scheduled\" }") + (warnings (with-http-server `((404 "No extid.") ;lookup-directory-by-nar-hash + (404 "No revision.") ;lookup-revision + (404 "No origin.") ;lookup-origin + (200 ,save)) ;save-origin + (parameterize ((%swh-base-url (%local-url))) + (check-archival (dummy-package "x" (source origin))))))) + (warning-contains? "scheduled" warnings))) + (test-equal "archival: revision available" '() (let* ((origin (origin From a813d6890b9ba69f6a738b43919a6359478868cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 20 Feb 2024 14:30:41 +0100 Subject: [PATCH 252/261] =?UTF-8?q?swh:=20Add=20=E2=80=98type=E2=80=99=20f?= =?UTF-8?q?ield=20to=20.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/swh.scm ()[type]: New field. Change-Id: I7677984c7daef38d8f3c3bef19723fa0efb035ba --- guix/swh.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guix/swh.scm b/guix/swh.scm index 04cecd854c1..83f67423c8b 100644 --- a/guix/swh.scm +++ b/guix/swh.scm @@ -54,6 +54,7 @@ visit-snapshot-url visit-status visit-number + visit-type visit-snapshot snapshot? @@ -312,6 +313,7 @@ FALSE-IF-404? is true, return #f upon 404 responses." (url visit-url "origin_visit_url") (snapshot-url visit-snapshot-url "snapshot_url" string*) ;string | #f (status visit-status "status" string->symbol) ;'full | 'partial | 'ongoing + (type visit-type "type" string->symbol) ;'git | 'git-checkout | ... (number visit-number "visit")) ;; From ed9d7d84314d4bea1ff610420cf09f79d9d82719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 20 Feb 2024 14:38:23 +0100 Subject: [PATCH 253/261] =?UTF-8?q?swh:=20=E2=80=98origin-visits=E2=80=99?= =?UTF-8?q?=20takes=20an=20optional=20=E2=80=98max=E2=80=99=20parameter.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/swh.scm (origin-visits): Add optional ‘max’ parameter and honor it. Change-Id: I642d7d4b0672b68fb5c7ce2b49161307e13d3c95 --- guix/swh.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/guix/swh.scm b/guix/swh.scm index 83f67423c8b..14c65f68069 100644 --- a/guix/swh.scm +++ b/guix/swh.scm @@ -474,10 +474,11 @@ and use of ALGORITHM." hash) external-id-target)) -(define (origin-visits origin) - "Return the list of visits of ORIGIN, a record as returned by -'lookup-origin'." - (call (swh-url (origin-visits-url origin)) +(define* (origin-visits origin #:optional (max 10)) + "Return the list of the up to MAX latest visits of ORIGIN, a record as +returned by 'lookup-origin'." + (call (string-append (swh-url (origin-visits-url origin)) + "?per_page=" (number->string max)) (lambda (port) (map json->visit (vector->list (json->scm port)))))) From ddd455c0dd5a527f3c7e94b8b9056155facb37e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 20 Feb 2024 16:52:34 +0100 Subject: [PATCH 254/261] =?UTF-8?q?swh:=20=E2=80=98lookup-origin-revision?= =?UTF-8?q?=E2=80=99=20handles=20branches=20pointing=20to=20directories.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . * guix/swh.scm (branch-target): Add clause for 'directory and 'alias. (lookup-origin-revision): Iterate over all the visits of ORIGIN instead of just the first one. Handle the case where ‘branch-target’ returns something other than a release or revision. * tests/swh.scm ("lookup-origin-revision"): New test. Change-Id: I7f636739a719908763bca1d3e7376341dd62e816 --- guix/swh.scm | 60 ++++++++++++++++++++++------------------- tests/swh.scm | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 27 deletions(-) diff --git a/guix/swh.scm b/guix/swh.scm index 14c65f68069..f602cd89d1b 100644 --- a/guix/swh.scm +++ b/guix/swh.scm @@ -516,14 +516,20 @@ could not be found." (_ #f))))) (define (branch-target branch) - "Return the target of BRANCH, either a or a ." + "Return the target of BRANCH: a , a , or the SWHID of a +directory." (match (branch-target-type branch) ('release (call (swh-url (branch-target-url branch)) json->release)) ('revision (call (swh-url (branch-target-url branch)) - json->revision)))) + json->revision)) + ((or 'directory 'alias) + (match (string-tokenize (branch-target-url branch) + (char-set-complement (char-set #\/))) + ((_ ... "directory" id) + (string-append "swh:1:dir:" id)))))) (define (lookup-origin-revision url tag) "Return a corresponding to the given TAG for the repository @@ -537,31 +543,31 @@ URL could not be found." (match (lookup-origin url) (#f #f) (origin - (match (filter (lambda (visit) - ;; Return #f if (visit-snapshot VISIT) would return #f. - (and (visit-snapshot-url visit) - (eq? 'full (visit-status visit)))) - (origin-visits origin)) - ((visit . _) - (let ((snapshot (visit-snapshot visit))) - (match (and=> (find (lambda (branch) - (or - ;; Git specific. - (string=? (string-append "refs/tags/" tag) - (branch-name branch)) - ;; Hg specific. - (string=? tag - (branch-name branch)))) - (snapshot-branches snapshot)) - branch-target) - ((? release? release) - (release-target release)) - ((? revision? revision) - revision) - (#f ;tag not found - #f)))) - (() - #f))))) + (any (lambda (visit) + (and (visit-snapshot-url visit) + (eq? 'full (visit-status visit)) + (let ((snapshot (visit-snapshot visit))) + (match (and=> (find (lambda (branch) + (or + ;; Git specific. + (string=? (string-append "refs/tags/" tag) + (branch-name branch)) + ;; Hg specific. + (string=? tag + (branch-name branch)))) + (snapshot-branches snapshot)) + branch-target) + ((? release? release) + (release-target release)) + ((? revision? revision) + revision) + (_ + ;; Either the branch points to a directory rather than + ;; a revision (this is the case for visits of type + ;; 'git-checkout, 'hg-checkout, 'tarball-directory, + ;; etc.), or TAG was not found. + #f))))) + (origin-visits origin 30))))) (define (release-target release) "Return the revision that is the target of RELEASE." diff --git a/tests/swh.scm b/tests/swh.scm index e7ced6b50ce..11dcbdddd8e 100644 --- a/tests/swh.scm +++ b/tests/swh.scm @@ -109,6 +109,80 @@ (directory-entry-length entry))) (lookup-directory "123")))) +(test-equal "lookup-origin-revision" + '("cd86c72084993d9ef26fc9e24b73cea612b8c97b" + "d173c707ee88e3c89401ad77fafa65fcd9e9f5be") + (let () + ;; Make sure that 'lookup-origin-revision' does the job, and in particular + ;; that it doesn't stop until it has found an actual revision: + ;; 'git-checkout visits point to directories instead of revisions. + ;; See . + (define visits + ;; Two visits of differing types: the first visit (type 'git-checkout') + ;; points to a directory, the second one (type 'git') points to a + ;; revision. + "[ { + \"origin\": \"https://example.org/repo.git\", + \"visit\": 1, + \"type\": \"git-checkout\", + \"date\": \"2020-05-17T21:43:45.422977+00:00\", + \"status\": \"full\", + \"metadata\": {}, + \"type\": \"git-checkout\", + \"origin_visit_url\": \"/visit/42\", + \"snapshot_url\": \"/snapshot/1\" + }, { + \"origin\": \"https://example.org/repo.git\", + \"visit\": 2, + \"type\": \"git\", + \"date\": \"2020-05-17T21:43:49.422977+00:00\", + \"status\": \"full\", + \"metadata\": {}, + \"type\": \"git\", + \"origin_visit_url\": \"/visit/41\", + \"snapshot_url\": \"/snapshot/2\" + } ]") + (define snapshot-for-git-checkout + "{ \"id\": 42, + \"branches\": { \"1.3.2\": { + \"target\": \"e4a4be18fae8d9c6528abff3bc9088feb19a76c7\", + \"target_type\": \"directory\", + \"target_url\": \"/directory/e4a4be18fae8d9c6528abff3bc9088feb19a76c7\" + }} + }") + (define snapshot-for-git + "{ \"id\": 42, + \"branches\": { \"1.3.2\": { + \"target\": \"e4a4be18fae8d9c6528abff3bc9088feb19a76c7\", + \"target_type\": \"revision\", + \"target_url\": \"/revision/e4a4be18fae8d9c6528abff3bc9088feb19a76c7\" + }} + }") + (define revision + "{ \"author\": {}, + \"committer\": {}, + \"committer_date\": \"2018-05-17T21:43:49.422977+00:00\", + \"date\": \"2018-05-17T21:43:49.422977+00:00\", + \"directory\": \"d173c707ee88e3c89401ad77fafa65fcd9e9f5be\", + \"directory_url\": \"/directory/d173c707ee88e3c89401ad77fafa65fcd9e9f5be\", + \"id\": \"cd86c72084993d9ef26fc9e24b73cea612b8c97b\", + \"merge\": false, + \"message\": \"Fix.\", + \"parents\": [], + \"type\": \"what type?\" + }") + + (with-http-server `((200 ,%origin) + (200 ,visits) + (200 ,snapshot-for-git-checkout) + (200 ,snapshot-for-git) + (200 ,revision)) + (parameterize ((%swh-base-url (%local-url))) + (let ((revision (lookup-origin-revision "https://example.org/repo.git" + "1.3.2"))) + (list (revision-id revision) + (revision-directory revision))))))) + (test-equal "lookup-directory-by-nar-hash" "swh:1:dir:84a8b34591712c0a90bab0af604188bcd1fe3153" (with-json-result %external-id From 2a9f817ffdf66cc4b20538eec6232bfa504dba9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 20 Feb 2024 17:29:02 +0100 Subject: [PATCH 255/261] =?UTF-8?q?hg-download:=20Use=20=E2=80=98swh-downl?= =?UTF-8?q?oad-directory-by-nar-hash=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows content-addressed access to the checkout, which is preferable. * guix/hg-download.scm (hg-fetch): Add call to ‘swh-download-directory-by-nar-hash’ before ‘swh-download’ call. Change-Id: I2afc8badc1f8bb2c8bdd3a47abbb72d455d93e64 --- guix/hg-download.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guix/hg-download.scm b/guix/hg-download.scm index 6d02de47e40..dd28d9c2443 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2014-2017, 2019, 2024 Ludovic Courtès ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2021 Xinglu Chen ;;; @@ -117,9 +117,11 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (parameterize ((%verify-swh-certificate? #f)) (format (current-error-port) "Trying to download from Software Heritage...~%") - (swh-download #$(hg-reference-url ref) - #$(hg-reference-changeset ref) - #$output))))))) + (or (swh-download-directory-by-nar-hash #$hash '#$hash-algo + #$output) + (swh-download #$(hg-reference-url ref) + #$(hg-reference-changeset ref) + #$output)))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "hg-checkout") build From 0e73f933b291c7e154c7e019b6de1e2f3a97e4c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 20 Feb 2024 18:01:10 +0100 Subject: [PATCH 256/261] =?UTF-8?q?svn-download:=20Use=20=E2=80=98swh-down?= =?UTF-8?q?load-directory-by-nar-hash=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes . * guix/svn-download.scm (svn-fetch)[build]: Add ‘swh-download-directory-by-nar-hash’ call as a last resort. Import (guix swh). * guix/svn-download.scm (svn-multi-fetch)[build]: Likewise. Change-Id: Ifcb9be1e9c2b05ce172c44e45dcf3a3ea6df8e76 --- guix/svn-download.scm | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/guix/svn-download.scm b/guix/svn-download.scm index c6688908de4..64af996a062 100644 --- a/guix/svn-download.scm +++ b/guix/svn-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014-2016, 2019, 2021-2023 Ludovic Courtès +;;; Copyright © 2014-2016, 2019, 2021-2024 Ludovic Courtès ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2017, 2019, 2021 Ricardo Wurmus ;;; @@ -94,12 +94,14 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (with-imported-modules (source-module-closure '((guix build svn) (guix build download-nar) - (guix build utils))) + (guix build utils) + (guix swh))) (with-extensions (list guile-json guile-gnutls ;for (guix swh) guile-lzlib) #~(begin (use-modules (guix build svn) (guix build download-nar) + (guix swh) (ice-9 match)) (or (svn-fetch (getenv "svn url") @@ -111,7 +113,10 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (_ #f)) #:user-name (getenv "svn user name") #:password (getenv "svn password")) - (download-nar #$output)))))) + (download-nar #$output) + (parameterize ((%verify-swh-certificate? #f)) + (swh-download-directory-by-nar-hash #$hash '#$hash-algo + #$output))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "svn-checkout") build @@ -174,13 +179,15 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (with-imported-modules (source-module-closure '((guix build svn) (guix build download-nar) - (guix build utils))) + (guix build utils) + (guix swh))) (with-extensions (list guile-json guile-gnutls ;for (guix swh) guile-lzlib) #~(begin (use-modules (guix build svn) (guix build utils) (guix build download-nar) + (guix swh) (srfi srfi-1) (ice-9 match)) @@ -206,7 +213,14 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (begin (when (file-exists? #$output) (delete-file-recursively #$output)) - (download-nar #$output))))))) + (or (download-nar #$output) + (parameterize ((%verify-swh-certificate? #f)) + ;; SWH keeps HASH as an ExtID for the combination of + ;; files/directories, which allows us to retrieve the + ;; entire combination at once: + ;; . + (swh-download-directory-by-nar-hash + #$hash '#$hash-algo #$output))))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "svn-checkout") build From 8a42fc71401fce2086111f5d319aeeddf202513a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Feb 2024 14:17:07 +0100 Subject: [PATCH 257/261] bzr-download: Implement nar fallback. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/bzr-download.scm (bzr-fetch)[guile-json, guile-lzlib, guile-gnutls]: New variables. [build]: Add ‘with-extensions’ and import more modules. Invoke ‘download-nar’ when ‘bzr-fetch’ returns #f. * guix/build/bzr.scm (bzr-fetch): Actually return #t on success. Change-Id: Id5d4ebd0f9ddc3c44b6456d3b46c0000cc7b9997 --- guix/build/bzr.scm | 3 ++- guix/bzr-download.scm | 43 ++++++++++++++++++++++++++++++++----------- 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/guix/build/bzr.scm b/guix/build/bzr.scm index a0f5e15880c..dede5e031ab 100644 --- a/guix/build/bzr.scm +++ b/guix/build/bzr.scm @@ -37,6 +37,7 @@ revision identifier. Return #t on success, else throw an exception." (invoke bzr-command "-Ossl.cert_reqs=none" "checkout" "--lightweight" "-r" revision url directory) (with-directory-excursion directory - (delete-file-recursively ".bzr"))) + (delete-file-recursively ".bzr")) + #t) ;;; bzr.scm ends here diff --git a/guix/bzr-download.scm b/guix/bzr-download.scm index d97f84838e1..01c12fd54d5 100644 --- a/guix/bzr-download.scm +++ b/guix/bzr-download.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2022 Maxim Cournoyer +;;; Copyright © 2024 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,20 +52,40 @@ (module-ref distro 'breezy))) (define* (bzr-fetch ref hash-algo hash - #:optional name - #:key (system (%current-system)) (guile (default-guile)) - (bzr (bzr-package))) + #:optional name + #:key (system (%current-system)) (guile (default-guile)) + (bzr (bzr-package))) "Return a fixed-output derivation that fetches REF, a object. The output is expected to have recursive hash HASH of type HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." + (define guile-json + (module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4)) + + (define guile-lzlib + (module-ref (resolve-interface '(gnu packages guile)) 'guile-lzlib)) + + (define guile-gnutls + (module-ref (resolve-interface '(gnu packages tls)) 'guile-gnutls)) + (define build - (with-imported-modules (source-module-closure - '((guix build bzr))) - #~(begin - (use-modules (guix build bzr)) - (bzr-fetch - (getenv "bzr url") (getenv "bzr reference") #$output - #:bzr-command (string-append #+bzr "/bin/brz"))))) + (with-extensions (list guile-gnutls guile-lzlib guile-json) + (with-imported-modules (source-module-closure + '((guix build bzr) + (guix build utils) + (guix build download-nar))) + #~(begin + (use-modules (guix build bzr) + (guix build download-nar) + (guix build utils) + (srfi srfi-34)) + + (or (guard (c ((invoke-error? c) + (report-invoke-error c) + #f)) + (bzr-fetch (getenv "bzr url") (getenv "bzr reference") + #$output + #:bzr-command (string-append #+bzr "/bin/brz"))) + (download-nar #$output)))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "bzr-branch") build @@ -79,7 +100,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." "LC_ALL" "LC_MESSAGES" "LANG" "COLUMNS") #:system system - #:local-build? #t ;don't offload repo branching + #:local-build? #t ;don't offload repo branching #:hash-algo hash-algo #:hash hash #:recursive? #t From 3e9bea7ee30a3425011afb8e2f70b7a8fe6a404b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Feb 2024 14:20:41 +0100 Subject: [PATCH 258/261] =?UTF-8?q?download-nar:=20Distinguish=20=E2=80=98?= =?UTF-8?q?output=E2=80=99=20and=20=E2=80=98item=E2=80=99=20parameter.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is useful when running a ‘--check’ build, where the output file name differs from the store file name we are trying to restore. * guix/build/download-nar.scm (download-nar): Add ‘output’ parameter and distinguish it from ‘item’. Change-Id: I42219b6d4c8fd1ed506720301384efc1aa351561 --- guix/build/download-nar.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/guix/build/download-nar.scm b/guix/build/download-nar.scm index 3ba121b7fbd..f26ad28cd09 100644 --- a/guix/build/download-nar.scm +++ b/guix/build/download-nar.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2019, 2020 Ludovic Courtès +;;; Copyright © 2017, 2019, 2020, 2024 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,9 +57,9 @@ ITEM." (restore-file decompressed-port item)))) -(define (download-nar item) - "Download and extract the normalized archive for ITEM. Return #t on -success, #f otherwise." +(define* (download-nar item #:optional (output item)) + "Download and extract to OUTPUT the normalized archive for ITEM, a store +item. Return #t on success, #f otherwise." ;; Let progress reports go through. (setvbuf (current-error-port) 'none) (setvbuf (current-output-port) 'none) @@ -96,10 +96,10 @@ success, #f otherwise." #:download-size size))) (if (string-contains url "/lzip") (restore-lzipped-nar port-with-progress - item + output size) (restore-file port-with-progress - item))) + output))) (newline) #t)))) (() From abd0cca2a9ccba4e57fd2cc318139658559979cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Feb 2024 14:34:13 +0100 Subject: [PATCH 259/261] =?UTF-8?q?perform-download:=20Allow=20use=20of=20?= =?UTF-8?q?=E2=80=98download-nar=E2=80=99=20for=20=E2=80=98--check?= =?UTF-8?q?=E2=80=99=20builds.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, the nar fallback would always fail on ‘--check’ build because the output directory in that case is different from the store file name. This change fixes that. * guix/build/git.scm (git-fetch-with-fallback): Add #:item parameter and pass it to ‘download-nar’. * guix/scripts/perform-download.scm (perform-git-download): Pass #:item to ‘git-fetch-with-fallback’. Change-Id: I30fc948718e99574005150bba5215a51ef153c49 --- guix/build/git.scm | 14 ++++++++------ guix/scripts/perform-download.scm | 3 +++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/guix/build/git.scm b/guix/build/git.scm index 4c69365a7b8..a135026faef 100644 --- a/guix/build/git.scm +++ b/guix/build/git.scm @@ -92,19 +92,21 @@ fetched, recursively. Return #t on success, #f otherwise." (define* (git-fetch-with-fallback url commit directory - #:key (git-command "git") + #:key (item directory) + (git-command "git") hash hash-algorithm lfs? recursive?) "Like 'git-fetch', fetch COMMIT from URL into DIRECTORY, but fall back to -alternative methods when fetching from URL fails: attempt to download a nar, -and if that also fails, download from the Software Heritage archive. When -HASH and HASH-ALGORITHM are provided, they are interpreted as the nar hash of -the directory of interested and are used as its content address at SWH." +alternative methods when fetching from URL fails: attempt to download a nar +for ITEM, and if that also fails, download from the Software Heritage archive. +When HASH and HASH-ALGORITHM are provided, they are interpreted as the nar +hash of the directory of interested and are used as its content address at +SWH." (or (git-fetch url commit directory #:lfs? lfs? #:recursive? recursive? #:git-command git-command) - (download-nar directory) + (download-nar item directory) ;; As a last resort, attempt to download from Software Heritage. ;; Disable X.509 certificate verification to avoid depending diff --git a/guix/scripts/perform-download.scm b/guix/scripts/perform-download.scm index e7eb3b2a1f1..b96959a09e2 100644 --- a/guix/scripts/perform-download.scm +++ b/guix/scripts/perform-download.scm @@ -114,10 +114,13 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or ;; on ambient authority, hence the PATH value below. (setenv "PATH" "/run/current-system/profile/bin:/bin:/usr/bin") + ;; Note: When doing a '--check' build, DRV-OUTPUT and OUTPUT are + ;; different, hence the #:item argument below. (git-fetch-with-fallback url commit output #:hash hash #:hash-algorithm algo #:recursive? recursive? + #:item (derivation-output-path drv-output) #:git-command %git)))) (define (assert-low-privileges) From 2f441fc738976175d438f7942211b1894e2eb416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 23 Feb 2024 14:42:43 +0100 Subject: [PATCH 260/261] =?UTF-8?q?download:=20Honor=20=E2=80=98GUIX=5FDOW?= =?UTF-8?q?NLOAD=5FMETHODS=E2=80=99=20environment=20variable.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This replaces ‘GUIX_DOWNLOAD_FALLBACK_TEST’ and allows you to test various download methods, like so: GUIX_DOWNLOAD_METHODS=nar guix build guile-gcrypt -S --check GUIX_DOWNLOAD_METHODS=disarchive guix build hello -S --check * guix/build/download.scm (%download-methods): New variable. (download-method-enabled?): New procedure. (url-fetch): Define ‘initial-uris’; honor ‘download-method-enabled?’. Call ‘disarchive-fetch/any’ only when the 'disarchive method is enabled. * guix/build/git.scm (git-fetch-with-fallback): Honor ‘download-method-enabled?’. * guix/download.scm (%download-methods): New variable. (%download-fallback-test): Remove. (built-in-download): Add #:download-methods parameter and honor it. (url-fetch*): Pass #:content-addressed-mirrors and #:disarchive-mirrors unconditionally. * guix/git-download.scm (git-fetch/in-band*): Pass “git url” unconditionally. (git-fetch/built-in): Likewise. Pass “download-methods”. * guix/bzr-download.scm (bzr-fetch)[build]: Honor ‘download-method-enabled?’. Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars. * guix/cvs-download.scm (cvs-fetch)[build]: Honor ‘download-method-enabled?’. Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars. * guix/hg-download.scm (hg-fetch): Honor ‘download-method-enabled?’. Pass #:env-vars to ‘gexp->derivation’. * guix/scripts/perform-download.scm (perform-download): Honor “download-methods” from DRV. Parameterize ‘%download-methods’ before calling ‘url-fetch’. (perform-git-download): Likewise. * guix/svn-download.scm (svn-fetch): Honor ‘download-method-enabled?’. Pass ‘GUIX_DOWNLOAD_METHODS’ to #:env-vars. (svn-multi-fetch): Likewise. Change-Id: Ia3402e17f0303dfa964bdc761265efe8a1dd69ab --- guix/build/download.scm | 50 ++++++++++++++---- guix/build/git.scm | 15 ++++-- guix/bzr-download.scm | 28 ++++++---- guix/cvs-download.scm | 24 ++++++--- guix/download.scm | 53 +++++++------------ guix/git-download.scm | 20 +++---- guix/hg-download.scm | 36 ++++++++----- guix/scripts/perform-download.scm | 70 +++++++++++++----------- guix/svn-download.scm | 88 +++++++++++++++++++------------ 9 files changed, 230 insertions(+), 154 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index db0a39084b1..74b7486b7bb 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2022 Ludovic Courtès +;;; Copyright © 2012-2022, 2024 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2021 Timothy Sample @@ -40,7 +40,10 @@ #:autoload (guix swh) (swh-download-directory %verify-swh-certificate?) #:use-module (ice-9 match) #:use-module (ice-9 format) - #:export (open-socket-for-uri + #:export (%download-methods + download-method-enabled? + + open-socket-for-uri open-connection-for-uri http-fetch %x509-certificate-directory @@ -622,6 +625,20 @@ true, verify HTTPS certificates; otherwise simply ignore them." (lambda (key . args) (print-exception (current-error-port) #f key args)))) +(define %download-methods + ;; Either #f (the default) or a list of symbols denoting the sequence of + ;; download methods to be used--e.g., '(swh nar upstream). + (make-parameter + (and=> (getenv "GUIX_DOWNLOAD_METHODS") + (lambda (str) + (map string->symbol (string-tokenize str)))))) + +(define (download-method-enabled? method) + "Return true if METHOD (a symbol such as 'swh) is enabled as part of the +download fallback sequence." + (or (not (%download-methods)) + (memq method (%download-methods)))) + (define (uri-vicinity dir file) "Concatenate DIR, slash, and FILE, keeping only one slash in between. This is required by some HTTP servers." @@ -788,18 +805,28 @@ otherwise simply ignore them." hashes))) disarchive-mirrors)) + (define initial-uris + (append (if (download-method-enabled? 'upstream) + uri + '()) + (if (download-method-enabled? 'content-addressed-mirrors) + content-addressed-uris + '()) + (if (download-method-enabled? 'internet-archive) + (match uri + ((first . _) + (or (and=> (internet-archive-uri first) list) + '())) + (() '())) + '()))) + ;; Make this unbuffered so 'progress-report/file' works as expected. 'line ;; means '\n', not '\r', so it's not appropriate here. (setvbuf (current-output-port) 'none) (setvbuf (current-error-port) 'line) - (let try ((uri (append uri content-addressed-uris - (match uri - ((first . _) - (or (and=> (internet-archive-uri first) list) - '())) - (() '()))))) + (let try ((uri initial-uris)) (match uri ((uri tail ...) (or (fetch uri file) @@ -807,9 +834,10 @@ otherwise simply ignore them." (() ;; If we are looking for a software archive, one last thing we ;; can try is to use Disarchive to assemble it. - (or (disarchive-fetch/any disarchive-uris file - #:verify-certificate? verify-certificate? - #:timeout timeout) + (or (and (download-method-enabled? 'disarchive) + (disarchive-fetch/any disarchive-uris file + #:verify-certificate? verify-certificate? + #:timeout timeout)) (begin (format (current-error-port) "failed to download ~s from ~s~%" file url) diff --git a/guix/build/git.scm b/guix/build/git.scm index a135026faef..62877394bbc 100644 --- a/guix/build/git.scm +++ b/guix/build/git.scm @@ -19,6 +19,8 @@ (define-module (guix build git) #:use-module (guix build utils) + #:use-module ((guix build download) + #:select (download-method-enabled?)) #:autoload (guix build download-nar) (download-nar) #:autoload (guix swh) (%verify-swh-certificate? swh-download @@ -102,17 +104,20 @@ for ITEM, and if that also fails, download from the Software Heritage archive. When HASH and HASH-ALGORITHM are provided, they are interpreted as the nar hash of the directory of interested and are used as its content address at SWH." - (or (git-fetch url commit directory - #:lfs? lfs? - #:recursive? recursive? - #:git-command git-command) - (download-nar item directory) + (or (and (download-method-enabled? 'upstream) + (git-fetch url commit directory + #:lfs? lfs? + #:recursive? recursive? + #:git-command git-command)) + (and (download-method-enabled? 'nar) + (download-nar item directory)) ;; As a last resort, attempt to download from Software Heritage. ;; Disable X.509 certificate verification to avoid depending ;; on nss-certs--we're authenticating the checkout anyway. ;; XXX: Currently recursive checkouts are not supported. (and (not recursive?) + (download-method-enabled? 'swh) (parameterize ((%verify-swh-certificate? #f)) (format (current-error-port) "Trying to download from Software Heritage...~%") diff --git a/guix/bzr-download.scm b/guix/bzr-download.scm index 01c12fd54d5..a22c9bee998 100644 --- a/guix/bzr-download.scm +++ b/guix/bzr-download.scm @@ -24,7 +24,7 @@ #:use-module (guix packages) #:use-module (guix records) #:use-module (guix store) - + #:use-module (ice-9 match) #:export (bzr-reference bzr-reference? bzr-reference-url @@ -72,20 +72,26 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (with-imported-modules (source-module-closure '((guix build bzr) (guix build utils) + (guix build download) (guix build download-nar))) #~(begin (use-modules (guix build bzr) (guix build download-nar) + ((guix build download) + #:select (download-method-enabled?)) (guix build utils) (srfi srfi-34)) - (or (guard (c ((invoke-error? c) - (report-invoke-error c) - #f)) - (bzr-fetch (getenv "bzr url") (getenv "bzr reference") - #$output - #:bzr-command (string-append #+bzr "/bin/brz"))) - (download-nar #$output)))))) + (or (and (download-method-enabled? 'upstream) + (guard (c ((invoke-error? c) + (report-invoke-error c) + #f)) + (bzr-fetch (getenv "bzr url") (getenv "bzr reference") + #$output + #:bzr-command + (string-append #+bzr "/bin/brz")))) + (and (download-method-enabled? 'nar) + (download-nar #$output))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "bzr-branch") build @@ -95,7 +101,11 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." #:script-name "bzr-download" #:env-vars `(("bzr url" . ,(bzr-reference-url ref)) - ("bzr reference" . ,(bzr-reference-revision ref))) + ("bzr reference" . ,(bzr-reference-revision ref)) + ,@(match (getenv "GUIX_DOWNLOAD_METHODS") + (#f '()) + (value + `(("GUIX_DOWNLOAD_METHODS" . ,value))))) #:leaked-env-vars '("http_proxy" "https_proxy" "LC_ALL" "LC_MESSAGES" "LANG" "COLUMNS") diff --git a/guix/cvs-download.scm b/guix/cvs-download.scm index c0c526b9dbc..023054941b9 100644 --- a/guix/cvs-download.scm +++ b/guix/cvs-download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès +;;; Copyright © 2014-2017, 2019, 2024 Ludovic Courtès ;;; Copyright © 2014 Sree Harsha Totakura ;;; Copyright © 2015 Mark H Weaver ;;; @@ -73,6 +73,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define modules (delete '(guix config) (source-module-closure '((guix build cvs) + (guix build download) (guix build download-nar))))) (define build (with-imported-modules modules @@ -80,20 +81,29 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." guile-lzlib) #~(begin (use-modules (guix build cvs) + ((guix build download) + #:select (download-method-enabled?)) (guix build download-nar)) - (or (cvs-fetch '#$(cvs-reference-root-directory ref) - '#$(cvs-reference-module ref) - '#$(cvs-reference-revision ref) - #$output - #:cvs-command (string-append #+cvs "/bin/cvs")) - (download-nar #$output)))))) + (or (and (download-method-enabled? 'upstream) + (cvs-fetch '#$(cvs-reference-root-directory ref) + '#$(cvs-reference-module ref) + '#$(cvs-reference-revision ref) + #$output + #:cvs-command + #+(file-append cvs "/bin/cvs"))) + (and (download-method-enabled? 'nar) + (download-nar #$output))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "cvs-checkout") build #:leaked-env-vars '("http_proxy" "https_proxy" "LC_ALL" "LC_MESSAGES" "LANG" "COLUMNS") + #:env-vars (match (getenv "GUIX_DOWNLOAD_METHODS") + (#f '()) + (value + `(("GUIX_DOWNLOAD_METHODS" . ,value)))) #:system system #:hash-algo hash-algo #:hash hash diff --git a/guix/download.scm b/guix/download.scm index 21d02ab2039..3dfe143e9f1 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès +;;; Copyright © 2012-2021, 2024 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016 Alex Griffin @@ -35,9 +35,9 @@ #:use-module (web uri) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) - #:export (%mirrors + #:export (%download-methods + %mirrors %disarchive-mirrors - %download-fallback-test (url-fetch* . url-fetch) url-fetch/executable url-fetch/tarbomb @@ -434,10 +434,19 @@ (define built-in-builders* (store-lift built-in-builders)) +(define %download-methods + ;; Either #f (the default) or a list of symbols denoting the sequence of + ;; download methods to be used--e.g., '(swh nar upstream). + (make-parameter + (and=> (getenv "GUIX_DOWNLOAD_METHODS") + (lambda (str) + (map string->symbol (string-tokenize str)))))) + (define* (built-in-download file-name url #:key system hash-algo hash mirrors content-addressed-mirrors disarchive-mirrors + (download-methods (%download-methods)) executable? (guile 'unused)) "Download FILE-NAME from URL using the built-in 'download' builder. When @@ -471,6 +480,11 @@ download by itself using its own dependencies." ("disarchive-mirrors" . ,disarchive-mirrors) ,@(if executable? '(("executable" . "1")) + '()) + ,@(if download-methods + `(("download-methods" + . ,(object->string + download-methods))) '())) ;; Do not offload this derivation because we cannot be @@ -479,24 +493,6 @@ download by itself using its own dependencies." ;; for that built-in is widespread. #:local-build? #t))) -(define %download-fallback-test - ;; Define whether to test one of the download fallback mechanism. Possible - ;; values are: - ;; - ;; - #f, to use the normal download methods, not trying to exercise the - ;; fallback mechanism; - ;; - ;; - 'none, to disable all the fallback mechanisms; - ;; - ;; - 'content-addressed-mirrors, to purposefully attempt to download from - ;; a content-addressed mirror; - ;; - ;; - 'disarchive-mirrors, to download from Disarchive + Software Heritage. - ;; - ;; This is meant to be used for testing purposes. - (make-parameter (and=> (getenv "GUIX_DOWNLOAD_FALLBACK_TEST") - string->symbol))) - (define* (url-fetch* url hash-algo hash #:optional name #:key (system (%current-system)) @@ -532,10 +528,7 @@ name in the store." (unless (member "download" builtins) (error "'guix-daemon' is too old, please upgrade" builtins)) - (built-in-download (or name file-name) - (match (%download-fallback-test) - ((or #f 'none) url) - (_ "https://example.org/does-not-exist")) + (built-in-download (or name file-name) url #:guile guile #:system system #:hash-algo hash-algo @@ -543,15 +536,9 @@ name in the store." #:executable? executable? #:mirrors %mirror-file #:content-addressed-mirrors - (match (%download-fallback-test) - ((or #f 'content-addressed-mirrors) - %content-addressed-mirror-file) - (_ %no-mirrors-file)) + %content-addressed-mirror-file #:disarchive-mirrors - (match (%download-fallback-test) - ((or #f 'disarchive-mirrors) - %disarchive-mirror-file) - (_ %no-disarchive-mirrors-file))))))) + %disarchive-mirror-file))))) (define* (url-fetch/executable url hash-algo hash #:optional name diff --git a/guix/git-download.scm b/guix/git-download.scm index aadcbd234c0..d26a814e076 100644 --- a/guix/git-download.scm +++ b/guix/git-download.scm @@ -29,8 +29,8 @@ #:use-module (guix packages) #:use-module (guix modules) #:use-module ((guix derivations) #:select (raw-derivation)) + #:autoload (guix download) (%download-methods) #:autoload (guix build-system gnu) (standard-packages) - #:autoload (guix download) (%download-fallback-test) #:autoload (git bindings) (libgit2-init!) #:autoload (git repository) (repository-open repository-close! @@ -180,11 +180,7 @@ respective documentation." ;; downloads. #:script-name "git-download" #:env-vars - `(("git url" . ,(match (%download-fallback-test) - ('content-addressed-mirrors - "https://example.org/does-not-exist") - (_ - (git-reference-url ref)))) + `(("git url" . ,(git-reference-url ref)) ("git commit" . ,(git-reference-commit ref)) ("git recursive?" . ,(object->string (git-reference-recursive? ref))) @@ -246,14 +242,14 @@ download by itself using its own dependencies." #:recursive? #t #:env-vars `(("url" . ,(object->string - (match (%download-fallback-test) - ('content-addressed-mirrors - "https://example.org/does-not-exist") - (_ - (git-reference-url ref))))) + (git-reference-url ref))) ("commit" . ,(git-reference-commit ref)) ("recursive?" . ,(object->string - (git-reference-recursive? ref)))) + (git-reference-recursive? ref))) + ,@(if (%download-methods) + `(("download-methods" + . ,(object->string (%download-methods)))) + '())) #:leaked-env-vars '("http_proxy" "https_proxy" "LC_ALL" "LC_MESSAGES" "LANG" "COLUMNS") diff --git a/guix/hg-download.scm b/guix/hg-download.scm index dd28d9c2443..55d908817f3 100644 --- a/guix/hg-download.scm +++ b/guix/hg-download.scm @@ -84,6 +84,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define modules (delete '(guix config) (source-module-closure '((guix build hg) + (guix build download) (guix build download-nar) (guix swh))))) @@ -94,6 +95,8 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." #~(begin (use-modules (guix build hg) (guix build utils) ;for `set-path-environment-variable' + ((guix build download) + #:select (download-method-enabled?)) (guix build download-nar) (guix swh) (ice-9 match)) @@ -106,28 +109,35 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (setvbuf (current-output-port) 'line) (setvbuf (current-error-port) 'line) - (or (hg-fetch '#$(hg-reference-url ref) - '#$(hg-reference-changeset ref) - #$output - #:hg-command (string-append #+hg "/bin/hg")) - (download-nar #$output) + (or (and (download-method-enabled? 'upstream) + (hg-fetch '#$(hg-reference-url ref) + '#$(hg-reference-changeset ref) + #$output + #:hg-command (string-append #+hg "/bin/hg"))) + (and (download-method-enabled? 'nar) + (download-nar #$output)) ;; As a last resort, attempt to download from Software Heritage. ;; Disable X.509 certificate verification to avoid depending ;; on nss-certs--we're authenticating the checkout anyway. - (parameterize ((%verify-swh-certificate? #f)) - (format (current-error-port) - "Trying to download from Software Heritage...~%") - (or (swh-download-directory-by-nar-hash #$hash '#$hash-algo - #$output) - (swh-download #$(hg-reference-url ref) - #$(hg-reference-changeset ref) - #$output)))))))) + (and (download-method-enabled? 'swh) + (parameterize ((%verify-swh-certificate? #f)) + (format (current-error-port) + "Trying to download from Software Heritage...~%") + (or (swh-download-directory-by-nar-hash + #$hash '#$hash-algo #$output) + (swh-download #$(hg-reference-url ref) + #$(hg-reference-changeset ref) + #$output))))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "hg-checkout") build #:leaked-env-vars '("http_proxy" "https_proxy" "LC_ALL" "LC_MESSAGES" "LANG" "COLUMNS") + #:env-vars (match (getenv "GUIX_DOWNLOAD_METHODS") + (#f '()) + (value + `(("GUIX_DOWNLOAD_METHODS" . ,value)))) #:system system #:local-build? #t ;don't offload repo cloning #:hash-algo hash-algo diff --git a/guix/scripts/perform-download.scm b/guix/scripts/perform-download.scm index b96959a09e2..5079d0ea718 100644 --- a/guix/scripts/perform-download.scm +++ b/guix/scripts/perform-download.scm @@ -21,7 +21,7 @@ #:use-module (guix scripts) #:use-module (guix derivations) #:use-module ((guix store) #:select (derivation-path? store-path?)) - #:autoload (guix build download) (url-fetch) + #:autoload (guix build download) (%download-methods url-fetch) #:autoload (guix build git) (git-fetch-with-fallback) #:autoload (guix config) (%git) #:use-module (ice-9 match) @@ -55,7 +55,8 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or (executable "executable") (mirrors "mirrors") (content-addressed-mirrors "content-addressed-mirrors") - (disarchive-mirrors "disarchive-mirrors")) + (disarchive-mirrors "disarchive-mirrors") + (download-methods "download-methods")) (unless url (leave (G_ "~a: missing URL~%") (derivation-file-name drv))) @@ -64,26 +65,30 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or (algo (derivation-output-hash-algo drv-output)) (hash (derivation-output-hash drv-output))) ;; We're invoked by the daemon, which gives us write access to OUTPUT. - (when (url-fetch url output - #:print-build-trace? print-build-trace? - #:mirrors (if mirrors - (call-with-input-file mirrors read) - '()) - #:content-addressed-mirrors - (if content-addressed-mirrors - (call-with-input-file content-addressed-mirrors - (lambda (port) - (eval (read port) %user-module))) - '()) - #:disarchive-mirrors - (if disarchive-mirrors - (call-with-input-file disarchive-mirrors read) - '()) - #:hashes `((,algo . ,hash)) + (when (parameterize ((%download-methods + (and download-methods + (call-with-input-string download-methods + read)))) + (url-fetch url output + #:print-build-trace? print-build-trace? + #:mirrors (if mirrors + (call-with-input-file mirrors read) + '()) + #:content-addressed-mirrors + (if content-addressed-mirrors + (call-with-input-file content-addressed-mirrors + (lambda (port) + (eval (read port) %user-module))) + '()) + #:disarchive-mirrors + (if disarchive-mirrors + (call-with-input-file disarchive-mirrors read) + '()) + #:hashes `((,algo . ,hash)) - ;; Since DRV's output hash is known, X.509 certificate - ;; validation is pointless. - #:verify-certificate? #f) + ;; Since DRV's output hash is known, X.509 certificate + ;; validation is pointless. + #:verify-certificate? #f)) (when (and executable (string=? executable "1")) (chmod output #o755)))))) @@ -96,7 +101,8 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or 'bmRepair' builds." (derivation-let drv ((url "url") (commit "commit") - (recursive? "recursive?")) + (recursive? "recursive?") + (download-methods "download-methods")) (unless url (leave (G_ "~a: missing Git URL~%") (derivation-file-name drv))) (unless commit @@ -114,14 +120,18 @@ Note: OUTPUT may differ from the 'out' value of DRV, notably for 'bmCheck' or ;; on ambient authority, hence the PATH value below. (setenv "PATH" "/run/current-system/profile/bin:/bin:/usr/bin") - ;; Note: When doing a '--check' build, DRV-OUTPUT and OUTPUT are - ;; different, hence the #:item argument below. - (git-fetch-with-fallback url commit output - #:hash hash - #:hash-algorithm algo - #:recursive? recursive? - #:item (derivation-output-path drv-output) - #:git-command %git)))) + (parameterize ((%download-methods + (and download-methods + (call-with-input-string download-methods + read)))) + ;; Note: When doing a '--check' build, DRV-OUTPUT and OUTPUT are + ;; different, hence the #:item argument below. + (git-fetch-with-fallback url commit output + #:hash hash + #:hash-algorithm algo + #:recursive? recursive? + #:item (derivation-output-path drv-output) + #:git-command %git))))) (define (assert-low-privileges) (when (zero? (getuid)) diff --git a/guix/svn-download.scm b/guix/svn-download.scm index 64af996a062..17a7f4f9573 100644 --- a/guix/svn-download.scm +++ b/guix/svn-download.scm @@ -93,6 +93,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build (with-imported-modules (source-module-closure '((guix build svn) + (guix build download) (guix build download-nar) (guix build utils) (guix swh))) @@ -100,23 +101,28 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." guile-lzlib) #~(begin (use-modules (guix build svn) + ((guix build download) + #:select (download-method-enabled?)) (guix build download-nar) (guix swh) (ice-9 match)) - (or (svn-fetch (getenv "svn url") - (string->number (getenv "svn revision")) - #$output - #:svn-command #+(file-append svn "/bin/svn") - #:recursive? (match (getenv "svn recursive?") - ("yes" #t) - (_ #f)) - #:user-name (getenv "svn user name") - #:password (getenv "svn password")) - (download-nar #$output) - (parameterize ((%verify-swh-certificate? #f)) - (swh-download-directory-by-nar-hash #$hash '#$hash-algo - #$output))))))) + (or (and (download-method-enabled? 'upstream) + (svn-fetch (getenv "svn url") + (string->number (getenv "svn revision")) + #$output + #:svn-command #+(file-append svn "/bin/svn") + #:recursive? (match (getenv "svn recursive?") + ("yes" #t) + (_ #f)) + #:user-name (getenv "svn user name") + #:password (getenv "svn password"))) + (and (download-method-enabled? 'nar) + (download-nar #$output)) + (and (download-method-enabled? 'swh) + (parameterize ((%verify-swh-certificate? #f)) + (swh-download-directory-by-nar-hash #$hash '#$hash-algo + #$output)))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "svn-checkout") build @@ -139,7 +145,11 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." ,@(if (svn-reference-password ref) `(("svn password" . ,(svn-reference-password ref))) - '())) + '()) + ,@(match (getenv "GUIX_DOWNLOAD_METHODS") + (#f '()) + (value + `(("GUIX_DOWNLOAD_METHODS" . ,value))))) #:system system #:hash-algo hash-algo @@ -178,6 +188,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (define build (with-imported-modules (source-module-closure '((guix build svn) + (guix build download) (guix build download-nar) (guix build utils) (guix swh))) @@ -186,6 +197,8 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." #~(begin (use-modules (guix build svn) (guix build utils) + ((guix build download) + #:select (download-method-enabled?)) (guix build download-nar) (guix swh) (srfi srfi-1) @@ -197,30 +210,33 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." ;; single file. (unless (string-suffix? "/" location) (mkdir-p (string-append #$output "/" (dirname location)))) - (svn-fetch (string-append (getenv "svn url") "/" location) - (string->number (getenv "svn revision")) - (if (string-suffix? "/" location) - (string-append #$output "/" location) - (string-append #$output "/" (dirname location))) - #:svn-command #+(file-append svn "/bin/svn") - #:recursive? (match (getenv "svn recursive?") - ("yes" #t) - (_ #f)) - #:user-name (getenv "svn user name") - #:password (getenv "svn password"))) + (and (download-method-enabled? 'upstream) + (svn-fetch (string-append (getenv "svn url") "/" location) + (string->number (getenv "svn revision")) + (if (string-suffix? "/" location) + (string-append #$output "/" location) + (string-append #$output "/" (dirname location))) + #:svn-command #+(file-append svn "/bin/svn") + #:recursive? (match (getenv "svn recursive?") + ("yes" #t) + (_ #f)) + #:user-name (getenv "svn user name") + #:password (getenv "svn password")))) (call-with-input-string (getenv "svn locations") read)) (begin (when (file-exists? #$output) (delete-file-recursively #$output)) - (or (download-nar #$output) - (parameterize ((%verify-swh-certificate? #f)) - ;; SWH keeps HASH as an ExtID for the combination of - ;; files/directories, which allows us to retrieve the - ;; entire combination at once: - ;; . - (swh-download-directory-by-nar-hash - #$hash '#$hash-algo #$output))))))))) + (or (and (download-method-enabled? 'nar) + (download-nar #$output)) + (and (download-method-enabled? 'swh) + ;; SWH keeps HASH as an ExtID for the combination + ;; of files/directories, which allows us to + ;; retrieve the entire combination at once: + ;; . + (parameterize ((%verify-swh-certificate? #f)) + (swh-download-directory-by-nar-hash + #$hash '#$hash-algo #$output)))))))))) (mlet %store-monad ((guile (package->derivation guile system))) (gexp->derivation (or name "svn-checkout") build @@ -245,7 +261,11 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." ,@(if (svn-multi-reference-password ref) `(("svn password" . ,(svn-multi-reference-password ref))) - '())) + '()) + ,@(match (getenv "GUIX_DOWNLOAD_METHODS") + (#f '()) + (value + `(("GUIX_DOWNLOAD_METHODS" . ,value))))) #:leaked-env-vars '("http_proxy" "https_proxy" "LC_ALL" "LC_MESSAGES" "LANG" From 7b9a23ea315d2b4efde755c3bd0b1db3cacba9c2 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sat, 9 Mar 2024 22:05:59 +0100 Subject: [PATCH 261/261] gnu: gnome-photos: Build against gegl-0.4.44. On gnome-team, this dependency was already accounted for in commit 4beac7d95c84ea3be809030f942b8b71d155129e, but it was forgotten when updating gimp on master. * gnu/packages/gimp.scm (babl-0.1.96, gegl-0.4.44): New variables. * gnu/packages/gnome.scm (gnome-photos)[inputs]: Replace gegl with gegl-0.4.44. --- gnu/packages/gimp.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ gnu/packages/gnome.scm | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 3c4353f8a01..8987a4502d3 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -283,6 +283,49 @@ buffers.") ;; application and GUI binary gegl is licensed under GPL. (license (list license:lgpl3+ license:gpl3+)))) +;; gnome-photos does not build against gegl 0.4.46 or newer yet. +;; See also . +(define-public babl-0.1.96 + (package + (inherit babl) + (version "0.1.96") + (source + (origin + (method url-fetch) + (uri (list (string-append "https://download.gimp.org/pub/babl/" + (version-major+minor version) + "/babl-" version ".tar.xz") + (string-append "https://ftp.gtk.org/pub/babl/" + (version-major+minor version) + "/babl-" version ".tar.xz") + (string-append "ftp://ftp.gtk.org/pub/babl/" + (version-major+minor version) + "/babl-" version ".tar.xz"))) + (sha256 + (base32 "1xj5hlmm834lb84rpjlfxbqnm5piswgzhjas4h8z90x9b7j3yrrk")))))) + +(define-public gegl-0.4.44 + (package + (inherit gegl) + (version "0.4.44") + (source + (origin + (method url-fetch) + (uri (list (string-append "https://download.gimp.org/pub/gegl/" + (string-take version 3) + "/gegl-" version ".tar.xz") + (string-append "https://ftp.gtk.org/pub/gegl/" + (version-major+minor version) + "/gegl-" version ".tar.xz") + (string-append "ftp://ftp.gtk.org/pub/gegl/" + (version-major+minor version) + "/gegl-" version ".tar.xz"))) + (sha256 + (base32 "09k1sn4h0bakgmq2hgd1iamprngpr81ky3fd9446lh2ycd0xnk0a")))) + (propagated-inputs + (modify-inputs (package-propagated-inputs gegl) + (replace "babl" babl-0.1.96))))) + (define-public gimp (package (name "gimp") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a0710aa78af..06256066bc1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -857,7 +857,7 @@ tomorrow, the rest of the week and for special occasions.") (inputs (list babl cairo - gegl + gegl-0.4.44 geocode-glib gexiv2 gfbgraph