summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2023-12-28 21:13:26 -0500
committerJohn Kehayias <john.kehayias@protonmail.com>2023-12-28 21:13:26 -0500
commit92227248a616a9555200a48b1e4f1768a462556b (patch)
tree2e5bc472b5169742a4a5ffe5971ceb8be780970f
parentbdab356332e391e09d0feafe0fcac9c52388a07d (diff)
parent7722da6fa5422c4fec69d6c8b9536c7d6fc3d326 (diff)
downloadguix-patches-92227248a616a9555200a48b1e4f1768a462556b.tar
guix-patches-92227248a616a9555200a48b1e4f1768a462556b.tar.gz
Merge branch 'master' into mesa-updates
Change-Id: I16539f64df739453a83f8dfd962e04910a7d7ff5
-rw-r--r--doc/guix.texi172
-rwxr-xr-xetc/teams.scm4
-rw-r--r--gnu/bootloader/u-boot.scm17
-rw-r--r--gnu/build/chromium-extension.scm43
-rw-r--r--gnu/build/shepherd.scm90
-rw-r--r--gnu/home/services/sound.scm102
-rw-r--r--gnu/installer.scm2
-rw-r--r--gnu/local.mk12
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/algebra.scm2
-rw-r--r--gnu/packages/base.scm2
-rw-r--r--gnu/packages/bioinformatics.scm102
-rw-r--r--gnu/packages/bootloaders.scm36
-rw-r--r--gnu/packages/browser-extensions.scm34
-rw-r--r--gnu/packages/cdrom.scm30
-rw-r--r--gnu/packages/cook.scm2
-rw-r--r--gnu/packages/cpp.scm7
-rw-r--r--gnu/packages/crates-graphics.scm10
-rw-r--r--gnu/packages/crates-io.scm676
-rw-r--r--gnu/packages/cryptsetup.scm6
-rw-r--r--gnu/packages/debug.scm4
-rw-r--r--gnu/packages/display-managers.scm89
-rw-r--r--gnu/packages/ed.scm58
-rw-r--r--gnu/packages/electronics.scm2
-rw-r--r--gnu/packages/emacs-xyz.scm15
-rw-r--r--gnu/packages/gl.scm43
-rw-r--r--gnu/packages/gnome.scm62
-rw-r--r--gnu/packages/gnupg.scm3
-rw-r--r--gnu/packages/image.scm26
-rw-r--r--gnu/packages/linux.scm41
-rw-r--r--gnu/packages/lisp.scm2
-rw-r--r--gnu/packages/machine-learning.scm4
-rw-r--r--gnu/packages/maths.scm4
-rw-r--r--gnu/packages/nano.scm51
-rw-r--r--gnu/packages/networking.scm9
-rw-r--r--gnu/packages/node-xyz.scm71
-rw-r--r--gnu/packages/node.scm4
-rw-r--r--gnu/packages/package-management.scm13
-rw-r--r--gnu/packages/password-utils.scm2
-rw-r--r--gnu/packages/patches/dante-non-darwin.patch15
-rw-r--r--gnu/packages/patches/slim-config.patch43
-rw-r--r--gnu/packages/patches/slim-display.patch74
-rw-r--r--gnu/packages/patches/slim-reset.patch33
-rw-r--r--gnu/packages/patches/slim-session.patch17
-rw-r--r--gnu/packages/patches/slim-sigusr1.patch33
-rw-r--r--gnu/packages/patches/u-boot-allow-disabling-openssl.patch56
-rw-r--r--gnu/packages/patches/u-boot-fix-build-python-3.10.patch37
-rw-r--r--gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch24
-rw-r--r--gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch26
-rw-r--r--gnu/packages/patches/u-boot-rockchip-inno-usb.patch16
-rw-r--r--gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch16
-rw-r--r--gnu/packages/patchutils.scm2
-rw-r--r--gnu/packages/pdf.scm30
-rw-r--r--gnu/packages/python-check.scm32
-rw-r--r--gnu/packages/python-xyz.scm150
-rw-r--r--gnu/packages/qt.scm95
-rw-r--r--gnu/packages/shellutils.scm77
-rw-r--r--gnu/packages/skarnet.scm7
-rw-r--r--gnu/packages/sssd.scm4
-rw-r--r--gnu/packages/text-editors.scm60
-rw-r--r--gnu/packages/tor.scm285
-rw-r--r--gnu/packages/version-control.scm3
-rw-r--r--gnu/packages/video.scm47
-rw-r--r--gnu/packages/web-browsers.scm2
-rw-r--r--gnu/services/ci.scm42
-rw-r--r--gnu/services/databases.scm41
-rw-r--r--gnu/services/guix.scm143
-rw-r--r--gnu/services/messaging.scm91
-rw-r--r--gnu/services/networking.scm36
-rw-r--r--gnu/services/security-token.scm29
-rw-r--r--gnu/services/telephony.scm132
-rw-r--r--gnu/services/web.scm48
-rw-r--r--gnu/system.scm1
-rw-r--r--gnu/system/images/orangepi-r1-plus-lts-rk3328.scm76
-rw-r--r--gnu/system/install.scm7
-rw-r--r--gnu/tests/telephony.scm17
-rw-r--r--guix/deprecation.scm2
-rw-r--r--guix/download.scm26
-rw-r--r--guix/gexp.scm31
-rw-r--r--guix/least-authority.scm25
-rw-r--r--guix/scripts/download.scm2
-rw-r--r--nix/libstore/build.cc10
-rw-r--r--tests/gexp.scm54
83 files changed, 2402 insertions, 1451 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index b742a3d5b2..bc04bb8150 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -12197,6 +12197,11 @@ This is like the form above, but referring explicitly to the
@var{output} of @var{obj}---this is useful when @var{obj} produces
multiple outputs (@pxref{Packages with Multiple Outputs}).
+Sometimes a gexp unconditionally refers to the @code{"out"} output, but
+the user of that gexp would still like to insert a reference to another
+output. The @code{gexp-input} procedure aims to address that.
+@xref{gexp-input}.
+
@item #+@var{obj}
@itemx #+@var{obj}:output
@itemx (ungexp-native @var{obj})
@@ -12309,10 +12314,9 @@ When @var{references-graphs} is true, it must be a list of tuples of one of the
following forms:
@example
-(@var{file-name} @var{package})
-(@var{file-name} @var{package} @var{output})
-(@var{file-name} @var{derivation})
-(@var{file-name} @var{derivation} @var{output})
+(@var{file-name} @var{obj})
+(@var{file-name} @var{obj} @var{output})
+(@var{file-name} @var{gexp-input})
(@var{file-name} @var{store-item})
@end example
@@ -12590,6 +12594,39 @@ The example above returns an object that corresponds to the i686 build
of Coreutils, regardless of the current value of @code{%current-system}.
@end defmac
+@anchor{gexp-input}
+@deffn {Procedure} gexp-input @var{obj} [@var{output}] [#:native? #f]
+Return a @dfn{gexp input} record for the given @var{output} of file-like
+object @var{obj}, with @code{#:native?} determining whether this is a
+native reference (as with @code{ungexp-native}) or not.
+
+This procedure is helpful when you want to pass a reference to a
+specific output of an object to some procedure that may not know about
+that output. For example, assume you have this procedure, which takes
+one file-like object:
+
+@lisp
+(define (make-symlink target)
+ (computed-file "the-symlink"
+ #~(symlink #$target #$output)))
+@end lisp
+
+Here @code{make-symlink} can only ever refer to the default output of
+@var{target}---the @code{"out"} output (@pxref{Packages with Multiple
+Outputs}). To have it refer to, say, the @code{"lib"} output of the
+@code{hwloc} package, you can call it like so:
+
+@lisp
+(make-symlink (gexp-input hwloc "lib"))
+@end lisp
+
+You can also compose it like any other file-like object:
+
+@lisp
+(make-symlink
+ (file-append (gexp-input hwloc "lib") "/lib/libhwloc.so"))
+@end lisp
+@end deffn
Of course, in addition to gexps embedded in ``host'' code, there are
also modules containing build tools. To make it clear that they are
@@ -34126,6 +34163,9 @@ The Laminar package to use.
@item @code{home-directory} (default: @code{"/var/lib/laminar"})
The directory for job configurations and run directories.
+@item @code{supplementary-groups} (default: @code{()})
+Supplementary groups for the Laminar user account.
+
@item @code{bind-http} (default: @code{"*:8080"})
The interface/port or unix socket on which laminard should listen for
incoming connections to the web frontend.
@@ -38726,58 +38766,6 @@ the coordinator database, and is used by the agent to authenticate.
@end table
@end deftp
-The Guix Build Coordinator package contains a script to query an
-instance of the Guix Data Service for derivations to build, and then
-submit builds for those derivations to the coordinator. The service
-type below assists in running this script. This is an additional tool
-that may be useful when building derivations contained within an
-instance of the Guix Data Service.
-
-@defvar guix-build-coordinator-queue-builds-service-type
-Service type for the
-guix-build-coordinator-queue-builds-from-guix-data-service script. Its
-value must be a @code{guix-build-coordinator-queue-builds-configuration}
-object.
-@end defvar
-
-@deftp {Data Type} guix-build-coordinator-queue-builds-configuration
-Data type representing the options to the queue builds from guix data
-service script.
-
-@table @asis
-@item @code{package} (default: @code{guix-build-coordinator})
-The Guix Build Coordinator package to use.
-
-@item @code{user} (default: @code{"guix-build-coordinator-queue-builds"})
-The system user to run the service as.
-
-@item @code{coordinator} (default: @code{"http://localhost:8746"})
-The URI to use when connecting to the coordinator.
-
-@item @code{systems} (default: @code{#f})
-The systems for which to fetch derivations to build.
-
-@item @code{systems-and-targets} (default: @code{#f})
-An association list of system and target pairs for which to fetch
-derivations to build.
-
-@item @code{guix-data-service} (default: @code{"https://data.guix.gnu.org"})
-The Guix Data Service instance from which to query to find out about
-derivations to build.
-
-@item @code{guix-data-service-build-server-id} (default: @code{#f})
-The Guix Data Service build server ID corresponding to the builds being
-submitted. Providing this speeds up the submitting of builds as
-derivations that have already been submitted can be skipped before
-asking the coordinator to build them.
-
-@item @code{processed-commits-file} (default: @code{"/var/cache/guix-build-coordinator-queue-builds/processed-commits"})
-A file to record which commits have been processed, to avoid needlessly
-processing them again if the service is restarted.
-
-@end table
-@end deftp
-
@subsubheading Guix Data Service
The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores
and provides data about GNU Guix. This includes information about
@@ -45084,6 +45072,7 @@ sound support.
@cindex PulseAudio, home service
@cindex RTP, for PulseAudio
+@subsubheading PulseAudio RTP Streaming Services
The following services dynamically reconfigure the
@uref{https://pulseaudio.org,PulseAudio sound server}: they let you
@@ -45171,6 +45160,77 @@ Stopping the Shepherd service turns off broadcasting.
This is the multicast address used by default by the two services above.
@end defvar
+@cindex PipeWire, home service
+@subsubheading PipeWire Home Service
+
+@uref{https://pipewire.org, PipeWire} provides a low-latency,
+graph-based audio and video processing service. In addition to its
+native protocol, it can also be used as a replacement for both JACK and
+PulseAudio.
+
+While PipeWire provides the media processing and API, it does not,
+directly, know about devices such as sound cards, nor how you might want
+to connect applications, hardware, and media processing filters.
+Instead, PipeWire relies on a @dfn{session manager} to specify all these
+relationships. While you may use any session manager you wish, for most
+people the @url{https://pipewire.pages.freedesktop.org/wireplumber/,
+WirePlumber} session manager, a reference implementation provided by the
+PipeWire project itself, suffices, and that is the one
+@code{home-pipewire-service-type} uses.
+
+PipeWire can be used as a replacement for PulseAudio by setting
+@code{enable-pulseaudio?} to @code{#t} in
+@code{home-pipewire-configuration}, so that existing PulseAudio clients
+may use it without any further configuration.
+
+In addition, JACK clients may connect to PipeWire by using the
+@command{pw-jack} program, which comes with PipeWire. Simply prefix the
+command with @command{pw-jack} when you run it, and audio data should go
+through PipeWire:
+
+@example
+pw-jack mpv -ao=jack sound-file.wav
+@end example
+
+For more information on PulseAudio emulation, see
+@uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PulseAudio},
+for JACK, see
+@uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-JACK}.
+
+As PipeWire does not use @code{dbus} to start its services on demand
+(as PulseAudio does), @code{home-pipewire-service-type} uses Shepherd
+to start services when logged in, provisioning the @code{pipewire},
+@code{wireplumber}, and, if configured, @code{pipewire-pulseaudio}
+services. @xref{Shepherd Home Service}.
+
+@defvar home-pipewire-service-type
+This provides the service definition for @command{pipewire}, which will
+run on login. Its value is a @code{home-pipewire-configuration} object.
+
+To start the service, add it to the @code{service} field of your
+@code{home-environment}, such as:
+
+@lisp
+(service home-pipewire-service-type)
+@end lisp
+@end defvar
+
+@deftp {Data Type} home-pipewire-configuration
+Available @code{home-pipewire-configuration} fields are:
+
+@table @asis
+@item @code{pipewire} (default: @code{pipewire}) (type: file-like)
+The PipeWire package to use.
+
+@item @code{wireplumber} (default: @code{wireplumber}) (type: file-like)
+The WirePlumber package to use.
+
+@item @code{enable-pulseaudio?} (default: @code{#t}) (type: boolean)
+When true, enable PipeWire's PulseAudio emulation support, allowing
+PulseAudio clients to use PipeWire transparently.
+@end table
+@end deftp
+
@node Mail Home Services
@subsection Mail Home Services
diff --git a/etc/teams.scm b/etc/teams.scm
index 44ebccd7d3..fba9010130 100755
--- a/etc/teams.scm
+++ b/etc/teams.scm
@@ -477,7 +477,9 @@ asdf-build-system."
#:description
"Taking care about Icecat and Icedove, built from Mozilla Firefox
and Thunderbird."
- #:scope (list "gnu/packages/gnuzilla.scm")))
+ #:scope (list "gnu/build/icecat-extension.scm"
+ "gnu/packages/browser-extensions.scm"
+ "gnu/packages/gnuzilla.scm")))
(define-team racket
(team 'racket
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 712db15b02..d20aabd538 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2023 Herman Rimm <herman_rimm@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader
+ u-boot-orangepi-r1-plus-lts-rk3328-bootloader
u-boot-pine64-plus-bootloader
u-boot-pine64-lts-bootloader
u-boot-pinebook-bootloader
@@ -93,6 +95,15 @@
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 69 1024)))))
+(define install-orangepi-r1-plus-lts-rk3328-u-boot
+ #~(lambda (bootloader root-index image)
+ (let ((idb (string-append bootloader "/libexec/idbloader.img"))
+ (u-boot (string-append bootloader "/libexec/u-boot.itb")))
+ (write-file-on-device idb (stat:size (stat idb))
+ image (* 64 512))
+ (write-file-on-device u-boot (stat:size (stat u-boot))
+ image (* 16384 512)))))
+
(define install-puma-rk3399-u-boot
#~(lambda (bootloader root-index image)
(let ((spl (string-append bootloader "/libexec/idbloader.img"))
@@ -233,6 +244,12 @@
(inherit u-boot-imx-bootloader)
(package u-boot-novena)))
+(define u-boot-orangepi-r1-plus-lts-rk3328-bootloader
+ (bootloader
+ (inherit u-boot-bootloader)
+ (package u-boot-orangepi-r1-plus-lts-rk3328)
+ (disk-image-installer install-orangepi-r1-plus-lts-rk3328-u-boot)))
+
(define u-boot-pine64-plus-bootloader
(bootloader
(inherit u-boot-allwinner64-bootloader)
diff --git a/gnu/build/chromium-extension.scm b/gnu/build/chromium-extension.scm
index 28449a1e1d..8171c72734 100644
--- a/gnu/build/chromium-extension.scm
+++ b/gnu/build/chromium-extension.scm
@@ -120,12 +120,7 @@ format."
when installed, will make the extension contained in PKG available as a
Chromium browser extension. PKG-OUTPUT specifies which output of PKG to use."
(let* ((name (package-name pkg))
- (version (package-version pkg))
- (private-key (make-signing-key name))
- (public-key (signing-key->public-der private-key))
- (checksum (file-sha256sum public-key))
- (crx (make-crx private-key pkg pkg-output))
- (json (crx->chromium-json crx version)))
+ (version (package-version pkg)))
(package
(inherit pkg)
(name (string-append name "-chromium"))
@@ -138,18 +133,24 @@ Chromium browser extension. PKG-OUTPUT specifies which output of PKG to use."
(arguments
(list #:modules '((guix build utils))
#:builder
- #~(begin
- (use-modules (guix build utils))
- (define (base16-char->chromium-base16 char)
- ;; Translate CHAR, a hexadecimal character, to a Chromium-style
- ;; representation using the letters a-p (where a=0, p=15).
- (string-ref "abcdefghijklmnop"
- (string-index "0123456789abcdef" char)))
- (let ((file-name (string-map base16-char->chromium-base16
- (string-take #$checksum 32)))
- (extension-directory
- (string-append #$output
- "/share/chromium/extensions")))
- (mkdir-p extension-directory)
- (symlink #$json (string-append extension-directory "/"
- file-name ".json")))))))))
+ (let*
+ ((private-key (make-signing-key name))
+ (public-key (signing-key->public-der private-key))
+ (checksum (file-sha256sum public-key))
+ (crx (make-crx private-key pkg pkg-output))
+ (json (crx->chromium-json crx version)))
+ #~(begin
+ (use-modules (guix build utils))
+ (define (base16-char->chromium-base16 char)
+ ;; Translate CHAR, a hexadecimal character, to a Chromium-style
+ ;; representation using the letters a-p (where a=0, p=15).
+ (string-ref "abcdefghijklmnop"
+ (string-index "0123456789abcdef" char)))
+ (let ((file-name (string-map base16-char->chromium-base16
+ (string-take #$checksum 32)))
+ (extension-directory
+ (string-append #$output
+ "/share/chromium/extensions")))
+ (mkdir-p extension-directory)
+ (symlink #$json (string-append extension-directory "/"
+ file-name ".json"))))))))))
diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm
index 9d9bfcfbc0..4ead27be0b 100644
--- a/gnu/build/shepherd.scm
+++ b/gnu/build/shepherd.scm
@@ -33,7 +33,6 @@
%precious-signals)
#:autoload (shepherd system) (unblock-signals)
#:export (default-mounts
- make-forkexec-constructor/container
fork+exec-command/container))
;;; Commentary:
@@ -101,27 +100,6 @@
(file-exists? (file-system-mapping-source mapping)))
mappings)))))
-(define* (read-pid-file/container pid pid-file #:key (max-delay 5))
- "Read PID-FILE in the container namespaces of PID, which exists in a
-separate mount and PID name space. Return the \"outer\" PID. "
- (match (container-excursion* pid
- (lambda ()
- ;; XXX: Trick for Shepherd 0.9: prevent 'read-pid-file' from
- ;; using (@ (fibers) sleep), which would try to suspend the
- ;; current task, which doesn't work in this extra process.
- (with-continuation-barrier
- (lambda ()
- (read-pid-file pid-file
- #:max-delay max-delay)))))
- (#f
- ;; Send SIGTERM to the whole process group.
- (catch-system-error (kill (- pid) SIGTERM))
- #f)
- ((? integer? container-pid)
- ;; XXX: When COMMAND is started in a separate PID namespace, its
- ;; PID is always 1, but that's not what Shepherd needs to know.
- pid)))
-
(define* (exec-command* command #:key user group log-file pid-file
(supplementary-groups '())
(directory "/") (environment-variables (environ)))
@@ -144,74 +122,6 @@ shepherd (PID 1)."
#:directory directory
#:environment-variables environment-variables))
-(define* (make-forkexec-constructor/container command
- #:key
- (namespaces
- (default-namespaces args))
- (mappings '())
- (user #f)
- (group #f)
- (supplementary-groups '())
- (log-file #f)
- pid-file
- (pid-file-timeout 5)
- (directory "/")
- (environment-variables
- (environ))
- #:rest args)
- "This is a variant of 'make-forkexec-constructor' that starts COMMAND in
-NAMESPACES, a list of Linux namespaces such as '(mnt ipc). MAPPINGS is the
-list of <file-system-mapping> to make in the case of a separate mount
-namespace, in addition to essential bind-mounts such /proc."
- (define container-directory
- (match command
- ((program _ ...)
- (string-append "/var/run/containers/" (basename program)))))
-
- (define auto-mappings
- `(,@(if log-file
- (list (file-system-mapping
- (source log-file)
- (target source)
- (writable? #t)))
- '())))
-
- (define mounts
- (append (map file-system-mapping->bind-mount
- (append auto-mappings mappings))
- (default-mounts #:namespaces namespaces)))
-
- (lambda args
- (mkdir-p container-directory)
-
- (when log-file
- ;; Create LOG-FILE so we can map it in the container.
- (unless (file-exists? log-file)
- (close (open log-file (logior O_CREAT O_APPEND O_CLOEXEC) #o640))
- (when user
- (let ((pw (getpwnam user)))
- (chown log-file (passwd:uid pw) (passwd:gid pw))))))
-
- (let ((pid (run-container container-directory
- mounts namespaces 1
- (lambda ()
- (exec-command* command
- #:user user
- #:group group
- #:supplementary-groups
- supplementary-groups
- #:pid-file pid-file
- #:log-file log-file
- #:directory directory
- #:environment-variables
- environment-variables)))))
- (if pid-file
- (if (or (memq 'mnt namespaces) (memq 'pid namespaces))
- (read-pid-file/container pid pid-file
- #:max-delay pid-file-timeout)
- (read-pid-file pid-file #:max-delay pid-file-timeout))
- pid))))
-
(define* (fork+exec-command/container command
#:key pid
#:allow-other-keys
diff --git a/gnu/home/services/sound.scm b/gnu/home/services/sound.scm
index 22c1a99250..313a57305b 100644
--- a/gnu/home/services/sound.scm
+++ b/gnu/home/services/sound.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2023 Brian Cully <bjc@spork.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,13 +20,112 @@
(define-module (gnu home services sound)
#:use-module (gnu home services)
#:use-module (gnu home services shepherd)
+ #:use-module (gnu home services xdg)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu services configuration)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (home-pulseaudio-rtp-sink-service-type
home-pulseaudio-rtp-source-service-type
- %pulseaudio-rtp-multicast-address))
+ %pulseaudio-rtp-multicast-address
+
+ home-pipewire-configuration
+ home-pipewire-service-type))
+
+
+;;;
+;;; PipeWire support.
+;;;
+
+(define-configuration/no-serialization home-pipewire-configuration
+ (pipewire
+ (file-like pipewire)
+ "The PipeWire package to use.")
+ (wireplumber
+ (file-like wireplumber)
+ "The WirePlumber package to use.")
+ (enable-pulseaudio?
+ (boolean #t)
+ "When true, enable PipeWire's PulseAudio emulation support, allowing
+PulseAudio clients to use PipeWire transparently."))
+
+(define (home-pipewire-shepherd-service config)
+ (shepherd-service
+ (documentation "PipeWire media processing.")
+ (provision '(pipewire))
+ (requirement '(dbus))
+ (start #~(make-forkexec-constructor
+ (list #$(file-append
+ (home-pipewire-configuration-pipewire config)
+ "/bin/pipewire"))))
+ (stop #~(make-kill-destructor))))
+
+(define (home-pipewire-pulseaudio-shepherd-service config)
+ (shepherd-service
+ (documentation "Drop-in PulseAudio replacement service for PipeWire.")
+ (provision '(pipewire-pulseaudio))
+ (requirement '(pipewire))
+ (start #~(make-forkexec-constructor
+ (list #$(file-append
+ (home-pipewire-configuration-pipewire config)
+ "/bin/pipewire-pulse"))))
+ (stop #~(make-kill-destructor))))
+
+(define (home-wireplumber-shepherd-service config)
+ (shepherd-service
+ (documentation "WirePlumber session management for PipeWire.")
+ (provision '(wireplumber))
+ (requirement '(pipewire))
+ (start #~(make-forkexec-constructor
+ (list #$(file-append
+ (home-pipewire-configuration-wireplumber config)
+ "/bin/wireplumber"))))
+ (stop #~(make-kill-destructor))))
+
+(define (home-pipewire-shepherd-services config)
+ (cons* (home-pipewire-shepherd-service config)
+ (home-wireplumber-shepherd-service config)
+ (if (home-pipewire-configuration-enable-pulseaudio? config)
+ (list (home-pipewire-pulseaudio-shepherd-service config))
+ '())))
+
+(define (home-pipewire-asoundrc config)
+ (match-record config <home-pipewire-configuration>
+ (pipewire)
+ (mixed-text-file
+ "asoundrc"
+ "<" pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf>\n"
+ "<" pipewire "/share/alsa/alsa.conf.d/99-pipewire-default.conf>\n"
+ "pcm_type.pipewire {\n"
+ " lib \"" pipewire "/lib/alsa-lib/libasound_module_pcm_pipewire.so\"\n"
+ "}\n"
+ "ctl_type.pipewire {\n"
+ " lib \"" pipewire "/lib/alsa-lib/libasound_module_ctl_pipewire.so\"\n"
+ "}\n")))
+
+(define home-pipewire-disable-pulseaudio-auto-start
+ (plain-file "client.conf" "autospawn = no"))
+
+(define (home-pipewire-xdg-configuration config)
+ (cons* `("alsa/asoundrc" ,(home-pipewire-asoundrc config))
+ (if (home-pipewire-configuration-enable-pulseaudio? config)
+ `(("pulse/client.conf"
+ ,home-pipewire-disable-pulseaudio-auto-start))
+ '())))
+
+(define home-pipewire-service-type
+ (service-type
+ (name 'pipewire)
+ (extensions
+ (list (service-extension home-shepherd-service-type
+ home-pipewire-shepherd-services)
+ (service-extension home-xdg-configuration-files-service-type
+ home-pipewire-xdg-configuration)))
+ (description
+ "Start essential PipeWire services.")
+ (default-value (home-pipewire-configuration))))
;;;
diff --git a/gnu/installer.scm b/gnu/installer.scm
index db79c11530..3b06b4f01b 100644
--- a/gnu/installer.scm
+++ b/gnu/installer.scm
@@ -45,10 +45,10 @@
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages linux)
- #:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pciutils)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg)
#:use-module (gnu system locale)
diff --git a/gnu/local.mk b/gnu/local.mk
index caf2bb16fa..2896395120 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -61,6 +61,7 @@
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+# Copyright © 2023 Herman Rimm <herman@rimm.ee>
#
# This file is part of GNU Guix.
#
@@ -239,7 +240,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/dvtm.scm \
%D%/packages/easyrpg.scm \
%D%/packages/ebook.scm \
- %D%/packages/ed.scm \
%D%/packages/education.scm \
%D%/packages/efi.scm \
%D%/packages/electronics.scm \
@@ -455,7 +455,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/musl.scm \
%D%/packages/mtools.scm \
%D%/packages/myrddin.scm \
- %D%/packages/nano.scm \
%D%/packages/ncdu.scm \
%D%/packages/ncurses.scm \
%D%/packages/netpbm.scm \
@@ -752,6 +751,7 @@ GNU_SYSTEM_MODULES = \
\
%D%/system/images/hurd.scm \
%D%/system/images/novena.scm \
+ %D%/system/images/orangepi-r1-plus-lts-rk3328.scm \
%D%/system/images/pine64.scm \
%D%/system/images/pinebook-pro.scm \
%D%/system/images/rock64.scm \
@@ -1066,6 +1066,7 @@ dist_patch_DATA = \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
+ %D%/packages/patches/dante-non-darwin.patch \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/datefudge-gettimeofday.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
@@ -2001,10 +2002,7 @@ dist_patch_DATA = \
%D%/packages/patches/serf-python3.patch \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
- %D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
- %D%/packages/patches/slim-sigusr1.patch \
- %D%/packages/patches/slim-reset.patch \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slim-display.patch \
%D%/packages/patches/stex-copy-from-immutable-store.patch \
@@ -2070,13 +2068,9 @@ dist_patch_DATA = \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-allow-disabling-openssl.patch \
- %D%/packages/patches/u-boot-fix-build-python-3.10.patch \
- %D%/packages/patches/u-boot-fix-u-boot-lib-build.patch \
%D%/packages/patches/u-boot-nintendo-nes-serial.patch \
%D%/packages/patches/u-boot-patman-change-id.patch \
%D%/packages/patches/u-boot-rockchip-inno-usb.patch \
- %D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \
- %D%/packages/patches/u-boot-rk3399-enable-emmc-phy.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 377caf8793..5442714665 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -407,7 +407,7 @@ interface and is based on GNU Guile.")
(define-public swineherd
(package
(name "swineherd")
- (version "0.0.3")
+ (version "0.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -416,7 +416,7 @@ interface and is based on GNU Guile.")
(file-name (git-file-name name version))
(sha256
(base32
- "0il1ikaj478n7xs4vqgawbshvmwq3nd0gp235mwqvmf4knra6j3g"))))
+ "0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index c454c69164..f319e260e9 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -41,7 +41,6 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages documentation)
- #:use-module (gnu packages ed)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages gcc)
@@ -63,6 +62,7 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index ea6fdc3b88..8b25af6a5e 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -48,7 +48,6 @@
#:use-module (gnu packages attr)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
- #:use-module (gnu packages ed)
#:use-module (gnu packages gcc)
#:use-module (gnu packages guile)
#:use-module (gnu packages multiprecision)
@@ -57,6 +56,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages hurd)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 3e7b99ee61..de37d19264 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -161,6 +161,7 @@
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages uglifyjs)
+ #:use-module (gnu packages video)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
@@ -4287,6 +4288,107 @@ annotations of the genome.")
other types of unwanted sequence from high-throughput sequencing reads.")
(license license:expat)))
+(define-public lammps
+ (let ((commit "stable_2Aug2023_update2"))
+ (package
+ (name "lammps")
+ (version (string-append "0." commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lammps/lammps.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11xagacgxgldkx34qdzyjrjvn8x3hpl0kgzhh9zh7skpq79pwycz"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ; no check target
+ #:make-flags
+ '(list "CC=mpicc" "mpi"
+ "LMP_INC=-DLAMMPS_GZIP \
+-DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG -DLAMMPS_MEMALIGN=64"
+ "LIB=-gz -ljpeg -lpng -lavcodec")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "src")))
+ (replace 'configure
+ (lambda _
+ (substitute* "MAKE/Makefile.mpi"
+ (("SHELL =.*")
+ (string-append "SHELL=" (which "bash") "\n"))
+ (("cc ") "mpicc "))
+ (substitute* "Makefile"
+ (("SHELL =.*")
+ (string-append "SHELL=" (which "bash") "\n")))))
+ (add-after 'configure 'configure-modules
+ (lambda _
+ (invoke "make"
+ "yes-molecule"
+ "yes-misc"
+ "yes-granular"
+ (string-append "HDF5_PATH="
+ #$(this-package-input "hdf5")))))
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin")))
+ (mkdir-p bin)
+ (install-file "lmp_mpi" bin)))))))
+ (inputs
+ (list ffmpeg
+ gfortran
+ gzip
+ hdf5
+ libjpeg-turbo
+ libpng
+ openmpi
+ python-wrapper))
+ (native-inputs (list bc))
+ (home-page "https://www.lammps.org/")
+ (synopsis "Classical molecular dynamics simulator")
+ (description "LAMMPS is a classical molecular dynamics simulator
+designed to run efficiently on parallel computers. LAMMPS has potentials for
+solid-state materials (metals, semiconductors), soft matter (biomolecules,
+polymers), and coarse-grained or mesoscopic systems. It can be used to model
+atoms or, more generically, as a parallel particle simulator at the atomic,
+meso, or continuum scale.")
+ (license license:gpl2+))))
+
+(define-public lammps-serial
+ (package
+ (inherit lammps)
+ (name "lammps-serial")
+ (arguments
+ (substitute-keyword-arguments (package-arguments lammps)
+ ((#:make-flags flags)
+ '(list "CC=gcc" "serial"
+ "LMP_INC=-DLAMMPS_GZIP \
+-DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG -DLAMMPS_MEMALIGN=64"
+ "LIB=-gz -ljpeg -lpng -lavcodec"))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'configure
+ (lambda _
+ (substitute* "MAKE/Makefile.serial"
+ (("SHELL =.*")
+ (string-append "SHELL=" (which "bash") "\n"))
+ (("cc ") "gcc "))
+ (substitute* "Makefile"
+ (("SHELL =.*")
+ (string-append "SHELL=" (which "bash") "\n")))))
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin")))
+ (mkdir-p bin)
+ (install-file "lmp_serial" bin))))))))
+ (inputs
+ (modify-inputs (package-inputs lammps)
+ (delete "openmpi")))))
+
(define-public libbigwig
(package
(name "libbigwig")
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index e708641623..bd8b621e35 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -692,34 +693,19 @@ tree binary files. These are board description files used by Linux and BSD.")
;; and https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io
(search-patch "u-boot-rockchip-inno-usb.patch"))
-(define %u-boot-sifive-prevent-relocating-initrd-fdt
- ;; Fix boot in 2021.07 on Hifive unmatched, see
- ;; https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246
- (search-patch "u-boot-sifive-prevent-reloc-initrd-fdt.patch"))
-
(define %u-boot-allow-disabling-openssl-patch
;; Fixes build of u-boot 2021.10 without openssl
;; https://lists.denx.de/pipermail/u-boot/2021-October/462728.html
(search-patch "u-boot-allow-disabling-openssl.patch"))
-(define %u-boot-rk3399-enable-emmc-phy-patch
- ;; Fix emmc boot on rockpro64 and pinebook-pro, this was a regression
- ;; therefore should hopefully be fixed when updating u-boot.
- ;; https://lists.denx.de/pipermail/u-boot/2021-November/466329.html
- (search-patch "u-boot-rk3399-enable-emmc-phy.patch"))
-
(define u-boot
(package
(name "u-boot")
- (version "2023.07.02")
+ (version "2023.10")
(source (origin
(patches
(list %u-boot-rockchip-inno-usb-patch
%u-boot-allow-disabling-openssl-patch
- %u-boot-sifive-prevent-relocating-initrd-fdt
- %u-boot-rk3399-enable-emmc-phy-patch
- (search-patch "u-boot-fix-build-python-3.10.patch")
- (search-patch "u-boot-fix-u-boot-lib-build.patch")
(search-patch "u-boot-patman-change-id.patch")))
(method url-fetch)
(uri (string-append
@@ -727,7 +713,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
- "1m91w3fpywllkwm000dqsw3294j0szs1lz6qbgwv1aql3ic4hskb"))))
+ "0039rravvjq9yi41645fynycw4c869px024xfc0n212f05pnq3p0"))))
(build-system gnu-build-system)
(native-inputs
(list bison
@@ -778,6 +764,7 @@ also initializes the boards (RAM etc).")
(modify-inputs (package-native-inputs u-boot)
(append fontconfig
python-sphinx
+ python-sphinx-prompt
texinfo
which)))
(synopsis "U-Boot documentation")
@@ -1201,6 +1188,21 @@ device while it's being turned on (and a while longer).")))
version, contrary to Novena upstream, does not load u-boot.img from the first
partition."))
+(define-public u-boot-orangepi-r1-plus-lts-rk3328
+ (let ((base (make-u-boot-package "orangepi-r1-plus-lts-rk3328" "aarch64-linux-gnu")))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (setenv "BL31" (search-input-file inputs "bl31.elf"))))))))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (append arm-trusted-firmware-rk3328))))))
+
(define-public u-boot-cubieboard
(make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
index 34dfa4b580..00dd5a7075 100644
--- a/gnu/packages/browser-extensions.scm
+++ b/gnu/packages/browser-extensions.scm
@@ -21,6 +21,7 @@
(define-module (gnu packages browser-extensions)
#:use-module (guix gexp)
#:use-module (guix packages)
+ #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@@ -155,7 +156,7 @@ ungoogled-chromium.")
(define-public passff-host
(package
(name "passff-host")
- (version "1.2.3")
+ (version "1.2.4")
(home-page "https://github.com/passff/passff-host")
(source (origin
(method git-fetch)
@@ -163,7 +164,7 @@ ungoogled-chromium.")
(file-name (git-file-name name version))
(sha256
(base32
- "1p18l1jh20x4v8dj64z9qjlp96fxsl5h069iynxfpbkzj6hd74yl"))))
+ "1lcwa1qzfxlifmj33qndp1wgi6yx6vj21ir0az79vhm5k03p961z"))))
(build-system copy-build-system)
(arguments
(let ((native-manifests "lib/icecat/native-messaging-hosts"))
@@ -193,7 +194,7 @@ properly.")
(define passff
(package
(name "passff")
- (version "1.15")
+ (version "1.16")
(home-page "https://github.com/passff/passff")
(source (origin
(method git-fetch)
@@ -201,7 +202,7 @@ properly.")
(file-name (git-file-name name version))
(sha256
(base32
- "1gymqyqppr8k9fqv5js7f6pk6hcc47qpf51x5cy6aahsk2v1qssj"))))
+ "0y3cbgy89lgvq6lfabp7mi1zhphdvihcccn3yw5mmaql9yrdm5kc"))))
(propagated-inputs (list passff-host))
(build-system copy-build-system)
(properties '((addon-id . "passff@invicem.pro")))
@@ -251,3 +252,28 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define-public keepassxc-browser/icecat
(make-icecat-extension keepassxc-browser))
+
+(define noscript
+ (package
+ (name "noscript")
+ (version "11.4.29")
+ (source (origin
+ (method url-fetch/zipbomb)
+ (uri (string-append
+ "https://noscript.net/download/releases/noscript-" version
+ ".xpi"))
+ (sha256
+ (base32
+ "1k94zvv2ypmhc29f5d2zrvigwh1xgi5kwm1kqfxarwjyn108if85"))))
+ (build-system copy-build-system)
+ (properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
+ (arguments
+ `(#:install-plan '(("." ,(assq-ref properties 'addon-id)))))
+ (home-page "https://noscript.net")
+ (synopsis "Software providing extra protection for various browsers.")
+ (description "The NoScript Security Suite is a software providing extra
+protection for web browsers.")
+ (license license:gpl3+)))
+
+(define-public noscript/icecat
+ (make-icecat-extension noscript))
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index aaa2e50293..d473ab41ed 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -233,10 +234,35 @@ files.")
`(#:tests? #f ; there is no check target
#:parallel-build? #f ;randomly fails to link
#:configure-flags ; Add $libdir to the RUNPATH of all the executables.
- (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
+ (list (string-append "LDFLAGS=-Wl,-rpath="
+ ,(if (%current-target-system)
+ '(assoc-ref %outputs "out")
+ '%output)
+ "/lib"))
;; Building in parallel is flaky: “ld: […]/cachetest.c:393: undefined
;; reference to `paranoia_free'”.
- #:parallel-build? #f))
+ #:parallel-build? #f
+ ,@(if (and (or (target-riscv64?)
+ (target-aarch64?))
+ (%current-target-system))
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'update-config-scripts
+ (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ ;; Replace outdated config.guess and config.sub.
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file)) "."))
+ '("config.guess" "config.sub"))))))
+ '())))
+ (native-inputs
+ (if (and (or (target-riscv64?)
+ (target-aarch64?))
+ (%current-target-system))
+ (list config)
+ '()))
(home-page "https://www.xiph.org/paranoia/")
(synopsis "Audio CD reading utility")
(description "Cdparanoia retrieves audio tracks from CDDA capable CDROM
diff --git a/gnu/packages/cook.scm b/gnu/packages/cook.scm
index 584f561ceb..f2bd4d8c1f 100644
--- a/gnu/packages/cook.scm
+++ b/gnu/packages/cook.scm
@@ -22,10 +22,10 @@
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
- #:use-module (gnu packages ed)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages groff)
+ #:use-module (gnu packages text-editors)
#:use-module (guix build-system gnu))
(define-public cook
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 0d5be7d171..0f2c6e0b85 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -484,7 +484,7 @@ operating on batches.")
(define-public google-highway
(package
(name "google-highway")
- (version "1.0.5")
+ (version "1.0.7")
(source
(origin
(method git-fetch)
@@ -493,10 +493,11 @@ operating on batches.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "01ig4iqicm57nycl9q8mx1b22gvl4wj5j1vfp1jczhmrga4bca8v"))))
+ (base32 "0cx38hnislqyd4vd47mlpgjpr1zmpf1fms2bj6nb00fjv53q1sb7"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on")))
+ `(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on"
+ "-DBUILD_SHARED_LIBS=ON")))
(native-inputs
(list googletest))
(home-page "https://github.com/google/highway")
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index e7f777e83b..15b54b7f95 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -971,7 +971,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "gl-generator" version))
+ (uri (crate-uri "gl_generator" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -997,7 +997,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "gl-generator" version))
+ (uri (crate-uri "gl_generator" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -1012,7 +1012,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "gl-generator" version))
+ (uri (crate-uri "gl_generator" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -1228,7 +1228,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "glutin-egl-sys" version))
+ (uri (crate-uri "glutin_egl_sys" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -1252,7 +1252,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "glutin-egl-sys" version))
+ (uri (crate-uri "glutin_egl_sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0g81bz7ppvaksvwcw1jg553g8b2shvmnfm9ms6hixwvinj20z438"))))
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ddafebd1d6..1bfd8fb143 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -118,7 +118,7 @@
(version "0.2.21")
(source (origin
(method url-fetch)
- (uri (crate-uri "ab-glyph" version))
+ (uri (crate-uri "ab_glyph" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -166,7 +166,7 @@ cubic beziers.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "abi-stable" version))
+ (uri (crate-uri "abi_stable" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "03vg0cl0727whv7nxyvm8g9xfwxnfcdn8p872jqw1z6n84yjix7s"))
@@ -217,7 +217,7 @@ loaded at program startup.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "abi-stable-derive" version))
+ (uri (crate-uri "abi_stable_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1w503n9rxja3h8ls6p5xsly8aclbp30dm4hd0525bvpbippi161v"))))
@@ -250,7 +250,7 @@ loaded at program startup.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "abi-stable-shared" version))
+ (uri (crate-uri "abi_stable_shared" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0psaz0vghdz84vrb311g4b74d2nhrlbmwxa8if88s0bf0s4xmsgc"))))
@@ -558,7 +558,7 @@ protocols.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "actix-derive" version))
+ (uri (crate-uri "actix_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0k1kg4gkp2jhi5fgdfd0cq2qfbyy3gfgwqjrvzq1hzrjmynwwnmr"))))
@@ -586,7 +586,7 @@ protocols.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "actix-derive" version))
+ (uri (crate-uri "actix_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0v0mvq883aq5z6d0893bh32bfddvfajh5bm7nkl0l8idpzbzdx8b"))))
@@ -2875,7 +2875,7 @@ using AES-NI for high performance.")
(version "0.1.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "alacritty-config" version))
+ (uri (crate-uri "alacritty_config" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0imj95kqnpb6mlgdn4bs11lm472x8j5vf58wz14hbcfw2kag4fw6"))))
@@ -2898,7 +2898,7 @@ Alacritty terminal emulator.")
(version "0.2.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "alacritty-config-derive" version))
+ (uri (crate-uri "alacritty_config_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -2926,7 +2926,7 @@ Alacritty terminal emulator.")
(version "0.19.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "alacritty-terminal" version))
+ (uri (crate-uri "alacritty_terminal" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -3005,7 +3005,7 @@ code that is generic with regard to the algebraic entity types.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "alga-derive" version))
+ (uri (crate-uri "alga_derive" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -3366,7 +3366,7 @@ applications on Android with NativeActivity or GameActivity.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "android-glue" version))
+ (uri (crate-uri "android_glue" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -3417,7 +3417,7 @@ applications on Android with NativeActivity or GameActivity.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "android-logger" version))
+ (uri (crate-uri "android_logger" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0fl8ix7q1cj73lzy6xcwyrqwpvnx5aaxszawidivv9ra4h6bh6c6"))))
@@ -3495,7 +3495,7 @@ it outputs messages to Android's logcat.")
(version "0.1.5")
(source (origin
(method url-fetch)
- (uri (crate-uri "android-system-properties" version))
+ (uri (crate-uri "android_system_properties" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "04b3wrz12837j7mdczqd95b732gw5q7q66cv4yn4646lvccp57l1"))))
@@ -4096,6 +4096,32 @@ coverage-guided, mutation-based fuzzers.")
("rust-proptest" ,rust-proptest-0.9)
("rust-version-sync" ,rust-version-sync-0.9))))))
+(define-public rust-archery-1
+ (package
+ (name "rust-archery")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "archery" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1lp7lq613dd21ay15gzbl8s5r91c96iia000rs358xk217v5aya8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-static-assertions" ,rust-static-assertions-1)
+ ("rust-triomphe" ,rust-triomphe-0.1))
+ #:cargo-development-inputs
+ (("rust-compiletest-rs" ,rust-compiletest-rs-0.10)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-1))))
+ (home-page "https://github.com/orium/archery")
+ (synopsis "Abstract over the atomicity of reference-counting pointers")
+ (description "This package provides a way to abstract @code{Rc} and
+@code{Arc} smart pointers. It can also create data structures where
+the pointer type is parameterizable.")
+ (license license:mpl2.0)))
+
(define-public rust-arg-enum-proc-macro-0.3
(package
(name "rust-arg-enum-proc-macro")
@@ -4606,7 +4632,7 @@ the web.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "as-derive-utils" version))
+ (uri (crate-uri "as_derive_utils" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "16qxh5q7gn6vnzk20g7vaj76f4dd74zkn66fv638ryyfjnj6z8p0"))
@@ -4645,7 +4671,7 @@ the abi_stable and structural crates.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "as-derive-utils" version))
+ (uri (crate-uri "as_derive_utils" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1rjmbasb2spxdmm47kzw2zmr8icbdrcr0wa9kyn7lim5c0idh69b"))
@@ -4807,7 +4833,7 @@ library for Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "asn1-derive" version))
+ (uri (crate-uri "asn1_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1771kfjycjs4g2acqvxpjy3igfcgg8hychczl1lsqq64za4gj6l6"))))
@@ -4830,7 +4856,7 @@ library for Rust.")
(version "0.13.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "asn1-derive" version))
+ (uri (crate-uri "asn1_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -5156,7 +5182,7 @@ approximately equal.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "assert-cli" version))
+ (uri (crate-uri "assert_cli" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0jc1bh3cvnl66bl7s5gr1xnm0hl8d2l3gmil0pmhp5v2xp0bg6m2"))))
@@ -5216,7 +5242,7 @@ assertions on the result of your program's run.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "assert-cmd" version))
+ (uri (crate-uri "assert_cmd" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -5241,7 +5267,7 @@ assertions on the result of your program's run.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "assert-cmd" version))
+ (uri (crate-uri "assert_cmd" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -5263,7 +5289,7 @@ assertions on the result of your program's run.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "assert-fs" version))
+ (uri (crate-uri "assert_fs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0j2vhxyb12ng6knln2bckywp5yqqxqhdd3gf0rfyvhp5d1x62w7h"))))
@@ -6447,7 +6473,7 @@ they're not available.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "auto-impl" version))
+ (uri (crate-uri "auto_impl" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "195d6s9bfcchwizf3km1g69l74f6xvm5gl9505js2r9xi4ff4qkq"))))
@@ -6478,7 +6504,7 @@ they're not available.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "auto-impl" version))
+ (uri (crate-uri "auto_impl" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0f0aildq7rl7imgl6x6xw8jg4m08xz9q1bpcrmf5xnhar23gbjs2"))))
@@ -8312,7 +8338,7 @@ useful for bioinformatics, but also in other fields.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "bit-field" version))
+ (uri (crate-uri "bit_field" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "192rsg8g3ki85gj8rzslblnwr53yw5q4l8vfg6bf1lkn4cfdvdnw"))))
@@ -8443,7 +8469,7 @@ types.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "bitcoin-hashes" version))
+ (uri (crate-uri "bitcoin_hashes" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1c25nzrd2kn5znhjgxb9n48hc7swapiln8dqqndq368x38gcjv00"))))
@@ -8927,7 +8953,7 @@ streams in big-endian and little-endian formats.")
(version "1.0.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "blake2b-simd" version))
+ (uri (crate-uri "blake2b_simd" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -8953,7 +8979,7 @@ BLAKE2bp hash functions.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "blake2b-simd" version))
+ (uri (crate-uri "blake2b_simd" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -10584,7 +10610,7 @@ in a byte slice, fast.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "bytemuck-derive" version))
+ (uri (crate-uri "bytemuck_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -10965,7 +10991,7 @@ NULL-terminated C linked lists.")
(version "2.0.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "c-vec" version))
+ (uri (crate-uri "c_vec" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1s765fviy10q27b0wmkyk4q728z9v8v5pdlxv5k564y0mlks9mzx"))))
@@ -11413,7 +11439,7 @@ capabilities.")
(version "0.1.12")
(source (origin
(method url-fetch)
- (uri (crate-uri "carapace-spec-clap" version))
+ (uri (crate-uri "carapace_spec_clap" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -11679,7 +11705,7 @@ Windows Credential Manager.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cargo-metadata" version))
+ (uri (crate-uri "cargo_metadata" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -11711,7 +11737,7 @@ metadata}.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cargo-metadata" version))
+ (uri (crate-uri "cargo_metadata" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -11735,7 +11761,7 @@ metadata}.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cargo-metadata" version))
+ (uri (crate-uri "cargo_metadata" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -11813,7 +11839,7 @@ metadata}.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cargo-metadata" version))
+ (uri (crate-uri "cargo_metadata" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0ywd10r8gnfcmpg2cjv99gcwydgrn0syw252qcsgd1118sw5f45y"))))
@@ -12943,7 +12969,7 @@ usage.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "ci-info" version))
+ (uri (crate-uri "ci_info" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -13212,7 +13238,7 @@ traits.")
(version "0.5.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-complete-command" version))
+ (uri (crate-uri "clap_complete_command" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13239,7 +13265,7 @@ command to Clap.")
(version "4.3.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-complete-fig" version))
+ (uri (crate-uri "clap_complete_fig" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13265,7 +13291,7 @@ completion scripts.")
(version "0.1.10")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-complete-nushell" version))
+ (uri (crate-uri "clap_complete_nushell" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13475,7 +13501,7 @@ Command Line Argument Parser.")
(version "4.4.7")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-builder" version))
+ (uri (crate-uri "clap_builder" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13513,7 +13539,7 @@ Command Line Argument Parser.")
(version "4.3.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-complete" version))
+ (uri (crate-uri "clap_complete" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1khpx0fxmjh46s8354nn507ba4s9kfksiia6ambh9a419hrl7i2z"))))
@@ -13542,7 +13568,7 @@ Command Line Argument Parser.")
(version "3.2.5")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-complete" version))
+ (uri (crate-uri "clap_complete" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13575,7 +13601,7 @@ for programs written with Clap.")
(version "3.2.4")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-complete-fig" version))
+ (uri (crate-uri "clap_complete_fig" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13601,7 +13627,7 @@ with Clap to generate Fig completion scripts.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "clap-lex" version))
+ (uri (crate-uri "clap_lex" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1l8bragdvim7mva9flvd159dskn2bdkpl0jqrr41wnjfn8pcfbvh"))))
@@ -13622,7 +13648,7 @@ stream of tokens.")
(version "0.5.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-lex" version))
+ (uri (crate-uri "clap_lex" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13650,7 +13676,7 @@ stream of tokens.")
(version "0.2.4")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-lex" version))
+ (uri (crate-uri "clap_lex" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13665,7 +13691,7 @@ stream of tokens.")
(version "0.2.11")
(source (origin
(method url-fetch)
- (uri (crate-uri "clap-mangen" version))
+ (uri (crate-uri "clap_mangen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -13691,7 +13717,7 @@ stream of tokens.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "clap-mangen" version))
+ (uri (crate-uri "clap_mangen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0zrpsp2lfrm1cgwsi7vlv9xlk4nbxrwnqksfbrgqsf3jbb080l8h"))))
@@ -13858,7 +13884,7 @@ pitfalls in Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "clippy-lints" version))
+ (uri (crate-uri "clippy_lints" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -14443,7 +14469,7 @@ and well formatted error reports for all kinds of errors.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "color-quant" version))
+ (uri (crate-uri "color_quant" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -14828,7 +14854,7 @@ stores strings on the stack, when possible.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "compound-duration" version))
+ (uri (crate-uri "compound_duration" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0rb5kasd7044xxb73wz2qqxv6iwawp9gipvqhya8yybafh7a679r"))))
@@ -14889,7 +14915,7 @@ literals.")
(version "0.1.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "const-fn-assert" version))
+ (uri (crate-uri "const_fn_assert" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1451yxndri5zj95lyjzckj7m3qlpyj8ibp3pb8bbbxrl7zr19mi7"))))
@@ -14949,14 +14975,52 @@ need compiler-rt intrinsics.")
(description "This package provides a triggerable compiler error for Rust.")
(license license:expat)))
+(define-public rust-compiletest-rs-0.10
+ (package
+ (name "rust-compiletest-rs")
+ (version "0.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "compiletest_rs" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1mn0v8qax92pl9kdf2csah79jyigzvndg8mil6rpn97rpkhzw9bj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-diff" ,rust-diff-0.1)
+ ("rust-filetime" ,rust-filetime-0.2)
+ ("rust-getopts" ,rust-getopts-0.2)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-miow" ,rust-miow-0.3)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-rustfix" ,rust-rustfix-0.6)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-derive" ,rust-serde-derive-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-tester" ,rust-tester-0.9)
+ ("rust-winapi" ,rust-winapi-0.3))))
+ (home-page "https://github.com/Manishearth/compiletest-rs")
+ (synopsis
+ "Extraction of the compiletest utility from the Rust compiler")
+ (description
+ "This package provides an extraction of the compiletest utility from the
+Rust compiler.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-compiletest-rs-0.3
(package
+ (inherit rust-compiletest-rs-0.10)
(name "rust-compiletest-rs")
(version "0.3.22")
(source
(origin
(method url-fetch)
- (uri (crate-uri "compiletest-rs" version))
+ (uri (crate-uri "compiletest_rs" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -14979,13 +15043,7 @@ need compiler-rt intrinsics.")
("rust-serde-json" ,rust-serde-json-1)
("rust-tempfile" ,rust-tempfile-3)
("rust-tester" ,rust-tester-0.5)
- ("rust-winapi" ,rust-winapi-0.3))))
- (home-page "https://github.com/laumann/compiletest-rs")
- (synopsis "Compiletest utility from the Rust compiler")
- (description
- "The compiletest utility from the Rust compiler as a standalone testing
-harness.")
- (license (list license:asl2.0 license:expat))))
+ ("rust-winapi" ,rust-winapi-0.3))))))
(define-public rust-compiletest-rs-0.2
(package
@@ -15559,7 +15617,7 @@ the browser's console.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "console-log" version))
+ (uri (crate-uri "console_log" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -15584,7 +15642,7 @@ the browser's console.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "const-fn" version))
+ (uri (crate-uri "const_fn" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -15706,7 +15764,7 @@ generation.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "constant-time-eq" version))
+ (uri (crate-uri "constant_time_eq" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1hl0y8frzlhpr58rh8rlg4bm53ax09ikj2i5fk7gpyphvhq4s57p"))))
@@ -15730,7 +15788,7 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.")
(version "0.2.5")
(source (origin
(method url-fetch)
- (uri (crate-uri "constant-time-eq" version))
+ (uri (crate-uri "constant_time_eq" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -15815,7 +15873,7 @@ semantics than those provided by @code{as} or @code{From}/@code{Into}.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "convert-case" version))
+ (uri (crate-uri "convert_case" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1jn1pq6fp3rri88zyw6jlhwwgf6qiyc08d6gjv0qypgkl862n67c"))
@@ -15850,7 +15908,7 @@ semantics than those provided by @code{as} or @code{From}/@code{Into}.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "convert-case" version))
+ (uri (crate-uri "convert_case" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "03jaf1wrsyqzcaah9jf8l1iznvdw5mlsca2qghhzr9w27sddaib2"))))
@@ -16201,7 +16259,7 @@ numbers using the CORDIC method.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "core-extensions" version))
+ (uri (crate-uri "core_extensions" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1vn0jsn8nbi76i2jjadim31piscf0hv8640ng9z608cpgk01viwj"))))
@@ -16229,7 +16287,7 @@ numbers using the CORDIC method.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "core-extensions" version))
+ (uri (crate-uri "core_extensions" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1nhgd5rlgp679qm4g3x806ywwhm6qr1y2j3y90wzjgyqllf7w49s"))))
@@ -16249,7 +16307,7 @@ numbers using the CORDIC method.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "core-extensions-proc-macros" version))
+ (uri (crate-uri "core_extensions_proc_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "19k11haw8s00zxxignjmw0ian0q85r9grhbvr153nvlbs8cv5wv9"))))
@@ -16307,7 +16365,7 @@ in @code{no_std}. Alloc support is optional.")
(version "0.19.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "cookie-store" version))
+ (uri (crate-uri "cookie_store" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -16338,7 +16396,7 @@ in @code{no_std}. Alloc support is optional.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cookie-store" version))
+ (uri (crate-uri "cookie_store" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1kfrmxx9mi55dgbj8qgd8qbahvi1yjqwk05v0jm5y7zld6inljrf"))))
@@ -16362,7 +16420,7 @@ in @code{no_std}. Alloc support is optional.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cookie-store" version))
+ (uri (crate-uri "cookie_store" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -16415,7 +16473,7 @@ in @code{no_std}. Alloc support is optional.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "core-affinity" version))
+ (uri (crate-uri "core_affinity" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "07qpwyxps4gp3gci2p6c5h4cmcql7551bp91qgbv0ky3bh8h72kz"))))
@@ -16656,7 +16714,7 @@ intrinsics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "count-instructions" version))
+ (uri (crate-uri "count_instructions" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0ps0254pvx3nmnxs2v60kv7fqayh82r3jqypb4l3ql3i7s3rzr1n"))))
@@ -16759,7 +16817,7 @@ Supports Linux through either JACK or ALSA.")
(version "0.4.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "cpp-demangle" version))
+ (uri (crate-uri "cpp_demangle" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -19196,7 +19254,7 @@ use with bindgen.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cuda-std" version))
+ (uri (crate-uri "cuda_std" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "174237dj152dvndvykcn17nz2d0kdzsyyxnb6fsdz3i7xa8lfcgn"))))
@@ -19221,7 +19279,7 @@ use with bindgen.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cuda-std-macros" version))
+ (uri (crate-uri "cuda_std_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0hlakxn9pz8233pwsh44j8gzqzf078a3lnnq3v2cadmb4c4l1mlz"))))
@@ -19385,7 +19443,7 @@ ristretto255 and Curve25519.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cust-core" version))
+ (uri (crate-uri "cust_core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "01jzjwywsngqm8d1vxk3zr9klvidab6iis1myg5r1y5q5ik7k7q3"))))
@@ -19412,7 +19470,7 @@ shared across CPU and GPU.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "cust-derive" version))
+ (uri (crate-uri "cust_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0rigqx5d1941cbpbd76i455ifh4yzz6fcga2na9fv6k2zsavr8z8"))))
@@ -19939,7 +19997,7 @@ into structs when implementing custom derives.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "darling-core" version))
+ (uri (crate-uri "darling_core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -20026,7 +20084,7 @@ reading attributes into structs when implementing custom derives.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "darling-core" version))
+ (uri (crate-uri "darling_core" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -20559,7 +20617,7 @@ the Debug trait manually.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "debug-unreachable" version))
+ (uri (crate-uri "debug_unreachable" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1cx4vh1d0bxdpb8l9lyiv03az4527lykxy39s4a958swf2n2w0ws"))))
@@ -20579,7 +20637,7 @@ the Debug trait manually.")
(version "0.1.5")
(source (origin
(method url-fetch)
- (uri (crate-uri "debugger-test" version))
+ (uri (crate-uri "debugger_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -20607,7 +20665,7 @@ debugger and run commands while verifying the output.")
(version "0.1.3")
(source (origin
(method url-fetch)
- (uri (crate-uri "debugger-test-parser" version))
+ (uri (crate-uri "debugger_test_parser" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -21045,7 +21103,7 @@ targets")
(version "0.7.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "der-derive" version))
+ (uri (crate-uri "der_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -21072,7 +21130,7 @@ targets")
(version "0.6.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "der-derive" version))
+ (uri (crate-uri "der_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -21290,7 +21348,7 @@ Instead, enable the @code{derive} feature of the @code{arbitrary} crate.")
(version "0.12.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "derive-builder" version))
+ (uri (crate-uri "derive_builder" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -21353,7 +21411,7 @@ for arbitrary structs.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "derive-builder" version))
+ (uri (crate-uri "derive_builder" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -21404,7 +21462,7 @@ for arbitrary structs.")
(version "0.12.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "derive-builder-core" version))
+ (uri (crate-uri "derive_builder_core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -21472,7 +21530,7 @@ for arbitrary structs.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "derive-builder-core" version))
+ (uri (crate-uri "derive_builder_core" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -21518,7 +21576,7 @@ for arbitrary structs.")
(version "0.12.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "derive-builder-macro" version))
+ (uri (crate-uri "derive_builder_macro" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -21601,7 +21659,7 @@ error-chain.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "derive-more" version))
+ (uri (crate-uri "derive_more" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -21640,7 +21698,7 @@ traits for both structs and enums.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "derive-more" version))
+ (uri (crate-uri "derive_more" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1zks5bn7hmqfz927spmridk9bvy7ly4f38vls331x4hc4hq1653s"))))
@@ -21661,7 +21719,7 @@ traits for both structs and enums.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "derive-more" version))
+ (uri (crate-uri "derive_more" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0fgq5ziyg0gwr5j7pghfrxgzqzmmadknivpigrsniliy0334m53d"))))
@@ -23165,7 +23223,7 @@ Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "drop-bomb" version))
+ (uri (crate-uri "drop_bomb" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -24510,7 +24568,7 @@ accessor functions on enums.")
(version "0.1.7")
(source (origin
(method url-fetch)
- (uri (crate-uri "enum-derive" version))
+ (uri (crate-uri "enum_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -24623,7 +24681,7 @@ as an array.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "enum-primitive" version))
+ (uri (crate-uri "enum_primitive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "100ip2p3w1rq0clca2ai5shhvpxfipnsjncj0f9ralad5w4m2idy"))))
@@ -24755,7 +24813,7 @@ convert enum to u8 slice ref.")
(version "0.7.7")
(source (origin
(method url-fetch)
- (uri (crate-uri "enumflags2-derive" version))
+ (uri (crate-uri "enumflags2_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -24780,7 +24838,7 @@ convert enum to u8 slice ref.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "enumflags2-derive" version))
+ (uri (crate-uri "enumflags2_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1kkcwi4n76bi1c16ms00dyk4d393gdf29kpr4k9zsn5z7m7fjvll"))))
@@ -24825,7 +24883,7 @@ compact sets of enums.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "enumset-derive" version))
+ (uri (crate-uri "enumset_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1m7ccz9fcxsx3s1drj77psk62xfgjia0hp9lal3qhpb5ls514lb4"))))
@@ -24896,7 +24954,7 @@ is configured via an environment variable.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "env-logger" version))
+ (uri (crate-uri "env_logger" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1qzw8g11dbdfi7ixm44ldykwcqsxqkh8vx5cgpd88zmclgz8g4d1"))))
@@ -24961,7 +25019,7 @@ is configured via an environment variable.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "env-logger" version))
+ (uri (crate-uri "env_logger" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -24983,7 +25041,7 @@ is configured via an environment variable.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "env-logger" version))
+ (uri (crate-uri "env_logger" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -26265,7 +26323,7 @@ Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed")
(source
(origin
(method url-fetch)
- (uri (crate-uri "feedbin-api" version))
+ (uri (crate-uri "feedbin_api" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -26302,7 +26360,7 @@ Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed")
(source
(origin
(method url-fetch)
- (uri (crate-uri "feedly-api" version))
+ (uri (crate-uri "feedly_api" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -26500,7 +26558,7 @@ Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed")
(source
(origin
(method url-fetch)
- (uri (crate-uri "fever-api" version))
+ (uri (crate-uri "fever_api" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -26564,7 +26622,7 @@ interfacing with finite fields.")
(version "0.13.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "ff-derive" version))
+ (uri (crate-uri "ff_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -26612,7 +26670,7 @@ prime field implementations in rust.")
(version "1.0.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "file-diff" version))
+ (uri (crate-uri "file_diff" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -26913,7 +26971,7 @@ enumeration-based bit flags in rust.")
(version "0.1.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "flaky-test" version))
+ (uri (crate-uri "flaky_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -27165,7 +27223,7 @@ traits.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "float-eq" version))
+ (uri (crate-uri "float_eq" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0lxqxkvdy5zh3qsksavpcazg57cbyjy9p54m16x13bfq8lqhxa18"))))
@@ -27189,7 +27247,7 @@ collections for equality.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "float-eq-derive" version))
+ (uri (crate-uri "float_eq_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0mkg635lmr0nwjlxz6f5k8g60hrd800i061hrlmpvhdkl96d74j2"))))
@@ -27763,7 +27821,7 @@ duplication.")
(version "0.1.6")
(source (origin
(method url-fetch)
- (uri (crate-uri "fs-at" version))
+ (uri (crate-uri "fs_at" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -33558,7 +33616,7 @@ and loading crate.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "greetd-ipc" version))
+ (uri (crate-uri "greetd_ipc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1xl2cix3jv4sgigl5ijayab7rchr6v02za2qd87fv1z8dl1r14w3"))))
@@ -33584,7 +33642,7 @@ and loading crate.")
(version "0.8.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "greetd-ipc" version))
+ (uri (crate-uri "greetd_ipc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -36047,7 +36105,7 @@ HTTP request or response body.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "human-format" version))
+ (uri (crate-uri "human_format" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1c3w2lm41gmnd82acjsi6y50ym2sh5fdb6abghysmaaqsxhf5k46"))))
@@ -36740,7 +36798,7 @@ with hyper.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "iai-macro" version))
+ (uri (crate-uri "iai_macro" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "12xx8qn2740dhxldivc2zhhvqmfb488ry1dr2qyxw1n4ps2pyli5"))))
@@ -37233,7 +37291,7 @@ a trait for tuples.")
(version "0.7.3")
(source (origin
(method url-fetch)
- (uri (crate-uri "include-dir" version))
+ (uri (crate-uri "include_dir" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "17pinxhivh3chkbjmbg9sl0x3h7wwry2zc2p12gfh8kizyp2yxhq"))))
@@ -37256,7 +37314,7 @@ a trait for tuples.")
(version "0.7.3")
(source (origin
(method url-fetch)
- (uri (crate-uri "include-dir-macros" version))
+ (uri (crate-uri "include_dir_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0gsa6z58wxgw9j58w60wyjpk2nv3pd86kimw2akwyzpmbi5jhfdi"))))
@@ -38428,7 +38486,7 @@ network configuration for Windows.")
(version "1.1.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "is-ci" version))
+ (uri (crate-uri "is_ci" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -39915,7 +39973,7 @@ passwords/credentials.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "khronos-api" version))
+ (uri (crate-uri "khronos_api" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -43511,7 +43569,7 @@ Mach 3.0 kernel that underlies OSX.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "mach-o-sys" version))
+ (uri (crate-uri "mach_o_sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "09l8p7nmzq37450x2h6nb7dzg1sk6dk36a5rkcrcy81zm21lb19y"))))
@@ -43611,7 +43669,7 @@ algorithms. It supports CBC block cipher mode, PKCS5 padding and 64, 128,
(source
(origin
(method url-fetch)
- (uri (crate-uri "magic-string" version))
+ (uri (crate-uri "magic_string" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "062fjfvq17qm8ymqzq4y6wk7a3fmxqq9ysg40yrcrxs3ik73703c"))))
@@ -43709,7 +43767,7 @@ algorithms. It supports CBC block cipher mode, PKCS5 padding and 64, 128,
(source
(origin
(method url-fetch)
- (uri (crate-uri "malloc-buf" version))
+ (uri (crate-uri "malloc_buf" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -43887,7 +43945,7 @@ template engine for Rust.")
(version "0.2.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "markup5ever-rcdom" version))
+ (uri (crate-uri "markup5ever_rcdom" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -43918,7 +43976,7 @@ in html5ever/xml5ever")
(source
(origin
(method url-fetch)
- (uri (crate-uri "markup5ever-rcdom" version))
+ (uri (crate-uri "markup5ever_rcdom" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -43941,7 +43999,7 @@ in html5ever/xml5ever")
(source
(origin
(method url-fetch)
- (uri (crate-uri "match-cfg" version))
+ (uri (crate-uri "match_cfg" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -45408,7 +45466,7 @@ file's MIME type by its extension.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "miniflux-api" version))
+ (uri (crate-uri "miniflux_api" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -45564,7 +45622,7 @@ float parser.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "miniz-oxide" version))
+ (uri (crate-uri "miniz_oxide" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1ivl3rbbdm53bzscrd01g60l46lz5krl270487d8lhjvwl5hx0g7"))))
@@ -45591,7 +45649,7 @@ streaming API for miniz_oxide.")
(version "0.6.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "miniz-oxide" version))
+ (uri (crate-uri "miniz_oxide" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1yp8z6yll5ypz1ldmgnv7zi0r78kbvmqmn2mii77jzmk5069axdj"))))
@@ -46015,7 +46073,7 @@ IOCP and Async I/O abstractions.")
(version "0.2.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "mock-instant" version))
+ (uri (crate-uri "mock_instant" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0vg0kmz96zazjdq57l57nm24mc2in57y090ywcq827xq8fi2jzki"))))
@@ -46070,7 +46128,7 @@ IOCP and Async I/O abstractions.")
(version "0.11.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "mockall-derive" version))
+ (uri (crate-uri "mockall_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -46096,7 +46154,7 @@ IOCP and Async I/O abstractions.")
(version "0.3.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "mockall-double" version))
+ (uri (crate-uri "mockall_double" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -47979,7 +48037,7 @@ feed reader.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "newtype-derive" version))
+ (uri (crate-uri "newtype_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1v3170xscs65gjx5vl1zjnqp86wngbzw3n2q74ibfnqqkx6x535c"))))
@@ -49324,7 +49382,7 @@ enhances the built-in library with some useful features.")
(version "0.9.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "ntest-test-cases" version))
+ (uri (crate-uri "ntest_test_cases" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -49366,7 +49424,7 @@ enhances the built-in library with some useful features.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "ntest-test-cases" version))
+ (uri (crate-uri "ntest_test_cases" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1ghal2rb03cnj7ciqgdq0dvifdf8qp2hnmi9z1ip1j5b02s1xa4r"))))))
@@ -49377,7 +49435,7 @@ enhances the built-in library with some useful features.")
(version "0.9.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "ntest-timeout" version))
+ (uri (crate-uri "ntest_timeout" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -49423,7 +49481,7 @@ framework.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "ntest-timeout" version))
+ (uri (crate-uri "ntest_timeout" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "08v3r6hggh43qabl887pkz88k6lg6hrc62mppxyabb0pw44v03di"))))
@@ -49441,7 +49499,7 @@ framework.")
(version "0.8.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "ntest-proc-macro-helper" version))
+ (uri (crate-uri "ntest_proc_macro_helper" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "154r3r9nnnp6qjzlayc54213bdrgdk8b68jjnn1xcyd6cz92iqx0"))))
@@ -49460,7 +49518,7 @@ macros used in ntest.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "ntest-proc-macro-helper" version))
+ (uri (crate-uri "ntest_proc_macro_helper" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0lkyfx97aynbm7cnhzyc9cr0rpq1xzng1hwmzizbf1a6855y6llg"))))))
@@ -49874,7 +49932,7 @@ Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "num-cpus" version))
+ (uri (crate-uri "num_cpus" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0hra6ihpnh06dvfvz9ipscys0xfqa9ca9hzp384d5m02ssvgqqa1"))))
@@ -50242,7 +50300,7 @@ directly.")
(version "0.1.6")
(source (origin
(method url-fetch)
- (uri (crate-uri "num-threads" version))
+ (uri (crate-uri "num_threads" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0i5vmffsv6g79z869flp1sja69g1gapddjagdw1k3q9f3l2cw698"))))
@@ -50450,7 +50508,7 @@ wrapper for Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "objc-exception" version))
+ (uri (crate-uri "objc_exception" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -51524,7 +51582,7 @@ usability when dealing with Rust Options.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "option-set" version))
+ (uri (crate-uri "option_set" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0i6s3bmnrw44nffqbbcaiq7fyhz7j881lcgspb57jxsi752m11k0"))))
@@ -51550,7 +51608,7 @@ usability when dealing with Rust Options.")
(version "0.1.4")
(source (origin
(method url-fetch)
- (uri (crate-uri "option-set" version))
+ (uri (crate-uri "option_set" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "16wsxh2qmjb2bf7mcq7dhlpzwkslzgjpg3nwzx97ia6gpnb2sfy8"))))
@@ -51603,7 +51661,7 @@ usability when dealing with Rust Options.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "ord-subset" version))
+ (uri (crate-uri "ord_subset" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -51869,7 +51927,7 @@ easy and usable crypto while trying to minimize the use of unsafe code.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "os-pipe" version))
+ (uri (crate-uri "os_pipe" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0xy1igr1jfd9ijhr4sccvl8mzp0jic7njdmr56lsk3220ym5ks0a"))))
@@ -51894,7 +51952,7 @@ easy and usable crypto while trying to minimize the use of unsafe code.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "os-pipe" version))
+ (uri (crate-uri "os_pipe" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -51912,7 +51970,7 @@ easy and usable crypto while trying to minimize the use of unsafe code.")
(version "0.8.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "os-pipe" version))
+ (uri (crate-uri "os_pipe" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -51930,7 +51988,7 @@ easy and usable crypto while trying to minimize the use of unsafe code.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "os-pipe" version))
+ (uri (crate-uri "os_pipe" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -51950,7 +52008,7 @@ easy and usable crypto while trying to minimize the use of unsafe code.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "os-str-bytes" version))
+ (uri (crate-uri "os_str_bytes" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0rz2711gl575ng6vm9a97q42wqnf4wk1165wn221jb8gn17z9vff"))))
@@ -51978,7 +52036,7 @@ platform-native strings.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "os-str-bytes" version))
+ (uri (crate-uri "os_str_bytes" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "16d70qzd2g18i28i6znjcpck0r9hjd5gz5qcr1cl2l9s6d1sknmd"))))
@@ -52135,7 +52193,7 @@ platform-native strings.")
(version "0.19.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "owned-ttf-parser" version))
+ (uri (crate-uri "owned_ttf_parser" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -52222,7 +52280,7 @@ normally prevent moving a type that has been borrowed from.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "owning-ref" version))
+ (uri (crate-uri "owning_ref" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0dqgf5hwbmvkf2ffbik5xmhvaqvqi6iklhwk9x47n0wycd0lzy6d"))))
@@ -52446,7 +52504,7 @@ formatters with per-field documentation generated for each structure.
(source
(origin
(method url-fetch)
- (uri (crate-uri "page-size" version))
+ (uri (crate-uri "page_size" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1nj0rrwpvagagssljbm29ww1iyrrg15p1q4sk70r2cfi9qcv5m9h"))))
@@ -52912,7 +52970,7 @@ synchronization primitives.")
(version "0.4.8")
(source (origin
(method url-fetch)
- (uri (crate-uri "parking-lot" version))
+ (uri (crate-uri "parking_lot" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -53106,7 +53164,7 @@ synchronization primitives.")
(version "0.2.14")
(source (origin
(method url-fetch)
- (uri (crate-uri "parking-lot-core" version))
+ (uri (crate-uri "parking_lot_core" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -54311,7 +54369,7 @@ implementation suitable for use with cryptographic private keys.")
(version "0.3.9")
(source (origin
(method url-fetch)
- (uri (crate-uri "pep440-rs" version))
+ (uri (crate-uri "pep440_rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -54341,7 +54399,7 @@ implementing PEP 440.")
(version "0.2.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "pep508-rs" version))
+ (uri (crate-uri "pep508_rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -54807,7 +54865,7 @@ function data structures.")
(version "0.11.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-codegen" version))
+ (uri (crate-uri "phf_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -54847,7 +54905,7 @@ function data structures.")
(version "0.9.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-codegen" version))
+ (uri (crate-uri "phf_codegen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -54884,7 +54942,7 @@ function data structures.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "phf-codegen" version))
+ (uri (crate-uri "phf_codegen" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -54907,7 +54965,7 @@ function data structures.")
(version "0.11.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-generator" version))
+ (uri (crate-uri "phf_generator" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -54956,7 +55014,7 @@ function data structures.")
(version "0.9.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-generator" version))
+ (uri (crate-uri "phf_generator" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -55025,7 +55083,7 @@ function data structures.")
(version "0.11.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-macros" version))
+ (uri (crate-uri "phf_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -55075,7 +55133,7 @@ function data structures.")
(version "0.9.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-macros" version))
+ (uri (crate-uri "phf_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -55156,7 +55214,7 @@ function data structures.")
(version "0.11.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-shared" version))
+ (uri (crate-uri "phf_shared" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -55199,7 +55257,7 @@ function data structures.")
(version "0.9.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "phf-shared" version))
+ (uri (crate-uri "phf_shared" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -55237,7 +55295,7 @@ function data structures.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "phf-shared" version))
+ (uri (crate-uri "phf_shared" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -57046,7 +57104,7 @@ replacements, adding colorful diffs.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "pretty-env-logger" version))
+ (uri (crate-uri "pretty_env_logger" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -57183,7 +57241,7 @@ provides a generic over field elements and curve equation coefficients.")
(version "1.2.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "print-bytes" version))
+ (uri (crate-uri "print_bytes" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -57209,7 +57267,7 @@ losslessly as possible.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "print-bytes" version))
+ (uri (crate-uri "print_bytes" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0d4i9y3jx1chi6w97a8rgdbwm9g3cppr53rw53zl6fcaq31qx0b6"))))
@@ -57227,7 +57285,7 @@ losslessly as possible.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "print-bytes" version))
+ (uri (crate-uri "print_bytes" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1zmvbaxfl4r780j0smg2kn1q3agks601aa43s5zdlzgcp32yjfvm"))))
@@ -59647,7 +59705,7 @@ integers, floats, tuples, booleans, lists, strings, options and results.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "quickcheck-macros" version))
+ (uri (crate-uri "quickcheck_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1s8nh0fmmzq3fd7928qcp2syvymlyv1pmww6fxcaj5np48r6jamj"))))
@@ -59743,7 +59801,7 @@ numbers.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "quine-mc-cluskey" version))
+ (uri (crate-uri "quine-mc_cluskey" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -60403,7 +60461,7 @@ tools for implementation.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rand-core" version))
+ (uri (crate-uri "rand_core" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -60449,7 +60507,7 @@ distributions.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rand-distr" version))
+ (uri (crate-uri "rand_distr" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -60476,7 +60534,7 @@ distributions.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rand-distr" version))
+ (uri (crate-uri "rand_distr" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -60874,7 +60932,7 @@ random number generators.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rand-xoshiro" version))
+ (uri (crate-uri "rand_xoshiro" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -61441,7 +61499,7 @@ owned memory.")
(version "0.3.5")
(source (origin
(method url-fetch)
- (uri (crate-uri "redox-syscall" version))
+ (uri (crate-uri "redox_syscall" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -61499,7 +61557,7 @@ owned memory.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "redox-termios" version))
+ (uri (crate-uri "redox_termios" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -62081,7 +62139,7 @@ crate unless you're working on a regex implementation.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "relative_path" version))
+ (uri (crate-uri "relative-path" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -62105,7 +62163,7 @@ crate unless you're working on a regex implementation.")
(version "0.8.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "remove-dir-all" version))
+ (uri (crate-uri "remove_dir_all" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -62296,7 +62354,7 @@ Should not be used directly.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "repr-offset" version))
+ (uri (crate-uri "repr_offset" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1skj3cy77j7vwslnjjzgladq61z6jjvwlw89kp0zz7fjbdsp047v"))))
@@ -62320,7 +62378,7 @@ Should not be used directly.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "repr-offset-derive" version))
+ (uri (crate-uri "repr_offset_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1rwkbf12vmgi5v1llmgiirn0yaaiyw821rd7fc9fhpbkdxz95yh9"))))
@@ -63840,7 +63898,7 @@ and table-based tests.")
(version "0.14.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "rstest-macros" version))
+ (uri (crate-uri "rstest_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -63869,7 +63927,7 @@ and table-based tests.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rstest-macros" version))
+ (uri (crate-uri "rstest_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "05k1q6jij3v3iapxcr83m92ygsvnv33qx4j0jfjjny13h62bm2pp"))))
@@ -63888,7 +63946,7 @@ and table-based tests.")
(version "0.4.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "rstest-reuse" version))
+ (uri (crate-uri "rstest_reuse" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -63915,7 +63973,7 @@ scenario you want to test.")
(version "0.3.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "rstest-reuse" version))
+ (uri (crate-uri "rstest_reuse" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0k9xdqp0gw655g9l46ii0kyv64dschnf2z7vs43s6zp2phbk37dj"))))
@@ -64030,6 +64088,33 @@ console applications.")
(sha256
(base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr"))))))
+(define-public rust-rpds-1
+ (package
+ (name "rust-rpds")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rpds" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "194hjbsicmgqi3dyllqrz09mmhh597m2j9l49lr16cyfscambqd0"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-archery" ,rust-archery-1)
+ ("rust-serde" ,rust-serde-1))
+ #:cargo-development-inputs
+ (("rust-bincode" ,rust-bincode-1)
+ ("rust-criterion" ,rust-criterion-0.5)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-1)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-static-assertions" ,rust-static-assertions-1))))
+ (home-page "https://github.com/orium/rpds")
+ (synopsis "Persistent data structures with structural sharing")
+ (description "This package provides support for fully persistent data
+structures with structural sharing.")
+ (license license:mpl2.0)))
+
(define-public rust-runtime-0.3
(package
(name "rust-runtime")
@@ -64371,7 +64456,7 @@ hashing function.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rust-decimal" version))
+ (uri (crate-uri "rust_decimal" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -66857,7 +66942,7 @@ Rust code.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "schemars-derive" version))
+ (uri (crate-uri "schemars_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "16xfvm16d8nsxdx82fdcyqfi12v61lffyf1wmi34qqg82g74vbj1"))))
@@ -67231,7 +67316,7 @@ endian-aware Read/Write traits for byte buffers.")
(version "0.11.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "scroll-derive" version))
+ (uri (crate-uri "scroll_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -67554,7 +67639,7 @@ well as the Elliptic-Curve-Point-to-Octet-String encoding.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "section-testing" version))
+ (uri (crate-uri "section_testing" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -68161,7 +68246,7 @@ Semantic Versioning.")
(version "0.6.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "send-wrapper" version))
+ (uri (crate-uri "send_wrapper" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -68467,7 +68552,7 @@ fragment of code.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-buf" version))
+ (uri (crate-uri "serde_buf" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1k2nc3pa7rbzyhhnjakw6nkx2wa6da6nrxf65s6p2d3xdjfvx1is"))))
@@ -68532,7 +68617,7 @@ fragment of code.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-cbor" version))
+ (uri (crate-uri "serde_cbor" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1xf1bq7ixha30914pd5jl3yw9v1x6car7xgrpimvfvs5vszjxvrb"))))
@@ -68704,7 +68789,7 @@ TOML/JSON/MessagePack strings and serializable values.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-derive" version))
+ (uri (crate-uri "serde_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -68732,7 +68817,7 @@ TOML/JSON/MessagePack strings and serializable values.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-derive" version))
+ (uri (crate-uri "serde_derive" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -68807,7 +68892,7 @@ data. This crate provides a wrapper that works with any existing Serde
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-json" version))
+ (uri (crate-uri "serde_json" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0r8cyb8nh3afb15yfscp1h8sdjfv6pnnwg14kcp8igfqwgk0qhkb"))))
@@ -68891,7 +68976,7 @@ programs in rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-path-to-error" version))
+ (uri (crate-uri "serde_path_to_error" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0dc31z4bg0jwn69gcqsczbmcy5y4w6r0vdcc4c38vma9x2ycivjb"))))
@@ -68951,7 +69036,7 @@ commonly used by Ruby on Rails via Rack.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-regex" version))
+ (uri (crate-uri "serde_regex" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1pxsnxb8c198szghk1hvzvhva36w2q5zs70hqkmdf5d89qd6y4x8"))))
@@ -69005,7 +69090,7 @@ of a C-like enum.")
(version "0.6.4")
(source (origin
(method url-fetch)
- (uri (crate-uri "serde-spanned" version))
+ (uri (crate-uri "serde_spanned" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "102ym47sr1y48ml42wjv6aq8y77bij1qckx1j0gb3rbka21jn0hj"))))
@@ -69027,7 +69112,7 @@ serializing Rust structures.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-stacker" version))
+ (uri (crate-uri "serde_stacker" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -69106,7 +69191,7 @@ by dynamically growing the stack.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-test" version))
+ (uri (crate-uri "serde_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -69202,7 +69287,7 @@ for later processing.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-with" version))
+ (uri (crate-uri "serde_with" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "08sw83b6hfwzylr0waf4mc29h6fxnb02g7vkwbkjjyhvrin27kb4"))
@@ -69259,7 +69344,7 @@ Rust's serde.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serde-with-macros" version))
+ (uri (crate-uri "serde_with_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1277nm0ry2bs52zd5kkddgkzk5s2mhi80x74dnqj68ssyyslwqwk"))))
@@ -69378,7 +69463,7 @@ Rust's serde.")
(version "0.9.21")
(source (origin
(method url-fetch)
- (uri (crate-uri "serde-yaml" version))
+ (uri (crate-uri "serde_yaml" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -69493,7 +69578,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test" version))
+ (uri (crate-uri "serial_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0b9v0csv9wxl1gcjq99plwimxbmhgr6kzbwqyb457qh3d22xsmhf"))))
@@ -69525,7 +69610,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test" version))
+ (uri (crate-uri "serial_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "04864v5ain4nan2k5l32sr3bxpg0sfxxs2iki3xxcq78g9s3132k"))))
@@ -69551,7 +69636,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test" version))
+ (uri (crate-uri "serial_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1x69v41r2d3l1dby8ppr9vxb1xamjpml5w42zvdwwix1k6wvz7fi"))))
@@ -69572,7 +69657,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test" version))
+ (uri (crate-uri "serial_test" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -69593,7 +69678,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test" version))
+ (uri (crate-uri "serial_test" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -69612,7 +69697,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test" version))
+ (uri (crate-uri "serial_test" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -69629,7 +69714,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test-derive" version))
+ (uri (crate-uri "serial_test_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "13zvd5ds76hhjn3z0axc05n15lzpxpz77jcykic8q5knhlbjklci"))))
@@ -69655,7 +69740,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test-derive" version))
+ (uri (crate-uri "serial_test_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0scscldvlz3an9v0spcizaqp5wa2y4w15bk4ink8jpgq2pgq76h7"))))
@@ -69675,7 +69760,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test-derive" version))
+ (uri (crate-uri "serial_test_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1wjrhql36lsgjw9zg5c95px0mq74ry5m46hwiwgnh7dyn98217nb"))))
@@ -69739,7 +69824,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "serial-test-derive" version))
+ (uri (crate-uri "serial_test_derive" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -69757,7 +69842,7 @@ for data that potentially contains secrets (e.g. cryptographic keys).")
(source
(origin
(method url-fetch)
- (uri (crate-uri "servo-arc" version))
+ (uri (crate-uri "servo_arc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0hgp453zvrj7ry501jhxlcph0hc42gc26zyfwn8ys3yziwps8anm"))))
@@ -69782,7 +69867,7 @@ functionality and without weak references.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "servo-arc" version))
+ (uri (crate-uri "servo_arc" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -70405,7 +70490,7 @@ shared secret key.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "shared-child" version))
+ (uri (crate-uri "shared_child" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -70431,7 +70516,7 @@ shared secret key.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "shared-child" version))
+ (uri (crate-uri "shared_child" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1k0ldvk9p1l0b38bwd3a29ylmwbj60c37hnqzh0hljmyin93i6q9"))))
@@ -70733,7 +70818,7 @@ for generating and verifying digital signatures.")
(version "2.0.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "signature-derive" version))
+ (uri (crate-uri "signature_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -70762,7 +70847,7 @@ for additional details.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "signature-derive" version))
+ (uri (crate-uri "signature_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0p1x0wv6grrgdn226m9rsqpcnpfwkpji7rjpalkbk1ynv0xpvf57"))))
@@ -71156,7 +71241,7 @@ small to medium sized project")
(version "2.3.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "simple-logger" version))
+ (uri (crate-uri "simple_logger" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -71184,7 +71269,7 @@ a readable output format.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "simple-logger" version))
+ (uri (crate-uri "simple_logger" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "01wz5xjpski45xq8v1bg8g05flj5h1sl63aabl2c6kj0hz337pmp"))))
@@ -72162,7 +72247,7 @@ monotone matrix.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "smol-str" version))
+ (uri (crate-uri "smol_str" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -72751,7 +72836,7 @@ initializers are available.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "spin-on" version))
+ (uri (crate-uri "spin_on" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "18idc7jfa4m2cap721nh5lva19z3ykjyz1w2hfm6960vshz10vh7"))))
@@ -73321,7 +73406,7 @@ management.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "static-assertions" version))
+ (uri (crate-uri "static_assertions" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -73494,7 +73579,7 @@ Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "stats-alloc" version))
+ (uri (crate-uri "stats_alloc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1l3rs4m0q8y78dr9r4wxwhncqakkqzic4bqc6sgrcwv2y9mwjq52"))))
@@ -74028,7 +74113,7 @@ configurable byte storage.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "string-cache" version))
+ (uri (crate-uri "string_cache" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0fr90a54ibsrnfjq5la77yjd641g6vqv8f1v3pmpbxa2cbkkh4gr"))))
@@ -74082,7 +74167,7 @@ developed as part of the Servo project.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "string-cache-codegen" version))
+ (uri (crate-uri "string_cache_codegen" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -74110,7 +74195,7 @@ developed as part of the Servo project.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "string-cache-codegen" version))
+ (uri (crate-uri "string_cache_codegen" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -74131,7 +74216,7 @@ developed as part of the Servo project.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "string-cache-shared" version))
+ (uri (crate-uri "string_cache_shared" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -75082,7 +75167,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-buffer" version))
+ (uri (crate-uri "sval_buffer" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0yglk3ma67605f28mwip09maf531mm1fak2pdr2a1klapib0bs2p"))))
@@ -75106,7 +75191,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-derive" version))
+ (uri (crate-uri "sval_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0zba5y4gjiqzlyn6d6nzfh743qw97yjq2ll8130giddqwg5lnccf"))))
@@ -75146,7 +75231,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-derive-macros" version))
+ (uri (crate-uri "sval_derive_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "11vmfpr028n4z9x0nlaqa1v7p4fij6fz7wxbr3mmizp9v6267nry"))))
@@ -75168,7 +75253,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-dynamic" version))
+ (uri (crate-uri "sval_dynamic" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1f2p3xvq5qyg0w721as7dxrgqgrfqsc0m7qp2r1pn7fvkqjx54wx"))))
@@ -75187,7 +75272,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-flatten" version))
+ (uri (crate-uri "sval_flatten" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "121ac1pn2b113rgkf98n65kpwn2j80rikjzdwn5yaknxp9yqqcr3"))))
@@ -75211,7 +75296,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-fmt" version))
+ (uri (crate-uri "sval_fmt" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0hqkjb7blcdqjlawnffmw0bq5gxf98i52lbgcnjabxr64a47ybsk"))))
@@ -75233,7 +75318,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-json" version))
+ (uri (crate-uri "sval_json" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0wp0yyaldqr6kgqsblav86j8fxjp2jbmrsbsiw0yxrhambc3pq3n"))))
@@ -75255,7 +75340,7 @@ values without proliferating generics.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-ref" version))
+ (uri (crate-uri "sval_ref" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1qd9w4iqp8z7v0mf7icz1409g48jnibyrh9nbnms1hmq5x7hbvbm"))))
@@ -75277,7 +75362,7 @@ references")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-serde" version))
+ (uri (crate-uri "sval_serde" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "11h543cmg0qmprc7jn94crfxwv344wa04qf18hw7xdh5zz293wbz"))))
@@ -75300,7 +75385,7 @@ references")
(source
(origin
(method url-fetch)
- (uri (crate-uri "sval-test" version))
+ (uri (crate-uri "sval_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0bgbcdl7vniil0xiyvxscmzcwymhz2w2iywqgxjmc5c0krzg0hd4"))))
@@ -77968,7 +78053,7 @@ writing colored text to a terminal.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "terminal-size" version))
+ (uri (crate-uri "terminal_size" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1xqdzdjq77smg41z67vg3qwrcilf1zf5330gdrgm22lyghmvzgi1"))))
@@ -77990,7 +78075,7 @@ writing colored text to a terminal.")
(version "0.2.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "terminal-size" version))
+ (uri (crate-uri "terminal_size" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -78008,7 +78093,7 @@ writing colored text to a terminal.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "terminal-size" version))
+ (uri (crate-uri "terminal_size" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1pq60ng1a7fjp597ifk1cqlz8fv9raz9xihddld1m1pfdia1lg33"))))
@@ -78524,7 +78609,7 @@ unstable language features.")
(version "0.1.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "testing-logger" version))
+ (uri (crate-uri "testing_logger" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -79408,7 +79493,7 @@ manipulation in Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "tiny-http" version))
+ (uri (crate-uri "tiny_http" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "10nw9kk2i2aq4l4csy0825qkq0l66f9mz2c1n57yg8hkckgib69q"))))
@@ -79670,7 +79755,7 @@ Fireball''.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "to-shmem" version))
+ (uri (crate-uri "to_shmem" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "12k69c7zknzmza1mkqpmd86cialbsvazz7zr4hscm0dnfzy2bvmi"))))
@@ -79689,7 +79774,7 @@ Fireball''.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "to-shmem-derive" version))
+ (uri (crate-uri "to_shmem_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0z4zc81p0i5fpkil2v2jq54nmilasvr0v25q7jbv6w0nrpl5qw2b"))))
@@ -81738,7 +81823,7 @@ serializing Rust structures.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "toml-edit" version))
+ (uri (crate-uri "toml_edit" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "119aw7xa5dykicrd9l1ngxpzgb3jajbyh1alhpkw2qgpvp1gcavq"))))
@@ -82710,6 +82795,31 @@ traversing a filetype tree.")
"This package provides a library for visualizing tree structured data.")
(license license:expat)))
+(define-public rust-triomphe-0.1
+ (package
+ (name "rust-triomphe")
+ (version "0.1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "triomphe" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1crf71hndy3fc68x8v4aikkdjynp4n5sdhq28sck8x7frx8bd7l5"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)
+ ("rust-unsize" ,rust-unsize-1))))
+ (home-page "https://github.com/Manishearth/triomphe")
+ (synopsis
+ "Fork of std::sync::Arc with some extra functionality")
+ (description
+ "This package provides a fork of @code{std::sync::Arc} with some extra
+functionality and without weak references (originally servo_arc).")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-triple-accel-0.4
(package
(name "rust-triple-accel")
@@ -83840,7 +83950,7 @@ and run them to verify the results, taking inspiration from @code{trybuild} and
(source
(origin
(method url-fetch)
- (uri (crate-uri "tstr-proc-macros" version))
+ (uri (crate-uri "tstr_proc_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0yklq0k0s3c4y0k5f0qm13lw7nvz5z97x3yhmyw1if0cdc3250g7"))))
@@ -84390,7 +84500,7 @@ with the Unicode character database.")
(version "1.0.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "uds-windows" version))
+ (uri (crate-uri "uds_windows" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -84413,7 +84523,7 @@ with the Unicode character database.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "uds-windows" version))
+ (uri (crate-uri "uds_windows" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0mdv9xyrf8z8zr2py5drbilkncgrkg61axq6h7hcvgggklv9f14z"))))
@@ -84499,7 +84609,7 @@ panic-free alternative to @code{core::fmt}.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "ui-test" version))
+ (uri (crate-uri "ui_test" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1jzlccdw15psgjx4albqnrznl9ypgvfwcjr2x99lvdxrqsm4nnrb"))))
@@ -84990,7 +85100,7 @@ Unicode and Internationalization Crates (UNIC) project.")
(version "0.1.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "unicode-categories" version))
+ (uri (crate-uri "unicode_categories" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -85437,6 +85547,26 @@ with changes and updated applied to it.")
"This crate enables unchecked unwrapping on Option and Result types.")
(license (list license:expat license:asl2.0))))
+(define-public rust-unsize-1
+ (package
+ (name "rust-unsize")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "unsize" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0fd9lzdhkahygxy9b348m0fs4wlldh5ymp1dcr56d9f16jksg9sg"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))))
+ (home-page "https://github.com/HeroicKatora/static-alloc")
+ (synopsis "Stable alternative to CoerceUnsize")
+ (description
+ "This package provides a stable alternative to @code{CoerceUnsize}.")
+ (license (list license:expat license:asl2.0 license:zlib))))
+
(define-public rust-untrusted-0.7
(package
(name "rust-untrusted")
@@ -86031,7 +86161,7 @@ a part of rav1e.")
(version "0.15.8")
(source (origin
(method url-fetch)
- (uri (crate-uri "v-htmlescape" version))
+ (uri (crate-uri "v_htmlescape" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -88622,7 +88752,7 @@ if they were just another Rust module.")
(version "0.48.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-aarch64-gnullvm" version))
+ (uri (crate-uri "windows_aarch64_gnullvm" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -88645,7 +88775,7 @@ if they were just another Rust module.")
(version "0.42.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-aarch64-gnullvm" version))
+ (uri (crate-uri "windows_aarch64_gnullvm" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -88661,7 +88791,7 @@ if they were just another Rust module.")
(version "0.48.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-aarch64-msvc" version))
+ (uri (crate-uri "windows_aarch64_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -88684,7 +88814,7 @@ crate.")
(version "0.42.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-aarch64-msvc" version))
+ (uri (crate-uri "windows_aarch64_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -88764,7 +88894,7 @@ crate.")
(version "0.48.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-i686-gnu" version))
+ (uri (crate-uri "windows_i686_gnu" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -88845,7 +88975,7 @@ crate.")
(version "0.48.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-i686-msvc" version))
+ (uri (crate-uri "windows_i686_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -89298,7 +89428,7 @@ windows crate.")
(version "0.48.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-x86_64-gnu" version))
+ (uri (crate-uri "windows_x86_64_gnu" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -89379,7 +89509,7 @@ windows crate.")
(version "0.48.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-x86_64-gnullvm" version))
+ (uri (crate-uri "windows_x86_64_gnullvm" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -89401,7 +89531,7 @@ windows crate.")
(version "0.42.2")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-x86-64-gnullvm" version))
+ (uri (crate-uri "windows_x86_64_gnullvm" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -89416,7 +89546,7 @@ windows crate.")
(version "0.48.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows-x86_64-msvc" version))
+ (uri (crate-uri "windows_x86_64_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -90920,7 +91050,7 @@ for locating fonts.")
(version "3.7.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "zbus-macros" version))
+ (uri (crate-uri "zbus_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -90954,7 +91084,7 @@ for locating fonts.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "zbus-macros" version))
+ (uri (crate-uri "zbus_macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "19p0pdwdf52zkaknav0pj5qvgcf52xk8a4p3a4ymxybwhjkmjfgs"))))
@@ -90978,7 +91108,7 @@ for locating fonts.")
(version "2.6.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "zbus-names" version))
+ (uri (crate-uri "zbus_names" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -91001,7 +91131,7 @@ for locating fonts.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "zbus-polkit" version))
+ (uri (crate-uri "zbus_polkit" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1yzbs8sga4s3h97vb6n5nvdvlnmhws2vj46bn44hbncfm25f51mc"))))
@@ -91152,7 +91282,7 @@ implementation that works everywhere, even WASM!")
(source
(origin
(method url-fetch)
- (uri (crate-uri "zeroize-derive" version))
+ (uri (crate-uri "zeroize_derive" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@@ -91508,7 +91638,7 @@ in Pure Rust.")
(version "3.15.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "zvariant-derive" version))
+ (uri (crate-uri "zvariant_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
@@ -91540,7 +91670,7 @@ in Pure Rust.")
(source
(origin
(method url-fetch)
- (uri (crate-uri "zvariant-derive" version))
+ (uri (crate-uri "zvariant_derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1s9xk9c4p9vl0j2vr1abqc12mgv500sjc3fnh8ij3d1yb4i5xjp4"))))
@@ -91563,7 +91693,7 @@ in Pure Rust.")
(version "1.0.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "zvariant-utils" version))
+ (uri (crate-uri "zvariant_utils" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm
index d8a6437259..3bdc68ae5a 100644
--- a/gnu/packages/cryptsetup.scm
+++ b/gnu/packages/cryptsetup.scm
@@ -53,7 +53,11 @@
;; The default is OpenSSL which provides better PBKDF performance.
"--with-crypto_backend=gcrypt"
;; GRUB 2.06 supports LUKS2, but does it reliably support all set-ups…?
- "--with-default-luks-format=LUKS1")))
+ "--with-default-luks-format=LUKS1"
+ ;; libgcrypt is not found otherwise when cross-compiling.
+ ;; <https://issues.guix.gnu.org/63864>
+ (string-append "--with-libgcrypt-prefix="
+ (assoc-ref %build-inputs "libgcrypt")))))
(native-inputs
(list pkg-config))
(inputs
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index febc041e53..5a528c7a28 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -627,7 +627,7 @@ error reporting, better tracing, profiling, and a debugger.")
(define-public rr
(package
(name "rr")
- (version "5.6.0")
+ (version "5.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -635,7 +635,7 @@ error reporting, better tracing, profiling, and a debugger.")
(commit version)))
(sha256
(base32
- "0sdpsd7bcbmx9gmp7lv71znzxz708wm8qxq5apbyc6hh80z4fzqz"))
+ "0y50gynh3bb28vsxspn0g71b0m1mmqdgs63pbq08sv7vps35nllz"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index 935563c94c..7120c2ad75 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -486,59 +486,46 @@ GTK+, lets you select a desktop session and log in to it.")
(define-public slim
(package
(name "slim")
- (version "1.3.6")
- (source (origin
- (method url-fetch)
- ;; Used to be available from download.berlios.de.
- (uri (string-append
- "mirror://sourceforge/slim.berlios/slim-"
- version ".tar.gz"))
- (sha256
- (base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
- (patches (search-patches "slim-config.patch"
- "slim-reset.patch"
- "slim-login.patch"
- "slim-session.patch"
- "slim-sigusr1.patch"
- "slim-display.patch"))))
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/slim-fork/slim-" version
+ ".tar.gz"))
+ (sha256
+ (base32 "011jfmksy0kgw4z0y70mc80bm5kmz5i1sgm6krrfj0h00zak22rm"))
+ (patches (search-patches "slim-config.patch"
+ "slim-login.patch"
+ "slim-display.patch"))))
(build-system cmake-build-system)
- (inputs `(("linux-pam" ,linux-pam)
- ("libpng" ,libpng)
- ("libjpeg" ,libjpeg-turbo)
- ("freeglut" ,freeglut)
- ("libxrandr" ,libxrandr)
- ("libxrender" ,libxrender)
- ("freetype" ,freetype)
- ("fontconfig" ,fontconfig)
- ("libx11" ,libx11)
- ("libxft" ,libxft)
- ("libxmu" ,libxmu)
- ("xauth" ,xauth)))
- (native-inputs
- (list pkg-config))
+ (inputs (list fontconfig
+ freeglut
+ freetype
+ libjpeg-turbo
+ libpng
+ libx11
+ libxft
+ libxmu
+ libxrandr
+ libxrender
+ linux-pam
+ xauth))
+ (native-inputs (list pkg-config))
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-new-etc-location
- (lambda _
- (substitute* "CMakeLists.txt"
- (("/etc")
- (string-append (assoc-ref %outputs "out") "/etc"))
- (("install.*systemd.*")
- ;; The build system's logic here is: if "Linux", then
- ;; "systemd". Strip that.
- ""))
- #t))
- (add-before 'configure 'fix-0-pointer-comparison
- (lambda _
- (substitute* "panel.cpp"
- (("WinGC < 0") "WinGC == NULL")))))
- #:configure-flags '("-DUSE_PAM=yes"
- "-DUSE_CONSOLEKIT=no")
- #:tests? #f))
-
- ;; This used to be at <http://slim.berlios.de/>.
- (home-page "https://github.com/iwamatsu/slim")
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'set-new-etc-location
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("/etc")
+ (string-append #$output "/etc"))))))
+ #:configure-flags
+ #~(list "-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no")
+ #:tests? #f))
+ ;; The original project (https://github.com/iwamatsu/slim) has not been
+ ;; maintained since 2013, so we use slim-fork instead.
+ (home-page "https://slim-fork.sourceforge.io/")
(synopsis "Desktop-independent graphical login manager for X11")
(description
"SLiM is a Desktop-independent graphical login manager for X11, derived
diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm
deleted file mode 100644
index 31c41fa5ef..0000000000
--- a/gnu/packages/ed.scm
+++ /dev/null
@@ -1,58 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2019, 2022 Efraim Flashner <efraim@flashner.co.il>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages ed)
- #:use-module (guix licenses)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix utils)
- #:use-module (guix build-system gnu)
- #:use-module (gnu packages compression))
-
-(define-public ed
- (package
- (name "ed")
- (version "1.18")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/ed/ed-"
- version ".tar.lz"))
- (sha256
- (base32
- "0krb8rsb0cd8mgz0c5pqgnjbbrj7zjl7mf9099r8gi80k2nyza5c"))))
- (build-system gnu-build-system)
- (native-inputs (list lzip))
- (arguments
- `(#:configure-flags (list ,(string-append "CC=" (cc-for-target)))
- #:phases
- (modify-phases %standard-phases
- (add-before 'patch-source-shebangs 'patch-test-suite
- (lambda _
- (substitute* "testsuite/check.sh"
- (("/bin/sh") (which "sh"))))))))
- (home-page "https://www.gnu.org/software/ed/")
- (synopsis "Line-oriented text editor")
- (description
- "Ed is a line-oriented text editor: rather than offering an overview of
-a document, ed performs editing one line at a time. It can be executed both
-interactively and via shell scripts. Its method of command input allows
-complex tasks to be performed in an automated way. GNU ed offers several
-extensions over the standard utility.")
- (license gpl3+)))
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 7d0e58aeae..83a92abc4e 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -310,7 +310,7 @@ supported devices, as well as input/output file format support.")
(native-inputs
(list pkg-config
python
- glad
+ glad-0.1
stb-image
utf8-h))
(inputs
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 77d49627fc..6bec2bca46 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -10647,7 +10647,7 @@ sgml/html integration, and indentation (working with sgml).")
(define-public emacs-jinx
(package
(name "emacs-jinx")
- (version "0.9")
+ (version "1.0")
(source
(origin
(method git-fetch)
@@ -10657,8 +10657,7 @@ sgml/html integration, and indentation (working with sgml).")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0xayrqnsws2n2p0qbdl291fva4ljp3kqrr591xbq1wr6n95hfyn5"))))
+ (base32 "00rlp7iby02zd3sqigpyskph4a26r0dgp53y17hm4xjr6zqifhz5"))))
(build-system emacs-build-system)
(arguments
(list
@@ -17616,7 +17615,7 @@ been adapted to also work with mu4e.")
(define-public emacs-tempel
(package
(name "emacs-tempel")
- (version "0.8")
+ (version "1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -17625,7 +17624,7 @@ been adapted to also work with mu4e.")
(file-name (git-file-name name version))
(sha256
(base32
- "10dcf56x74jrbdzaa9kphyzq2rz5alv800dnnzpbnvwzh29lfyka"))))
+ "0f1z5p6vbbjsh7cn7hqhv4c6h4awczpf14sbwpzsnwqsxsfjdh34"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
@@ -17637,8 +17636,8 @@ the Emacs Tempo library. You may also write your templates in Lisp.")
(license license:gpl3+)))
(define-public emacs-tempel-collection
- (let ((commit "cd9529b2a2fdfd49010117d2a1fc49adf9725051")
- (revision "0"))
+ (let ((commit "4a1d717eb30a78680c8f4df2d71e395c846c5371")
+ (revision "1"))
(package
(name "emacs-tempel-collection")
(version (git-version "0.1" revision commit))
@@ -17650,7 +17649,7 @@ the Emacs Tempo library. You may also write your templates in Lisp.")
(file-name (git-file-name name version))
(sha256
(base32
- "02x6jq5k7fa46ni64qf8wrmkay6zfbmkildb727zs6wchmyg2znn"))))
+ "0ifmzn5d9mpsjwvg2ir0sy3r4czxa7d6j97l8rrp8ai7jqvydadm"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-tempel))
(home-page "https://github.com/Crandel/tempel-collection")
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index 8c5e61dfd2..ce99b33441 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -189,7 +190,7 @@ rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
Polygon meshes, and Extruded polygon meshes.")
(license license:x11)))
-(define-public glad
+(define-public glad-0.1
(package
(name "glad")
(version "0.1.36")
@@ -208,19 +209,45 @@ Polygon meshes, and Extruded polygon meshes.")
"0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n"))))
(build-system python-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-cmakelists.txt
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (share (string-append out "/share/" ,name)))
- (install-file "CMakeLists.txt" share)))))))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-cmakelists.txt
+ (lambda _
+ (let ((share (string-append #$output "/share/"
+ #$(package-name this-package))))
+ (install-file "CMakeLists.txt" share)))))))
(home-page "https://github.com/Dav1dde/glad")
(synopsis "Multi-language GL/GLES/EGL/GLX/WGL loader generator")
(description "Glad uses the official Khronos XML specifications to
generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(license license:expat)))
+(define-public glad
+ (package
+ (inherit glad-0.1)
+ (name "glad")
+ (version "2.0.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Dav1dde/glad")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pam6imhcmcyqrqi6wzzxprb23y8x6zdbvsjavnz26k72i9dbbja"))))
+ (build-system python-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments glad-0.1)
+ ((#:phases phases '%standard-phases)
+ #~(modify-phases #$phases
+ (replace 'install-cmakelists.txt
+ (lambda _
+ (let ((share (string-append #$output "/share/"
+ #$(package-name this-package))))
+ (install-file "cmake/CMakeLists.txt" share))))))))
+ (propagated-inputs (list python-jinja2))))
+
(define-public s2tc
(package
(name "s2tc")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b0417b2df9..b2d4b73088 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7562,7 +7562,7 @@ metadata in photo and video files of various formats.")
libwebp
libxml2
sqlite
- webkitgtk))
+ webkitgtk-for-gtk3))
(home-page "https://wiki.gnome.org/Apps/Shotwell")
(synopsis "Photo manager for GNOME 3")
(description
@@ -11812,38 +11812,36 @@ functionality.")
"09flm8s6jrvfya2ypw5873mnnani8ssy7wdv3ra1cljk4bjszy4p"))))
(build-system meson-build-system)
(arguments
- `(#:glib-or-gtk? #t
- #:configure-flags
- ;; Ensure the RUNPATH contains all installed library locations.
- (list (string-append "-Dc_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gthumb/extensions")
- (string-append "-Dcpp_link_args=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib/gthumb/extensions"))))
- (native-inputs
- `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database
- ("glib:bin" ,glib "bin") ; for glib-compile-resources
- ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache
- ("intltool" ,intltool)
- ("itstool" ,itstool)
- ("pkg-config" ,pkg-config)
- ("python" ,python)))
+ (list
+ #:glib-or-gtk? #t
+ #:configure-flags
+ ;; Ensure the RUNPATH contains all installed library locations.
+ #~(list (string-append "-Dc_link_args=-Wl,-rpath=" #$output
+ "/lib/gthumb/extensions")
+ (string-append "-Dcpp_link_args=-Wl,-rpath=" #$output
+ "/lib/gthumb/extensions"))))
+ (native-inputs
+ (list desktop-file-utils ; for update-desktop-database
+ `(,glib "bin") ; for glib-compile-resources
+ `(,gtk+ "bin") ; for gtk-update-icon-cache
+ intltool
+ itstool
+ pkg-config
+ python))
(inputs
- `(("clutter" ,clutter)
- ("clutter-gst" ,clutter-gst)
- ("clutter-gtk" ,clutter-gtk)
- ("colord" ,colord)
- ("exiv2" ,exiv2)
- ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
- ("gstreamer" ,gstreamer)
- ("gtk" ,gtk+)
- ("libheif" ,libheif)
- ("libjpeg" ,libjpeg-turbo)
- ("libraw" ,libraw)
- ("librsvg" ,(librsvg-for-system))
- ("libtiff" ,libtiff)
- ("libwebp" ,libwebp)))
+ (list clutter
+ clutter-gst
+ clutter-gtk
+ colord
+ exiv2
+ gsettings-desktop-schemas
+ gtk+
+ libheif
+ libjpeg-turbo
+ libraw
+ (librsvg-for-system)
+ libtiff
+ libwebp))
(home-page "https://wiki.gnome.org/Apps/Gthumb")
(synopsis "GNOME image viewer and browser")
(description "GThumb is an image viewer, browser, organizer, editor and
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 2b6a5ec796..73e9c3a78a 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -70,7 +70,6 @@
#:use-module (gnu packages swig)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
- #:use-module (gnu packages tor)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
@@ -1123,7 +1122,7 @@ files, to verify signatures, and to manage the private and public keys.")
perl-try-tiny
perl-type-tiny
perl-types-path-tiny
- torsocks))
+ (@ (gnu packages tor) torsocks))) ;avoid dependency loop
(native-inputs
(list perl-file-which
perl-gnupg-interface
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 8a8e1eacb7..ebabd1c973 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -617,7 +617,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
(define-public jpegoptim
(package
(name "jpegoptim")
- (version "1.4.7")
+ (version "1.5.5")
(source
(origin
(method git-fetch)
@@ -626,35 +626,17 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "06f6d08xvmsiki4mc1qs985gsjqmsxx793a93b72y25q84wbg9x9"))))
+ (base32 "18zq7ada7n17vgkkcixpisxsbs7i8xp5qjp78hyyvmmb9dqy97fy"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no tests
- ,@(if (and (target-riscv64?)
- (%current-target-system))
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'update-config-scripts
- (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)) "./tools"))
- '("config.guess" "config.sub"))))))
- '())))
+ (list #:tests? #f))
(inputs (list libjpeg-turbo))
- (native-inputs
- (if (and (target-riscv64?)
- (%current-target-system))
- (list config)
- '()))
(synopsis "Optimize JPEG images")
(description
"jpegoptim provides lossless optimization (based on optimizing
the Huffman tables) and \"lossy\" optimization based on setting
maximum quality factor.")
- (license license:gpl2+)
+ (license license:gpl3+)
(home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim")))
(define-public libicns
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3ca756dead..e7a317db33 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -494,7 +494,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-6.6-version "6.6.7")
+(define-public linux-libre-6.6-version "6.6.8")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@@ -504,7 +504,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
- (hash (base32 "0hfqdyxl4nqmm4pspfm1ang8616dbsaj0d968c0186ch0738xrhc")))
+ (hash (base32 "05i4ayj9wyjkd1s8ixx7bxwcyagqyx8rhj1zvbc3cjqyw4sc8djh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
@@ -512,7 +512,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-6.1-version "6.1.68")
+(define-public linux-libre-6.1-version "6.1.69")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@@ -522,12 +522,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
- (hash (base32 "1qc4cwqlfni9i6mzh6arghdsd842hp9lb7s832dxw1p261mg4prn")))
+ (hash (base32 "0hdm28k49kmy9r96hckps0bvvaq9m06l72n8ih305rccs6a2cgby")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
-(define-public linux-libre-5.15-version "5.15.143")
+(define-public linux-libre-5.15-version "5.15.144")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@@ -537,12 +537,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
- (hash (base32 "00lyv7zsj97mkg9i7dkb1a6km22mnr0qr687d9zz4ckjq1pb2sq9")))
+ (hash (base32 "0fsv18q64q17ad7mq818wfhb11dax4bdvbvqyk5ilxyfmypsylzh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
-(define-public linux-libre-5.10-version "5.10.204")
+(define-public linux-libre-5.10-version "5.10.205")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@@ -552,12 +552,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "1vnamiyr378q52xgkg7kvpx80zck729dim77vp06a3q6n580g5gz")))
+ (hash (base32 "0qw8g0h4k0b4dyvspbj51cwr68ihwjzsi2b2261ipy3l1nl1fln5")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.264")
+(define-public linux-libre-5.4-version "5.4.265")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -567,12 +567,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1c5n47dq9khb15hz24a000k3hj913vv1dda6famnm8wpjbfr176k")))
+ (hash (base32 "05cvvwjiznn7hfd02qklklalg0chahvh5v18w64lcva6kzj9kbjd")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.302")
+(define-public linux-libre-4.19-version "4.19.303")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@@ -582,12 +582,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1kkkpm34p5rq0iijzrzwaq0cb62w543argargw5p1wzg8803rlsk")))
+ (hash (base32 "0dlbl47xs7z4yf9cxbxqzd7zs1f9070jr6ck231wgppa6lwwwb82")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.333")
+(define-public linux-libre-4.14-version "4.14.334")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@@ -597,7 +597,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "0j5nrankrhi56qzmyjg1pznqx1zgk5f7cfa154smjbn3zlm7lcv6")))
+ (hash (base32 "0iaaqdkszmfarvjfszc9rf7y9zsv3w82934xmvmzmsbiz86547ca")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
@@ -9451,6 +9451,19 @@ providing convenience for writing the daemon's modules as well as external
tools for managing PipeWire.")
(license license:expat)))
+(define-public wireplumber-minimal
+ (let ((base wireplumber))
+ (package
+ (inherit base)
+ (name "wireplumber-minimal")
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:configure-flags flags ''())
+ #~(cons "-Delogind=disabled" #$flags))))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (delete "elogind"))))))
+
(define-public ell
(package
(name "ell")
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 0f1520a2a5..afd50bf46a 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -67,7 +67,6 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages dbm)
- #:use-module (gnu packages ed)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@@ -95,6 +94,7 @@
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index c100e0be6e..53a955bb90 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -3109,7 +3109,7 @@ advanced research.")
(define-public tensorflow-lite
(package
(name "tensorflow-lite")
- (version "2.13.0")
+ (version "2.13.1")
(source
(origin
(method git-fetch)
@@ -3119,7 +3119,7 @@ advanced research.")
(file-name (git-file-name name version))
(sha256
(base32
- "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
+ "09mfskmpvpbq919wibnw3bnhi1y3hkx3qrzm72gdr0gsivn1yb3w"))
(patches (search-patches "tensorflow-lite-unbundle.patch"))))
(build-system cmake-build-system)
(arguments
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 0f4d29b40f..adc7beb655 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4474,7 +4474,7 @@ implemented in ANSI C, and MPI for communications.")
(define-public scotch
(package
(name "scotch")
- (version "7.0.1")
+ (version "7.0.4")
(source
(origin
(method git-fetch)
@@ -4483,7 +4483,7 @@ implemented in ANSI C, and MPI for communications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1fvgxd3ipl5xswswyadvxvlcgv6an8c229ispnlksgnlwphg10ig"))))
+ (base32 "0rbc51albpd2923dkirpkj8rfkic6rsvwqqnv1mmsk391zhk3amr"))))
(build-system cmake-build-system)
(inputs
(list zlib))
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
deleted file mode 100644
index 0fd08f8031..0000000000
--- a/gnu/packages/nano.scm
+++ /dev/null
@@ -1,51 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2015-2022 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
-;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (gnu packages nano)
- #:use-module (guix licenses)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages ncurses)
- #:use-module (guix packages)
- #:use-module (guix download)
- #:use-module (guix build-system gnu))
-
-(define-public nano
- (package
- (name "nano")
- (version "7.2")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
- (sha256
- (base32 "09j5gb44yiv18fvn0iy17jnl9d5lh3gkry4kqv776a5xd0kl9ww6"))))
- (build-system gnu-build-system)
- (inputs
- (list gettext-minimal ncurses))
- (home-page "https://www.nano-editor.org/")
- (synopsis "Small, user-friendly console text editor")
- (description
- "GNU nano is a small and simple text editor for use in a terminal. Besides
-basic editing, it supports: undo/redo, syntax highlighting, spell checking,
-justifying, auto-indentation, bracket matching, interactive search-and-replace
-(with regular expressions), and the editing of multiple files.")
- (license gpl3+))) ; some files are under GPLv2+
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 2d2bce96c2..dad217beb0 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3640,13 +3640,10 @@ and check if the WLAN key or the master key was transmitted unencrypted.")
(uri (string-append "https://www.inet.no/dante/files/dante-"
version ".tar.gz"))
(sha256
- (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))))
+ (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))
+ (patches (search-patches "dante-non-darwin.patch"))))
(build-system gnu-build-system)
- (arguments
- ;; XXX: The dynamic socks library doesn't work with 'libc.so' (GNU ld
- ;; script). When preloading is enabled, 'sockd' failed with:
- ;; … Failed to open library "libc.so": …: invalid ELF header
- '(#:configure-flags '("--disable-preload")))
+ (arguments '(#:configure-flags '("--with-libc=libc.so.6")))
(home-page "https://www.inet.no/dante/")
(synopsis "SOCKS server and client")
(description "Dante is a SOCKS client and server implementation. It can
diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm
index 6c16417309..9097d611a6 100644
--- a/gnu/packages/node-xyz.scm
+++ b/gnu/packages/node-xyz.scm
@@ -347,6 +347,35 @@ random number generator.")
Javascript.")
(license license:expat)))
+(define-public node-normalize-path
+ (package
+ (name "node-normalize-path")
+ (version "3.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonschlinkert/normalize-path")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1l079szbgw2b9i5zx6zbwvxiivssa55a4pwfy4m7n6rdkcmsxf7f"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'patch-dependencies 'delete-dependencies
+ (lambda _
+ (delete-dependencies '("gulp-format-md" "mocha")))))))
+ (native-inputs (list node-minimist))
+ (home-page "https://github.com/jonschlinkert/normalize-path")
+ (synopsis "Normalize slashes in a file path")
+ (description
+ "Normalize slashes in a file path to be POSIX/Unix-like forward slashes.
+Can also condense repeated slashes to a single slash and remove trailing
+slashes, unless disabled.")
+ (license license:expat)))
+
(define-public node-oop
;; No releases, last commit was February 2013.
(let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
@@ -467,6 +496,48 @@ written in Javascript.")
resolve all imports.")
(license license:expat)))
+(define-public node-safe-stable-stringify
+ (package
+ (name "node-safe-stable-stringify")
+ (version "2.4.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BridgeAR/safe-stable-stringify")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "008adig8j13rn2a21ngnp770y4zz6yq176ix5rkskjbb8g2qwapg"))))
+ (build-system node-build-system)
+ (arguments
+ '(#:tests? #f
+ #:phases (modify-phases %standard-phases
+ (add-after 'patch-dependencies 'delete-dependencies
+ (lambda _
+ (delete-dependencies '("benchmark" "clone"
+ "fast-json-stable-stringify"
+ "fast-safe-stringify"
+ "fast-stable-stringify"
+ "faster-stable-stringify"
+ "fastest-stable-stringify"
+ "json-stable-stringify"
+ "json-stringify-deterministic"
+ "json-stringify-safe"
+ "standard"
+ "tap"
+ "typescript"
+ "@types/node"
+ "@types/json-stable-stringify")))))))
+ (home-page "https://github.com/BridgeAR/safe-stable-stringify")
+ (synopsis "Serialization of javascript objects")
+ (description
+ "Safe, deterministic and fast serialization alternative to JSON.stringify.
+Gracefully handles circular structures and bigint instead of throwing.
+Optional custom circular values, deterministic behavior or strict JSON
+compatibility check.")
+ (license license:expat)))
+
(define-public node-stack-trace
;; There have been improvements since the last release.
(let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm
index 6e30ad486a..a9d4e5ab13 100644
--- a/gnu/packages/node.scm
+++ b/gnu/packages/node.scm
@@ -738,14 +738,14 @@ source files.")
(define-public node-lts
(package
(inherit node)
- (version "18.18.2")
+ (version "18.19.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.gz"))
(sha256
(base32
- "0ci1faxjsbp0lv05kskh5anfljn6zawqcf7dawiby5d5qg7x572h"))
+ "05qc1dgmrms73073n4l36jrcxf6ygqj959d3cngy5qclrg0isk6x"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 30216f518a..97ea41df66 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1510,8 +1510,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
- (let ((commit "78df0b3a9f4f27df8341da36d4dfa8e49dfad900")
- (revision "92"))
+ (let ((commit "e4af682452580298b34681d37818a16771a17c66")
+ (revision "93"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1522,7 +1522,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "06xp38k6yfvsvl20hrqvmarpysd07nkbj53an729lqr50qdd4jcq"))
+ "1i8x9nfpvg832lxwbpjl1kadldpkcnjlxdxl4c5jqx2hz680ylf3"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1570,6 +1570,9 @@ environments.")
,@(or (and=> (assoc-ref inputs "sqitch")
list)
'())))
+ `("GUIX_LOCPATH" ":" prefix
+ (,(string-append (assoc-ref inputs "glibc-utf8-locales")
+ "/lib/locale")))
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(string-join
(map (lambda (input)
@@ -1608,6 +1611,7 @@ environments.")
(list (first (assoc-ref (package-native-inputs guix) "guile"))
sqlite
bash-minimal
+ (libc-utf8-locales-for-target)
sqitch))
(propagated-inputs
(list guile-prometheus
@@ -1647,7 +1651,8 @@ outputs of those builds.")
(first (assoc-ref (package-native-inputs guix) "guile"))))
(inputs
(list (first (assoc-ref (package-native-inputs guix) "guile"))
- bash-minimal))
+ bash-minimal
+ (libc-utf8-locales-for-target)))
(propagated-inputs
(list guile-prometheus
guile-gcrypt
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 4099f23098..bcd323ced8 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -1123,7 +1123,7 @@ It supports both vim-like keybindings and the mouse.")
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
- #:make-flags (list "CC=gcc"
+ #:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out"))
"LIBRARY_REL=lib"
(string-append "ARGON2_VERSION=" ,version)
diff --git a/gnu/packages/patches/dante-non-darwin.patch b/gnu/packages/patches/dante-non-darwin.patch
new file mode 100644
index 0000000000..0ecb705c78
--- /dev/null
+++ b/gnu/packages/patches/dante-non-darwin.patch
@@ -0,0 +1,15 @@
+Disable runtime check for Darwin so we don't have to substitute uname.
+--- a/bin/socksify.in
++++ b/bin/socksify.in
+@@ -65,11 +65,6 @@
+ unset FULLPATH
+ fi
+
+-#use "FLAT_NAMESPACE" on Darwin in attempt to match LD_PRELOAD behavior
+-if test x`uname` = xDarwin; then
+- export DYLD_FORCE_FLAT_NAMESPACE=t
+-fi
+-
+ #dlib/Makefile.am libtool flags should produce a predictable library name
+ #(ending in SOLIB_POSTFIX).
+ LIBRARY="${SOCKS_LIBRARY:-${FULLPATH}libdsocks.@SOLIB_POSTFIX@}"
diff --git a/gnu/packages/patches/slim-config.patch b/gnu/packages/patches/slim-config.patch
index 5e6135d75c..91eeb5f56c 100644
--- a/gnu/packages/patches/slim-config.patch
+++ b/gnu/packages/patches/slim-config.patch
@@ -1,27 +1,36 @@
Allow the configuration file and theme directory to be specified at run time.
+
Patch by Eelco Dolstra, from Nixpkgs.
+---
+ app.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
---- slim-1.3.6/app.cpp 2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200
-@@ -200,7 +200,9 @@
-
- /* Read configuration and theme */
- cfg = new Cfg;
-- cfg->readConf(CFGFILE);
-+ char *cfgfile = getenv("SLIM_CFGFILE");
-+ if (!cfgfile) cfgfile = CFGFILE;
-+ cfg->readConf(cfgfile);
+diff --git a/app.cpp b/app.cpp
+index 237477d..735df9c 100644
+--- a/app.cpp
++++ b/app.cpp
+@@ -285,7 +285,9 @@ void App::Run()
+ if ( cfg == 0 )
+ {
+ cfg = new Cfg;
+- cfg->readConf(CFGFILE);
++ const char* cfgfile = getenv("SLIM_CFGFILE");
++ if (!cfgfile) cfgfile = CFGFILE;
++ cfg->readConf(cfgfile);
+ }
string themebase = "";
string themefile = "";
- string themedir = "";
-@@ -208,7 +210,9 @@
- if (testing) {
- themeName = testtheme;
- } else {
+@@ -297,7 +299,9 @@ void App::Run()
+ }
+ else
+ {
- themebase = string(THEMESDIR) + "/";
-+ char *themesdir = getenv("SLIM_THEMESDIR");
++ const char* themesdir = getenv("SLIM_THEMESDIR");
+ if (!themesdir) themesdir = THEMESDIR;
+ themebase = string(themesdir) + "/";
themeName = cfg->getOption("current_theme");
string::size_type pos;
- if ((pos = themeName.find(",")) != string::npos) {
+ if ((pos = themeName.find(",")) != string::npos)
+--
+2.39.2
+
diff --git a/gnu/packages/patches/slim-display.patch b/gnu/packages/patches/slim-display.patch
index f68604a94b..b59e20c25c 100644
--- a/gnu/packages/patches/slim-display.patch
+++ b/gnu/packages/patches/slim-display.patch
@@ -1,39 +1,52 @@
-Add "display_name" configuration option and use its value instead of
-the hard coded one.
+Add "display_name" configuration option and use its value instead of the hard
+coded one.
Patch by Diego N. Barbato
+---
+ app.cpp | 23 ++++++++++-------------
+ cfg.cpp | 1 +
+ switchuser.cpp | 2 +-
+ 3 files changed, 12 insertions(+), 14 deletions(-)
---- a/app.cpp 1970-01-01 01:00:00.000000000 +0100
-+++ b/app.cpp 2019-04-27 13:48:23.479133531 +0200
-@@ -190,7 +190,13 @@
- }
+diff --git a/app.cpp b/app.cpp
+index b840e60..4f72da0 100644
+--- a/app.cpp
++++ b/app.cpp
+@@ -270,7 +270,16 @@ App::App(int argc, char** argv)
- void App::Run() {
+ void App::Run()
+ {
- DisplayName = DISPLAY;
+ /* Read configuration */
-+ cfg = new Cfg;
-+ char *cfgfile = getenv("SLIM_CFGFILE");
-+ if (!cfgfile) cfgfile = CFGFILE;
-+ cfg->readConf(cfgfile);
++ if ( cfg == 0 )
++ {
++ cfg = new Cfg;
++ const char *cfgfile = getenv("SLIM_CFGFILE");
++ if (!cfgfile) cfgfile = CFGFILE;
++ cfg->readConf(cfgfile);
+
-+ DisplayName = cfg->getOption("display_name").c_str();
++ DisplayName = cfg->getOption("display_name").c_str();
++ }
#ifdef XNEST_DEBUG
char* p = getenv("DISPLAY");
-@@ -200,11 +206,7 @@
+@@ -281,14 +287,7 @@ void App::Run()
}
#endif
- /* Read configuration and theme */
-- cfg = new Cfg;
-- char *cfgfile = getenv("SLIM_CFGFILE");
-- if (!cfgfile) cfgfile = CFGFILE;
-- cfg->readConf(cfgfile);
-+ /* Read theme */
+- if ( cfg == 0 )
+- {
+- cfg = new Cfg;
+- const char* cfgfile = getenv("SLIM_CFGFILE");
+- if (!cfgfile) cfgfile = CFGFILE;
+- cfg->readConf(cfgfile);
+- }
++ /* Read theme */
string themebase = "";
string themefile = "";
string themedir = "";
-@@ -911,9 +913,7 @@
+@@ -1115,9 +1114,7 @@ int App::StartServer()
static const int MAX_XSERVER_ARGS = 256;
static char* server[MAX_XSERVER_ARGS+2] = { NULL };
server[0] = (char *)cfg->getOption("default_xserver").c_str();
@@ -44,7 +57,7 @@ Patch by Diego N. Barbato
char* args = new char[argOption.length()+2]; /* NULL plus vt */
strcpy(args, argOption.c_str());
-@@ -1233,7 +1233,7 @@
+@@ -1424,7 +1421,7 @@ void App::CreateServerAuth()
authfile = cfg->getOption("authfile");
remove(authfile.c_str());
putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
@@ -53,9 +66,11 @@ Patch by Diego N. Barbato
authfile);
}
---- a/cfg.cpp 1970-01-01 01:00:00.000000000 +0100
-+++ b/cfg.cpp 2019-04-27 13:49:40.511773743 +0200
-@@ -31,6 +31,7 @@
+diff --git a/cfg.cpp b/cfg.cpp
+index 37fb10d..a0c9bf1 100644
+--- a/cfg.cpp
++++ b/cfg.cpp
+@@ -40,6 +40,7 @@ Cfg::Cfg()
/* Configuration options */
options.insert(option("default_path","/bin:/usr/bin:/usr/local/bin"));
options.insert(option("default_xserver","/usr/bin/X"));
@@ -63,13 +78,18 @@ Patch by Diego N. Barbato
options.insert(option("xserver_arguments",""));
options.insert(option("numlock",""));
options.insert(option("daemon",""));
---- a/switchuser.cpp 1970-01-01 01:00:00.000000000 +0100
-+++ b/switchuser.cpp 2019-04-27 13:50:19.380096651 +0200
-@@ -54,6 +54,6 @@
+diff --git a/switchuser.cpp b/switchuser.cpp
+index ca936ae..255f5d9 100644
+--- a/switchuser.cpp
++++ b/switchuser.cpp
+@@ -69,6 +69,6 @@ void SwitchUser::SetClientAuth(const char* mcookie)
string home = string(Pw->pw_dir);
string authfile = home + "/.Xauthority";
remove(authfile.c_str());
- Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
-+ Util::add_mcookie(mcookie, displayName.c_str(), cfg->getOption("xauth_path"),
++ Util::add_mcookie(mcookie, cfg->getOption("display_name").c_str(), cfg->getOption("xauth_path"),
authfile);
}
+--
+2.39.2
+
diff --git a/gnu/packages/patches/slim-reset.patch b/gnu/packages/patches/slim-reset.patch
deleted file mode 100644
index eebee6b7b5..0000000000
--- a/gnu/packages/patches/slim-reset.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Do not reset chosen session and maintain the session-choser dialog after a
-failed login attempt.
-
-Patch by E. Bavier
-
---- slim-1.3.6/panel.cpp.orig 1969-12-31 18:00:00.000000000 -0600
-+++ slim-1.3.6/panel.cpp 2016-10-17 17:00:07.259649063 -0500
-@@ -260,13 +260,12 @@
- }
-
- void Panel::ClearPanel() {
-- session_name = "";
-- session_exec = "";
- Reset();
- XClearWindow(Dpy, Root);
- XClearWindow(Dpy, Win);
- Cursor(SHOW);
- ShowText();
-+ ShowSession();
- XFlush(Dpy);
- }
-
-@@ -760,9 +760,7 @@
- pair<string,string> ses = cfg->nextSession();
- session_name = ses.first;
- session_exec = ses.second;
-- if (session_name.size() > 0) {
-- ShowSession();
-- }
-+ ShowSession();
- }
-
- /* Display session type on the screen */
diff --git a/gnu/packages/patches/slim-session.patch b/gnu/packages/patches/slim-session.patch
deleted file mode 100644
index b85d3f7dd0..0000000000
--- a/gnu/packages/patches/slim-session.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Exit after the user's session has finished. This works around slim's broken
-PAM session handling (see
-http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
-
-Patch by Eelco Dolstra, from Nixpkgs.
-
---- slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200
-+++ slim-1.3.6/app.cpp 2013-10-15 13:00:10.141210784 +0200
-@@ -816,7 +822,7 @@
- StopServer();
- RemoveLock();
- while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
-- Run();
-+ exit(OK_EXIT);
- }
-
- void App::KillAllClients(Bool top) {
diff --git a/gnu/packages/patches/slim-sigusr1.patch b/gnu/packages/patches/slim-sigusr1.patch
deleted file mode 100644
index 344b02933e..0000000000
--- a/gnu/packages/patches/slim-sigusr1.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-This patch fixes SLiM so it really waits for the X server to be ready
-before attempting to connect to it. Indeed, the X server notices that
-its parent process has a handler for SIGUSR1, and consequently sends it
-SIGUSR1 when it's ready to accept connections.
-
-The problem was that SLiM doesn't pay attention to SIGUSR1. So in practice,
-if X starts slowly, then SLiM gets ECONNREFUSED a couple of time on
-/tmp/.X11-unix/X0, then goes on trying to connect to localhost:6000,
-where nobody answers; eventually, it times out and tries again on
-/tmp/.X11-unix/X0, and finally it shows up on the screen.
-
-Patch by L. Courtès.
-
---- slim-1.3.6/app.cpp 2014-02-05 15:27:20.000000000 +0100
-+++ slim-1.3.6/app.cpp 2014-02-09 22:42:04.000000000 +0100
-@@ -119,7 +119,9 @@ void CatchSignal(int sig) {
- exit(ERR_EXIT);
- }
-
-+static volatile int got_sigusr1 = 0;
- void User1Signal(int sig) {
-+ got_sigusr1 = 1;
- signal(sig, User1Signal);
- }
-
-@@ -884,6 +886,7 @@ int App::WaitForServer() {
- int ncycles = 120;
- int cycles;
-
-+ while (!got_sigusr1);
- for(cycles = 0; cycles < ncycles; cycles++) {
- if((Dpy = XOpenDisplay(DisplayName))) {
- XSetIOErrorHandler(xioerror);
diff --git a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
index 5195a7a6f8..708ed81e93 100644
--- a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
+++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
@@ -8,8 +8,10 @@ This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac.
Addendum 2022-12-08, Ricardo Wurmus: This patch has been updated to introduce
CONFIG_FIT_PRELOAD to remove fit_pre_load_data, which depends on openssl.
+Addendum 2023-10-17, Herman Rimm: Update patch for u-boot v2023.10.
+
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
-index 94b7685392..eec599b0ee 100644
+index 4dce495ff0..976174ae77 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -19,6 +19,7 @@
@@ -38,7 +40,7 @@ index 94b7685392..eec599b0ee 100644
struct boot_mode {
unsigned int id;
-@@ -278,6 +282,8 @@ image_count_options(unsigned int optiontype)
+@@ -281,6 +285,8 @@ image_count_options(unsigned int optiontype)
return count;
}
@@ -47,7 +49,7 @@ index 94b7685392..eec599b0ee 100644
static int image_get_csk_index(void)
{
struct image_cfg_element *e;
-@@ -288,6 +294,7 @@ static int image_get_csk_index(void)
+@@ -291,6 +297,7 @@ static int image_get_csk_index(void)
return e->csk_idx;
}
@@ -55,7 +57,7 @@ index 94b7685392..eec599b0ee 100644
static bool image_get_spezialized_img(void)
{
-@@ -432,6 +439,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
+@@ -435,6 +442,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
}
}
@@ -63,29 +65,31 @@ index 94b7685392..eec599b0ee 100644
static void kwb_msg(const char *fmt, ...)
{
if (verbose_mode) {
-@@ -926,6 +934,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
+@@ -929,6 +937,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
done:
return ret;
}
+#endif
- static size_t image_headersz_align(size_t headersz, uint8_t blockid)
+ static int image_fill_xip_header(void *image, struct image_tool_params *params)
{
-@@ -1079,11 +1088,13 @@ static size_t image_headersz_v1(int *hasext)
- */
- headersz = sizeof(struct main_hdr_v1);
+@@ -1149,13 +1158,13 @@ static size_t image_headersz_v1(int *hasext)
+ int ret;
+ headersz = sizeof(struct main_hdr_v1);
+-
+#if defined(CONFIG_KWB_SECURE)
if (image_get_csk_index() >= 0) {
headersz += sizeof(struct secure_hdr_v1);
if (hasext)
*hasext = 1;
}
+-
+#endif
-
cpu_sheeva = image_is_cpu_sheeva();
-@@ -1270,6 +1281,7 @@ err_close:
+ count = 0;
+@@ -1351,6 +1360,7 @@ err_close:
return -1;
}
@@ -93,7 +97,7 @@ index 94b7685392..eec599b0ee 100644
static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
{
FILE *hashf;
-@@ -1382,6 +1394,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr,
+@@ -1458,6 +1468,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *image
return 0;
}
@@ -101,9 +105,9 @@ index 94b7685392..eec599b0ee 100644
static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext,
struct register_set_hdr_v1 *register_set_hdr,
-@@ -1406,7 +1419,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
+@@ -1481,7 +1492,9 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
+ struct image_cfg_element *e;
struct main_hdr_v1 *main_hdr;
- struct opt_hdr_v1 *ohdr;
struct register_set_hdr_v1 *register_set_hdr;
+#if defined(CONFIG_KWB_SECURE)
struct secure_hdr_v1 *secure_hdr = NULL;
@@ -111,15 +115,16 @@ index 94b7685392..eec599b0ee 100644
size_t headersz;
uint8_t *image, *cur;
int hasext = 0;
-@@ -1491,6 +1506,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
- if (main_hdr->blockid == IBR_HDR_PEX_ID)
- main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF);
-
+@@ -1562,7 +1575,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
+ }
+ *dataoff = le32_to_cpu(main_hdr->srcaddr);
+ }
+-
+#if defined(CONFIG_KWB_SECURE)
if (image_get_csk_index() >= 0) {
/*
* only reserve the space here; we fill the header later since
-@@ -1501,7 +1517,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
+@@ -1573,7 +1586,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
*next_ext = 1;
next_ext = &secure_hdr->next;
}
@@ -128,7 +133,7 @@ index 94b7685392..eec599b0ee 100644
datai = 0;
for (cfgi = 0; cfgi < cfgn; cfgi++) {
e = &image_cfg[cfgi];
-@@ -1624,10 +1640,12 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
+@@ -1624,9 +1637,11 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
&datai, delay);
}
@@ -140,7 +145,6 @@ index 94b7685392..eec599b0ee 100644
/* Calculate and set the header checksum */
main_hdr->checksum = image_checksum8(main_hdr, headersz);
-
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -14,8 +14,10 @@
@@ -154,7 +158,7 @@ index 94b7685392..eec599b0ee 100644
/**
* fit_set_hash_value - set hash value in requested has node
-@@ -1116,6 +1118,7 @@
+@@ -1119,6 +1121,7 @@ static int fit_config_add_verification_data(const char *keydir,
return 0;
}
@@ -162,7 +166,7 @@ index 94b7685392..eec599b0ee 100644
/*
* 0) open file (open)
* 1) read certificate (PEM_read_X509)
-@@ -1224,6 +1227,7 @@
+@@ -1227,6 +1230,7 @@ int fit_pre_load_data(const char *keydir, void *keydest, void *fit)
out:
return ret;
}
@@ -172,7 +176,7 @@ index 94b7685392..eec599b0ee 100644
const char *comment, int require_keys,
--- a/tools/fit_image.c
+++ b/tools/fit_image.c
-@@ -59,9 +59,10 @@
+@@ -61,9 +61,10 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
ret = fit_set_timestamp(ptr, 0, time);
}
@@ -186,7 +190,7 @@ index 94b7685392..eec599b0ee 100644
params->comment,
--- a/include/image.h
+++ b/include/image.h
-@@ -1090,6 +1090,7 @@
+@@ -1182,6 +1182,7 @@ int fit_image_hash_get_value(const void *fit, int noffset, uint8_t **value,
int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
@@ -194,7 +198,7 @@ index 94b7685392..eec599b0ee 100644
/**
* fit_pre_load_data() - add public key to fdt blob
*
-@@ -1104,6 +1105,7 @@
+@@ -1196,6 +1197,7 @@ int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
* < 0, on failure
*/
int fit_pre_load_data(const char *keydir, void *keydest, void *fit);
diff --git a/gnu/packages/patches/u-boot-fix-build-python-3.10.patch b/gnu/packages/patches/u-boot-fix-build-python-3.10.patch
deleted file mode 100644
index 7e5d6ba656..0000000000
--- a/gnu/packages/patches/u-boot-fix-build-python-3.10.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-This patch is backported from U-Boot 2023.01; remove when updating.
-
-From 7d01bb1c5a1daef0187c9ea276bde19a8d0e7fde Mon Sep 17 00:00:00 2001
-From: Michal Suchanek <msuchanek@suse.de>
-Date: Thu, 13 Oct 2022 22:43:41 +0200
-Subject: [PATCH] libfdt: Fix build with python 3.10
-
-Python 3.10 requires defining PY_SSIZE_T_CLEAN. This will be fixed in
-swig 4.10 but it is not clear when it will be released. There was a
-warning since python 3.8.
-
-Link: https://github.com/swig/swig/pull/2277
-
-Signed-off-by: Michal Suchanek <msuchanek@suse.de>
-Reviewed-by: Simon Glass <sjg@chromium.org>
----
- scripts/dtc/pylibfdt/libfdt.i_shipped | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
-index 27c29ea260..56cc5d48f4 100644
---- a/scripts/dtc/pylibfdt/libfdt.i_shipped
-+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
-@@ -7,6 +7,10 @@
-
- %module libfdt
-
-+%begin %{
-+#define PY_SSIZE_T_CLEAN
-+%}
-+
- %include <stdint.i>
-
- %{
---
-GitLab
-
diff --git a/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch b/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch
deleted file mode 100644
index 233c437de6..0000000000
--- a/gnu/packages/patches/u-boot-fix-u-boot-lib-build.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Submitted upstream (see:
-https://lists.denx.de/pipermail/u-boot/2023-July/521984.html)
-
-diff --git a/tools/u_boot_pylib/pyproject.toml b/tools/u_boot_pylib/pyproject.toml
-index 3f33caf6f8..037c5d629e 100644
---- a/tools/u_boot_pylib/pyproject.toml
-+++ b/tools/u_boot_pylib/pyproject.toml
-@@ -9,7 +9,7 @@ authors = [
- { name="Simon Glass", email="sjg@chromium.org" },
- ]
- description = "U-Boot python library"
--readme = "README.md"
-+readme = "README.rst"
- requires-python = ">=3.7"
- classifiers = [
- "Programming Language :: Python :: 3",
-@@ -20,3 +20,7 @@ classifiers = [
- [project.urls]
- "Homepage" = "https://u-boot.readthedocs.io"
- "Bug Tracker" = "https://source.denx.de/groups/u-boot/-/issues"
-+
-+[tool.setuptools.packages.find]
-+where = [".."]
-+include = ["u_boot_pylib*"]
diff --git a/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch b/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch
deleted file mode 100644
index f14a9ce104..0000000000
--- a/gnu/packages/patches/u-boot-rk3399-enable-emmc-phy.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-adapting commit ac804143cf ("mmc: rockchip_sdhci: add phy and clock
-config for rk3399") to fix the issue "Not found emmc phy device".
-
-Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
----
-
- arch/arm/dts/rk3399-u-boot.dtsi | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
-index 73922c328a..716b9a433a 100644
---- a/arch/arm/dts/rk3399-u-boot.dtsi
-+++ b/arch/arm/dts/rk3399-u-boot.dtsi
-@@ -88,6 +88,10 @@
- u-boot,dm-pre-reloc;
- };
-
-+&emmc_phy {
-+ u-boot,dm-pre-reloc;
-+};
-+
- &grf {
- u-boot,dm-pre-reloc;
- };
---
-2.17.1
diff --git a/gnu/packages/patches/u-boot-rockchip-inno-usb.patch b/gnu/packages/patches/u-boot-rockchip-inno-usb.patch
index 58f04b2c78..eeb25f4b89 100644
--- a/gnu/packages/patches/u-boot-rockchip-inno-usb.patch
+++ b/gnu/packages/patches/u-boot-rockchip-inno-usb.patch
@@ -170,10 +170,10 @@ Tested-by: Peter Robinson <pbrobinson@gmail.com>
1 file changed, 21 insertions(+)
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-index 62b8ba3a4a..be9cc99d90 100644
+index 70e61eccb7..ce36db94a7 100644
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
-@@ -62,6 +62,8 @@ struct rockchip_usb2phy {
+@@ -64,6 +64,8 @@ struct rockchip_usb2phy {
void *reg_base;
struct clk phyclk;
const struct rockchip_usb2phy_cfg *phy_cfg;
@@ -182,7 +182,7 @@ index 62b8ba3a4a..be9cc99d90 100644
};
static inline int property_enable(void *reg_base,
-@@ -92,6 +94,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
+@@ -106,6 +108,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
struct rockchip_usb2phy *priv = dev_get_priv(parent);
const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
@@ -193,7 +193,7 @@ index 62b8ba3a4a..be9cc99d90 100644
property_enable(priv->reg_base, &port_cfg->phy_sus, false);
/* waiting for the utmi_clk to become stable */
-@@ -106,6 +112,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
+@@ -120,6 +126,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
struct rockchip_usb2phy *priv = dev_get_priv(parent);
const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
@@ -204,7 +204,7 @@ index 62b8ba3a4a..be9cc99d90 100644
property_enable(priv->reg_base, &port_cfg->phy_sus, true);
return 0;
-@@ -118,6 +128,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
+@@ -132,6 +142,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
int ret;
@@ -213,9 +213,9 @@ index 62b8ba3a4a..be9cc99d90 100644
+ return 0;
+
ret = clk_enable(&priv->phyclk);
- if (ret) {
+ if (ret && ret != -ENOSYS) {
dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret);
-@@ -140,6 +154,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
+@@ -154,6 +168,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
struct udevice *parent = dev_get_parent(phy->dev);
struct rockchip_usb2phy *priv = dev_get_priv(parent);
@@ -226,7 +226,7 @@ index 62b8ba3a4a..be9cc99d90 100644
clk_disable(&priv->phyclk);
return 0;
-@@ -212,6 +230,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
+@@ -294,6 +312,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
return ret;
}
diff --git a/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch b/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch
deleted file mode 100644
index 858f42efe7..0000000000
--- a/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Description: prevent relocating initrd & fdt, that results in failure to boot
-Author: Heinrich Schuchardt (xypron)
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246
-Index: u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h
-===================================================================
---- u-boot-2021.07~rc4+dfsg.orig/include/configs/sifive-unmatched.h
-+++ u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h
-@@ -55,6 +55,8 @@
- "name=system,size=-,bootable,type=${type_guid_gpt_system};"
-
- #define CFG_EXTRA_ENV_SETTINGS \
-+ "fdt_high=0xffffffffffffffff\0" \
-+ "initrd_high=0xffffffffffffffff\0" \
- "kernel_addr_r=0x84000000\0" \
- "kernel_comp_addr_r=0x88000000\0" \
- "kernel_comp_size=0x4000000\0" \
diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm
index efb9a04aee..3d7ffdcd88 100644
--- a/gnu/packages/patchutils.scm
+++ b/gnu/packages/patchutils.scm
@@ -38,7 +38,6 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
- #:use-module (gnu packages ed)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@@ -55,6 +54,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages less)
#:use-module (gnu packages mail)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages package-management)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 874076effb..644a4617a6 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -24,6 +24,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -107,6 +108,7 @@
#:use-module (gnu packages time)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@@ -976,6 +978,34 @@ configurable toolbars and shortcuts, continuous and multi‐page layouts,
SyncTeX support, and rudimentary support for annotations and forms.")
(license license:gpl2+)))
+(define-public unpaper
+ (package
+ (name "unpaper")
+ (version "7.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.flameeyes.com/files/unpaper-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "103awjdl2qrzi0qc32hi8zvwf04r5ih5jaw8rg8ij9y24szznx95"))))
+ (native-inputs
+ (list pkg-config python-sphinx))
+ (inputs
+ (list discount ffmpeg))
+ (build-system meson-build-system)
+ (home-page "https://www.flameeyes.com/projects/unpaper")
+ (synopsis "post-processing tool for scanned pages")
+ (description "@command{unpaper} is a post-processing tool for
+scanned sheets of paper, especially for book pages that have been
+scanned from previously created photocopies.
+
+Its main purpose is to make scanned book pages better readable on screen
+after conversion to PDF. Additionally, unpaper might be useful to
+enhance the quality of scanned pages before performing
+@acronym{OCR, optical character recognition}.")
+ (license license:gpl2)))
+
(define-public xournal
(package
(name "xournal")
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index ea74472270..f02ca10298 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -583,6 +583,38 @@ data arrays produced during tests, in particular in cases where the arrays
are too large to conveniently hard-code them in the tests.")
(license license:bsd-3)))
+(define-public python-pytest-cookies
+ (package
+ (name "python-pytest-cookies")
+ (version "0.7.0")
+ (source
+ (origin
+ ;; No tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hackebrot/pytest-cookies")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1x7ny6mx1siy9law1cv1i63nvv9ds2g1dlagm40l8qymxry43mjn"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs (list python-pytest))
+ (propagated-inputs (list python-cookiecutter))
+ (home-page "https://github.com/hackebrot/pytest-cookies")
+ (synopsis "Pytest plugin for Cookiecutter templates")
+ (description
+ "This Pytest plugin adds a @code{cookies} fixture, which is a
+wrapper for the Cookiecutter API. This fixture helps you verify that
+your template is working as expected and takes care of cleaning up after
+running the tests.")
+ (license license:expat)))
+
(define-public python-pytest-doctestplus
(package
(name "python-pytest-doctestplus")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 404177e9cd..ee689809a3 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11021,6 +11021,34 @@ MEDLINE XML repository.")
abstract syntax tree (AST) nodes without side effects.")
(license license:expat)))
+(define-public python-ast-decompiler
+ (package
+ (name "python-ast-decompiler")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ast_decompiler" version))
+ (sha256
+ (base32 "0dw3fck4ajilphqw4hdpa8pmqxg3jfk2xkmjnk3kx5pqwl3sbhzg"))
+ ;; We need to manually create an __init__.py file under the tests/
+ ;; directory, since it is not included in the distributed
+ ;; version. (See:
+ ;; https://github.com/JelleZijlstra/ast_decompiler/issues/52).
+ (modules '((guix build utils)))
+ (snippet '(call-with-output-file "tests/__init__.py"
+ (const #t)))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-flit-core python-pytest))
+ (home-page "https://github.com/JelleZijlstra/ast_decompiler")
+ (synopsis
+ "Decompile an @acronym{AST, Abstract Syntax Tree} to Python code")
+ (description
+ "This library provides functionality to decompile @acronym{AST, Abstract
+Syntax Tree} objects, as generated by the standard library @code{ast} module,
+to Python code.")
+ (license license:asl2.0)))
+
(define-public python-asttokens
(package
(name "python-asttokens")
@@ -13081,13 +13109,13 @@ TODO notes checker plugin for flake8.")
(define-public python-flake8-isort
(package
(name "python-flake8-isort")
- (version "4.1.1")
+ (version "6.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flake8-isort" version))
(sha256
- (base32 "05r7z0j9rqgy0a9261bhisairrz6w8hy5hy5kf2mhvhfnx53056q"))))
+ (base32 "0gk4q504v42hdzpkndczc0kkwnr85jn1h5pvb561jh65p91r6qyl"))))
(build-system python-build-system)
(arguments
(list
@@ -13096,8 +13124,8 @@ TODO notes checker plugin for flake8.")
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "pytest" "-vv")))))))
- (propagated-inputs (list python-flake8 python-isort python-testfixtures))
+ (invoke "pytest" "-vv" "run_tests.py")))))))
+ (propagated-inputs (list python-flake8 python-isort))
(native-inputs (list python-pytest))
(home-page "https://github.com/gforcada/flake8-isort")
(synopsis "Flake8 plugin integrating isort")
@@ -17483,28 +17511,47 @@ designed to work across multiple versions of Python.")
(define-public python-cookiecutter
(package
(name "python-cookiecutter")
- (version "1.7.3")
+ (version "2.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cookiecutter" version))
(sha256
- (base32 "0mx49whhwcxmvcak27zr7p7ndzkn3w7psfd7fzh3n91fi1r4v6kb"))))
+ (base32 "1v1iafk8j2f5cciw9mf4263v91070c6z049cpnw42gwffhs907p6"))))
(build-system python-build-system)
- (native-inputs
- (list python-freezegun python-pytest python-pytest-catchlog
- python-pytest-cov python-pytest-mock))
- (propagated-inputs
- (list python-binaryornot
- python-click
- python-future
- python-jinja2
- python-jinja2-time
- python-poyo
- python-requests
- python-slugify
- python-text-unidecode
- python-whichcraft))
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; test_get_user_config.py requires a writable home
+ ;; directory.
+ (setenv "HOME"
+ (getcwd))
+ ;; test_hooks.py dynamically creates shell scripts
+ ;; with a /bin/bash shebang. We have to patch these.
+ (substitute* "tests/test_hooks.py"
+ (("/bin/bash")
+ (string-append #$(this-package-native-input
+ "bash-minimal") "/bin/bash")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest")))))))
+ (native-inputs (list bash-minimal
+ git
+ python-freezegun
+ python-pytest
+ python-pytest-cov
+ python-pytest-mock))
+ (propagated-inputs (list python-arrow
+ python-binaryornot
+ python-click
+ python-jinja2
+ python-pyyaml
+ python-requests
+ python-rich
+ python-slugify))
(home-page "https://github.com/cookiecutter/cookiecutter")
(synopsis
"Command-line utility that creates projects from project templates")
@@ -34035,6 +34082,46 @@ package. It can be used by type-checking tools like mypy, PyCharm, pytype
etc. to check code that uses @code{orjson}.")
(license license:asl2.0)))
+(define-public python-rpds-py
+ (package
+ (name "python-rpds-py")
+ (version "0.10.6")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "rpds_py" version))
+ (sha256
+ (base32
+ "0l5slkvhq2vf64mapimmj6ginsv01mc4niyj90vvz3assq4agrac"))))
+ (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
+ (add-after 'prepare-python-module 'build-python-module
+ (assoc-ref py:%standard-phases 'build))
+ (add-after 'build-python-module 'install-python-module
+ (assoc-ref py:%standard-phases 'install)))
+ #:cargo-inputs
+ `(("rust-archery" ,rust-archery-1)
+ ("rust-pyo3" ,rust-pyo3-0.19)
+ ("rust-rpds" ,rust-rpds-1))
+ #:install-source? #false))
+ (inputs
+ (list maturin))
+ (native-inputs
+ (list python-wrapper))
+ (home-page "https://github.com/crate-py/rpds")
+ (synopsis "Bindings to Rust rpds for persistent data structures")
+ (description "This package provides Python bindings to the Rust rpds crate
+for persistent data structures. It was written initially to support replacing
+@code{python-pyrsistent}.")
+ (license license:expat)))
+
(define-public python-nanoid
;; There are no tests on PyPi.
(let ((commit "061f9a598f310b0e2e91b9ed6ce725a22770da64")
@@ -34355,6 +34442,29 @@ The database contains over 6.5 million entries, over 3.1 million unique word
forms, and about 300,000 distinct lemmas.")
(license license:expat)))
+(define-public python-icegrams
+ (package
+ (name "python-icegrams")
+ (version "1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "icegrams" version))
+ (sha256
+ (base32 "1ajcjngvr4rlgb0q6p6vjz2sncwhvq3msjy6qaiz5g37vgvw2ij8"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-cffi))
+ (home-page "https://github.com/mideind/Icegrams")
+ (synopsis "Trigram statistics for Icelandic")
+ (description
+ "Icegrams is a Python package that encapsulates a large trigram
+library for Icelandic. You can use Icegrams to obtain probabilities (relative
+frequencies) of over a million different unigrams (single words or tokens), or of
+bigrams (pairs of two words or tokens), or of trigrams. Icegrams is useful for
+instance in spelling correction, predictive typing, to help disabled people
+write text fast, and for various text generation, statistics, and modeling tasks.")
+ (license license:expat)))
+
(define-public python-zeroc-ice-3.6
(package
(inherit python-zeroc-ice)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index d282dfcced..2b89e7e738 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3674,6 +3675,50 @@ framework. The bindings are implemented as a set of Python modules and
contain over 620 classes.")
(license license:gpl3)))
+(define-public python-pyqt-6
+ (package
+ (inherit python-pyqt)
+ (version "6.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyQt6" version))
+ (file-name (string-append "PyQt6-" version ".tar.gz"))
+ (sha256
+ (base32 "100jh1iiz5gx821qzgicfrqv7hjjj98pchdbc1nvdzzra1ryx1ql"))))
+ (inputs ;Qt5 dependencies only in python-pyqt:
+ ;; (qt)connectivity, location, sensors, serialport, x11extras, xmlpatterns.
+ (list python-wrapper
+ qtbase
+ qtdeclarative
+ qtmultimedia
+ qtpositioning
+ qtsvg
+ qttools
+ qtwebchannel
+ qtwebsockets))
+ (propagated-inputs (list python-sip python-pyqt6-sip))
+ (native-inputs (list python-pyqt-builder qtbase)) ;qtbase is required for qmake.
+ (arguments
+ (list
+ #:tests? #f ;No tests.
+ #:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
+ ("--confirm-license" . "")
+ ("--jobs" unquote
+ (number->string (parallel-job-count))))
+ #:phases #~(modify-phases %standard-phases
+ ;; When building python-pyqtwebengine, <qprinter.h> cannot be
+ ;; included. Here we substitute the full path to the header in the
+ ;; store.
+ (add-after 'unpack 'substitute-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((qprinter.h (search-input-file inputs
+ "/include/qt6/QtPrintSupport/qprinter.h")))
+ (substitute* (list "sip/QtPrintSupport/qprinter.sip"
+ "sip/QtPrintSupport/qpyprintsupport_qlist.sip")
+ (("qprinter.h")
+ qprinter.h))))))))))
+
(define-public python-pyqt5-sip
(package
(name "python-pyqt5-sip")
@@ -3693,6 +3738,22 @@ contain over 620 classes.")
(description "Sip module support for PyQt5")
(license license:lgpl2.1+)))
+(define-public python-pyqt6-sip
+ (package
+ (inherit python-pyqt5-sip)
+ (name "python-pyqt6-sip")
+ (version "13.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyQt6_sip" version))
+ (sha256
+ (base32 "0y2pgc1kzskq3q230b5d48izvzy9dl4hkfjpcr7kv53ih1cf31i4"))))
+ (synopsis "Sip module support for PyQt6")
+ (description
+ "SIP is used to write self contained extension modules, i.e. without a library
+to be wrapped. This SIP extension module provides support for the PyQt6 package.")))
+
(define-public python-pyqtwebengine
(package
(name "python-pyqtwebengine")
@@ -3750,6 +3811,40 @@ set of three modules. Prior to v5.12 these bindings were part of PyQt
itself.")
(license license:gpl3)))
+(define-public python-pyqtwebengine-6
+ (package
+ (inherit python-pyqtwebengine)
+ (version "6.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyQt6_WebEngine" version))
+ (sha256
+ (base32 "11wlnggs5vi7z465xhmnz664wbaj44ki6mmijbk0kr457x69h2ym"))))
+ (native-inputs (list python python-sip python-pyqt-builder
+ ;; qtbase is required for qmake
+ qtbase))
+ (inputs (list python-pyqt-6 qtbase qtdeclarative qtwebchannel qtwebengine))
+ (arguments
+ (list
+ #:tests? #f ;No tests.
+ #:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
+ ("--jobs" unquote
+ (number->string (parallel-job-count))))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-include-dirs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((python (assoc-ref inputs "python"))
+ (sip-include-dirs (search-input-directory inputs
+ (string-append "/lib/python"
+ (python-version python)
+ "/site-packages/PyQt6/bindings"))))
+ (setenv "SIP_INCLUDE_DIRS" sip-include-dirs)))))))
+ (description
+ "PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
+WebEngine libraries. The bindings sit on top of PyQt6 and are implemented as a
+set of three modules.")))
+
(define-public python-pyqt-builder
(package
(name "python-pyqt-builder")
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 671848fd27..9993c0b807 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -552,11 +553,12 @@ environment variables of the current shell.")
"1gkzdvj73f71388jvym47075l9zw61v6l8wdv2lnc0mns6dxig0k"))))
(build-system gnu-build-system)
(arguments
- '(#:make-flags (list "CC=gcc"
- (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure))))
+ (list #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure))))
(home-page "https://github.com/jhawthorn/fzy")
(synopsis "Fast fuzzy text selector for the terminal with an advanced
scoring algorithm")
@@ -791,3 +793,68 @@ source ${GUIX_ENVIRONMENT:-$HOME/.guix-profile}/etc/profile.d/grc.sh
@end example
")
(license license:gpl2)))
+
+(define-public liquidprompt
+ (package
+ (name "liquidprompt")
+ (version "2.1.2")
+ (home-page "https://github.com/liquidprompt/liquidprompt")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/liquidprompt/liquidprompt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ljlq97mh84d6g6r3abb254vrwrdan5v74b69fpd62d7p9ffnsgf"))))
+ (build-system copy-build-system)
+ (arguments
+ (list
+ #:install-plan #~'(("liquidpromptrc-dist" "etc/liquidpromptrc")
+ ("example.bashrc" "share/liquidprompt/examples/")
+ ("liquid.ps1" "share/liquidprompt/examples/")
+ ("liquidprompt" "share/liquidprompt/")
+ ("contrib" "share/liquidprompt/")
+ ("themes" "share/liquidprompt/")
+ ("liquidprompt.plugin.zsh"
+ "share/zsh/plugins/liquidprompt/")
+ ("docs" #$(string-append "share/doc/" name "-"
+ version "/")))
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-plugin
+ (lambda _
+ (substitute* "liquidprompt.plugin.zsh"
+ (("source(.*)$")
+ (string-append "source "
+ #$output
+ "/share/liquidprompt/liquidprompt")))))
+ (add-after 'fix-plugin 'fix-tput-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "liquidprompt"
+ (("([ (])tput " all beginning)
+ (string-append beginning
+ (search-input-file inputs "bin/tput")
+ " "))))))))
+ (inputs (list ncurses))
+ (synopsis "Full-featured prompt for Bash & Zsh")
+ (description
+ "Liquidprompt is an adaptive prompt for Bash and Zsh that gives
+you a nicely displayed prompt with useful information when you need it. It
+does this with a powerful theming engine and a large array of data sources.
+
+In order to use liquidprompt with Zsh, you should use the following snippet
+with Guix Home:
+
+@example
+(service home-zsh-service-type
+ (home-zsh-configuration
+ (zshrc (list ;;...
+ ;; This loads liquidprompt
+ (mixed-text-file \"liquidprompt\"
+ \"[[ $- = *i* ]] && source \" liquidprompt \"/share/liquidprompt/liquidprompt\")
+ ;; This loads the powerline theme available in liquidprompt
+ (mixed-text-file \"powerline-theme\"
+ \"source \" liquidprompt \"/share/liquidprompt/themes/powerline/powerline.theme\"))))))
+@end example\n")
+ (license license:agpl3+)))
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index 6781e2eb58..9ae440f86b 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -42,14 +42,17 @@
(arguments
'(#:tests? #f ; no tests exist
#:phases (modify-phases %standard-phases
- (add-after 'unpack 'reproducible
+ (add-after 'unpack 'patch
(lambda _
+ ;; This umask makes the symlinks in lib readable on
+ ;; i586-gnu
+ (substitute* "tools/install.sh"
+ (("umask 077") "umask 033"))
;; Sort source files deterministically so that the *.a
;; and *.so files are reproducible.
(substitute* "Makefile"
(("\\$\\(wildcard src/lib\\*/\\*.c\\)")
"$(sort $(wildcard src/lib*/*.c))")))))))
- (supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://skarnet.org/software/skalibs/")
(synopsis "Platform abstraction libraries for skarnet.org software")
(description
diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm
index c633ef970a..f0ca932e65 100644
--- a/gnu/packages/sssd.scm
+++ b/gnu/packages/sssd.scm
@@ -139,7 +139,7 @@ fundamental object types for C.")
(define-public sssd
(package
(name "sssd")
- (version "2.9.2")
+ (version "2.9.3")
(source
(origin
(method git-fetch)
@@ -148,7 +148,7 @@ fundamental object types for C.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "17nhivmg5z9j3mxqmn21l8y56c6ibpglhlnvqxy8rmsp3z5h868b"))
+ (base32 "0iixn262ycicy2fm96zvifd21p21069mhcsnk262qk79cjvlwdar"))
(patches (search-patches "sssd-system-directories.patch"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index f5714e934a..0769dacc86 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -1,6 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
+;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017, 2018, 2020, 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Nikita <nikita@n0.is>
@@ -20,10 +24,12 @@
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
+;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -62,6 +68,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages code)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages curl)
@@ -102,6 +109,37 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
+(define-public ed
+ (package
+ (name "ed")
+ (version "1.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/ed/ed-"
+ version ".tar.lz"))
+ (sha256
+ (base32
+ "0krb8rsb0cd8mgz0c5pqgnjbbrj7zjl7mf9099r8gi80k2nyza5c"))))
+ (build-system gnu-build-system)
+ (native-inputs (list lzip))
+ (arguments
+ `(#:configure-flags (list ,(string-append "CC=" (cc-for-target)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'patch-source-shebangs 'patch-test-suite
+ (lambda _
+ (substitute* "testsuite/check.sh"
+ (("/bin/sh") (which "sh"))))))))
+ (home-page "https://www.gnu.org/software/ed/")
+ (synopsis "Line-oriented text editor")
+ (description
+ "Ed is a line-oriented text editor: rather than offering an overview of
+a document, ed performs editing one line at a time. It can be executed both
+interactively and via shell scripts. Its method of command input allows
+complex tasks to be performed in an automated way. GNU ed offers several
+extensions over the standard utility.")
+ (license license:gpl3+)))
+
(define-public vis
(package
(name "vis")
@@ -562,6 +600,28 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
OpenBSD team.")
(license license:public-domain)))
+(define-public nano
+ (package
+ (name "nano")
+ (version "7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
+ (sha256
+ (base32 "09j5gb44yiv18fvn0iy17jnl9d5lh3gkry4kqv776a5xd0kl9ww6"))))
+ (build-system gnu-build-system)
+ (inputs
+ (list gettext-minimal ncurses))
+ (home-page "https://www.nano-editor.org/")
+ (synopsis "Small, user-friendly console text editor")
+ (description
+ "GNU nano is a small and simple text editor for use in a terminal. Besides
+basic editing, it supports: undo/redo, syntax highlighting, spell checking,
+justifying, auto-indentation, bracket matching, interactive search-and-replace
+(with regular expressions), and the editing of multiple files.")
+ (license license:gpl3+))) ; some files are under GPLv2+
+
(define-public qemacs
(package
(name "qemacs")
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 4b356b6cc1..b81944ee6b 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021-2023 Danial Behzadi <dani.behzi@ubuntu.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org>
+;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -36,11 +37,15 @@
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system mozilla)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages browser-extensions)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages check)
@@ -48,6 +53,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
@@ -483,3 +489,282 @@ Potential client and exit connections are scrubbed of sensitive information.")
the onion proxy and sets up proxy in user session, so you don't have to mess
up with TOR on your system anymore.")
(license license:gpl3+)))
+
+;; Must be of the form YYYYMMDDhhmmss as in `date +%Y%m%d%H%M%S`.
+(define %moz-build-date "20231219173144")
+
+;; To find the last version, look at https://www.torproject.org/download/.
+(define %torbrowser-version "13.0.8")
+
+;; 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.6.0esr-13.0-1-build2")
+
+(define torbrowser-assets
+ ;; This is a prebuilt Torbrowser from which we take the assets we need.
+ (package
+ (name "torbrowser-assets")
+ (version %torbrowser-version)
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://archive.torproject.org/tor-package-archive/torbrowser/"
+ version "/tor-browser-linux-x86_64-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0v67x3pa0mga970andlz58k2wz8b8x7aman8gkkahnd003h9qgvq"))))
+ (arguments
+ (list
+ #:install-plan
+ ''(("Browser" "." #:include-regexp
+ ("^\\./TorBrowser/Data/Tor/torrc-defaults"
+ "^\\./fonts/"
+ "^\\./fontconfig/fonts.conf")))))
+ (build-system copy-build-system)
+ (home-page "https://www.torproject.org")
+ (synopsis "Tor Browser assets")
+ (description "This package contains fonts and configuration files for Tor
+Browser.")
+ (license license:silofl1.1)))
+
+(define-public torbrowser
+ (package
+ (inherit icecat-minimal)
+ (name "torbrowser")
+ (version %torbrowser-version)
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://archive.torproject.org/tor-package-archive/torbrowser/"
+ version "/src-firefox-tor-browser-" %torbrowser-firefox-version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "1c0p8aya7sh7nmawngkyzx2r02mvl9nd53hx2bl0jwvsj1vxxhca"))))
+ (build-system mozilla-build-system)
+ (arguments
+ (substitute-keyword-arguments (package-arguments icecat-minimal)
+ ((#:configure-flags flags '())
+ #~(cons*
+ "--without-relative-data-dir" ;store is read-only
+ "--disable-base-browser-update"
+ ;; Default is "default", which is the same as "nightly".
+ "--enable-update-channel=release"
+ "--with-user-appdir=.torbrowser"
+ "--with-branding=browser/branding/tb-release"
+ (string-append "--prefix=" #$output)
+ (string-append "--with-base-browser-version=" #$version)
+ #$flags))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-before 'configure 'setenv
+ (lambda _
+ (setenv "CONFIG_SHELL" (which "bash"))
+ ;; Install location is prefix/lib/$MOZ_APP_NAME. Also
+ ;; $MOZ_APP_NAME is the executable name. Default is
+ ;; "firefox".
+ (setenv "MOZ_APP_NAME" "torbrowser")
+ ;; Profile location (relative to "~/."). Default is
+ ;; lower($MOZ_APP_VENDOR/$MOZ_APP_BASENAME), which is:
+ ;; ~/.tor project/firefox.
+ (setenv "MOZ_APP_PROFILE" "torbrowser/browser")
+ ;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL").
+ (setenv "MOZ_APP_REMOTINGNAME" "Tor Browser")
+ ;; Persistent state directory for the build system (default is
+ ;; $HOME/.mozbuild).
+ (setenv "MOZBUILD_STATE_PATH"
+ (in-vicinity (getcwd) ".mozbuild"))
+ ;; Make build reproducible.
+ (setenv "MOZ_BUILD_DATE" #$%moz-build-date)))
+ (add-before 'configure 'mozconfig
+ (lambda* (#:key configure-flags #:allow-other-keys)
+ (with-output-to-file "mozconfig"
+ (lambda ()
+ (format #t ". $topsrcdir/mozconfig-linux-x86_64~%")
+ (for-each (lambda (flag)
+ (format #t "ac_add_options ~a~%" flag))
+ configure-flags)))))
+ (replace 'configure
+ (lambda _
+ (invoke "./mach" "configure")))
+ (add-before 'build 'fix-addons-placeholder
+ (lambda _
+ (substitute*
+ "toolkit/locales/en-US/toolkit/about/aboutAddons.ftl"
+ (("addons.mozilla.org") "gnuzilla.gnu.org"))))
+ (add-after 'install 'deploy-assets
+ (lambda _
+ (let ((assets #$(this-package-input "torbrowser-assets"))
+ (lib (in-vicinity #$output "lib/torbrowser"))
+ (tor #$(this-package-input "tor-client")))
+ ;; TorBrowser/Data/Tor/torrc-defaults
+ (copy-recursively (in-vicinity assets "TorBrowser")
+ (in-vicinity lib "TorBrowser"))
+ ;; The geoip and geoip6 files are in the same directory as
+ ;; torrc-defaults. (See TorProcess.sys.mjs.)
+ (mkdir-p (in-vicinity lib "TorBrowser/Data/Tor"))
+ (copy-file (in-vicinity tor "share/tor/geoip")
+ (in-vicinity lib "TorBrowser/Data/Tor/geoip"))
+ (copy-file (in-vicinity tor "share/tor/geoip6")
+ (in-vicinity lib "TorBrowser/Data/Tor/geoip6"))
+ ;; Fonts
+ (copy-recursively (in-vicinity assets "fontconfig")
+ (in-vicinity lib "fontconfig"))
+ (substitute* (in-vicinity lib "fontconfig/fonts.conf")
+ (("<dir>fonts</dir>")
+ (format #f "<dir>~a</dir>" (in-vicinity lib "fonts"))))
+ (delete-file-recursively (in-vicinity lib "fonts"))
+ (copy-recursively (in-vicinity assets "fonts")
+ (in-vicinity lib "fonts")))))
+ (replace 'build-sandbox-whitelist
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define (runpath-of lib)
+ (call-with-input-file lib
+ (compose elf-dynamic-info-runpath
+ elf-dynamic-info
+ parse-elf
+ get-bytevector-all)))
+ (define (runpaths-of-input label)
+ (let* ((dir (string-append (assoc-ref inputs label) "/lib"))
+ (libs (find-files dir "\\.so$")))
+ (append-map runpath-of libs)))
+ ;; Populate the sandbox read-path whitelist as needed by ffmpeg.
+ (let* ((whitelist
+ (map (cut string-append <> "/")
+ (delete-duplicates
+ `(,(string-append (assoc-ref inputs "shared-mime-info")
+ "/share/mime")
+ ,@(append-map runpaths-of-input
+ '("mesa" "ffmpeg"))))))
+ (whitelist-string (string-join whitelist ",")))
+ (with-output-to-file "whitelist.txt"
+ (lambda ()
+ (display whitelist-string))))))
+ (add-after 'install 'autoconfig
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((lib (in-vicinity #$output "lib/torbrowser"))
+ (config-file "tor-browser.cfg"))
+ (with-output-to-file (in-vicinity
+ lib "defaults/pref/autoconfig.js")
+ (lambda ()
+ (format #t "// first line must be a comment~%")
+ (format #t "pref(~s, ~s);~%"
+ "general.config.filename" config-file)
+ (format #t "pref(~s, ~a);~%"
+ "general.config.obscure_value" "0")))
+ (with-output-to-file (in-vicinity lib config-file)
+ (lambda ()
+ (format #t "// first line must be a comment~%")
+ (format #t "pref(~s, ~s);~%"
+ "extensions.torlauncher.torrc-defaults_path"
+ (in-vicinity
+ lib "TorBrowser/Data/Tor/torrc-defaults"))
+ (format #t "pref(~s, ~s);~%"
+ "extensions.torlauncher.tor_path"
+ (search-input-file inputs "bin/tor"))
+ ;; Required for Guix packaged extensions
+ ;; SCOPE_PROFILE=1, SCOPE_APPLICATION=4, SCOPE_SYSTEM=8
+ ;; Default is 5.
+ (format #t "pref(~s, ~a);~%"
+ "extensions.enabledScopes" "13")
+ (format #t "pref(~s, ~s);~%"
+ "security.sandbox.content.read_path_whitelist"
+ (call-with-input-file "whitelist.txt"
+ get-string-all))
+ ;; Add-ons pannel (see settings.js in Icecat source).
+ (format #t "pref(~s, ~s);~%"
+ "extensions.getAddons.search.browseURL"
+ "https://gnuzilla.gnu.org/mozzarella")
+ (format #t "pref(~s, ~s);~%"
+ "extensions.getAddons.get.url"
+ "https://gnuzilla.gnu.org/mozzarella")
+ (format #t "pref(~s, ~s);~%"
+ "extensions.getAddons.link.url"
+ "https://gnuzilla.gnu.org/mozzarella")
+ (format #t "pref(~s, ~s);~%"
+ "extensions.getAddons.discovery.api_url"
+ "https://gnuzilla.gnu.org/mozzarella")
+ (format #t "pref(~s, ~s);~%"
+ "extensions.getAddons.langpacks.url"
+ "https://gnuzilla.gnu.org/mozzarella")
+ (format #t "pref(~s, ~s);~%"
+ "lightweightThemes.getMoreURL"
+ "https://gnuzilla.gnu.org/mozzarella"))))))
+ (replace 'wrap-program
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((gtk #$(this-package-input "gtk+"))
+ (gtk-share (string-append gtk "/share"))
+ (fonts.conf (in-vicinity
+ #$output
+ "lib/torbrowser/fontconfig/fonts.conf"))
+ (ld-libs '#$(cons
+ (file-append
+ (this-package-input "libcanberra")
+ "/lib/gtk-3.0/modules")
+ (map
+ (lambda (label)
+ (file-append
+ (this-package-input label) "/lib"))
+ '("libpng-apng"
+ "libxscrnsaver"
+ "mesa"
+ "pciutils"
+ "mit-krb5"
+ "eudev"
+ "pulseaudio"
+ "libnotify")))))
+ (wrap-program
+ (in-vicinity #$output "lib/torbrowser/torbrowser")
+ `("XDG_DATA_DIRS" prefix (,gtk-share))
+ `("LD_LIBRARY_PATH" prefix ,ld-libs)
+ `("FONTCONFIG_FILE" prefix (,fonts.conf))))))
+ (replace 'install-desktop-entry
+ (lambda _
+ (let ((apps (in-vicinity #$output "share/applications")))
+ (mkdir-p apps)
+ (make-desktop-entry-file
+ (in-vicinity apps "torbrowser.desktop")
+ #:name "Tor Browser"
+ #:exec
+ (format #f "~a %u" (in-vicinity #$output "bin/torbrowser"))
+ #:comment
+ "Tor Browser is +1 for privacy and -1 for mass surveillance"
+ #:categories '("Network" "WebBrowser" "Security")
+ #:startup-w-m-class "Tor Browser"
+ #:icon "tor-browser"))))
+ (replace 'install-icons
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each
+ (lambda (size)
+ (let ((oldpath (string-append
+ "browser/branding/tb-release/default"
+ size ".png"))
+ (newpath (string-append #$output
+ "/share/icons/hicolor/"
+ size "x" size "/apps")))
+ (mkdir-p newpath)
+ (copy-file oldpath
+ (in-vicinity newpath "tor-browser.png"))))
+ '("16" "22" "24" "32" "48" "64" "128" "256"))))))))
+ (inputs
+ (modify-inputs (package-inputs icecat-minimal)
+ (append bash-minimal
+ tor-client
+ torbrowser-assets)))
+ (propagated-inputs
+ (list noscript/icecat))
+ (home-page "https://www.torproject.org")
+ (synopsis "Anonymous browser derived from Mozilla Firefox")
+ (description
+ "Tor Browser is the Tor Project version of Firefox browser. It is the
+only recommended way to anonymously browse the web that is supported by the
+project. It modifies Firefox in order to avoid many know application level
+attacks on the privacy of Tor users.")
+ (license license:mpl2.0))) ;And others, see
+ ;toolkit/content/license.html
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 2c79ceb294..013504875b 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -97,7 +97,6 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
- #:use-module (gnu packages ed)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
@@ -117,7 +116,6 @@
#:use-module (gnu packages mail)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
- #:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ssh)
#:use-module (gnu packages web)
@@ -137,6 +135,7 @@
#:use-module (gnu packages ruby)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages admin)
#:use-module (gnu packages xml)
#:use-module (gnu packages emacs)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index b25352fdaa..6da4897a57 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -67,6 +67,7 @@
;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
+;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1533,7 +1534,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libplacebo
(package
(name "libplacebo")
- (version "4.208.0")
+ (version "6.338.1")
(source
(origin
(method git-fetch)
@@ -1542,16 +1543,16 @@ libebml is a C++ library to read and write EBML files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "161dp5781s74ca3gglaxlmchx7glyshf0wg43w98pl22n1jcm5qk"))))
+ (base32 "1miqk3gfwah01xkf4a6grwq29im0lfh94gp92y7js855gx3v169m"))))
(build-system meson-build-system)
(arguments
- `(#:configure-flags
- `("-Dopengl=enabled"
- ,(string-append "-Dvulkan-registry="
- (assoc-ref %build-inputs "vulkan-headers")
- "/share/vulkan/registry/vk.xml"))))
+ (list #:configure-flags
+ #~(list "-Dopengl=enabled"
+ (string-append "-Dvulkan-registry="
+ #$(this-package-input "vulkan-headers")
+ "/share/vulkan/registry/vk.xml"))))
(native-inputs
- (list python python-mako pkg-config))
+ (list glad python python-mako pkg-config))
(inputs
(list lcms
libepoxy
@@ -2338,7 +2339,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
- (version "0.36.0")
+ (version "0.37.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2346,8 +2347,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1ri06h7pv6hrxmxxc618n9hymlgr0gfx38bqq5dcszdgnlashsgk"))))
- (build-system waf-build-system)
+ (base32 "1xcyfpd543lbmg587wi0mahrz8vhyrlr4432054vp6wsi3s36c4b"))))
+ (build-system meson-build-system)
(arguments
(list
#:phases
@@ -2364,21 +2365,15 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
;; and passed as linker flags, but the order in which they are added
;; varies. See <https://github.com/mpv-player/mpv/issues/7855>.
;; Set PYTHONHASHSEED as a workaround for deterministic results.
- (setenv "PYTHONHASHSEED" "1")))
- (add-before 'configure 'set-up-waf
- (lambda* (#:key inputs #:allow-other-keys)
- (copy-file (search-input-file inputs "bin/waf") "waf")
- (setenv "CC" #$(cc-for-target)))))
+ (setenv "PYTHONHASHSEED" "1"))))
#:configure-flags
- #~(list "--enable-libmpv-shared"
- "--enable-cdda"
- "--enable-dvdnav"
- "--disable-build-date")
- ;; No check function defined.
- #:tests? #f))
+ #~(list "-Dlibmpv=true"
+ "-Dcdda=enabled"
+ "-Ddvdnav=enabled"
+ "-Dbuild-date=false")))
(native-inputs
(list perl ; for zsh completion file
- pkg-config python-docutils))
+ pkg-config python-docutils python-wrapper))
;; Missing features: libguess, V4L2.
(inputs
(list alsa-lib
@@ -2395,6 +2390,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
libdvdread
libdvdnav
libjpeg-turbo
+ libplacebo
libva
libvdpau
libx11
@@ -2405,13 +2401,11 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
libxrandr
libxscrnsaver
libxv
- ;; XXX: lua > 5.2 is not currently supported; see
- ;; waftools/checks/custom.py
+ ;; XXX: lua > 5.2 is not currently supported; see meson.build
lua-5.2
mesa
mpg123
pulseaudio
- python-waf
rsound
shaderc
vulkan-headers
@@ -2419,6 +2413,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
wayland
wayland-protocols
yt-dlp
+ zimg
zlib))
(home-page "https://mpv.io/")
(synopsis "Audio and video player")
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 141917ad42..0d749dcd30 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -83,7 +83,6 @@
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages mp3)
- #:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -96,6 +95,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))
diff --git a/gnu/services/ci.scm b/gnu/services/ci.scm
index 172f85fe8e..01cc7c7d86 100644
--- a/gnu/services/ci.scm
+++ b/gnu/services/ci.scm
@@ -31,6 +31,7 @@
#:export (laminar-configuration
laminar-configuration?
laminar-configuration-home-directory
+ laminar-configuration-supplementary-groups
laminar-configuration-bind-http
laminar-configuration-bind-rpc
laminar-configuration-title
@@ -50,26 +51,28 @@
(define-record-type* <laminar-configuration>
laminar-configuration make-laminar-configuration
laminar-configuration?
- (laminar laminars-configuration-laminar
- (default laminar))
- (home-directory laminar-configuration-home-directory
- (default "/var/lib/laminar"))
- (bind-http laminar-configuration-bind-http
- (default "*:8080"))
- (bind-rpc laminar-configuration-bind-rpc
- (default "unix-abstract:laminar"))
- (title laminar-configuration-title
- (default "Laminar"))
- (keep-rundirs laminar-keep-rundirs
- (default 0))
- (archive-url laminar-archive-url
- (default #f))
- (base-url laminar-base-url
- (default #f)))
+ (laminar laminars-configuration-laminar
+ (default laminar))
+ (home-directory laminar-configuration-home-directory
+ (default "/var/lib/laminar"))
+ (supplementary-groups laminar-configuration-supplementary-groups
+ (default '()))
+ (bind-http laminar-configuration-bind-http
+ (default "*:8080"))
+ (bind-rpc laminar-configuration-bind-rpc
+ (default "unix-abstract:laminar"))
+ (title laminar-configuration-title
+ (default "Laminar"))
+ (keep-rundirs laminar-keep-rundirs
+ (default 0))
+ (archive-url laminar-archive-url
+ (default #f))
+ (base-url laminar-base-url
+ (default #f)))
(define laminar-shepherd-service
(match-lambda
- (($ <laminar-configuration> laminar home-directory
+ (($ <laminar-configuration> laminar home-directory supplementary-groups
bind-http bind-rpc
title keep-rundirs archive-url
base-url)
@@ -102,7 +105,8 @@
#$base-url))
'()))
#:user "laminar"
- #:group "laminar"))
+ #:group "laminar"
+ #:supplementary-groups '#$supplementary-groups))
(stop #~(make-kill-destructor)))))))
(define (laminar-account config)
@@ -113,6 +117,8 @@
(user-account
(name "laminar")
(group "laminar")
+ (supplementary-groups
+ (laminar-configuration-supplementary-groups config))
(system? #t)
(comment "Laminar privilege separation user")
(home-directory (laminar-configuration-home-directory config))
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index d3fee2a8ef..580031cb42 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -512,28 +512,25 @@ created after the PostgreSQL database is started.")))
(match-lambda
(($ <memcached-configuration> memcached interfaces tcp-port udp-port
additional-options)
- (with-imported-modules (source-module-closure
- '((gnu build shepherd)))
- (list (shepherd-service
- (provision '(memcached))
- (documentation "Run the Memcached daemon.")
- (requirement '(user-processes loopback))
- (modules '((gnu build shepherd)))
- (start #~(make-forkexec-constructor
- `(#$(file-append memcached "/bin/memcached")
- "-l" #$(string-join interfaces ",")
- "-p" #$(number->string tcp-port)
- "-U" #$(number->string udp-port)
- "--daemon"
- ;; Memcached changes to the memcached user prior to
- ;; writing the pid file, so write it to a directory
- ;; that memcached owns.
- "-P" "/var/run/memcached/pid"
- "-u" "memcached"
- ,#$@additional-options)
- #:log-file "/var/log/memcached"
- #:pid-file "/var/run/memcached/pid"))
- (stop #~(make-kill-destructor))))))))
+ (list (shepherd-service
+ (provision '(memcached))
+ (documentation "Run the Memcached daemon.")
+ (requirement '(user-processes loopback))
+ (start #~(make-forkexec-constructor
+ `(#$(file-append memcached "/bin/memcached")
+ "-l" #$(string-join interfaces ",")
+ "-p" #$(number->string tcp-port)
+ "-U" #$(number->string udp-port)
+ "--daemon"
+ ;; Memcached changes to the memcached user prior to
+ ;; writing the pid file, so write it to a directory
+ ;; that memcached owns.
+ "-P" "/var/run/memcached/pid"
+ "-u" "memcached"
+ ,#$@additional-options)
+ #:log-file "/var/log/memcached"
+ #:pid-file "/var/run/memcached/pid"))
+ (stop #~(make-kill-destructor)))))))
(define memcached-service-type
(service-type (name 'memcached)
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 389903451a..17599193e3 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -88,19 +88,6 @@
guix-build-coordinator-agent-service-type
- guix-build-coordinator-queue-builds-configuration
- guix-build-coordinator-queue-builds-configuration?
- guix-build-coordinator-queue-builds-configuration-package
- guix-build-coordinator-queue-builds-configuration-user
- guix-build-coordinator-queue-builds-coordinator
- guix-build-coordinator-queue-builds-configuration-systems
- guix-build-coordinator-queue-builds-configuration-system-and-targets
- guix-build-coordinator-queue-builds-configuration-guix-data-service
- guix-build-coordinator-queue-builds-configuration-guix-data-service-build-server-id
- guix-build-coordinator-queue-builds-configuration-processed-commits-file
-
- guix-build-coordinator-queue-builds-service-type
-
<guix-data-service-configuration>
guix-data-service-configuration
guix-data-service-configuration?
@@ -250,31 +237,6 @@
(agent-name guix-build-coordinator-agent-dynamic-auth-with-file-agent-name)
(token-file guix-build-coordinator-agent-dynamic-auth-with-file-token-file))
-(define-record-type* <guix-build-coordinator-queue-builds-configuration>
- guix-build-coordinator-queue-builds-configuration
- make-guix-build-coordinator-queue-builds-configuration
- guix-build-coordinator-queue-builds-configuration?
- (package guix-build-coordinator-queue-builds-configuration-package
- (default guix-build-coordinator))
- (user guix-build-coordinator-queue-builds-configuration-user
- (default "guix-build-coordinator-queue-builds"))
- (coordinator guix-build-coordinator-queue-builds-coordinator
- (default "http://localhost:8746"))
- (systems guix-build-coordinator-queue-builds-configuration-systems
- (default #f))
- (systems-and-targets
- guix-build-coordinator-queue-builds-configuration-system-and-targets
- (default #f))
- (guix-data-service
- guix-build-coordinator-queue-builds-configuration-guix-data-service
- (default "https://data.guix.gnu.org"))
- (guix-data-service-build-server-id
- guix-build-coordinator-queue-builds-configuration-guix-data-service-build-server-id
- (default #f))
- (processed-commits-file
- guix-build-coordinator-queue-builds-configuration-processed-commits-file
- (default "/var/cache/guix-build-coordinator-queue-builds/processed-commits")))
-
(define* (make-guix-build-coordinator-start-script database-uri-string
allocation-strategy
pid-file
@@ -380,10 +342,7 @@
;; Allow time for migrations to run
#:pid-file-timeout 60
#:environment-variables
- `(,(string-append
- "GUIX_LOCPATH="
- #$(libc-utf8-locales-for-target) "/lib/locale")
- "LC_ALL=en_US.utf8"
+ `("LC_ALL=en_US.utf8"
"PATH=/run/current-system/profile/bin" ; for hooks
#$@extra-environment-variables)
#:log-file "/var/log/guix-build-coordinator/coordinator.log")
@@ -508,10 +467,7 @@
(or systems '())))
#:user #$user
#:environment-variables
- `(,(string-append
- "GUIX_LOCPATH="
- #$(libc-utf8-locales-for-target) "/lib/locale")
- ;; XDG_CACHE_HOME is used by Guix when caching narinfo files
+ `(;; XDG_CACHE_HOME is used by Guix when caching narinfo files
"XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent"
"LC_ALL=en_US.utf8")
#:log-file "/var/log/guix-build-coordinator/agent.log"))))
@@ -559,101 +515,6 @@
(description
"Run a Guix Build Coordinator agent.")))
-(define (guix-build-coordinator-queue-builds-shepherd-services config)
- (match-record config <guix-build-coordinator-queue-builds-configuration>
- (package user coordinator systems systems-and-targets
- guix-data-service
- guix-data-service-build-server-id
- processed-commits-file)
- (list
- (shepherd-service
- (documentation "Guix Build Coordinator queue builds from Guix Data Service")
- (provision '(guix-build-coordinator-queue-builds))
- (requirement '(networking))
- (start
- #~(lambda _
- (parameterize ((%current-logfile-date-format ""))
- (fork+exec-command
- (list
- #$(file-append
- package
- "/bin/guix-build-coordinator-queue-builds-from-guix-data-service")
- #$(string-append "--coordinator=" coordinator)
- #$@(map (lambda (system)
- (string-append "--system=" system))
- (or systems '()))
- #$@(map (match-lambda
- ((system . target)
- (string-append "--system-and-target=" system "=" target)))
- (or systems-and-targets '()))
- #$@(if guix-data-service
- #~(#$(string-append "--guix-data-service=" guix-data-service))
- #~())
- #$@(if guix-data-service-build-server-id
- #~(#$(simple-format
- #f
- "--guix-data-service-build-server-id=~A"
- guix-data-service-build-server-id))
- #~())
- #$@(if processed-commits-file
- #~(#$(string-append "--processed-commits-file="
- processed-commits-file))
- #~()))
- #:user #$user
- #:environment-variables
- `(,(string-append
- "GUIX_LOCPATH="
- #$(libc-utf8-locales-for-target) "/lib/locale")
- "LC_ALL=en_US.utf8")
- #:log-file "/var/log/guix-build-coordinator/queue-builds.log"))))
- (stop #~(make-kill-destructor))
- (modules
- `((shepherd comm)
- ,@%default-modules))))))
-
-(define (guix-build-coordinator-queue-builds-activation config)
- #~(begin
- (use-modules (guix build utils))
-
- (define %user
- (getpw #$(guix-build-coordinator-queue-builds-configuration-user
- config)))
-
- (mkdir-p "/var/log/guix-build-coordinator")
-
- ;; Allow writing the processed commits file
- (mkdir-p "/var/cache/guix-build-coordinator-queue-builds")
- (chown "/var/cache/guix-build-coordinator-queue-builds"
- (passwd:uid %user)
- (passwd:gid %user))))
-
-(define (guix-build-coordinator-queue-builds-account config)
- (list (user-account
- (name (guix-build-coordinator-queue-builds-configuration-user config))
- (group "nogroup")
- (system? #t)
- (comment "Guix Build Coordinator queue-builds user")
- (home-directory "/var/empty")
- (shell (file-append shadow "/sbin/nologin")))))
-
-(define guix-build-coordinator-queue-builds-service-type
- (service-type
- (name 'guix-build-coordinator-queue-builds)
- (extensions
- (list
- (service-extension shepherd-root-service-type
- guix-build-coordinator-queue-builds-shepherd-services)
- (service-extension activation-service-type
- guix-build-coordinator-queue-builds-activation)
- (service-extension account-service-type
- guix-build-coordinator-queue-builds-account)))
- (description
- "Run the guix-build-coordinator-queue-builds-from-guix-data-service
-script.
-
-This is a script to assist in having the Guix Build Coordinator build
-derivations stored in an instance of the Guix Data Service.")))
-
;;;
;;; Guix Data Service
diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm
index c4963936a0..7505810e7c 100644
--- a/gnu/services/messaging.scm
+++ b/gnu/services/messaging.scm
@@ -849,56 +849,47 @@ string, you could instantiate a prosody service like this:
(target conf)))
#:namespaces (delq 'net %namespaces))))
- (with-imported-modules (source-module-closure
- '((gnu build shepherd)
- (gnu system file-systems)))
- (list (shepherd-service
- (provision '(bitlbee))
-
- ;; Note: If networking is not up, then /etc/resolv.conf
- ;; doesn't get mapped in the container, hence the dependency
- ;; on 'networking'.
- (requirement '(user-processes networking))
-
- (modules '((gnu build shepherd)
- (gnu system file-systems)))
- (start #~(if (defined? 'make-inetd-constructor)
-
- (make-inetd-constructor
- (list #$bitlbee* "-I" "-c" #$conf)
- (list (endpoint
- (addrinfo:addr
- (car (getaddrinfo #$interface
- #$(number->string port)
- (logior AI_NUMERICHOST
- AI_NUMERICSERV))))))
- #:requirements '#$requirement
- #:service-name-stem "bitlbee"
- #:user "bitlbee" #:group "bitlbee"
-
- ;; Allow 'bitlbee-purple' to use libpurple plugins.
- #:environment-variables
- (list (string-append "PURPLE_PLUGIN_PATH="
- #$plugins "/lib/purple-2")
- "GUIX_LOCPATH=/run/current-system/locale"))
-
- (make-forkexec-constructor/container
- (list #$(file-append bitlbee "/sbin/bitlbee")
- "-n" "-F" "-u" "bitlbee" "-c" #$conf)
-
- ;; Allow 'bitlbee-purple' to use libpurple plugins.
- #:environment-variables
- (list (string-append "PURPLE_PLUGIN_PATH="
- #$plugins "/lib/purple-2"))
-
- #:pid-file "/var/run/bitlbee.pid"
- #:mappings (list (file-system-mapping
- (source "/var/lib/bitlbee")
- (target source)
- (writable? #t))))))
- (stop #~(if (defined? 'make-inetd-destructor)
- (make-inetd-destructor)
- (make-kill-destructor))))))))))
+ (list (shepherd-service
+ (provision '(bitlbee))
+
+ ;; Note: If networking is not up, then /etc/resolv.conf
+ ;; doesn't get mapped in the container, hence the dependency
+ ;; on 'networking'.
+ (requirement '(user-processes networking))
+
+ (start #~(if (defined? 'make-inetd-constructor)
+
+ (make-inetd-constructor
+ (list #$bitlbee* "-I" "-c" #$conf)
+ (list (endpoint
+ (addrinfo:addr
+ (car (getaddrinfo #$interface
+ #$(number->string port)
+ (logior AI_NUMERICHOST
+ AI_NUMERICSERV))))))
+ #:requirements '#$requirement
+ #:service-name-stem "bitlbee"
+ #:user "bitlbee" #:group "bitlbee"
+
+ ;; Allow 'bitlbee-purple' to use libpurple plugins.
+ #:environment-variables
+ (list (string-append "PURPLE_PLUGIN_PATH="
+ #$plugins "/lib/purple-2")
+ "GUIX_LOCPATH=/run/current-system/locale"))
+
+ (make-forkexec-constructor
+ (list #$(file-append bitlbee "/sbin/bitlbee")
+ "-n" "-F" "-u" "bitlbee" "-c" #$conf)
+
+ ;; Allow 'bitlbee-purple' to use libpurple plugins.
+ #:environment-variables
+ (list (string-append "PURPLE_PLUGIN_PATH="
+ #$plugins "/lib/purple-2"))
+
+ #:pid-file "/var/run/bitlbee.pid")))
+ (stop #~(if (defined? 'make-inetd-destructor)
+ (make-inetd-destructor)
+ (make-kill-destructor)))))))))
(define %bitlbee-accounts
;; User group and account to run BitlBee.
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 0508a4282c..7c114fa53c 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -1918,29 +1918,35 @@ table inet filter {
(define (pagekite-shepherd-service config)
(match-record config <pagekite-configuration>
(package kitename kitesecret frontend kites extra-file)
- (with-imported-modules (source-module-closure
- '((gnu build shepherd)
- (gnu system file-systems)))
+ (let* ((config-file (pagekite-configuration-file config))
+ (mappings (cons (file-system-mapping
+ (source config-file)
+ (target source))
+ (if extra-file
+ (list (file-system-mapping
+ (source extra-file)
+ (target source)))
+ '())))
+ (pagekite (least-authority-wrapper
+ (file-append package "/bin/pagekite")
+ #:name "pagekite"
+ #:mappings mappings
+ ;; 'pagekite' changes user IDs to it needs to run in the
+ ;; global user namespace.
+ #:namespaces (fold delq %namespaces '(net user)))))
(shepherd-service
(documentation "Run the PageKite service.")
(provision '(pagekite))
(requirement '(networking))
- (modules '((gnu build shepherd)
- (gnu system file-systems)))
- (start #~(make-forkexec-constructor/container
- (list #$(file-append package "/bin/pagekite")
+ (actions (list (shepherd-configuration-action config-file)))
+ (start #~(make-forkexec-constructor
+ (list #$pagekite
"--clean"
"--nullui"
"--nocrashreport"
"--runas=pagekite:pagekite"
- (string-append "--optfile="
- #$(pagekite-configuration-file config)))
- #:log-file "/var/log/pagekite.log"
- #:mappings #$(if extra-file
- #~(list (file-system-mapping
- (source #$extra-file)
- (target source)))
- #~'())))
+ (string-append "--optfile=" #$config-file))
+ #:log-file "/var/log/pagekite.log"))
;; SIGTERM doesn't always work for some reason.
(stop #~(make-kill-destructor SIGINT))))))
diff --git a/gnu/services/security-token.scm b/gnu/services/security-token.scm
index 2356273398..d971091e73 100644
--- a/gnu/services/security-token.scm
+++ b/gnu/services/security-token.scm
@@ -50,22 +50,19 @@
(define pcscd-shepherd-service
(match-lambda
(($ <pcscd-configuration> pcsc-lite)
- (with-imported-modules (source-module-closure
- '((gnu build shepherd)))
- (shepherd-service
- (documentation "PC/SC Smart Card Daemon")
- (provision '(pcscd))
- (requirement '(syslogd))
- (modules '((gnu build shepherd)))
- (start #~(lambda _
- (let ((socket "/run/pcscd/pcscd.comm"))
- (when (file-exists? socket)
- (delete-file socket)))
- (fork+exec-command
- (list #$(file-append pcsc-lite "/sbin/pcscd")
- "--foreground")
- #:log-file "/var/log/pcscd.log")))
- (stop #~(make-kill-destructor)))))))
+ (shepherd-service
+ (documentation "PC/SC Smart Card Daemon")
+ (provision '(pcscd))
+ (requirement '(syslogd))
+ (start #~(lambda _
+ (let ((socket "/run/pcscd/pcscd.comm"))
+ (when (file-exists? socket)
+ (delete-file socket)))
+ (fork+exec-command
+ (list #$(file-append pcsc-lite "/sbin/pcscd")
+ "--foreground")
+ #:log-file "/var/log/pcscd.log")))
+ (stop #~(make-kill-destructor))))))
(define pcscd-activation
(match-lambda
diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm
index c9b5d6cd99..16d109b8b1 100644
--- a/gnu/services/telephony.scm
+++ b/gnu/services/telephony.scm
@@ -34,6 +34,9 @@
#:use-module (guix modules)
#:use-module (guix packages)
#:use-module (guix gexp)
+ #:autoload (guix least-authority) (least-authority-wrapper)
+ #:autoload (gnu system file-systems) (file-system-mapping)
+ #:autoload (gnu build linux-container) (%namespaces)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-26)
@@ -258,9 +261,37 @@ consistent state."))
(define (jami-configuration->command-line-arguments config)
"Derive the command line arguments to used to launch the Jami daemon from
CONFIG, a <jami-configuration> object."
+ (define (wrapper libjami)
+ (least-authority-wrapper
+ ;; XXX: 'gexp-input' is needed as the outer layer so that
+ ;; 'references-file' picks the right output of LIBJAMI.
+ (gexp-input (file-append (gexp-input libjami "bin") "/libexec/jamid")
+ "bin")
+ #:mappings
+ (list (file-system-mapping
+ (source "/dev/log") ;for syslog
+ (target source))
+ (file-system-mapping
+ (source "/var/lib/jami")
+ (target source)
+ (writable? #t))
+ (file-system-mapping
+ (source "/var/run/jami")
+ (target source)
+ (writable? #t))
+ ;; Expose TLS certificates for GnuTLS.
+ (file-system-mapping
+ (source (file-append nss-certs "/etc/ssl/certs"))
+ (target "/etc/ssl/certs")))
+ #:preserved-environment-variables
+ '("DBUS_SESSION_BUS_ADDRESS" "SSL_CERT_DIR")
+ #:user "jami"
+ #:group "jami"
+ #:namespaces (fold delq %namespaces '(net user))))
+
(match-record config <jami-configuration>
(libjami dbus enable-logging? debug? auto-answer?)
- `(,#~(string-append #$libjami:bin "/libexec/jamid")
+ `(,(wrapper libjami)
"--persistent" ;stay alive after client quits
,@(if enable-logging?
'() ;logs go to syslog by default
@@ -298,7 +329,28 @@ CONFIG, a <jami-configuration> object."
(let* ((libjami (jami-configuration-libjami config))
(nss-certs (jami-configuration-nss-certs config))
(dbus (jami-configuration-dbus config))
- (dbus-daemon (file-append dbus "/bin/dbus-daemon"))
+ (dbus-daemon (least-authority-wrapper
+ (file-append dbus "/bin/dbus-daemon")
+ #:name "dbus-daemon"
+ #:user "jami"
+ #:group "jami"
+ #:preserved-environment-variables
+ '("XDG_DATA_DIRS")
+ #:mappings
+ (list (file-system-mapping
+ (source "/dev/log") ;for syslog
+ (target source))
+ (file-system-mapping
+ (source "/var/run/jami")
+ (target source)
+ (writable? #t))
+ (file-system-mapping
+ (source (gexp-input libjami "bin"))
+ (target source)))
+ ;; 'dbus-daemon' wants to look up users in /etc/passwd
+ ;; so run it in the global user namespace.
+ #:namespaces
+ (fold delq %namespaces '(net user))))
(accounts (jami-configuration-accounts config))
(declarative-mode? (maybe-value-set? accounts)))
@@ -310,7 +362,6 @@ CONFIG, a <jami-configuration> object."
(with-imported-modules (source-module-closure
'((gnu build dbus-service)
(gnu build jami-service)
- (gnu build shepherd)
(gnu system file-systems)))
(define list-accounts-action
@@ -490,8 +541,7 @@ argument, either a registered username or the fingerprint of the account.")
(list (shepherd-service
(documentation "Run a D-Bus session for the Jami daemon.")
(provision '(jami-dbus-session))
- (modules `((gnu build shepherd)
- (gnu build dbus-service)
+ (modules `((gnu build dbus-service)
(gnu build jami-service)
(gnu system file-systems)
,@%default-modules))
@@ -499,26 +549,23 @@ argument, either a registered username or the fingerprint of the account.")
;; activation for D-Bus, such as a /etc/machine-id file.
(requirement '(dbus-system syslogd))
(start
- #~(make-forkexec-constructor/container
- (list #$dbus-daemon "--session"
- "--address=unix:path=/var/run/jami/bus"
- "--syslog-only")
- #:pid-file "/var/run/jami/pid"
- #:mappings
- (list (file-system-mapping
- (source "/dev/log") ;for syslog
- (target source))
- (file-system-mapping
- (source "/var/run/jami")
- (target source)
- (writable? #t)))
- #:user "jami"
- #:group "jami"
- #:environment-variables
- ;; This is so that the cx.ring.Ring service D-Bus
- ;; definition is found by dbus-daemon.
- (list (string-append "XDG_DATA_DIRS="
- #$libjami:bin "/share"))))
+ #~(lambda ()
+ (define pid
+ (fork+exec-command
+ (list #$dbus-daemon "--session"
+ "--address=unix:path=/var/run/jami/bus"
+ "--syslog-only")
+ #:environment-variables
+ ;; This is so that the cx.ring.Ring service D-Bus
+ ;; definition is found by dbus-daemon.
+ (list (string-append "XDG_DATA_DIRS="
+ #$libjami:bin "/share"))))
+
+ ;; The PID file contains the "wrong" PID (the one in the
+ ;; separate PID namespace) so ignore it and return the
+ ;; value returned by 'fork+exec-command'.
+ (and (read-pid-file "/var/run/jami/pid")
+ pid)))
(stop #~(make-kill-destructor)))
(shepherd-service
@@ -542,7 +589,6 @@ argument, either a registered username or the fingerprint of the account.")
(srfi srfi-26)
(gnu build dbus-service)
(gnu build jami-service)
- (gnu build shepherd)
(gnu system file-systems)
,@%default-modules))
(start
@@ -588,32 +634,14 @@ argument, either a registered username or the fingerprint of the account.")
;; Start the daemon.
(define daemon-pid
- ((make-forkexec-constructor/container
- (list #$@(jami-configuration->command-line-arguments
- config))
- #:mappings
- (list (file-system-mapping
- (source "/dev/log") ;for syslog
- (target source))
- (file-system-mapping
- (source "/var/lib/jami")
- (target source)
- (writable? #t))
- (file-system-mapping
- (source "/var/run/jami")
- (target source)
- (writable? #t))
- ;; Expose TLS certificates for GnuTLS.
- (file-system-mapping
- (source #$(file-append nss-certs "/etc/ssl/certs"))
- (target "/etc/ssl/certs")))
- #:user "jami"
- #:group "jami"
- #:environment-variables
- (list (string-append "DBUS_SESSION_BUS_ADDRESS="
- "unix:path=/var/run/jami/bus")
- ;; Expose TLS certificates for OpenSSL.
- "SSL_CERT_DIR=/etc/ssl/certs"))))
+ (fork+exec-command
+ (list #$@(jami-configuration->command-line-arguments
+ config))
+ #:environment-variables
+ (list (string-append "DBUS_SESSION_BUS_ADDRESS="
+ "unix:path=/var/run/jami/bus")
+ ;; Expose TLS certificates for OpenSSL.
+ "SSL_CERT_DIR=/etc/ssl/certs")))
(setenv "DBUS_SESSION_BUS_ADDRESS"
"unix:path=/var/run/jami/bus")
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 55cc095d90..05fd71f994 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -1232,31 +1232,29 @@ a webserver.")
(let* ((specs (hpcguix-web-configuration-specs config))
(config-file (and specs (scheme-file "hpcguix-web.scm" specs)))
(hpcguix-web (hpcguix-web-package config)))
- (with-imported-modules (source-module-closure
- '((gnu build shepherd)))
- (shepherd-service
- (documentation "hpcguix-web daemon")
- (provision '(hpcguix-web))
- (requirement '(networking))
- (start #~(make-forkexec-constructor
- (list #$(file-append hpcguix-web "/bin/hpcguix-web")
- (string-append "--listen="
- #$(hpcguix-web-configuration-address
- config))
- "-p"
- #$(number->string
- (hpcguix-web-configuration-port config))
- #$@(if specs
- #~((string-append "--config=" #$config-file))
- #~()))
- #:user "hpcguix-web"
- #:group "hpcguix-web"
- #:environment-variables
- (list "XDG_CACHE_HOME=/var/cache/guix/web"
- "SSL_CERT_DIR=/etc/ssl/certs")
- #:log-file #$%hpcguix-web-log-file))
- (stop #~(make-kill-destructor))
- (actions (list (shepherd-configuration-action config-file)))))))
+ (shepherd-service
+ (documentation "hpcguix-web daemon")
+ (provision '(hpcguix-web))
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ (list #$(file-append hpcguix-web "/bin/hpcguix-web")
+ (string-append "--listen="
+ #$(hpcguix-web-configuration-address
+ config))
+ "-p"
+ #$(number->string
+ (hpcguix-web-configuration-port config))
+ #$@(if specs
+ #~((string-append "--config=" #$config-file))
+ #~()))
+ #:user "hpcguix-web"
+ #:group "hpcguix-web"
+ #:environment-variables
+ (list "XDG_CACHE_HOME=/var/cache/guix/web"
+ "SSL_CERT_DIR=/etc/ssl/certs")
+ #:log-file #$%hpcguix-web-log-file))
+ (stop #~(make-kill-destructor))
+ (actions (list (shepherd-configuration-action config-file))))))
(define hpcguix-web-service-type
(service-type
diff --git a/gnu/system.scm b/gnu/system.scm
index 279b9df5c0..cfa036556d 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -59,7 +59,6 @@
#:use-module (gnu packages less)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
- #:use-module (gnu packages nano)
#:use-module (gnu packages nvi)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pciutils)
diff --git a/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm b/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm
new file mode 100644
index 0000000000..eaaa12ba78
--- /dev/null
+++ b/gnu/system/images/orangepi-r1-plus-lts-rk3328.scm
@@ -0,0 +1,76 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu system images orangepi-r1-plus-lts-rk3328)
+ #:use-module (gnu bootloader)
+ #:use-module (gnu bootloader u-boot)
+ #:use-module (gnu image)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages certs)
+ #:use-module (guix platforms arm)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (gnu services networking)
+ #:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system image)
+ #:use-module (srfi srfi-26)
+ #:export (orangepi-r1-plus-lts-rk3328-barebones-os
+ orangepi-r1-plus-lts-rk3328-image-type
+ orangepi-r1-plus-lts-rk3328-barebones-raw-image))
+
+(define orangepi-r1-plus-lts-rk3328-barebones-os
+ (operating-system
+ (host-name "windmolen")
+ (timezone "Europe/Amsterdam")
+ (locale "en_US.utf8")
+ (bootloader (bootloader-configuration
+ (bootloader u-boot-orangepi-r1-plus-lts-rk3328-bootloader)
+ (targets '("/dev/mmcblk0"))))
+ (initrd-modules '())
+ (kernel linux-libre-arm64-generic)
+ (file-systems (cons (file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext4")) %base-file-systems))
+ (services
+ (cons* (service agetty-service-type
+ (agetty-configuration (extra-options '("-L")) ;no carrier detect
+ (baud-rate "1500000")
+ (term "vt100")
+ (tty "ttyS2")))
+ (service dhcp-client-service-type)
+ (service ntp-service-type) %base-services))
+ (packages (cons nss-certs %base-packages))))
+
+(define orangepi-r1-plus-lts-rk3328-image-type
+ (image-type (name 'orangepi-r1-plus-lts-rk3328-raw)
+ (constructor (lambda (os)
+ (image (inherit (raw-with-offset-disk-image (expt
+ 2 24)))
+ (operating-system
+ os)
+ (platform aarch64-linux))))))
+
+(define orangepi-r1-plus-lts-rk3328-barebones-raw-image
+ (image (inherit (os+platform->image orangepi-r1-plus-lts-rk3328-barebones-os
+ aarch64-linux
+ #:type orangepi-r1-plus-lts-rk3328-image-type))
+ (name 'orangepi-r1-plus-lts-rk3328-barebones-raw-image)))
+
+orangepi-r1-plus-lts-rk3328-barebones-raw-image
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 336d13bd07..371bfc2a63 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
+;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -69,6 +70,7 @@
mx6cuboxi-installation-os
nintendo-nes-classic-edition-installation-os
novena-installation-os
+ orangepi-r1-plus-lts-rk3328-installation-os
firefly-rk3399-installation-os
pine64-plus-installation-os
pinebook-installation-os
@@ -633,6 +635,11 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
"/dev/mmcblk0" ; SD card (solder it yourself)
"ttyS0"))
+(define orangepi-r1-plus-lts-rk3328-installation-os
+ (embedded-installation-os u-boot-orangepi-r1-plus-lts-rk3328-bootloader
+ "/dev/mmcblk0" ; SD card storage
+ "ttyS0"))
+
(define pine64-plus-installation-os
(embedded-installation-os u-boot-pine64-plus-bootloader
"/dev/mmcblk0" ; SD card storage
diff --git a/gnu/tests/telephony.scm b/gnu/tests/telephony.scm
index 442258dbc3..f7d9c73767 100644
--- a/gnu/tests/telephony.scm
+++ b/gnu/tests/telephony.scm
@@ -184,13 +184,22 @@ jami account used as part of the jami configuration are left *unspecified*."
%load-path)
marionette))
+ (test-assert "dbus session is up"
+ (and (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (wait-for-service 'jami-dbus-session #:timeout 40))
+ marionette)
+ (wait-for-unix-socket "/var/run/jami/bus"
+ marionette)))
+
(test-assert "service is running"
(marionette-eval
'(begin
(use-modules (gnu build jami-service)
(gnu services herd))
- (wait-for-service 'jami)
+ (wait-for-service 'jami #:timeout 40)
(jami-service-available?))
marionette))
@@ -217,10 +226,10 @@ jami account used as part of the jami configuration are left *unspecified*."
(rnrs base) )
;; Start the service.
(start-service 'jami)
- (with-retries 20 1 (jami-service-available?))
+ (with-retries 40 1 (jami-service-available?))
;; Restart the service.
(restart-service 'jami)
- (with-retries 20 1 (jami-service-available?)))
+ (with-retries 40 1 (jami-service-available?)))
marionette))
(unless #$provisioning? (test-skip 1))
@@ -231,7 +240,7 @@ jami account used as part of the jami configuration are left *unspecified*."
(gnu services herd)
(rnrs base))
;; Accounts take some time to appear after being added.
- (with-retries 20 1
+ (with-retries 40 1
(with-shepherd-action 'jami ('list-accounts) results
(let ((account (assoc-ref (car results) #$username)))
(assert (string=? #$username
diff --git a/guix/deprecation.scm b/guix/deprecation.scm
index 8147a01e24..47e653dfb2 100644
--- a/guix/deprecation.scm
+++ b/guix/deprecation.scm
@@ -103,7 +103,7 @@ This will write a deprecation warning to GUIX-WARNING-PORT."
#'(define-deprecated variable alias alias)))))
(define-syntax-rule (define-deprecated/public body ...)
- "Like 'define/deprecated', but export all the newly introduced bindings."
+ "Like 'define-deprecated', but export all the newly introduced bindings."
(define-deprecated public body ...))
(define-syntax-rule (define-deprecated/alias deprecated replacement)
diff --git a/guix/download.scm b/guix/download.scm
index 38f5141cb9..21d02ab203 100644
--- a/guix/download.scm
+++ b/guix/download.scm
@@ -117,11 +117,9 @@
"http://internode.dl.sourceforge.net/project/"
"http://jaist.dl.sourceforge.net/project/"
"http://liquidtelecom.dl.sourceforge.net/project/"
- ;; "http://nbtelecom.dl.sourceforge.net/project/" ;never returns 404s
"http://nchc.dl.sourceforge.net/project/"
"http://netcologne.dl.sourceforge.net/project/"
"http://netix.dl.sourceforge.net/project/"
- "http://pilotfiber.dl.sourceforge.net/project/"
"http://tenet.dl.sourceforge.net/project/")
(netfilter.org ; https://www.netfilter.org/mirrors.html
"http://ftp.netfilter.org/pub/"
@@ -133,19 +131,21 @@
"http://ftp.be.debian.org/pub/"
"https://mirrors.edge.kernel.org/pub/"
"ftp://ftp.funet.fi/pub/mirrors/ftp.kernel.org/pub/")
- (apache ; from http://www.apache.org/mirrors/dist.html
- "http://www.eu.apache.org/dist/"
- "http://www.us.apache.org/dist/"
- "https://ftp.nluug.nl/internet/apache/"
+ (apache
+ "https://dlcdn.apache.org/"
+ "https://downloads.apache.org/"
+ "https://mirrors.sonic.net/apache/"
+ "https://apache.osuosl.org/"
+ "https://mirrors.ircam.fr/pub/apache/"
+ "https://apache-mirror.rbc.ru/pub/apache/"
+ "https://mirrors.ibiblio.org/apache/"
+
+ ;; No HTTPS.
"http://apache.mirror.iweb.ca/"
- "http://mirrors.ircam.fr/pub/apache/"
"http://apache.mirrors.ovh.net/ftp.apache.org/dist/"
- "http://apache-mirror.rbc.ru/pub/apache/"
- "ftp://ftp.osuosl.org/pub/apache/"
- "http://mirrors.ibiblio.org/apache/"
;; As a last resort, try the archive.
- "http://archive.apache.org/dist/")
+ "https://archive.apache.org/dist/")
(xorg ; from http://www.x.org/wiki/Releases/Download
"http://www.x.org/releases/" ; main mirrors
"http://mirror.csclub.uwaterloo.ca/x.org/" ; North America
@@ -271,7 +271,6 @@
"https://mirror.kumi.systems/kde/ftp/"
"https://mirrors.ircam.fr/pub/KDE/"
"https://ftp.gwdg.de/pub/linux/kde/"
- "https://mirrors.gethosted.online/kde/pub/kde/"
"https://fr2.rpmfind.net/linux/KDE/"
"https://mirror.faigner.de/kde/ftp/"
"https://www.mirrorservice.org/sites/download.kde.org/"
@@ -288,7 +287,6 @@
"https://mirrors.nav.ro/kde/"
"https://mirrors.xtom.ee/kde/"
"https://ftp.funet.fi/pub/mirrors/ftp.kde.org/pub/kde/"
- "https://kde.ip-connect.vn.ua/"
"https://mirrors.netix.net/kde/"
"https://ftp.cc.uoc.gr/mirrors/kde/"
;; North America
@@ -307,7 +305,7 @@
"https://mirrors.xtom.jp/kde/"
"https://mirrors.xtom.hk/kde/"
;; Africa
- "http://mirror.retentionrange.co.bw/kde/"
+ "https://mirror.dimensiondata.com/mirror/ftp.kde.org/"
;; Oceania
"https://mirrors.xtom.au/kde/")
(openbsd
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 0fe4f1c98a..29819878fa 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -775,6 +775,23 @@ x86_64-linux when COREUTILS is lowered."
whether this should be considered a \"native\" input or not."
(%gexp-input thing output native?))
+;; Allow <gexp-input>s to be used within gexps. This is useful when willing
+;; to force a specific reference to an object, as in (gexp-input hwloc "bin"),
+;; which forces a reference to the "bin" output of 'hwloc' instead of leaving
+;; it up to the recipient to pick the right output.
+(define-gexp-compiler gexp-input-compiler <gexp-input>
+ compiler => (lambda (obj system target)
+ (match obj
+ (($ <gexp-input> thing output native?)
+ (lower-object thing system
+ #:target (and (not native?) target)))))
+ expander => (lambda (obj lowered output/ignored)
+ (match obj
+ (($ <gexp-input> thing output native?)
+ (let ((expand (or (lookup-expander thing)
+ (lookup-expander lowered))))
+ (expand thing lowered output))))))
+
;; Reference to one of the derivation's outputs, for gexps used in
;; derivations.
(define-record-type <gexp-output>
@@ -917,6 +934,11 @@ When TARGET is true, use it as the cross-compilation target triplet."
corresponding <derivation-input> or store item."
(define tuple->gexp-input
(match-lambda
+ (((? gexp-input? input))
+ ;; This case lets users specify the output of interest more
+ ;; conveniently, for instance by passing (gexp-input hwloc "lib") to
+ ;; the 'references-file' procedure.
+ input)
((thing)
(%gexp-input thing "out" (not target)))
((thing output)
@@ -1135,10 +1157,9 @@ applicable.
When REFERENCES-GRAPHS is true, it must be a list of tuples of one of the
following forms:
- (FILE-NAME PACKAGE)
- (FILE-NAME PACKAGE OUTPUT)
- (FILE-NAME DERIVATION)
- (FILE-NAME DERIVATION OUTPUT)
+ (FILE-NAME OBJ)
+ (FILE-NAME OBJ OUTPUT)
+ (FILE-NAME GEXP-INPUT)
(FILE-NAME STORE-ITEM)
The right-hand-side of each element of REFERENCES-GRAPHS is automatically made
diff --git a/guix/least-authority.scm b/guix/least-authority.scm
index bfd7275e7c..3465fe9a48 100644
--- a/guix/least-authority.scm
+++ b/guix/least-authority.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2022-2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,6 +41,8 @@
(define* (least-authority-wrapper program
#:key (name "pola-wrapper")
+ (user #f)
+ (group #f)
(guest-uid 1000)
(guest-gid 1000)
(mappings '())
@@ -55,7 +57,11 @@ symbols; it runs with GUEST-UID and GUEST-GID. MAPPINGS is a list of
<file-system-mapping> records indicating directories mirrored inside the
execution environment of PROGRAM. DIRECTORY is the working directory of the
wrapped process. Each environment listed in PRESERVED-ENVIRONMENT-VARIABLES
-is preserved; other environment variables are erased."
+is preserved; other environment variables are erased.
+
+When USER and GROUP are set and NAMESPACES does not include 'user, change UIDs
+and GIDs to these prior to executing PROGRAM. This usually requires that the
+resulting wrapper be executed as root so it can call setgid(2) and setuid(2)."
(define code
(with-imported-modules (source-module-closure
'((gnu system file-systems)
@@ -113,6 +119,10 @@ is preserved; other environment variables are erased."
#$program signal)
(exit (+ 128 signal))))))
+ (define namespaces '#$namespaces)
+ (define host-group '#$group)
+ (define host-user '#$user)
+
;; Note: 'call-with-container' creates a sub-process that this one
;; waits for. This might seem suboptimal but unshare(2) isn't
;; really applicable: the process would still run in the same PID
@@ -123,6 +133,17 @@ is preserved; other environment variables are erased."
(lambda ()
(chdir #$directory)
(environ variables)
+
+ (unless (memq 'user namespaces)
+ ;; This process lives in its parent user namespace,
+ ;; presumably as root; now is the time to setgid/setuid if
+ ;; asked for it (the 'clone' call would fail with EPERM if we
+ ;; changed UIDs/GIDs beforehand).
+ (when host-group
+ (setgid (group:gid (getgr host-group))))
+ (when host-user
+ (setuid (passwd:uid (getpw host-user)))))
+
(apply execl #$program #$program (cdr (command-line))))
;; Don't assume PROGRAM can behave as an init process.
diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm
index 0441d3fead..19052d5652 100644
--- a/guix/scripts/download.scm
+++ b/guix/scripts/download.scm
@@ -55,7 +55,7 @@
file))
(define (ensure-valid-store-file-name name)
- "Replace any character not allowed in a stror name by an underscore."
+ "Replace any character not allowed in a store name by an underscore."
(define valid
;; according to nix/libstore/store-api.cc
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index 54555b92d7..461fcbc584 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -2155,11 +2155,11 @@ void DerivationGoal::runChild()
int cur = personality(0xffffffff);
if (cur != -1) personality(cur | ADDR_NO_RANDOMIZE);
- /* Ask the kernel to eagerly kill us & our children if it runs out of
- memory, regardless of blame, to preserve ‘real’ user data & state. */
- try {
- writeFile("/proc/self/oom_score_adj", "1000"); // 100%
- } catch (...) { ignoreException(); }
+ /* Ask the kernel to eagerly kill us & our children if it runs out of
+ memory, regardless of blame, to preserve ‘real’ user data & state. */
+ try {
+ writeFile("/proc/self/oom_score_adj", "1000"); // 100%
+ } catch (...) { ignoreException(); }
#endif
/* Fill in the environment. */
diff --git a/tests/gexp.scm b/tests/gexp.scm
index 0e3c446576..001786c13c 100644
--- a/tests/gexp.scm
+++ b/tests/gexp.scm
@@ -393,6 +393,30 @@
(list item))
(null? (lowered-gexp-inputs lexp)))))
+(test-equal "gexp references non-existent output"
+ "no-default-output"
+ (guard (c ((derivation-missing-output-error? c)
+ (derivation-name (derivation-error-derivation c))))
+ (let* ((obj (computed-file "no-default-output"
+ #~(mkdir #$output:bar)))
+ (exp #~(symlink #$obj #$output))
+ (drv (run-with-store %store (lower-gexp exp))))
+ (pk 'oops! drv #f))))
+
+(test-assert "gexp-input, as first-class input"
+ ;; Insert a <gexp-input> record in a gexp as a way to specify which output
+ ;; of OBJ should be used.
+ (let* ((obj (computed-file "foo" #~(mkdir #$output:bar)))
+ (exp #~(list #$(gexp-input obj "bar")))
+ (drv (run-with-store %store (lower-object obj)))
+ (item (derivation->output-path drv "bar"))
+ (lexp (run-with-store %store (lower-gexp exp))))
+ (and (match (lowered-gexp-inputs lexp)
+ ((input)
+ (eq? (derivation-input-derivation input) drv)))
+ (equal? (lowered-gexp-sexp lexp)
+ `(list ,item)))))
+
(test-assertm "with-parameters for %current-system"
(mlet* %store-monad ((system -> (match (%current-system)
("aarch64-linux" "x86_64-linux")
@@ -1628,6 +1652,36 @@ importing.* \\(guix config\\) from the host"
read)
refs)))))))
+(test-assertm "references-file, non-default output"
+ (let* ((exp #~(begin
+ (mkdir #$output)
+ (symlink #$%bootstrap-guile #$output:extra)))
+ (computed (computed-file "computed" exp
+ #:guile %bootstrap-guile))
+ (refs1 (references-file computed
+ #:guile %bootstrap-guile))
+ ;; Wrap COMPUTE in 'gexp-input' to get the "extra" output.
+ (refs2 (references-file (gexp-input computed "extra")
+ #:guile %bootstrap-guile)))
+ (mlet* %store-monad ((drv0 (lower-object %bootstrap-guile))
+ (drv1 (lower-object computed))
+ (drv2 (lower-object refs2))
+ (drv3 (lower-object refs1)))
+ (mbegin %store-monad
+ (built-derivations (list drv2 drv3))
+ (mlet %store-monad ((refs ((store-lift requisites)
+ (list (derivation->output-path
+ drv1 "extra")))))
+ (return
+ (and (lset= string=?
+ (call-with-input-file (derivation->output-path drv2)
+ read)
+ refs)
+ (lset= string=?
+ (call-with-input-file (derivation->output-path drv3)
+ read)
+ (list (derivation->output-path drv1))))))))))
+
(test-assert "lower-object & gexp-input-error?"
(guard (c ((gexp-input-error? c)
(gexp-error-invalid-input c)))