summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-12-02 19:13:45 +0100
committerMarius Bakke <marius@gnu.org>2022-12-02 19:13:45 +0100
commitf2b6350a507158b2a0ed28ada69d8ca3f544d5e5 (patch)
tree0dc9a7d9702e912b2fa098942a75e3e925629157 /gnu
parentc5e15ef4ddcbe7ebf77b4d24a99707396121cb6c (diff)
parent365b0b55334ab61e73f368f142af7aa1c3a3d28a (diff)
Merge branch 'master' into staging
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader.scm105
-rw-r--r--gnu/bootloader/grub.scm220
-rw-r--r--gnu/build/hurd-boot.scm50
-rw-r--r--gnu/home/services/mcron.scm58
-rw-r--r--gnu/home/services/shells.scm50
-rw-r--r--gnu/home/services/xdg.scm54
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/admin.scm4
-rw-r--r--gnu/packages/assembly.scm6
-rw-r--r--gnu/packages/astronomy.scm54
-rw-r--r--gnu/packages/audio.scm2
-rw-r--r--gnu/packages/backup.scm4
-rw-r--r--gnu/packages/bioconductor.scm89
-rw-r--r--gnu/packages/bioinformatics.scm97
-rw-r--r--gnu/packages/bootloaders.scm817
-rw-r--r--gnu/packages/build-tools.scm89
-rw-r--r--gnu/packages/cdrom.scm2
-rw-r--r--gnu/packages/chromium.scm42
-rw-r--r--gnu/packages/code.scm4
-rw-r--r--gnu/packages/compression.scm8
-rw-r--r--gnu/packages/cook.scm4
-rw-r--r--gnu/packages/cran.scm672
-rw-r--r--gnu/packages/crates-io.scm2793
-rw-r--r--gnu/packages/cups.scm10
-rw-r--r--gnu/packages/curl.scm5
-rw-r--r--gnu/packages/digest.scm12
-rw-r--r--gnu/packages/disk.scm7
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/ebook.scm1
-rw-r--r--gnu/packages/emacs-xyz.scm139
-rw-r--r--gnu/packages/engineering.scm45
-rw-r--r--gnu/packages/finance.scm4
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/ftp.scm2
-rw-r--r--gnu/packages/games.scm24
-rw-r--r--gnu/packages/geo.scm2
-rw-r--r--gnu/packages/gnome.scm2
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/gnuzilla.scm149
-rw-r--r--gnu/packages/golang.scm15
-rw-r--r--gnu/packages/gstreamer.scm2
-rw-r--r--gnu/packages/gtk.scm14
-rw-r--r--gnu/packages/hardware.scm23
-rw-r--r--gnu/packages/jami.scm1
-rw-r--r--gnu/packages/libreoffice.scm22
-rw-r--r--gnu/packages/linux.scm171
-rw-r--r--gnu/packages/lisp-xyz.scm66
-rw-r--r--gnu/packages/lisp.scm7
-rw-r--r--gnu/packages/mail.scm136
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/music.scm62
-rw-r--r--gnu/packages/patches/jami-sip-contacts.patch38
-rw-r--r--gnu/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch565
-rw-r--r--gnu/packages/patches/sbcl-fix-build-on-arm64-with-clisp-as-host.patch27
-rw-r--r--gnu/packages/patches/sssd-optional-systemd.patch45
-rw-r--r--gnu/packages/python-check.scm29
-rw-r--r--gnu/packages/python-science.scm4
-rw-r--r--gnu/packages/python-xyz.scm115
-rw-r--r--gnu/packages/qt.scm235
-rw-r--r--gnu/packages/raspberry-pi.scm136
-rw-r--r--gnu/packages/rust-apps.scm303
-rw-r--r--gnu/packages/rust.scm17
-rw-r--r--gnu/packages/sssd.scm9
-rw-r--r--gnu/packages/statistics.scm813
-rw-r--r--gnu/packages/texinfo.scm12
-rw-r--r--gnu/packages/text-editors.scm6
-rw-r--r--gnu/packages/video.scm33
-rw-r--r--gnu/packages/web.scm63
-rw-r--r--gnu/packages/wm.scm50
-rw-r--r--gnu/packages/wxwidgets.scm232
-rw-r--r--gnu/services/base.scm922
-rw-r--r--gnu/services/cuirass.scm4
-rw-r--r--gnu/services/getmail.scm22
-rw-r--r--gnu/services/networking.scm684
-rw-r--r--gnu/system/examples/raspberry-pi-64-nfs-root.tmpl75
-rw-r--r--gnu/system/examples/raspberry-pi-64.tmpl79
-rw-r--r--gnu/system/hurd.scm44
-rw-r--r--gnu/system/linux-container.scm28
78 files changed, 6904 insertions, 3851 deletions
diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm
index da65b9d5d5..2c36d8c6cf 100644
--- a/gnu/bootloader.scm
+++ b/gnu/bootloader.scm
@@ -322,26 +322,22 @@ instead~%")))
(force %bootloaders))
(leave (G_ "~a: no such bootloader~%") name)))
-(define (efi-bootloader-profile files bootloader-package hooks)
- "Creates a profile with BOOTLOADER-PACKAGE and a directory collection/ with
-links to additional FILES from the store. This collection is meant to be used
-by the bootloader installer.
+(define (efi-bootloader-profile packages files hooks)
+ "Creates a profile from the lists of PACKAGES and FILES from the store.
+This profile is meant to be used by the bootloader-installer.
FILES is a list of file or directory names from the store, which will be
-symlinked into the collection/ directory. If a directory name ends with '/',
-then the directory content instead of the directory itself will be symlinked
-into the collection/ directory.
+symlinked into the profile. If a directory name ends with '/', then the
+directory content instead of the directory itself will be symlinked into the
+profile.
-FILES may contain file like objects produced by functions like plain-file,
+FILES may contain file like objects produced by procedures like plain-file,
local-file, etc., or package contents produced with file-append.
HOOKS lists additional hook functions to modify the profile."
- (define (bootloader-collection manifest)
+ (define (efi-bootloader-profile-hook manifest)
(define build
- (with-imported-modules '((guix build utils)
- (ice-9 ftw)
- (srfi srfi-1)
- (srfi srfi-26))
+ (with-imported-modules '((guix build utils))
#~(begin
(use-modules ((guix build utils)
#:select (mkdir-p strip-store-file-name))
@@ -365,8 +361,7 @@ HOOKS lists additional hook functions to modify the profile."
(define (name-is-store-entry? name)
"Return #t if NAME is a direct store entry and nothing inside."
(not (string-index (strip-store-file-name name) #\/)))
- (let* ((collection (string-append #$output "/collection"))
- (files '#$files)
+ (let* ((files '#$files)
(directories (filter name-ends-with-/? files))
(names-from-directories
(append-map (lambda (directory)
@@ -374,11 +369,11 @@ HOOKS lists additional hook functions to modify the profile."
directories))
(names (append names-from-directories
(remove name-ends-with-/? files))))
- (mkdir-p collection)
+ (mkdir-p #$output)
(if (every file-exists? names)
(begin
(for-each (lambda (name)
- (symlink-to name collection
+ (symlink-to name #$output
(if (name-is-store-entry? name)
strip-store-file-name
basename)))
@@ -386,57 +381,63 @@ HOOKS lists additional hook functions to modify the profile."
#t)
#f)))))
- (gexp->derivation "bootloader-collection"
+ (gexp->derivation "efi-bootloader-profile"
build
#:local-build? #t
#:substitutable? #f
#:properties
`((type . profile-hook)
- (hook . bootloader-collection))))
+ (hook . efi-bootloader-profile-hook))))
- (profile (content (packages->manifest (list bootloader-package)))
- (name "bootloader-profile")
- (hooks (append (list bootloader-collection) hooks))
+ (profile (content (packages->manifest packages))
+ (name "efi-bootloader-profile")
+ (hooks (cons efi-bootloader-profile-hook hooks))
(locales? #f)
(allow-collisions? #f)
(relative-symlinks? #f)))
-(define* (efi-bootloader-chain files
- final-bootloader
+(define* (efi-bootloader-chain final-bootloader
#:key
+ (packages '())
+ (files '())
(hooks '())
- installer)
- "Define a bootloader chain with FINAL-BOOTLOADER as the final bootloader and
-certain directories and files from the store given in the list of FILES.
+ installer
+ disk-image-installer)
+ "Define a chain of bootloaders with the FINAL-BOOTLOADER, optional PACKAGES,
+and optional directories and files from the store given in the list of FILES.
-FILES may contain file like objects produced by functions like plain-file,
-local-file, etc., or package contents produced with file-append. They will be
-collected inside a directory collection/ inside a generated bootloader profile,
-which will be passed to the INSTALLER.
+The package of the FINAL-BOOTLOADER and all PACKAGES and FILES will be placed
+in an efi-bootloader-profile, which will be passed to the INSTALLER.
+
+FILES may contain file-like objects produced by procedures like plain-file,
+local-file, etc., or package contents produced with file-append.
If a directory name in FILES ends with '/', then the directory content instead
-of the directory itself will be symlinked into the collection/ directory.
+of the directory itself will be symlinked into the efi-bootloader-profile.
The procedures in the HOOKS list can be used to further modify the bootloader
profile. It is possible to pass a single function instead of a list.
-If the INSTALLER argument is used, then this function will be called to install
-the bootloader. Otherwise the installer of the FINAL-BOOTLOADER will be called."
- (let* ((final-installer (or installer
- (bootloader-installer final-bootloader)))
- (profile (efi-bootloader-profile files
- (bootloader-package final-bootloader)
- (if (list? hooks)
- hooks
- (list hooks)))))
- (bootloader
- (inherit final-bootloader)
- (package profile)
- (installer
- #~(lambda (bootloader target mount-point)
- (#$final-installer bootloader target mount-point)
- (copy-recursively
- (string-append bootloader "/collection")
- (string-append mount-point target)
- #:follow-symlinks? #t
- #:log (%make-void-port "w")))))))
+If the INSTALLER argument is used, then this gexp procedure will be called to
+install the efi-bootloader-profile. Otherwise the installer of the
+FINAL-BOOTLOADER will be called.
+
+If the DISK-IMAGE-INSTALLER is used, then this gexp procedure will be called
+to install the efi-bootloader-profile into a disk image. Otherwise the
+disk-image-installer of the FINAL-BOOTLOADER will be called."
+ (bootloader
+ (inherit final-bootloader)
+ (name "efi-bootloader-chain")
+ (package
+ (efi-bootloader-profile (cons (bootloader-package final-bootloader)
+ packages)
+ files
+ (if (list? hooks)
+ hooks
+ (list hooks))))
+ (installer
+ (or installer
+ (bootloader-installer final-bootloader)))
+ (disk-image-installer
+ (or disk-image-installer
+ (bootloader-disk-image-installer final-bootloader)))))
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index 7283257354..aab766fd6c 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -53,13 +53,14 @@
grub-theme-gfxmode
install-grub-efi-removable
- install-grub-efi-netboot
+ make-grub-efi-netboot-installer
grub-bootloader
grub-efi-bootloader
grub-efi-removable-bootloader
grub-efi32-bootloader
grub-efi-netboot-bootloader
+ grub-efi-netboot-removable-bootloader
grub-mkrescue-bootloader
grub-minimal-bootloader
@@ -353,7 +354,7 @@ code."
((or #f (? string?))
#~(format #f "search --file --set ~a" #$file)))))
-(define* (grub-configuration-file config entries
+(define* (make-grub-configuration grub config entries
#:key
(locale #f)
(system (%current-system))
@@ -453,9 +454,7 @@ menuentry ~s {
(define locale-config
(let* ((entry (first all-entries))
(device (menu-entry-device entry))
- (mount-point (menu-entry-device-mount-point entry))
- (bootloader (bootloader-configuration-bootloader config))
- (grub (bootloader-package bootloader)))
+ (mount-point (menu-entry-device-mount-point entry)))
#~(let ((locale #$(and locale
(locale-definition-source
(locale-name->definition locale))))
@@ -481,8 +480,6 @@ set lang=~a~%"
(define keyboard-layout-config
(let* ((layout (bootloader-configuration-keyboard-layout config))
- (grub (bootloader-package
- (bootloader-configuration-bootloader config)))
(keymap* (and layout
(keyboard-layout-file layout #:grub grub)))
(entry (first all-entries))
@@ -533,6 +530,16 @@ fi~%"))))
#:options '(#:local-build? #t
#:substitutable? #f)))
+(define (grub-configuration-file config . args)
+ (let* ((bootloader (bootloader-configuration-bootloader config))
+ (grub (bootloader-package bootloader)))
+ (apply make-grub-configuration grub config args)))
+
+(define (grub-efi-configuration-file . args)
+ (apply make-grub-configuration grub-efi args))
+
+(define grub-cfg "/boot/grub/grub.cfg")
+
;;;
@@ -674,42 +681,31 @@ fi~%"))))
((target-arm?) "--target=arm-efi"))
"--efi-directory" target-esp)))))
-(define (install-grub-efi-netboot subdir)
- "Define a grub-efi-netboot bootloader installer for installation in SUBDIR,
-which is usually efi/Guix or efi/boot."
- (let* ((system (string-split (nix-system->gnu-triplet
- (or (%current-target-system)
- (%current-system)))
- #\-))
- (arch (first system))
- (boot-efi-link (match system
- ;; These are the supportend systems and the names
- ;; defined by the UEFI standard for removable media.
- (("i686" _ ...) "/bootia32.efi")
- (("x86_64" _ ...) "/bootx64.efi")
- (("arm" _ ...) "/bootarm.efi")
- (("aarch64" _ ...) "/bootaa64.efi")
- (("riscv" _ ...) "/bootriscv32.efi")
- (("riscv64" _ ...) "/bootriscv64.efi")
- ;; Other systems are not supported, although defined.
- ;; (("riscv128" _ ...) "/bootriscv128.efi")
- ;; (("ia64" _ ...) "/bootia64.efi")
- ((_ ...) #f)))
- (core-efi (string-append
- ;; This is the arch dependent file name of GRUB, e.g.
- ;; i368-efi/core.efi or arm64-efi/core.efi.
- (match arch
- ("i686" "i386")
- ("aarch64" "arm64")
- ("riscv" "riscv32")
- (_ arch))
- "-efi/core.efi")))
- (with-imported-modules
- '((guix build union))
- #~(lambda (bootloader target mount-point)
- "Install the BOOTLOADER, which must be the package grub, as e.g.
-bootx64.efi or bootaa64.efi into SUBDIR, which is usually efi/Guix or efi/boot,
-below the directory TARGET for the system whose root is mounted at MOUNT-POINT.
+(define* (make-grub-efi-netboot-installer grub-efi grub-cfg subdir)
+ "Make a bootloader-installer for a grub-efi-netboot bootloader, which expects
+its files in SUBDIR and its configuration file in GRUB-CFG.
+
+As a grub-efi-netboot package is already pre-installed by 'grub-mknetdir', the
+installer basically copies all files from the bootloader-package (or profile)
+into the bootloader-target directory.
+
+Additionally for network booting over TFTP, two relative symlinks to the store
+and to the GRUB-CFG file are necessary. Due to this a TFTP root directory must
+not be located on a FAT file-system.
+
+If the bootloader-target does not support symlinks, then it is assumed to be a
+kind of EFI System Partition (ESP). In this case an intermediate configuration
+file is created with the help of GRUB-EFI to load the GRUB-CFG.
+
+The installer is usable for any efi-bootloader-chain, which prepares the
+bootloader-profile in a way ready for copying.
+
+The installer does not manipulate the system's 'UEFI Boot Manager'.
+
+The returned installer accepts the BOOTLOADER, TARGET and MOUNT-POINT
+arguments. Its job is to copy the BOOTLOADER, which must be a pre-installed
+grub-efi-netboot package with a SUBDIR like efi/boot or efi/Guix, below the
+directory TARGET for the system whose root is mounted at MOUNT-POINT.
MOUNT-POINT is the last argument in 'guix system init /etc/config.scm mnt/point'
or '/' for other 'guix system' commands.
@@ -719,17 +715,19 @@ bootloader-configuration in:
(operating-system
(bootloader (bootloader-configuration
- (targets '(\"/boot\"))
+ (targets '(\"/boot/efi\"))
…))
…)
TARGET is required to be an absolute directory name, usually mounted via NFS,
-and finally needs to be provided by a TFTP server as the TFTP root directory.
+and finally needs to be provided by a TFTP server as
+the TFTP root directory.
+Usually the installer will be used to prepare network booting over TFTP. Then
GRUB will load tftp://server/SUBDIR/grub.cfg and this file will instruct it to
load more files from the store like tftp://server/gnu/store/…-linux…/Image.
-To make this possible two symlinks will be created. The first symlink points
+To make this possible two symlinks are created. The first symlink points
relatively form MOUNT-POINT/TARGET/SUBDIR/grub.cfg to
MOUNT-POINT/boot/grub/grub.cfg, and the second symlink points relatively from
MOUNT-POINT/TARGET/%store-prefix to MOUNT-POINT/%store-prefix.
@@ -739,34 +737,80 @@ paths on the TFTP server side are unknown.
It is also important to note that both symlinks will point outside the TFTP root
directory and that the TARGET/%store-prefix symlink makes the whole store
-accessible via TFTP. Possibly the TFTP server must be configured
-to allow accesses outside its TFTP root directory. This may need to be
-considered for security aspects."
- (use-modules ((guix build union) #:select (symlink-relative)))
- (let* ((net-dir (string-append mount-point target "/"))
- (sub-dir (string-append net-dir #$subdir "/"))
- (store (string-append mount-point (%store-prefix)))
- (store-link (string-append net-dir (%store-prefix)))
- (grub-cfg (string-append mount-point "/boot/grub/grub.cfg"))
- (grub-cfg-link (string-append sub-dir (basename grub-cfg)))
- (boot-efi-link (string-append sub-dir #$boot-efi-link)))
- ;; Prepare the symlink to the store.
- (mkdir-p (dirname store-link))
- (false-if-exception (delete-file store-link))
- (symlink-relative store store-link)
- ;; Prepare the symlink to the grub.cfg, which points into the store.
- (mkdir-p (dirname grub-cfg-link))
- (false-if-exception (delete-file grub-cfg-link))
- (symlink-relative grub-cfg grub-cfg-link)
- ;; Install GRUB, which refers to the grub.cfg, with support for
- ;; encrypted partitions,
- (setenv "GRUB_ENABLE_CRYPTODISK" "y")
- (invoke/quiet (string-append bootloader "/bin/grub-mknetdir")
- (string-append "--net-directory=" net-dir)
- (string-append "--subdir=" #$subdir))
- ;; Prepare the bootloader symlink, which points to core.efi of GRUB.
- (false-if-exception (delete-file boot-efi-link))
- (symlink #$core-efi boot-efi-link))))))
+accessible via TFTP. Possibly the TFTP server must be configured to allow
+accesses outside its TFTP root directory. This all may need to be considered
+for security aspects. It is advised to disable any TFTP write access!
+
+The installer can also be used to prepare booting from local storage, if the
+underlying file-system, like FAT on an EFI System Partition (ESP), does not
+support symlinks. In this case the MOUNT-POINT/TARGET/SUBDIR/grub.cfg will be
+created with the help of GRUB-EFI to load the /boot/grub/grub.cfg file. A
+symlink to the store is not needed in this case."
+ (with-imported-modules '((guix build union))
+ #~(lambda (bootloader target mount-point)
+ ;; In context of a disk image creation TARGET will be #f and an
+ ;; installer is expected to do necessary installations on MOUNT-POINT,
+ ;; which will become the root file system. If TARGET is #f, this
+ ;; installer has nothing to do, as it only cares about the EFI System
+ ;; Partition (ESP).
+ (when target
+ (use-modules ((guix build union) #:select (symlink-relative))
+ (ice-9 popen)
+ (ice-9 rdelim))
+ (let* ((mount-point/target (string-append mount-point target "/"))
+ ;; When installing Guix, it is common to mount TARGET below
+ ;; MOUNT-POINT rather than the root directory.
+ (bootloader-target (if (file-exists? mount-point/target)
+ mount-point/target
+ target))
+ (store (string-append mount-point (%store-prefix)))
+ (store-link (string-append bootloader-target (%store-prefix)))
+ (grub-cfg (string-append mount-point #$grub-cfg))
+ (grub-cfg-link (string-append bootloader-target
+ #$subdir "/"
+ (basename grub-cfg))))
+ ;; Copy the bootloader into the bootloader-target directory.
+ ;; Should we beforehand recursively delete any existing file?
+ (copy-recursively bootloader bootloader-target
+ #:follow-symlinks? #t
+ #:log (%make-void-port "w"))
+ ;; For TFTP we need to install additional relative symlinks.
+ ;; If we install on an EFI System Partition (ESP) or some other FAT
+ ;; file-system, then symlinks cannot be created and are not needed.
+ ;; Therefore we ignore exceptions when trying.
+ ;; Prepare the symlink to the grub.cfg.
+ (mkdir-p (dirname grub-cfg-link))
+ (false-if-exception (delete-file grub-cfg-link))
+ (if (unspecified?
+ (false-if-exception (symlink-relative grub-cfg grub-cfg-link)))
+ ;; Symlinks are supported.
+ (begin
+ ;; Prepare the symlink to the store.
+ (mkdir-p (dirname store-link))
+ (false-if-exception (delete-file store-link))
+ (symlink-relative store store-link))
+ ;; Creating symlinks does not seem to be supported. Probably
+ ;; an ESP is used. Add a script to search and load the actual
+ ;; grub.cfg.
+ (let* ((probe #$(file-append grub-efi "/sbin/grub-probe"))
+ (port (open-pipe* OPEN_READ probe "--target=fs_uuid"
+ grub-cfg))
+ (search-root
+ (match (read-line port)
+ ((? eof-object?)
+ ;; There is no UUID available. As a fallback search
+ ;; everywhere for the grub.cfg.
+ (string-append "search --file --set " #$grub-cfg))
+ (fs-uuid
+ ;; The UUID to load the grub.cfg from is known.
+ (string-append "search --fs-uuid --set " fs-uuid))))
+ (load-grub-cfg (string-append "configfile " #$grub-cfg)))
+ (close-pipe port)
+ (with-output-to-file grub-cfg-link
+ (lambda ()
+ (display (string-join (list search-root
+ load-grub-cfg)
+ "\n")))))))))))
@@ -784,7 +828,7 @@ considered for security aspects."
(package grub)
(installer install-grub)
(disk-image-installer install-grub-disk-image)
- (configuration-file "/boot/grub/grub.cfg")
+ (configuration-file grub-cfg)
(configuration-file-generator grub-configuration-file)))
(define grub-minimal-bootloader
@@ -794,11 +838,12 @@ considered for security aspects."
(define grub-efi-bootloader
(bootloader
- (inherit grub-bootloader)
+ (name 'grub-efi)
+ (package grub-efi)
(installer install-grub-efi)
(disk-image-installer #f)
- (name 'grub-efi)
- (package grub-efi)))
+ (configuration-file grub-cfg)
+ (configuration-file-generator grub-configuration-file)))
(define grub-efi-removable-bootloader
(bootloader
@@ -813,11 +858,22 @@ considered for security aspects."
(name 'grub-efi32)
(package grub-efi32)))
-(define grub-efi-netboot-bootloader
+(define (make-grub-efi-netboot-bootloader name subdir)
(bootloader
- (inherit grub-efi-bootloader)
- (name 'grub-efi-netboot-bootloader)
- (installer (install-grub-efi-netboot "efi/Guix"))))
+ (name name)
+ (package (make-grub-efi-netboot (symbol->string name) subdir))
+ (installer (make-grub-efi-netboot-installer grub-efi grub-cfg subdir))
+ (disk-image-installer #f)
+ (configuration-file grub-cfg)
+ (configuration-file-generator grub-efi-configuration-file)))
+
+(define grub-efi-netboot-bootloader
+ (make-grub-efi-netboot-bootloader 'grub-efi-netboot-bootloader
+ "efi/Guix"))
+
+(define grub-efi-netboot-removable-bootloader
+ (make-grub-efi-netboot-bootloader 'grub-efi-netboot-removable-bootloader
+ "efi/boot"))
(define grub-mkrescue-bootloader
(bootloader
diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm
index ad3c50d61e..e068ffc202 100644
--- a/gnu/build/hurd-boot.scm
+++ b/gnu/build/hurd-boot.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -127,6 +127,9 @@ set."
(define (translated? file-name)
"Return true if a translator is installed on FILE-NAME."
+ ;; On GNU/Hurd, 'getxattr' in glibc opens the file without O_NOTRANS, and
+ ;; then, for "gnu.translator", it calls 'file_get_translator', resulting in
+ ;; EOPNOTSUPP (conversely, 'showtrans' opens the file with O_NOTRANS).
(if (string-contains %host-type "linux-gnu")
(passive-translator-xattr? file-name)
(passive-translator-installed? file-name)))
@@ -210,31 +213,34 @@ set."
;; 'fd_to_filename' in libc expects it.
("dev/fd" ("/hurd/magic" "--directory" "fd") #o555)
- ("dev/tty1" ("/hurd/term" "/dev/tty1" "hurdio" "/dev/vcs/1/console")
- #o666)
- ("dev/tty2" ("/hurd/term" "/dev/tty2" "hurdio" "/dev/vcs/2/console")
- #o666)
- ("dev/tty3" ("/hurd/term" "/dev/tty3" "hurdio" "/dev/vcs/3/console")
- #o666)
-
- ("dev/ptyp0" ("/hurd/term" "/dev/ptyp0" "pty-master" "/dev/ttyp0")
- #o666)
- ("dev/ptyp1" ("/hurd/term" "/dev/ptyp1" "pty-master" "/dev/ttyp1")
- #o666)
- ("dev/ptyp2" ("/hurd/term" "/dev/ptyp2" "pty-master" "/dev/ttyp2")
- #o666)
-
- ("dev/ttyp0" ("/hurd/term" "/dev/ttyp0" "pty-slave" "/dev/ptyp0")
- #o666)
- ("dev/ttyp1" ("/hurd/term" "/dev/ttyp1" "pty-slave" "/dev/ptyp1")
- #o666)
- ("dev/ttyp2" ("/hurd/term" "/dev/ttyp2" "pty-slave" "/dev/ptyp2")
- #o666)))
+ ;; Create a number of ttys; syslogd writes to tty12 by default.
+ ;; FIXME: Creating /dev/tty12 leads the console client to switch to
+ ;; tty12 when syslogd starts, which is confusing for users. Thus, do
+ ;; not create tty12.
+ ,@(map (lambda (n)
+ (let ((n (number->string n)))
+ `(,(string-append "dev/tty" n)
+ ("/hurd/term" ,(string-append "/dev/tty" n)
+ "hurdio" ,(string-append "/dev/vcs/" n "/console"))
+ #o666)))
+ (iota 11 1))
+
+ ,@(append-map (lambda (n)
+ (let ((n (number->string n)))
+ `((,(string-append "dev/ptyp" n)
+ ("/hurd/term" ,(string-append "/dev/ptyp" n)
+ "pty-master" ,(string-append "/dev/ttyp" n))
+ #o666)
+
+ (,(string-append "dev/ttyp" n)
+ ("/hurd/term" ,(string-append "/dev/ttyp" n)
+ "pty-slave" ,(string-append "/dev/ptyp" n))
+ #o666))))
+ (iota 10 0))))
(for-each scope-set-translator servers)
(mkdir* "dev/vcs/1")
(mkdir* "dev/vcs/2")
- (mkdir* "dev/vcs/2")
(rename-file (scope "dev/console") (scope "dev/console-"))
(for-each scope-set-translator devices)
diff --git a/gnu/home/services/mcron.scm b/gnu/home/services/mcron.scm
index 1d294a997c..5f35bfe054 100644
--- a/gnu/home/services/mcron.scm
+++ b/gnu/home/services/mcron.scm
@@ -77,35 +77,35 @@ Each message is also prefixed by a timestamp by GNU Shepherd."))
(define shepherd-schedule-action
(@@ (gnu services mcron) shepherd-schedule-action))
-(define home-mcron-shepherd-services
- (match-lambda
- (($ <home-mcron-configuration> mcron '()) ; no jobs to run
- '())
- (($ <home-mcron-configuration> mcron jobs log? log-format)
- (let ((files (job-files mcron jobs)))
- (list (shepherd-service
- (documentation "User cron jobs.")
- (provision '(mcron))
- (modules `((srfi srfi-1)
- (srfi srfi-26)
- (ice-9 popen) ; for the 'schedule' action
- (ice-9 rdelim)
- (ice-9 match)
- ,@%default-modules))
- (start #~(make-forkexec-constructor
- (list (string-append #$mcron "/bin/mcron")
- #$@(if log?
- #~("--log" "--log-format" #$log-format)
- #~())
- #$@files)
- #:log-file (string-append
- (or (getenv "XDG_LOG_HOME")
- (format #f "~a/.local/var/log"
- (getenv "HOME")))
- "/mcron.log")))
- (stop #~(make-kill-destructor))
- (actions
- (list (shepherd-schedule-action mcron files)))))))))
+(define (home-mcron-shepherd-services config)
+ (match-record config <home-mcron-configuration>
+ (mcron jobs log? log-format)
+ (if (null? jobs)
+ '() ;no jobs to run
+ (let ((files (job-files mcron jobs)))
+ (list (shepherd-service
+ (documentation "User cron jobs.")
+ (provision '(mcron))
+ (modules `((srfi srfi-1)
+ (srfi srfi-26)
+ (ice-9 popen) ;for the 'schedule' action
+ (ice-9 rdelim)
+ (ice-9 match)
+ ,@%default-modules))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$mcron "/bin/mcron")
+ #$@(if log?
+ #~("--log" "--log-format" #$log-format)
+ #~())
+ #$@files)
+ #:log-file (string-append
+ (or (getenv "XDG_LOG_HOME")
+ (format #f "~a/.local/var/log"
+ (getenv "HOME")))
+ "/mcron.log")))
+ (stop #~(make-kill-destructor))
+ (actions
+ (list (shepherd-schedule-action mcron files)))))))))
(define home-mcron-profile (compose list home-mcron-configuration-mcron))
diff --git a/gnu/home/services/shells.scm b/gnu/home/services/shells.scm
index 3e346c3813..b529c8e798 100644
--- a/gnu/home/services/shells.scm
+++ b/gnu/home/services/shells.scm
@@ -25,6 +25,7 @@
#:use-module (gnu packages bash)
#:use-module (guix gexp)
#:use-module (guix packages)
+ #:use-module (guix records)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
@@ -479,31 +480,30 @@ with text blocks from other extensions and the base service.")
with text blocks from other extensions and the base service."))
(define (home-bash-extensions original-config extension-configs)
- (match original-config
- (($ <home-bash-configuration> _ _ environment-variables aliases
- bash-profile bashrc bash-logout)
- (home-bash-configuration
- (inherit original-config)
- (environment-variables
- (append environment-variables
- (append-map
- home-bash-extension-environment-variables extension-configs)))
- (aliases
- (append aliases
- (append-map
- home-bash-extension-aliases extension-configs)))
- (bash-profile
- (append bash-profile
- (append-map
- home-bash-extension-bash-profile extension-configs)))
- (bashrc
- (append bashrc
- (append-map
- home-bash-extension-bashrc extension-configs)))
- (bash-logout
- (append bash-logout
- (append-map
- home-bash-extension-bash-logout extension-configs)))))))
+ (match-record original-config <home-bash-configuration>
+ (environment-variables aliases bash-profile bashrc bash-logout)
+ (home-bash-configuration
+ (inherit original-config)
+ (environment-variables
+ (append environment-variables
+ (append-map
+ home-bash-extension-environment-variables extension-configs)))
+ (aliases
+ (append aliases
+ (append-map
+ home-bash-extension-aliases extension-configs)))
+ (bash-profile
+ (append bash-profile
+ (append-map
+ home-bash-extension-bash-profile extension-configs)))
+ (bashrc
+ (append bashrc
+ (append-map
+ home-bash-extension-bashrc extension-configs)))
+ (bash-logout
+ (append bash-logout
+ (append-map
+ home-bash-extension-bash-logout extension-configs))))))
(define home-bash-service-type
(service-type (name 'home-bash)
diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm
index 63c6041cd4..865f8b81d7 100644
--- a/gnu/home/services/xdg.scm
+++ b/gnu/home/services/xdg.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
+;;; Copyright © 2021, 2022 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
@@ -35,10 +35,24 @@
#:export (home-xdg-base-directories-service-type
home-xdg-base-directories-configuration
home-xdg-base-directories-configuration?
+ home-xdg-base-directories-configuration-cache-home
+ home-xdg-base-directories-configuration-config-home
+ home-xdg-base-directories-configuration-data-home
+ home-xdg-base-directories-configuration-state-home
+ home-xdg-base-directories-configuration-log-home
+ home-xdg-base-directories-configuration-runtime-dir
home-xdg-user-directories-service-type
home-xdg-user-directories-configuration
home-xdg-user-directories-configuration?
+ home-xdg-user-directories-configuration-desktop
+ home-xdg-user-directories-configuration-documents
+ home-xdg-user-directories-configuration-download
+ home-xdg-user-directories-configuration-music
+ home-xdg-user-directories-configuration-pictures
+ home-xdg-user-directories-configuration-publicshare
+ home-xdg-user-directories-configuration-templates
+ home-xdg-user-directories-configuration-videos
xdg-desktop-action
xdg-desktop-entry
@@ -383,25 +397,25 @@ configuration."
(define (serialize-alist config)
(generic-serialize-alist append format-config config))
- (define (serialize-xdg-desktop-action action)
- (match action
- (($ <xdg-desktop-action> action name config)
- `(,(format #f "[Desktop Action ~a]\n"
- (string-capitalize (maybe-object->string action)))
- ,(format #f "Name=~a\n" name)
- ,@(serialize-alist config)))))
-
- (match entry
- (($ <xdg-desktop-entry> file name type config actions)
- (list (if (string-suffix? file ".desktop")
- file
- (string-append file ".desktop"))
- `("[Desktop Entry]\n"
- ,(format #f "Name=~a\n" name)
- ,(format #f "Type=~a\n"
- (string-capitalize (symbol->string type)))
- ,@(serialize-alist config)
- ,@(append-map serialize-xdg-desktop-action actions))))))
+ (define (serialize-xdg-desktop-action desktop-action)
+ (match-record desktop-action <xdg-desktop-action>
+ (action name config)
+ `(,(format #f "[Desktop Action ~a]\n"
+ (string-capitalize (maybe-object->string action)))
+ ,(format #f "Name=~a\n" name)
+ ,@(serialize-alist config))))
+
+ (match-record entry <xdg-desktop-entry>
+ (file name type config actions)
+ (list (if (string-suffix? file ".desktop")
+ file
+ (string-append file ".desktop"))
+ `("[Desktop Entry]\n"
+ ,(format #f "Name=~a\n" name)
+ ,(format #f "Type=~a\n"
+ (string-capitalize (symbol->string type)))
+ ,@(serialize-alist config)
+ ,@(append-map serialize-xdg-desktop-action actions)))))
(define-configuration home-xdg-mime-applications-configuration
(added
diff --git a/gnu/local.mk b/gnu/local.mk
index 08feab3e01..a109c52b54 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1345,6 +1345,7 @@ dist_patch_DATA = \
%D%/packages/patches/jami-fix-unit-tests-build.patch \
%D%/packages/patches/jami-libjami-headers-search.patch \
%D%/packages/patches/jami-no-webengine.patch \
+ %D%/packages/patches/jami-sip-contacts.patch \
%D%/packages/patches/jami-sip-unregister.patch \
%D%/packages/patches/jami-xcb-link.patch \
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
@@ -1822,6 +1823,7 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
%D%/packages/patches/rustc-1.54.0-src.patch \
+ %D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-adblock-ignore-live-tests.patch \
%D%/packages/patches/i3status-rust-enable-unstable-features.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
@@ -1836,7 +1838,6 @@ dist_patch_DATA = \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
%D%/packages/patches/sbcl-clml-fix-types.patch \
- %D%/packages/patches/sbcl-fix-build-on-arm64-with-clisp-as-host.patch \
%D%/packages/patches/sbcl-png-fix-sbcl-compatibility.patch \
%D%/packages/patches/scalapack-gcc-10-compilation.patch \
%D%/packages/patches/scheme48-tests.patch \
@@ -1867,7 +1868,6 @@ dist_patch_DATA = \
%D%/packages/patches/spectre-meltdown-checker-find-kernel.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/spice-vdagent-glib-2.68.patch \
- %D%/packages/patches/sssd-optional-systemd.patch \
%D%/packages/patches/sssd-system-directories.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/suitesparse-mongoose-cmake.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 99231a710e..b1f928014e 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1175,7 +1175,7 @@ would need and has several interesting built-in capabilities.")
(define-public netcat-openbsd
(package
(name "netcat-openbsd")
- (version "1.218-5")
+ (version "1.219-1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1184,7 +1184,7 @@ would need and has several interesting built-in capabilities.")
(file-name (git-file-name name version))
(sha256
(base32
- "0hpbmz9m2q22a6qgbn9590z2x96xgffim8g0m1v47mariz3pqhlc"))))
+ "1fhrmnbdl6bgsjk02vi78zy9i486mmniymbbbhdkzl8zfjbjkpxc"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 8a899f0020..7e36bbcc71 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -144,8 +144,10 @@ debugging information in STABS, DWARF 2, and CodeView 8 formats.")
(build-system gnu-build-system)
(native-inputs (list zlib))
(arguments
- ;; Some tests fail when run in parallel.
- `(#:parallel-tests? #f))
+ `(#:configure-flags
+ (list "--disable-static")
+ ;; Some tests fail when run in parallel.
+ #:parallel-tests? #f))
(synopsis "Library for generating assembly code at runtime")
(description
"GNU Lightning is a library that generates assembly language code at
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 439fdf72a8..759ccbec9e 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -89,6 +89,58 @@
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
+(define-public alfa
+ (package
+ (name "alfa")
+ (version "2.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rwesson/ALFA")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0aqxqar36822mh373awsl79j7zn8vik4yddyydsxv0c76gn4i2k3"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:parallel-build? #f
+ #:make-flags #~(list (string-append "PREFIX="
+ #$output)
+ (string-append "VERSION="
+ #$version))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (add-after 'install 'post-install-check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "fittest")))))))
+ (inputs (list cfitsio gfortran))
+ (home-page "https://nebulousresearch.org/codes/alfa/")
+ (synopsis "Automated line fitting algorithm")
+ (description
+ "This package provides @acronym{ALFA, Automatic line fitting algorithm},
+which can identify and fit hundreds of lines in emission line spectra in just a
+few seconds with following features:
+@itemize
+
+@item A population of synthetic spectra is generated using a reference line
+catalogue.
+
+@item The goodness of fit for each synthetic spectrum is calculated. The best
+sets of parameters are retained and the rest discarded.
+
+@item A new population of synthetic spectra is obtained by averaging pairs of
+the best performers.
+
+@item A small fraction of the parameters of the lines in the new generation are
+randomly altered.
+
+@item The process repeats until a good fit is obtained.
+@end itemize")
+ (license license:gpl3)))
+
(define-public aocommon
(let ((commit "7329a075271edab8f6264db649e81e62b2b6ae5e")
(revision "1"))
@@ -1873,7 +1925,7 @@ It can be used to calculate the trajectory of satellites.")
(native-inputs
(list boost pkg-config))
(inputs
- (list cfitsio freeimage glew wxwidgets))
+ (list cfitsio freeimage glew wxwidgets-3.0))
(home-page "https://github.com/GreatAttractor/imppg")
(synopsis "Astronomical Image Post-Proccessor (ImPPG)")
(description
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 466dd65a1f..42a0608073 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -892,7 +892,7 @@ engineers, musicians, soundtrack editors and composers.")
#t))))
(build-system cmake-build-system)
(inputs
- (list wxwidgets-3.1
+ (list wxwidgets
gtk+
alsa-lib
jack-1
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 67708138a6..00d95e7b3d 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1088,14 +1088,14 @@ interactive mode.")
(define-public btrbk
(package
(name "btrbk")
- (version "0.32.4")
+ (version "0.32.5")
(source (origin
(method url-fetch)
(uri (string-append "https://digint.ch/download/btrbk/releases/"
"btrbk-" version ".tar.xz"))
(sha256
(base32
- "1nl6cbzqkc2srwi1428vijq69rp5cdx7484zcx61ph0rnhg9srfc"))))
+ "1d4zqf5klad55gdzzldipsjrhpprixzjmn03g66df5h2d28l1zpi"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index bb319a13e5..c62c5970b8 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -2454,13 +2454,13 @@ plants. The method has been specifically designed to:
(define-public r-alpine
(package
(name "r-alpine")
- (version "1.22.0")
+ (version "1.24.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "alpine" version))
(sha256
(base32
- "1nl1hxwakh5m9rqm3ksn2jzknsj9xnwl51bmc30knknm4q35wdv9"))))
+ "0rjnwljh4c2f7ml0m14pllns4pvyjwwf23qsn6zjygm5x04bapf0"))))
(properties `((upstream-name . "alpine")))
(build-system r-build-system)
(propagated-inputs
@@ -4216,18 +4216,19 @@ mapping.")
(define-public r-nmf
(package
(name "r-nmf")
- (version "0.24.0")
+ (version "0.25")
(source
(origin
(method url-fetch)
(uri (cran-uri "NMF" version))
(sha256
(base32
- "14yxra6in5c1md5nr75y8cdmh9pg0lxqabqflvlhgg1vbg9i2628"))))
+ "0kdl7yz4v7pms6y2lff4x5w7pwkx54488qx0v539qmvcbxv1if98"))))
(properties `((upstream-name . "NMF")))
(build-system r-build-system)
(propagated-inputs
(list r-cluster
+ r-codetools
r-biobase
r-biocmanager
r-bigmemory ; suggested
@@ -4238,7 +4239,6 @@ mapping.")
r-foreach
r-ggplot2
r-gridbase
- r-pkgmaker
r-rcolorbrewer
r-registry
r-reshape2
@@ -4787,13 +4787,13 @@ only one command.")
(define-public r-biocparallel
(package
(name "r-biocparallel")
- (version "1.32.1")
+ (version "1.32.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocParallel" version))
(sha256
(base32
- "1fkfbs0n0sdssli7ibrswkfag080kgv8n1zf6ssxx729g1fz3m3h"))))
+ "0z2g3p6ip4g865na9bmqaa7w2s52769pmjr3hpiv6x8bhifh3nm5"))))
(properties
`((upstream-name . "BiocParallel")))
(build-system r-build-system)
@@ -6010,6 +6010,42 @@ reduction (between group analysis) and joint dimension reduction of two
datasets (coinertia analysis).")
(license license:artistic2.0)))
+(define-public r-metaneighbor
+ (package
+ (name "r-metaneighbor")
+ (version "1.18.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "MetaNeighbor" version))
+ (sha256
+ (base32
+ "1gjjp5qlmv26sd3fvrd8cgv3invckxr8ldjpizpqm4mxjzifxwpm"))))
+ (properties `((upstream-name . "MetaNeighbor")))
+ (build-system r-build-system)
+ (propagated-inputs
+ (list r-beanplot
+ r-dplyr
+ r-ggplot2
+ r-gplots
+ r-igraph
+ r-matrix
+ r-matrixstats
+ r-rcolorbrewer
+ r-singlecellexperiment
+ r-summarizedexperiment
+ r-tibble
+ r-tidyr))
+ (native-inputs (list r-knitr))
+ (home-page "https://bioconductor.org/packages/MetaNeighbor")
+ (synopsis "Single cell replicability analysis")
+ (description
+ "This package implements a method to rapidly assess cell type identity using
+both functional and random gene sets and it allows users to quantify cell type
+replicability across datasets using neighbor voting. @code{MetaNeighbor} works
+on the basis that cells of the same type should have more similar gene expression
+profiles than cells of different types.")
+ (license license:expat)))
+
(define-public r-methylkit
(package
(name "r-methylkit")
@@ -8765,6 +8801,41 @@ representations of analysis results in order to provide additional
information.")
(license license:lgpl3)))
+(define-public r-glmgampoi
+ (package
+ (name "r-glmgampoi")
+ (version "1.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "glmGamPoi" version))
+ (sha256
+ (base32
+ "12jbqigg4k2ngrk2anbrrxrwkp57bbzdz492lg8lc6w1gygp5yip"))))
+ (properties `((upstream-name . "glmGamPoi")))
+ (build-system r-build-system)
+ (propagated-inputs
+ (list r-beachmat
+ r-biocgenerics
+ r-delayedarray
+ r-delayedmatrixstats
+ r-hdf5array
+ r-matrixgenerics
+ r-matrixstats
+ r-rcpp
+ r-rcpparmadillo
+ r-rlang
+ r-singlecellexperiment
+ r-summarizedexperiment))
+ (native-inputs (list r-knitr))
+ (home-page "https://github.com/const-ae/glmGamPoi")
+ (synopsis "Fit a Gamma-Poisson Generalized Linear Model")
+ (description
+ "Fit linear models to overdispersed count data. The package can estimate
+the overdispersion and fit repeated models for matrix input. It is designed
+to handle large input datasets as they typically occur in single cell RNA-seq
+experiments.")
+ (license license:gpl3)))
+
(define-public r-rots
(package
(name "r-rots")
@@ -17820,14 +17891,14 @@ the Bioconductor project.")
(define-public r-biodb
(package
(name "r-biodb")
- (version "1.6.0")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biodb" version))
(sha256
(base32
- "08ahz3v2xbhwfh89dbnhhcdm0x5qv4hibi8wknlqf5x8gqm5j5w6"))))
+ "0mbqsias2ajw29d1wgl10y2cjqv3slrsgifccz0kh9l5r6bk28vz"))))
(properties `((upstream-name . "biodb")))
(build-system r-build-system)
(propagated-inputs
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 6c6ff3e25a..c3cdbb9e66 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -57,6 +57,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix build-system r)
@@ -10601,6 +10602,102 @@ traditional read alignments) and massively-parallel stochastic collapsed
variational inference.")
(license license:gpl3+)))
+(define-public python-fanc
+ (package
+ (name "python-fanc")
+ (version "0.9.25")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vaquerizaslab/fanc")
+ ;; There are no tags. This commit corresponds to
+ ;; version 0.9.25.
+ (commit "e2205346c13ea5349681dff21adeb271d4ea5261")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rxq24p852iiayi0083fyigvc30as695rha71q6xd4s2ij1k9mqi"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv"
+ "-k"
+ ;; XXX: These all fail because they fail to read
+ ;; the included test_{cooler,juicer}.hic files.
+ (string-append "not test_edges_iter"
+ " and not test_get_edges_uncorrected"
+ " and not test_get_edges"))))))))
+ (propagated-inputs
+ (list python-biopython
+ python-cooler
+ python-deprecated
+ python-future
+ python-genomic-regions
+ python-gridmap
+ python-h5py
+ python-intervaltree
+ python-matplotlib
+ python-msgpack
+ python-msgpack-numpy
+ python-numpy
+ python-pandas
+ python-pillow
+ python-progressbar2
+ python-pybedtools
+ python-pybigwig
+ python-pysam
+ python-pytest
+ python-pyyaml
+ python-scikit-image
+ python-scikit-learn
+ python-scipy
+ python-seaborn
+ python-tables))
+ (native-inputs
+ (list python-cython))
+ (home-page "https://github.com/vaquerizaslab/fanc")
+ (synopsis "Framework for the analysis of C-data")
+ (description
+ "FAN-C provides a pipeline for analysing Hi-C data starting at
+mapped paired-end sequencing reads.")
+ (license license:gpl3+)))
+
+(define-public python-genomic-regions
+ (package
+ (name "python-genomic-regions")
+ (version "0.0.10")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "genomic_regions" version))
+ (sha256
+ (base32
+ "0hz811iyd1prml1r90qyzimmwyjwycwkjqw4vnl12bxy61rfzjz5"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs
+ (list python-future
+ python-intervaltree
+ python-numpy
+ python-pandas
+ python-pybedtools
+ python-pybigwig
+ python-pytest
+ python-msgpack-numpy
+ python-cython
+ python-msgpack
+ python-pysam))
+ (home-page "https://pypi.org/project/genomic-regions/")
+ (synopsis "Consistently handle genomic regions")
+ (description "This package aims to simplify working with genomic region /
+interval data by providing a common interface that lets you access a wide
+selection of file types and formats for handling genomic region data---all
+using the same syntax.")
+ (license license:expat)))
+
(define-public python-loompy
(package
(name "python-loompy")
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 210bc30536..8888c51736 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -67,13 +68,17 @@
#:use-module (gnu packages virtualization)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
+ #:use-module (ice-9 optargs)
+ #:use-module (ice-9 match)
#:use-module (ice-9 regex))
(define unifont
@@ -92,22 +97,22 @@
(name "grub")
(version "2.06")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
- (sha256
- (base32
- "1qbycnxkx07arj9f2nlsi9kp0dyldspbv07ysdyd34qvz55a97mp"))
- (patches (search-patches
- "grub-efi-fat-serial-number.patch"
- "grub-setup-root.patch"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Adjust QEMU invocation to not use a deprecated device
- ;; name that was removed in QEMU 6.0. Remove for >2.06.
- (substitute* "tests/ahci_test.in"
- (("ide-drive")
- "ide-hd"))))))
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1qbycnxkx07arj9f2nlsi9kp0dyldspbv07ysdyd34qvz55a97mp"))
+ (patches (search-patches
+ "grub-efi-fat-serial-number.patch"
+ "grub-setup-root.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Adjust QEMU invocation to not use a deprecated device
+ ;; name that was removed in QEMU 6.0. Remove for >2.06.
+ (substitute* "tests/ahci_test.in"
+ (("ide-drive")
+ "ide-hd"))))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -117,65 +122,62 @@
(list "PYTHON=true")
;; Grub fails to load modules stripped with --strip-unneeded.
#:strip-flags '("--strip-debug" "--enable-deterministic-archives")
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch-stuff
- (lambda* (#:key native-inputs inputs #:allow-other-keys)
- (substitute* "grub-core/Makefile.in"
- (("/bin/sh") (which "sh")))
-
- ;; Give the absolute file name of 'mdadm', used to
- ;; determine the root file system when it's a RAID
- ;; device. Failing to do that, 'grub-probe' silently
- ;; fails if 'mdadm' is not in $PATH.
- (when (assoc-ref inputs "mdadm")
- (substitute* "grub-core/osdep/linux/getroot.c"
- (("argv\\[0\\] = \"mdadm\"")
- (string-append "argv[0] = \""
- (assoc-ref inputs "mdadm")
- "/sbin/mdadm\""))))
-
- ;; Make the font visible.
- (copy-file (assoc-ref (or native-inputs inputs)
- "unifont")
- "unifont.bdf.gz")
- (system* "gunzip" "unifont.bdf.gz")
-
- ;; Give the absolute file name of 'ckbcomp'.
- (substitute* "util/grub-kbdcomp.in"
- (("^ckbcomp ")
- (string-append
- (search-input-file inputs "/bin/ckbcomp")
- " ")))))
- (add-after 'unpack 'set-freetype-variables
- ;; These variables need to be set to the native versions
- ;; of the dependencies because they are used to build
- ;; programs which are executed during build time.
- (lambda* (#:key native-inputs #:allow-other-keys)
- (when (assoc-ref native-inputs "freetype")
- (let ((freetype (assoc-ref native-inputs "freetype")))
- (setenv "BUILD_FREETYPE_LIBS"
- (string-append "-L" freetype
- "/lib -lfreetype"))
- (setenv "BUILD_FREETYPE_CFLAGS"
- (string-append "-I" freetype
- "/include/freetype2"))))
- #t))
- (add-before 'check 'disable-flaky-test
- (lambda _
- ;; This test is unreliable. For more information, see:
- ;; <https://bugs.gnu.org/26936>.
- (substitute* "Makefile.in"
- (("grub_cmd_date grub_cmd_set_date grub_cmd_sleep")
- "grub_cmd_date grub_cmd_sleep"))
- #t))
- (add-before 'check 'disable-pixel-perfect-test
- (lambda _
- ;; This test compares many screenshots rendered with an
- ;; older Unifont (9.0.06) than that packaged in Guix.
- (substitute* "Makefile.in"
- (("test_unset grub_func_test")
- "test_unset"))
- #t)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-stuff
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (substitute* "grub-core/Makefile.in"
+ (("/bin/sh") (which "sh")))
+
+ ;; Give the absolute file name of 'mdadm', used to determine the
+ ;; root file system when it's a RAID device. Failing to do that,
+ ;; 'grub-probe' silently fails if 'mdadm' is not in $PATH.
+ (when (assoc-ref inputs "mdadm")
+ (substitute* "grub-core/osdep/linux/getroot.c"
+ (("argv\\[0\\] = \"mdadm\"")
+ (string-append "argv[0] = \""
+ (assoc-ref inputs "mdadm")
+ "/sbin/mdadm\""))))
+
+ ;; Make the font visible.
+ (copy-file (assoc-ref (or native-inputs inputs)
+ "unifont")
+ "unifont.bdf.gz")
+ (system* "gunzip" "unifont.bdf.gz")
+
+ ;; Give the absolute file name of 'ckbcomp'.
+ (substitute* "util/grub-kbdcomp.in"
+ (("^ckbcomp ")
+ (string-append
+ (search-input-file inputs "/bin/ckbcomp")
+ " ")))))
+ (add-after 'unpack 'set-freetype-variables
+ ;; These variables need to be set to the native versions of the
+ ;; dependencies because they are used to build programs which are
+ ;; executed during build time.
+ (lambda* (#:key native-inputs #:allow-other-keys)
+ (when (assoc-ref native-inputs "freetype")
+ (let ((freetype (assoc-ref native-inputs "freetype")))
+ (setenv "BUILD_FREETYPE_LIBS"
+ (string-append "-L" freetype
+ "/lib -lfreetype"))
+ (setenv "BUILD_FREETYPE_CFLAGS"
+ (string-append "-I" freetype
+ "/include/freetype2"))))))
+ (add-before 'check 'disable-flaky-test
+ (lambda _
+ ;; This test is unreliable. For more information, see:
+ ;; <https://bugs.gnu.org/26936>.
+ (substitute* "Makefile.in"
+ (("grub_cmd_date grub_cmd_set_date grub_cmd_sleep")
+ "grub_cmd_date grub_cmd_sleep"))))
+ (add-before 'check 'disable-pixel-perfect-test
+ (lambda _
+ ;; This test compares many screenshots rendered with an older
+ ;; Unifont (9.0.06) than that packaged in Guix.
+ (substitute* "Makefile.in"
+ (("test_unset grub_func_test")
+ "test_unset")))))
;; Disable tests on ARM and AARCH64 platforms or when cross-compiling.
#:tests? ,(not (or (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
@@ -222,19 +224,19 @@
("flex" ,flex)
("texinfo" ,texinfo)
("help2man" ,help2man)
- ("freetype" ,freetype) ; native version needed for build-grub-mkfont
+ ("freetype" ,freetype) ;native version needed for build-grub-mkfont
;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils
;; capable of assembling 64-bit instructions. However, our default
;; binutils on 32-bit x86 is not 64-bit capable.
,@(if (string-match "^i[3456]86-" (%current-system))
(let ((binutils (package/inherit
- binutils
- (name "binutils-i386")
- (arguments
- (substitute-keyword-arguments (package-arguments binutils)
- ((#:configure-flags flags ''())
- `(cons "--enable-64-bit-bfd" ,flags)))))))
+ binutils
+ (name "binutils-i386")
+ (arguments
+ (substitute-keyword-arguments (package-arguments binutils)
+ ((#:configure-flags flags ''())
+ `(cons "--enable-64-bit-bfd" ,flags)))))))
`(("ld-wrapper" ,(make-ld-wrapper "ld-wrapper-i386"
#:binutils binutils))
("binutils" ,binutils)))
@@ -342,21 +344,21 @@ menu to select one of the installed operating systems.")
`(,@(substitute-keyword-arguments (package-arguments grub-efi)
((#:configure-flags flags ''())
`(cons*
- ,@(cond ((target-x86?) '("--target=i386"))
- ((target-aarch64?)
- (list "--target=arm"
- (string-append "TARGET_CC="
- (cc-for-target "arm-linux-gnueabihf"))))
- ((target-arm?) '("--target=arm"))
- (else '()))
- ,flags)))))
+ ,@(cond ((target-x86?) '("--target=i386"))
+ ((target-aarch64?)
+ (list "--target=arm"
+ (string-append "TARGET_CC="
+ (cc-for-target "arm-linux-gnueabihf"))))
+ ((target-arm?) '("--target=arm"))
+ (else '()))
+ ,flags)))))
(native-inputs
(if (target-aarch64?)
- (modify-inputs (package-native-inputs grub-efi)
- (prepend
- (cross-gcc "arm-linux-gnueabihf")
- (cross-binutils "arm-linux-gnueabihf")))
- (package-native-inputs grub-efi)))))
+ (modify-inputs (package-native-inputs grub-efi)
+ (prepend
+ (cross-gcc "arm-linux-gnueabihf")
+ (cross-binutils "arm-linux-gnueabihf")))
+ (package-native-inputs grub-efi)))))
;; Because grub searches hardcoded paths it's easiest to just build grub
;; again to make it find both grub-pc and grub-efi. There is a command
@@ -392,6 +394,92 @@ menu to select one of the installed operating systems.")
(scandir input-dir))
#t)))))))))
+(define-public (make-grub-efi-netboot name subdir)
+ "Make a grub-efi-netboot package named NAME, which will be able to boot over
+network via TFTP by accessing its files in the SUBDIR of a TFTP root directory.
+This package is also able to boot from local storage devices.
+
+A bootloader-installer basically needs to copy the package content into the
+bootloader-target directory, which will usually be the TFTP root, as
+'grub-mknetdir' will be invoked already during the package creation.
+
+Alternatively the bootloader-target directory can be a mounted EFI System
+Partition (ESP), or a similar partition with a FAT file system, for booting
+from local storage devices.
+
+The name of the GRUB EFI binary will conform to the UEFI specification for
+removable media. Depending on the system it will be e.g. bootx64.efi or
+bootaa64.efi below SUBDIR.
+
+The SUBDIR argument needs to be set to \"efi/boot\" to create a package which
+conforms to the UEFI specification for removable media.
+
+The SUBDIR argument defaults to \"efi/Guix\", as it is also the case for
+'grub-efi-bootloader'."
+ (package
+ (name name)
+ (version (package-version grub-efi))
+ ;; Source is not needed, but it cannot be omitted.
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ (let* ((system (string-split (nix-system->gnu-triplet
+ (or (%current-target-system)
+ (%current-system)))
+ #\-))
+ (arch (first system))
+ (boot-efi
+ (match system
+ ;; These are the supportend systems and the names defined by
+ ;; the UEFI standard for removable media.
+ (("i686" _ ...) "/bootia32.efi")
+ (("x86_64" _ ...) "/bootx64.efi")
+ (("arm" _ ...) "/bootarm.efi")
+ (("aarch64" _ ...) "/bootaa64.efi")
+ (("riscv" _ ...) "/bootriscv32.efi")
+ (("riscv64" _ ...) "/bootriscv64.efi")
+ ;; Other systems are not supported, although defined.
+ ;; (("riscv128" _ ...) "/bootriscv128.efi")
+ ;; (("ia64" _ ...) "/bootia64.efi")
+ ((_ ...) #f)))
+ (core-efi (string-append
+ ;; This is the arch dependent file name of GRUB, e.g.
+ ;; i368-efi/core.efi or arm64-efi/core.efi.
+ (match arch
+ ("i686" "i386")
+ ("aarch64" "arm64")
+ ("riscv" "riscv32")
+ (_ arch))
+ "-efi/core.efi")))
+ (list
+ #:modules '((guix build utils))
+ #:builder
+ #~(begin
+ (use-modules (guix build utils))
+ (let* ((bootloader #$(this-package-input "grub-efi"))
+ (net-dir #$output)
+ (sub-dir (string-append net-dir "/" #$subdir "/"))
+ (boot-efi (string-append sub-dir #$boot-efi))
+ (core-efi (string-append sub-dir #$core-efi)))
+ ;; Install GRUB, which refers to the grub.cfg, with support for
+ ;; encrypted partitions,
+ (setenv "GRUB_ENABLE_CRYPTODISK" "y")
+ (invoke/quiet (string-append bootloader "/bin/grub-mknetdir")
+ (string-append "--net-directory=" net-dir)
+ (string-append "--subdir=" #$subdir)
+ ;; These modules must be pre-loaded to allow booting
+ ;; from an ESP or a similar partition with a FAT
+ ;; file system.
+ (string-append "--modules=part_msdos part_gpt fat"))
+ ;; Move GRUB's core.efi to the removable media name.
+ (false-if-exception (delete-file boot-efi))
+ (rename-file core-efi boot-efi))))))
+ (inputs (list grub-efi))
+ (synopsis (package-synopsis grub-efi))
+ (description (package-description grub-efi))
+ (home-page (package-home-page grub-efi))
+ (license (package-license grub-efi))))
+
(define-public syslinux
(let ((commit "bb41e935cc83c6242de24d2271e067d76af3585c"))
(package
@@ -481,14 +569,14 @@ menu to select one of the installed operating systems.")
(build-system gnu-build-system)
(native-inputs
(append
- (list bison
- flex
- libyaml
- pkg-config
- swig)
- (if (member (%current-system) (package-supported-systems valgrind))
- (list valgrind)
- '())))
+ (list bison
+ flex
+ libyaml
+ pkg-config
+ swig)
+ (if (member (%current-system) (package-supported-systems valgrind))
+ (list valgrind)
+ '())))
(inputs
(list python))
(arguments
@@ -545,7 +633,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(name "u-boot")
(version "2022.04")
(source (origin
- (patches
+ (patches
(list %u-boot-rockchip-inno-usb-patch
%u-boot-allow-disabling-openssl-patch
%u-boot-sifive-prevent-relocating-initrd-fdt
@@ -594,12 +682,12 @@ also initializes the boards (RAM etc).")
(add-after 'unpack 'patch
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile"
- (("/bin/pwd") (which "pwd"))
- (("/bin/false") (which "false")))
+ (("/bin/pwd") (which "pwd"))
+ (("/bin/false") (which "false")))
(substitute* "tools/dtoc/fdt_util.py"
- (("'cc'") "'gcc'"))
+ (("'cc'") "'gcc'"))
(substitute* "tools/patman/test_util.py"
- ;; python3-coverage is simply called coverage in guix.
+ ;; python3-coverage is simply called coverage in guix.
(("python3-coverage") "coverage")
;; Don't require 100% coverage since it's brittle and can
@@ -607,40 +695,40 @@ also initializes the boards (RAM etc).")
(("raise ValueError\\('Test coverage failure'\\)")
"print('Continuing anyway since Guix does not care :O')"))
(substitute* "test/run"
- ;; Make it easier to find test failures.
- (("#!/bin/bash") "#!/bin/bash -x")
- ;; This test would require git.
- (("\\./tools/patman/patman") (which "true"))
- ;; FIXME: test fails, needs further investiation
- (("run_test \"binman\"") "# run_test \"binman\"")
- ;; FIXME: test_spl fails, needs further investiation
- (("test_ofplatdata or test_handoff or test_spl")
+ ;; Make it easier to find test failures.
+ (("#!/bin/bash") "#!/bin/bash -x")
+ ;; This test would require git.
+ (("\\./tools/patman/patman") (which "true"))
+ ;; FIXME: test fails, needs further investiation
+ (("run_test \"binman\"") "# run_test \"binman\"")
+ ;; FIXME: test_spl fails, needs further investiation
+ (("test_ofplatdata or test_handoff or test_spl")
"test_ofplatdata or test_handoff")
- ;; FIXME: code coverage not working
- (("run_test \"binman code coverage\"")
- "# run_test \"binman code coverage\"")
- ;; This test would require internet access.
- (("\\./tools/buildman/buildman") (which "true")))
+ ;; FIXME: code coverage not working
+ (("run_test \"binman code coverage\"")
+ "# run_test \"binman code coverage\"")
+ ;; This test would require internet access.
+ (("\\./tools/buildman/buildman") (which "true")))
(substitute* "test/py/tests/test_sandbox_exit.py"
- (("def test_ctrl_c")
- "@pytest.mark.skip(reason='Guix has problems with SIGINT')
+ (("def test_ctrl_c")
+ "@pytest.mark.skip(reason='Guix has problems with SIGINT')
def test_ctrl_c"))
;; Test against the tools being installed rather than tools built
;; for "sandbox" target.
(substitute* "test/image/test-imagetools.sh"
(("BASEDIR=sandbox") "BASEDIR=."))
(for-each (lambda (file)
- (substitute* file
- ;; Disable features that require OpenSSL due
- ;; to GPL/Openssl license incompatibilities.
- ;; See https://bugs.gnu.org/34717 for
- ;; details.
- (("CONFIG_FIT_SIGNATURE=y")
- "CONFIG_FIT_SIGNATURE=n\nCONFIG_UT_LIB_ASN1=n\nCONFIG_TOOLS_LIBCRYPTO=n")
- ;; This test requires a sound system, which is un-used
- ;; in u-boot-tools.
- (("CONFIG_SOUND=y") "CONFIG_SOUND=n")))
- (find-files "configs" "sandbox_.*defconfig$|tools-only_defconfig"))
+ (substitute* file
+ ;; Disable features that require OpenSSL due
+ ;; to GPL/Openssl license incompatibilities.
+ ;; See https://bugs.gnu.org/34717 for
+ ;; details.
+ (("CONFIG_FIT_SIGNATURE=y")
+ "CONFIG_FIT_SIGNATURE=n\nCONFIG_UT_LIB_ASN1=n\nCONFIG_TOOLS_LIBCRYPTO=n")
+ ;; This test requires a sound system, which is un-used
+ ;; in u-boot-tools.
+ (("CONFIG_SOUND=y") "CONFIG_SOUND=n")))
+ (find-files "configs" "sandbox_.*defconfig$|tools-only_defconfig"))
#t))
(replace 'configure
(lambda* (#:key make-flags #:allow-other-keys)
@@ -668,28 +756,37 @@ def test_ctrl_c"))
"tools/env/fw_printenv"
"tools/sunxi-spl-image-builder"))
#t)))
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key make-flags test-target #:allow-other-keys)
- (invoke "test/image/test-imagetools.sh")))
- ;; Only run full test suite on x86_64 systems, as many tests
- ;; assume x86_64.
- ,@(if (string-match "^x86_64-linux"
- (or (%current-target-system)
- (%current-system)))
- '((add-after 'check 'check-x86
- (lambda* (#:key make-flags test-target #:allow-other-keys)
- (apply invoke "make" "mrproper" make-flags)
- (setenv "SDL_VIDEODRIVER" "dummy")
- (setenv "PAGER" "cat")
- (apply invoke "make" test-target make-flags))))
- '()))))
- (description "U-Boot is a bootloader used mostly for ARM boards. It
-also initializes the boards (RAM etc). This package provides its
-board-independent tools.")))
-
-(define-public (make-u-boot-package board triplet)
- "Returns a u-boot package for BOARD cross-compiled for TRIPLET."
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key make-flags test-target #:allow-other-keys)
+ (invoke "test/image/test-imagetools.sh")))
+ ;; Only run full test suite on x86_64 systems, as many tests
+ ;; assume x86_64.
+ ,@(if (string-match "^x86_64-linux"
+ (or (%current-target-system)
+ (%current-system)))
+ '((add-after 'check 'check-x86
+ (lambda* (#:key make-flags test-target #:allow-other-keys)
+ (apply invoke "make" "mrproper" make-flags)
+ (setenv "SDL_VIDEODRIVER" "dummy")
+ (setenv "PAGER" "cat")
+ (apply invoke "make" test-target make-flags))))
+ '()))))
+ (description (string-append
+ (package-description u-boot)
+ " This package provides board-independent tools "
+ "of U-Boot."))))
+
+(define*-public (make-u-boot-package board triplet
+ #:key
+ defconfig
+ configs
+ name-suffix
+ append-description)
+ "Return a U-Boot package for BOARD cross-compiled for TRIPLET with the
+optional DEFCONFIG file and optional configuration changes from CONFIGS.
+NAME-SUFFIX is appended to the package name, while APPEND-DESCRIPTION is
+appended to the package description."
(let ((same-arch? (lambda ()
(string=? (%current-system)
(gnu-triplet->nix-system triplet)))))
@@ -697,33 +794,51 @@ board-independent tools.")))
(inherit u-boot)
(name (string-append "u-boot-"
(string-replace-substring (string-downcase board)
- "_" "-")))
+ "_" "-")
+ (or name-suffix "")))
+ (description (if append-description
+ (string-append (package-description u-boot)
+ "\n\n" append-description)
+ (package-description u-boot)))
(native-inputs
`(,@(if (not (same-arch?))
- `(("cross-gcc" ,(cross-gcc triplet))
- ("cross-binutils" ,(cross-binutils triplet)))
- `())
+ `(("cross-gcc" ,(cross-gcc triplet))
+ ("cross-binutils" ,(cross-binutils triplet)))
+ `())
,@(package-native-inputs u-boot)))
(arguments
`(#:modules ((ice-9 ftw)
(srfi srfi-1)
- (guix build utils)
- (guix build gnu-build-system))
+ (guix build gnu-build-system)
+ (guix build kconfig)
+ (guix build utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build kconfig))
#:test-target "test"
#:make-flags
(list "HOSTCC=gcc"
,@(if (not (same-arch?))
- `((string-append "CROSS_COMPILE=" ,triplet "-"))
- '()))
+ `((string-append "CROSS_COMPILE=" ,triplet "-"))
+ '()))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs make-flags #:allow-other-keys)
- (let ((config-name (string-append ,board "_defconfig")))
- (if (file-exists? (string-append "configs/" config-name))
- (apply invoke "make" `(,@make-flags ,config-name))
+ (let* ((config-name (string-append ,board "_defconfig"))
+ (config-file (string-append "configs/" config-name))
+ (defconfig ,defconfig)
+ (configs ',configs))
+ (when defconfig
+ ;; Replace the board-specific defconfig with the given one.
+ (copy-file defconfig config-file))
+ (if (file-exists? config-file)
+ (begin
+ (when configs
+ (modify-defconfig config-file configs))
+ (apply invoke "make" `(,@make-flags ,config-name))
+ (verify-config ".config" config-file))
(begin
- (display "Invalid board name. Valid board names are:"
+ (display "invalid board name; valid board names are:"
(current-error-port))
(let ((suffix-len (string-length "_defconfig"))
(entries (scandir "configs")))
@@ -734,7 +849,7 @@ board-independent tools.")))
(string-drop-right file-name
suffix-len))))
(sort entries string-ci<)))
- (error "Invalid boardname ~s." ,board))))))
+ (error "invalid boardname ~s" ,board))))))
(add-after 'configure 'disable-tools-libcrypto
;; Disable libcrypto due to GPL and OpenSSL license
;; incompatibilities
@@ -775,52 +890,37 @@ board-independent tools.")))
(make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
(define-public u-boot-am335x-boneblack
- (let ((base (make-u-boot-package "am335x_evm" "arm-linux-gnueabihf")))
- (package
- (inherit base)
- (name "u-boot-am335x-boneblack")
- (description "U-Boot is a bootloader used mostly for ARM boards. It
-also initializes the boards (RAM etc).
-
-This U-Boot is built for the BeagleBone Black, which was removed upstream,
-adjusted from the am335x_evm build with several device trees removed so that
-it fits within common partitioning schemes.")
- (arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'patch-defconfig
- ;; Patch out other devicetrees to build image small enough to
- ;; fit within typical partitioning schemes where the first
- ;; partition begins at sector 2048.
- (lambda _
- (substitute* "configs/am335x_evm_defconfig"
- (("CONFIG_OF_LIST=.*$") "CONFIG_OF_LIST=\"am335x-evm am335x-boneblack\"\n"))
- #t)))))))))
+ (make-u-boot-package
+ "am335x_evm" "arm-linux-gnueabihf"
+ ;; Patch out other device trees to build an image small enough to fit
+ ;; within typical partitioning schemes where the first partition begins at
+ ;; sector 2048.
+ #:configs '("CONFIG_OF_LIST=\"am335x-evm am335x-boneblack\"")
+ #:name-suffix "-boneblack"
+ #:append-description "This U-Boot is built for the BeagleBone Black, which
+was removed upstream, adjusted from the am335x_evm build with several device
+trees removed so that it fits within common partitioning schemes."))
(define-public u-boot-am335x-evm
(make-u-boot-package "am335x_evm" "arm-linux-gnueabihf"))
-(define-public (make-u-boot-sunxi64-package board triplet)
- (let ((base (make-u-boot-package board triplet)))
+(define*-public (make-u-boot-sunxi64-package board triplet
+ #:key defconfig configs)
+ (let ((base (make-u-boot-package
+ board triplet #:defconfig defconfig #:configs configs)))
(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)
- (let ((bl31
- (string-append
- (assoc-ref (or native-inputs inputs) "firmware")
- "/bl31.bin")))
- (setenv "BL31" bl31)
- ;; This is necessary when we're using the bundled dtc.
- ;(setenv "PATH" (string-append (getenv "PATH") ":"
- ; "scripts/dtc"))
- )
- #t))))))
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (let ((bl31
+ (string-append
+ (assoc-ref (or native-inputs inputs) "firmware")
+ "/bl31.bin")))
+ (setenv "BL31" bl31))))))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-sun50i-a64)
,@(package-native-inputs base))))))
@@ -832,20 +932,11 @@ it fits within common partitioning schemes.")
(make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu"))
(define-public u-boot-pinebook
- (let ((base (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")))
- (package
- (inherit base)
- (arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'patch-pinebook-config
- ;; Fix regression with LCD video output introduced in 2020.01
- ;; https://patchwork.ozlabs.org/patch/1225130/
- (lambda _
- (substitute* "configs/pinebook_defconfig"
- (("CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y") "CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y\nCONFIG_VIDEO_BPP32=y"))
- #t)))))))))
+ (make-u-boot-sunxi64-package
+ "pinebook" "aarch64-linux-gnu"
+ ;; Fix regression with LCD video output introduced in 2020.01
+ ;; https://patchwork.ozlabs.org/patch/1225130/
+ #:configs '("CONFIG_VIDEO_BPP32=y")))
(define-public u-boot-bananapi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))
@@ -861,7 +952,14 @@ it fits within common partitioning schemes.")
(define-public u-boot-nintendo-nes-classic-edition
(let ((base (make-u-boot-package "Nintendo_NES_Classic_Edition"
- "arm-linux-gnueabihf")))
+ "arm-linux-gnueabihf"
+ #:append-description "This version is for
+the Nintendo NES Classic Edition. It is assumed that you have added a serial
+port to pins PB0 and PB1 as described on
+@url{https://linux-sunxi.org/Nintendo_NES_Classic_Edition}.
+
+In order to use FEL mode on the device, hold the Reset button on the
+device while it's being turned on (and a while longer).")))
(package
(inherit base)
;; Starting with 2019.01, FEL doesn't work anymore on A33.
@@ -875,16 +973,7 @@ it fits within common partitioning schemes.")
(base32
"0znkwljfwwn4y7j20pzz4ilqw8znphrfxns0x1lwdzh3xbr96z3k"))
(patches (search-patches
- "u-boot-nintendo-nes-serial.patch"))))
- (description "U-Boot is a bootloader used mostly for ARM boards. It
-also initializes the boards (RAM etc).
-
-This version is for the Nintendo NES Classic Edition. It is assumed that
-you have added a serial port to pins PB0 and PB1 as described on
-@url{https://linux-sunxi.org/Nintendo_NES_Classic_Edition}.
-
-In order to use FEL mode on the device, hold the Reset button on the
-device while it's being turned on (and a while longer).")
+ "u-boot-nintendo-nes-serial.patch"))))
(native-inputs
`(("python" ,python-2)
,@(package-native-inputs base))))))
@@ -896,25 +985,14 @@ device while it's being turned on (and a while longer).")
(make-u-boot-package "mx6cuboxi" "arm-linux-gnueabihf"))
(define-public u-boot-novena
- (let ((base (make-u-boot-package "novena" "arm-linux-gnueabihf")))
- (package
- (inherit base)
- (description "U-Boot is a bootloader used mostly for ARM boards. It
-also initializes the boards (RAM etc).
-
-This U-Boot is built for Novena. Be advised that this version, contrary
-to Novena upstream, does not load u-boot.img from the first partition.")
- (arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'patch-novena-defconfig
- ;; Patch configuration to disable loading u-boot.img from FAT partition,
- ;; allowing it to be installed at a device offset.
- (lambda _
- (substitute* "configs/novena_defconfig"
- (("CONFIG_SPL_FS_FAT=y") "# CONFIG_SPL_FS_FAT is not set"))
- #t)))))))))
+ (make-u-boot-package
+ "novena" "arm-linux-gnueabihf"
+ ;; Patch configuration to disable loading u-boot.img from FAT partition,
+ ;; allowing it to be installed at a device offset.
+ #:configs '("# CONFIG_SPL_FS_FAT is not set")
+ #:append-description "This U-Boot is built for Novena. Be advised that this
+version, contrary to Novena upstream, does not load u-boot.img from the first
+partition."))
(define-public u-boot-cubieboard
(make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))
@@ -927,16 +1005,16 @@ to Novena upstream, does not load u-boot.img from the first partition.")
(package
(inherit base)
(arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'set-environment
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "BL31"
- (search-input-file inputs "/bl31.elf"))))
- ;; Phases do not succeed on the bl31 ELF.
- (delete 'strip)
- (delete 'validate-runpath)))))
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "BL31"
+ (search-input-file inputs "/bl31.elf"))))
+ ;; Phases do not succeed on the bl31 ELF.
+ (delete 'strip)
+ (delete 'validate-runpath)))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
@@ -988,65 +1066,62 @@ to Novena upstream, does not load u-boot.img from the first partition.")
(package
(inherit base)
(arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'set-environment
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "BL31" (search-input-file inputs "/bl31.elf"))))
- ;; Phases do not succeed on the bl31 ELF.
- (delete 'strip)
- (delete 'validate-runpath)))))
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "BL31" (search-input-file inputs "/bl31.elf"))))
+ ;; Phases do not succeed on the bl31 ELF.
+ (delete 'strip)
+ (delete 'validate-runpath)))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
(define-public u-boot-rockpro64-rk3399
- (let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu")))
+ (let ((base (make-u-boot-package "rockpro64-rk3399" "aarch64-linux-gnu"
+ #:configs '("CONFIG_USB=y"
+ "CONFIG_AHCI=y"
+ "CONFIG_AHCI_PCI=y"
+ "CONFIG_SATA=y"
+ "CONFIG_SATA_SIL=y"
+ "CONFIG_SCSI=y"
+ "CONFIG_SCSI_AHCI=y"
+ "CONFIG_DM_SCSI=y"))))
(package
(inherit base)
(arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'set-environment
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "BL31"
- (search-input-file inputs "/bl31.elf"))))
- (add-after 'unpack 'patch-config
- (lambda _
- (substitute* "configs/rockpro64-rk3399_defconfig"
- (("CONFIG_USB=y") "\
-CONFIG_USB=y
-CONFIG_AHCI=y
-CONFIG_AHCI_PCI=y
-CONFIG_SATA=y
-CONFIG_SATA_SIL=y
-CONFIG_SCSI=y
-CONFIG_SCSI_AHCI=y
-CONFIG_DM_SCSI=y
-"))
- (substitute* "include/config_distro_bootcmd.h"
- (("\"scsi_need_init=false")
- "\"setenv scsi_need_init false")
- (("#define BOOTENV_SET_SCSI_NEED_INIT \"scsi_need_init=;")
- "#define BOOTENV_SET_SCSI_NEED_INIT \"setenv scsi_need_init;"))
- (substitute* "include/configs/rockchip-common.h"
- (("#define BOOT_TARGET_DEVICES\\(func\\)")
- "
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "BL31"
+ (search-input-file inputs "/bl31.elf"))))
+ (add-after 'unpack 'patch-header
+ (lambda _
+ (substitute* "include/config_distro_bootcmd.h"
+ (("\"scsi_need_init=false")
+ "\"setenv scsi_need_init false")
+ (("#define BOOTENV_SET_SCSI_NEED_INIT \"scsi_need_init=;")
+ "#define BOOTENV_SET_SCSI_NEED_INIT \"setenv scsi_need_init;"))
+ (substitute* "include/configs/rockchip-common.h"
+ (("#define BOOT_TARGET_DEVICES\\(func\\)")
+ "
#if CONFIG_IS_ENABLED(CMD_SCSI)
#define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0)
#else
#define BOOT_TARGET_SCSI(func)
#endif
#define BOOT_TARGET_DEVICES(func)")
- (("BOOT_TARGET_NVME\\(func\\) \\\\")
- "\
+ (("BOOT_TARGET_NVME\\(func\\) \\\\")
+ "\
BOOT_TARGET_NVME(func) \\
BOOT_TARGET_SCSI(func) \\"))))
- ;; Phases do not succeed on the bl31 ELF.
- (delete 'strip)
- (delete 'validate-runpath)))))
+ ;; Phases do not succeed on the bl31 ELF.
+ (delete 'strip)
+ (delete 'validate-runpath)))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
@@ -1056,20 +1131,132 @@ BOOT_TARGET_NVME(func) \\
(package
(inherit base)
(arguments
- (substitute-keyword-arguments (package-arguments base)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'set-environment
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "BL31"
- (search-input-file inputs "/bl31.elf"))))
- ;; Phases do not succeed on the bl31 ELF.
- (delete 'strip)
- (delete 'validate-runpath)))))
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "BL31"
+ (search-input-file inputs "/bl31.elf"))))
+ ;; Phases do not succeed on the bl31 ELF.
+ (delete 'strip)
+ (delete 'validate-runpath)))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
+(define*-public (make-u-boot-bin-package u-boot-package
+ #:key
+ (u-boot-bin "u-boot.bin"))
+ "Return a package with a single U-BOOT-BIN file from the U-BOOT-PACKAGE.
+The package name will be that of the U-BOOT package suffixed with \"-bin\"."
+ (package
+ (name (string-append (package-name u-boot-package) "-bin"))
+ (version (package-version u-boot-package))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ (list
+ #:builder
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir #$output)
+ (symlink (search-input-file %build-inputs
+ (string-append "libexec/" #$u-boot-bin))
+ (string-append #$output "/" #$u-boot-bin))))))
+ (inputs (list u-boot-package))
+ (home-page (package-home-page u-boot-package))
+ (synopsis (package-synopsis u-boot-package))
+ (description (string-append
+ (package-description u-boot-package)
+ "\n\n"
+ (format #f
+ "This package only contains the file ~a."
+ u-boot-bin)))
+ (license (package-license u-boot-package))))
+
+(define-public %u-boot-rpi-efi-configs
+ '("CONFIG_OF_EMBED"
+ "CONFIG_OF_BOARD=y"))
+
+(define %u-boot-rpi-description-32-bit
+ "This is a 32-bit build of U-Boot.")
+
+(define %u-boot-rpi-description-64-bit
+ "This is a common 64-bit build of U-Boot for all 64-bit capable Raspberry Pi
+variants.")
+
+(define %u-boot-rpi-efi-description
+ "It allows network booting and uses the device-tree from the firmware,
+allowing the usage of overlays. It can act as an EFI firmware for the
+grub-efi-netboot-removable-bootloader.")
+
+(define %u-boot-rpi-efi-description-32-bit
+ (string-append %u-boot-rpi-efi-description " "
+ %u-boot-rpi-description-32-bit))
+
+(define-public u-boot-rpi-2
+ (make-u-boot-package "rpi_2" "arm-linux-gnueabihf"
+ #:append-description %u-boot-rpi-description-32-bit))
+
+(define-public u-boot-rpi-3-32b
+ (make-u-boot-package "rpi_3_32b" "arm-linux-gnueabihf"
+ #:append-description %u-boot-rpi-description-32-bit))
+
+(define-public u-boot-rpi-4-32b
+ (make-u-boot-package "rpi_4_32b" "arm-linux-gnueabihf"
+ #:append-description %u-boot-rpi-description-32-bit))
+
+(define-public u-boot-rpi-arm64
+ (make-u-boot-package "rpi_arm64" "aarch64-linux-gnu"
+ #:append-description %u-boot-rpi-description-64-bit))
+
+(define-public u-boot-rpi-2-efi
+ (make-u-boot-package "rpi_2" "arm-linux-gnueabihf"
+ #:name-suffix "-efi"
+ #:configs %u-boot-rpi-efi-configs
+ #:append-description %u-boot-rpi-efi-description-32-bit))
+
+(define-public u-boot-rpi-3-32b-efi
+ (make-u-boot-package "rpi_3_32b" "arm-linux-gnueabihf"
+ #:name-suffix "-efi"
+ #:configs %u-boot-rpi-efi-configs
+ #:append-description %u-boot-rpi-efi-description-32-bit))
+
+(define-public u-boot-rpi-4-32b-efi
+ (make-u-boot-package "rpi_4_32b" "arm-linux-gnueabihf"
+ #:name-suffix "-efi"
+ #:configs %u-boot-rpi-efi-configs
+ #:append-description %u-boot-rpi-efi-description-32-bit))
+
+(define-public u-boot-rpi-arm64-efi
+ (make-u-boot-package "rpi_arm64""aarch64-linux-gnu"
+ #:name-suffix "-efi"
+ #:configs %u-boot-rpi-efi-configs
+ #:append-description (string-append
+ %u-boot-rpi-efi-description " "
+ %u-boot-rpi-description-64-bit)))
+
+(define-public u-boot-rpi-2-bin (make-u-boot-bin-package u-boot-rpi-2))
+
+(define-public u-boot-rpi-3_32b-bin (make-u-boot-bin-package u-boot-rpi-3-32b))
+
+(define-public u-boot-rpi-4_32b-bin (make-u-boot-bin-package u-boot-rpi-4-32b))
+
+(define-public u-boot-rpi-arm64-bin (make-u-boot-bin-package u-boot-rpi-arm64))
+
+(define-public u-boot-rpi-2-efi-bin (make-u-boot-bin-package u-boot-rpi-2-efi))
+
+(define-public u-boot-rpi-3-32b-efi-bin
+ (make-u-boot-bin-package u-boot-rpi-3-32b-efi))
+
+(define-public u-boot-rpi-4-32b-efi-bin
+ (make-u-boot-bin-package u-boot-rpi-4-32b-efi))
+
+(define-public u-boot-rpi-arm64-efi-bin
+ (make-u-boot-bin-package u-boot-rpi-arm64-efi))
+
(define-public vboot-utils
(package
(name "vboot-utils")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 8627f699a1..6c1350c44f 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -204,8 +204,8 @@ programs and other files depend.")
(license license:bsd-3)))
(define-public gn
- (let ((commit "e327ffdc503815916db2543ec000226a8df45163")
- (revision "1819")) ;as returned by `git describe`, used below
+ (let ((commit "1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41")
+ (revision "2072")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
@@ -215,49 +215,56 @@ programs and other files depend.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
- "0kvlfj3www84zp1vmxh76x8fdjm9hyk8lkh2vdsidafpmm75fphr"))
+ "02621c9nqpr4pwcapy31x36l5kbyd0vdgd0wdaxj5p8hrxk67d6b"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'configure 'set-build-environment
- (lambda _
- (setenv "CC" "gcc") (setenv "CXX" "g++")
- (setenv "AR" "ar")))
- (replace 'configure
- (lambda _
- (invoke "python" "build/gen.py"
- "--no-last-commit-position")))
- (add-after 'configure 'create-last-commit-position
- (lambda _
- ;; Create "last_commit_position.h" to avoid a dependency
- ;; on 'git' (and the checkout..).
- (call-with-output-file "out/last_commit_position.h"
- (lambda (port)
- (format port
- (string-append
- "#define LAST_COMMIT_POSITION_NUM ~a\n"
- "#define LAST_COMMIT_POSITION \"~a (~a)\"\n")
- ,revision ,revision ,(string-take commit 8))))))
- (replace 'build
- (lambda _
- (invoke "ninja" "-C" "out" "gn"
- "-j" (number->string (parallel-job-count)))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (if tests?
- (begin
- (invoke "ninja" "-C" "out" "gn_unittests"
- "-j" (number->string (parallel-job-count)))
- (invoke "./out/gn_unittests"))
- (format #t "test suite not run~%"))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (install-file "out/gn" (string-append out "/bin"))))))))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'set-build-environment
+ (lambda _
+ (setenv "CC" "gcc")
+ (setenv "CXX" "g++")
+ (setenv "AR" "ar")))
+ (replace 'configure
+ (lambda _
+ (invoke "python" "build/gen.py"
+ "--no-last-commit-position")))
+ (add-after 'configure 'create-last-commit-position
+ (lambda _
+ ;; Mimic GenerateLastCommitPosition from gen.py.
+ (call-with-output-file "out/last_commit_position.h"
+ (lambda (port)
+ (format port
+ "// Generated by Guix.
+
+#ifndef OUT_LAST_COMMIT_POSITION_H_
+#define OUT_LAST_COMMIT_POSITION_H_
+
+#define LAST_COMMIT_POSITION_NUM ~a
+#define LAST_COMMIT_POSITION \"~a (~a)\"
+
+#endif // OUT_LAST_COMMIT_POSITION_H_
+"
+ #$revision #$revision
+ #$(string-take commit 12))))))
+ (replace 'build
+ (lambda _
+ (invoke "ninja" "-C" "out" "gn"
+ "-j" (number->string (parallel-job-count)))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (begin
+ (invoke "ninja" "-C" "out" "gn_unittests"
+ "-j" (number->string (parallel-job-count)))
+ (invoke "./out/gn_unittests"))
+ (format #t "test suite not run~%"))))
+ (replace 'install
+ (lambda _
+ (install-file "out/gn" (string-append #$output "/bin")))))))
(native-inputs
- `(("ninja" ,ninja)
- ("python" ,python-wrapper)))
+ (list ninja python-wrapper))
(synopsis "Generate Ninja build files")
(description
"GN is a tool that collects information about a project from @file{.gn}
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 0467e6b1c9..80267b939b 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -516,7 +516,7 @@ capacity is user-selectable.")
#t)))
#:tests? #f)) ; No tests.
(inputs ; TODO package bundled wxvillalib
- `(("wxwidgets" ,wxwidgets-3.1)
+ `(("wxwidgets" ,wxwidgets)
("wssvg" ,wxsvg)
("dbus" ,dbus)
("cdrtools" ,cdrtools)
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index e0a9f5fbad..837a2a7593 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -183,11 +183,11 @@
"third_party/libaddressinput" ;ASL2.0
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
+ "third_party/libaom/source/libaom/third_party/SVT-AV1" ;BSD-3
"third_party/libaom/source/libaom/third_party/vector" ;Expat
"third_party/libaom/source/libaom/third_party/x86inc" ;ISC
"third_party/libjxl" ;ASL2.0
"third_party/libgav1" ;ASL2.0
- "third_party/libgifcodec" ;MPL1.1/GPL2+/LGPL2.1+, BSD-3, BSD-2
"third_party/libjingle_xmpp" ;BSD-3
"third_party/libphonenumber" ;ASL2.0
"third_party/libsecret" ;LGPL2.1+
@@ -273,7 +273,7 @@
"third_party/utf" ;Expat
"third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat
"third_party/vulkan_memory_allocator" ;Expat
- "third_party/wayland/protocol" ;Expat
+ "third_party/wayland/src/protocol" ;Expat
"third_party/wayland/stubs" ;BSD-3, Expat
"third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3
"third_party/wayland-protocols" ;Expat
@@ -317,10 +317,10 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
-(define %chromium-version "107.0.5304.121")
+(define %chromium-version "108.0.5359.71")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision "debian/102.0.5005.61-1")
-(define %arch-revision "6afedb08139b97089ce8ef720ece5cd14c83948c")
+(define %arch-revision "4de5019014aeb77187a517c5ca6db8723d622a40")
(define %ungoogled-origin
(origin
@@ -330,7 +330,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
- "1ns664y7qx0ry8hg8r704z64jmx8j6rpxn2lkliv0xjfwlrbbfx3"))))
+ "1309rz06s7fw9p7h5968nk23rbsyfhqm5znqrw6nh24qdbg6z3zx"))))
(define %debian-origin
(origin
@@ -360,9 +360,6 @@
"system/zlib.patch"
"system/openjpeg.patch")))
-(define %gcc-patches
- '())
-
(define (arch-patch revision name hash)
(origin
(method url-fetch)
@@ -376,10 +373,12 @@
(arch-patch %arch-revision "REVERT-roll-src-third_party-ffmpeg-m102.patch"
"0i7crn6fcwq09kd6a4smqnffaldyv61lmv2p0drcnpfrwalmkprh")
(arch-patch %arch-revision "REVERT-roll-src-third_party-ffmpeg-m106.patch"
- "0li10cvxnppmmmsc7w77b1s7z02s5bzd39zsal9x768708fx64jc")
- ;; Fix crash when using Global Media Controls.
- (arch-patch %arch-revision "REVERT-enable-GlobalMediaControlsCastStartStop.patch"
- "1ilsw421lylkjnq3lvc607bdx7cvwlish8qzgwx9s84l4hzv37vp")))
+ "0li10cvxnppmmmsc7w77b1s7z02s5bzd39zsal9x768708fx64jc")))
+
+(define %arch-patches
+ (list
+ (arch-patch %arch-revision "disable-GlobalMediaControlsCastStartStop.patch"
+ "00m361ka38d60zpbss7qnfw80vcwnip2pjcz3wf46wd2sqi1nfvz")))
(define %guix-patches
(list (local-file
@@ -398,6 +397,9 @@
(assume-valid-file-name
(search-patch "ungoogled-chromium-system-nspr.patch")))))
+(define %patches
+ (append %debian-patches %arch-patches %guix-patches))
+
;; This is a source 'snippet' that does the following:
;; *) Applies various patches for unbundling purposes and libstdc++ compatibility.
;; *) Runs the ungoogled patch-, domain substitution-, and scrubbing scripts.
@@ -419,8 +421,7 @@
(for-each (lambda (patch)
(invoke "patch" "-p1" "--force" "--input"
patch "--no-backup-if-mismatch"))
- (append '#+%debian-patches '#+%guix-patches
- '#+%gcc-patches))
+ '#+%patches)
;; These patches are "reversed", i.e. their changes should be undone.
(for-each (lambda (patch)
@@ -495,7 +496,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
- "12z0fhgxcsdkf6shnsg9maj3v901226cjcy8y2x8m88maw2apc0j"))
+ "0pgzf6xrd71is1dld1arhq366vjp8p54x75zyx6y7vcjqj0a0v6b"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -561,7 +562,7 @@
"use_system_libjpeg=true"
"use_system_libopenjpeg2=true"
"use_system_libpng=true"
- "use_system_libwayland_server=true"
+ "use_system_libwayland=true"
"use_system_wayland_scanner=true"
(string-append "system_wayland_scanner_path=\""
(search-input-file %build-inputs
@@ -613,11 +614,12 @@
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
- (let ((openjpeg (search-input-directory
- inputs "include/openjpeg-2.4")))
+ (let* ((libopenjp2 (search-input-file inputs "lib/libopenjp2.so"))
+ (openjpeg (dirname (dirname libopenjp2))))
(substitute* "third_party/pdfium/BUILD.gn"
;; This include path is added by Debians openjpeg patch.
- (("/usr/include/openjpeg-2.4") openjpeg))
+ (("/usr/include/openjpeg-")
+ (string-append openjpeg "/include/openjpeg-")))
;; Adjust minizip header inclusions.
(substitute* (find-files "third_party/tflite_support\
@@ -910,7 +912,7 @@
gdk-pixbuf
glib
gtk+
- harfbuzz-3
+ harfbuzz-5
icu4c-71
jsoncpp
lcms
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 1bbbb1e2fe..0ed978a768 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -391,7 +391,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(define-public universal-ctags
(package
(name "universal-ctags")
- (version "5.9.20220807.0")
+ (version "5.9.20221127.0")
(source
(origin
(method git-fetch)
@@ -401,7 +401,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(file-name (git-file-name name version))
(sha256
(base32
- "1wjj6hlda7xyjm8yrl2zz74ks7azymm9yyrpz36zxxpx2scf6lsk"))
+ "0nvkx5j2vyzjf935a2s5w56gamlr6f12jy1x38bkqz78p5l0d3ja"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index f60ed4f597..d2a1ed36f7 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1127,7 +1127,7 @@ tarballs.")
(define-public libjcat
(package
(name "libjcat")
- (version "0.1.11")
+ (version "0.1.12")
(source
(origin
(method git-fetch)
@@ -1137,7 +1137,7 @@ tarballs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "08zywwhm9q8m8v17w2mp23w3w93p40ir1w4x18zrlbhs10xnhiys"))))
+ (base32 "0fbcmnpc0y7s2ls3q829dv3ardhv0m5gxqqmbn0dnkzgkh42vv7p"))))
(build-system meson-build-system)
(native-inputs
(list gobject-introspection help2man pkg-config))
@@ -2695,7 +2695,7 @@ to their original, binary CD format.")
(define-public libdeflate
(package
(name "libdeflate")
- (version "1.12")
+ (version "1.14")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2704,7 +2704,7 @@ to their original, binary CD format.")
(file-name (git-file-name name version))
(sha256
(base32
- "16n9232zjavcp5wp17cx0gh2v7gipxpncsha05j3ybajfs7g88jv"))))
+ "09y69mnbv3mprgjp53zvin5zqznqajginrk5b25xmi9y0b83bns8"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
diff --git a/gnu/packages/cook.scm b/gnu/packages/cook.scm
index 7a064480d4..584f561ceb 100644
--- a/gnu/packages/cook.scm
+++ b/gnu/packages/cook.scm
@@ -24,8 +24,8 @@
#:use-module (guix download)
#:use-module (gnu packages ed)
#:use-module (gnu packages bison)
- #:use-module (gnu packages groff)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages groff)
#:use-module (guix build-system gnu))
(define-public cook
@@ -70,7 +70,7 @@
(setenv "SH" (which "sh"))
#t)))))
- (native-inputs (list bison
+ (native-inputs (list bison-3.0
;; For building the documentation:
groff
;; For the tests:
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index ad0657ef3b..5c5258d6e0 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -307,14 +307,14 @@ etc.")
(define-public r-datawizard
(package
(name "r-datawizard")
- (version "0.6.3")
+ (version "0.6.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "datawizard" version))
(sha256
(base32
- "0cn9ixljf4l333d401pz5rcwqkzpl6d90as153j1wrkz9rjzm6i7"))))
+ "0iv3h08bzmijrxyv2jz70jf53i2bk14kh0vq9a93fms5z08jv19p"))))
(properties `((upstream-name . "datawizard")))
(build-system r-build-system)
(propagated-inputs
@@ -710,13 +710,13 @@ can read and write both the metadata and the cell data in a Sheet.")
(define-public r-proj4
(package
(name "r-proj4")
- (version "1.0-11")
+ (version "1.0-12")
(source (origin
(method url-fetch)
(uri (cran-uri "proj4" version))
(sha256
(base32
- "07fil52jswbg2h807cd82m2wlm5j2fb891ifri9ms037099qdwf5"))))
+ "1y3n6zjc4s78pagq5f2x9sdfjg5x5nwnhq67jd06fndlsma8mssa"))))
(properties `((upstream-name . "proj4")))
(build-system r-build-system)
(inputs (list proj-7 zlib))
@@ -931,14 +931,14 @@ similar rank-based tests for equal probability distributions due to Neuhauser
(define-public r-v8
(package
(name "r-v8")
- (version "4.2.1")
+ (version "4.2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "V8" version))
(sha256
(base32
- "1w1zihmhrygn2i674wimbv7xqjnwlld4x3ndvh5dl4cdg7s1m24r"))))
+ "0friwpw3cbg40hfsqnlp8g3a6l4zhfag6lh005ya6dw634kkarah"))))
(properties `((upstream-name . "V8")))
(build-system r-build-system)
(arguments
@@ -1076,6 +1076,32 @@ size and can be easily tested locally before being sent to a remote.")
the system clipboards.")
(license license:gpl3)))
+(define-public r-clock
+ (package
+ (name "r-clock")
+ (version "0.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "clock" version))
+ (sha256
+ (base32
+ "00hp7k24d599dzkzhhb6xky2pj6xaggdfwgviyb3i592v1gkh37q"))))
+ (properties `((upstream-name . "clock")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-cpp11 r-rlang r-tzdb r-vctrs))
+ (native-inputs (list r-knitr))
+ (home-page "https://clock.r-lib.org")
+ (synopsis "Date-Time types and tools")
+ (description
+ "This package provides a comprehensive library for date-time
+manipulations using a new family of orthogonal date-time
+classes (durations, time points, zoned-times, and calendars) that
+partition responsibilities so that the complexities of time zones are
+only considered when they are really needed. Capabilities include:
+date-time parsing, formatting, arithmetic, extraction and updating of
+components, and rounding.")
+ (license license:expat)))
+
(define-public r-clvalid
(package
(name "r-clvalid")
@@ -1101,13 +1127,13 @@ BSI. Further information can be found in Brock, G et al. (2008) <doi:
(define-public r-dlm
(package
(name "r-dlm")
- (version "1.1-5")
+ (version "1.1-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "dlm" version))
(sha256
- (base32 "1aksm66sfa7ipl5xgs4j5giac7q2m744wjl40mva56xn6i674h4r"))))
+ (base32 "0mxfakryagyg2idjhw1ydp4xqk57s3z17cv69hj16lisx8q43pc9"))))
(properties `((upstream-name . "dlm")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/package=dlm")
@@ -1783,13 +1809,13 @@ control over dimensions and appearance.")
(define-public r-philentropy
(package
(name "r-philentropy")
- (version "0.6.0")
+ (version "0.7.0")
(source (origin
(method url-fetch)
(uri (cran-uri "philentropy" version))
(sha256
(base32
- "1dpf4hfflp4mcql4na46wzcq1flabkipiwyycz9wj5xbxlmcz2hk"))))
+ "1dw46p2bk68hqbc44629lywg5r1mdaz37ahccgmsx07fg8rf4wnf"))))
(properties `((upstream-name . "philentropy")))
(build-system r-build-system)
(propagated-inputs (list r-kernsmooth r-poorman r-rcpp))
@@ -2417,14 +2443,14 @@ same time tries to group instances from the same class together.")
(define-public r-callr
(package
(name "r-callr")
- (version "3.7.2")
+ (version "3.7.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "callr" version))
(sha256
(base32
- "01q3b0w1cbrryvv1dwvnyd3j1f09xmhnwg1wskc51r3r4qhqmnhj"))))
+ "0knh5yxhxwjz96kbjrq524w4j8cac10k6mghhmblq79s0zgzwysn"))))
(build-system r-build-system)
(propagated-inputs
(list r-r6 r-processx))
@@ -2512,17 +2538,40 @@ supported for the trees and a test for parameter heterogeneity is provided for
the personalised models.")
(license license:gpl2+)))
+(define-public r-modelenv
+ (package
+ (name "r-modelenv")
+ (version "0.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "modelenv" version))
+ (sha256
+ (base32
+ "18wgl3hslvwq4z8ab91514p5nhzxzb727s61ccawvx3ixfjfrid4"))))
+ (properties `((upstream-name . "modelenv")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-glue r-rlang r-tibble r-vctrs))
+ (home-page "https://github.com/tidymodels/modelenv")
+ (synopsis "Tools for registering models for use in tidymodels")
+ (description
+ "This is a developer-focused, low dependency package in
+@code{tidymodels} that provides functions to register how models are
+to be used. Functions to register models are complimented with
+accessor functions to retrieve registered model information to aid in
+model fitting and error handling.")
+ (license license:expat)))
+
(define-public r-modelr
(package
(name "r-modelr")
- (version "0.1.9")
+ (version "0.1.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "modelr" version))
(sha256
(base32
- "1jd9vxirj5ii4ac0ka07g0rcq1c8yqv06jg27nmvp5a6kvlgvs8h"))))
+ "0qqgdb7gpb1h9lf5zijg51gd0qmbzj8f37aykhv1w633cglacick"))))
(build-system r-build-system)
(propagated-inputs
(list r-broom
@@ -2657,13 +2706,13 @@ in systems and applications.")
(define-public r-servr
(package
(name "r-servr")
- (version "0.24")
+ (version "0.25")
(source (origin
(method url-fetch)
(uri (cran-uri "servr" version))
(sha256
(base32
- "11x0857m3xzdbzr4z0vx4fcdk36arfagyf2qgamvprich0qisknr"))))
+ "0g77lpyfjaibcpqb3z723z1p82msjdnc74f2n5l740z91560vbp6"))))
(build-system r-build-system)
(propagated-inputs
(list r-httpuv r-jsonlite r-mime r-xfun))
@@ -2997,14 +3046,14 @@ jQuery.")
(define-public r-sass
(package
(name "r-sass")
- (version "0.4.2")
+ (version "0.4.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "sass" version))
(sha256
(base32
- "0iln5ky6k1ix0gddlyw4rr2953kc499x66bcyi9yiyp91nfh82dl"))))
+ "0hk5svmpbhx9q3ni3qll2pa7q3pfc0zxv616kp62r6vakn1az16j"))))
(properties `((upstream-name . "sass")))
(build-system r-build-system)
(propagated-inputs
@@ -3059,14 +3108,14 @@ expression estimates for all genes.")
(define-public r-bslib
(package
(name "r-bslib")
- (version "0.4.0")
+ (version "0.4.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "bslib" version))
(sha256
(base32
- "1hkmaj0mpygbf6qr1955biv9z4q3khflyqi5x0c3dwi6qz74xspv"))
+ "0bz6w34shk2pijq5hvjv2bg8xhhg4yazn4wcix7436yi9k41zgaf"))
(snippet
'(for-each delete-file
'("inst/lib/bs-a11y-p/plugins/js/bootstrap-accessibility.min.js"
@@ -3830,14 +3879,14 @@ files). It currently supports linked brushing and filtering.")
(define-public r-rook
(package
(name "r-rook")
- (version "1.1-1")
+ (version "1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rook" version))
(sha256
(base32
- "00s9a0kr9rwxvlq433daxjk4ji8m0w60hjdprf502msw9kxfrx00"))))
+ "0qjziszrrwsp1mbykps3yf5r98q83cyd4jzpgi7gvbsd2ssy96n7"))))
(properties `((upstream-name . "Rook")))
(build-system r-build-system)
(propagated-inputs (list r-brew))
@@ -3981,16 +4030,16 @@ complex non-linear objective function with a very large number of optima.")
(define-public r-geosphere
(package
(name "r-geosphere")
- (version "1.5-14")
+ (version "1.5-18")
(source
(origin
(method url-fetch)
(uri (cran-uri "geosphere" version))
(sha256
(base32
- "0bg4vfmrw140j2ax0p6bflvb77w03ir39wa87l96rj473jpa9hzj"))))
+ "1h6sqvxwxv22js6hz4s8sjk50ygw0y34icbbbdb2v36ca3q6zzwr"))))
(build-system r-build-system)
- (propagated-inputs (list r-sp))
+ (propagated-inputs (list r-rcpp r-sp))
(home-page "https://cran.r-project.org/web/packages/geosphere")
(synopsis "Spherical trigonometry")
(description "This package computes spherical trigonometry for geographic
@@ -4001,14 +4050,14 @@ applications. That is, compute distances and related measures for angular
(define-public r-jpeg
(package
(name "r-jpeg")
- (version "0.1-9")
+ (version "0.1-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "jpeg" version))
(sha256
(base32
- "0wihj538wdnr71wdldym83qadb4kh68a6rkallwbh2f25r27b881"))))
+ "1jkqj58hj33ar9wyl7c1cnj3h42icq7crmjk93n933q8qc4zdnf8"))))
(build-system r-build-system)
(inputs (list libjpeg-turbo))
(home-page "https://www.rforge.net/jpeg/")
@@ -4021,17 +4070,18 @@ files and in-memory raw vectors.")
(define-public r-ggmap
(package
(name "r-ggmap")
- (version "3.0.0")
+ (version "3.0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggmap" version))
(sha256
(base32
- "13dmzl6z62pzjiffilarkji46vy0sacxa8a7mhrhc3biq3ylzhln"))))
+ "0pg38zyxv1j6mwdwdqljynqrg7zjwqpsh65xdwmvbl0zgxa4p0pw"))))
(build-system r-build-system)
(propagated-inputs
(list r-bitops
+ r-cli
r-digest
r-dplyr
r-ggplot2
@@ -4043,7 +4093,7 @@ files and in-memory raw vectors.")
r-png
r-purrr
r-rgooglemaps
- r-rjson
+ r-rlang
r-scales
r-stringr
r-tibble
@@ -4420,13 +4470,13 @@ processes. Most of its code is based on the @code{psutil} Python package.")
(define-public r-pkgbuild
(package
(name "r-pkgbuild")
- (version "1.3.1")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "pkgbuild" version))
(sha256
- (base32 "0j6v5nbp8kg1m3j999gd1qsbdmqcqm1mf28ngmm177miwv8q4skw"))))
+ (base32 "1mjyln5njbvi0k97w8az2v5klmas6pqiz68mlylfll4nr503qzrm"))))
(build-system r-build-system)
(propagated-inputs
(list r-callr
@@ -4434,6 +4484,7 @@ processes. Most of its code is based on the @code{psutil} Python package.")
r-crayon
r-desc
r-prettyunits
+ r-processx
r-r6
r-rprojroot
r-withr))
@@ -4448,14 +4499,14 @@ is configured appropriately so R can use them.")
(define-public r-pkgload
(package
(name "r-pkgload")
- (version "1.3.1")
+ (version "1.3.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "pkgload" version))
(sha256
(base32
- "16k7n5hrwkzdwm54qyf5p6d1v5rf6vq688x48iylw6bygc6vgf66"))))
+ "0bvbnj98b1yaiksdmfi017g2w3229a5pcsnpjamzrvpy5c1rml9m"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
@@ -5116,13 +5167,13 @@ most popular ones.")
(define-public r-sp
(package
(name "r-sp")
- (version "1.5-0")
+ (version "1.5-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "sp" version))
(sha256
- (base32 "077q1wh9ihhcn1338xspnd90hy16ljxsav1xcrxdxj4fyynhd6lk"))))
+ (base32 "1pr9yb2wqapyizdfpi7zqd4a5b40q58czbfj6svvp2fkh6sfmfb9"))))
(build-system r-build-system)
(propagated-inputs
(list r-lattice))
@@ -5321,14 +5372,14 @@ spreadsheet software.")
(define-public r-extremes
(package
(name "r-extremes")
- (version "2.1-2")
+ (version "2.1-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "extRemes" version))
(sha256
(base32
- "19q560prq02h3bwk01jb68693qb5bhsv8wiqhia7v5knm34qv8x7"))))
+ "0h1w177vz3z58vbqrfbiqapf9z2qsd7gcbv8fnbyn0i5akfz1k71"))))
(properties `((upstream-name . "extRemes")))
(build-system r-build-system)
(propagated-inputs
@@ -5888,6 +5939,31 @@ techniques from R packages and provides a common interface for calling the
methods.")
(license license:gpl3)))
+(define-public r-timechange
+ (package
+ (name "r-timechange")
+ (version "0.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "timechange" version))
+ (sha256
+ (base32
+ "0w3zbmzhg3zr5d9aa83kmr6gyhk75l7jysa7zs0pnz9x4ffr20w5"))))
+ (properties `((upstream-name . "timechange")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-cpp11))
+ (home-page "https://github.com/vspinu/timechange/")
+ (synopsis "Efficient manipulation of Date-Times")
+ (description
+ "This package provides efficient routines for manipulation of
+date-time objects while accounting for time-zones and daylight saving
+times. The package includes utilities for updating of date-time
+components (year, month, day etc.), modification of time-zones,
+rounding of date-times, period addition and subtraction etc. Parts of
+the CCTZ source code, released under the Apache 2.0 License, are
+included in this package.")
+ (license license:gpl3)))
+
(define-public r-timedate
(package
(name "r-timedate")
@@ -5912,14 +5988,14 @@ calendar objects.")
(define-public r-magic
(package
(name "r-magic")
- (version "1.6-0")
+ (version "1.6-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "magic" version))
(sha256
(base32
- "1gybia2aq80ldk1d845y5srncfzbbmpqhgl7vfaz7qqqjs6d85j5"))))
+ "0xkrrg5qk62pfqx0avijdjaljzslpwd0hv2m52qnqwrbx5xfqyfa"))))
(build-system r-build-system)
(propagated-inputs
(list r-abind))
@@ -6235,17 +6311,18 @@ provides a one-row summary of model-level statistics.")
(define-public r-recipes
(package
(name "r-recipes")
- (version "1.0.2")
+ (version "1.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "recipes" version))
(sha256
(base32
- "03k7spw5vivj35lwqj8xj259smgc04qxkdimk5ck9yj656d5lyqs"))))
+ "0pi7j1jj5dmc5kzx6zkm691xya7dw4fn8c8nb2x3gs8mp14spzhg"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
+ r-clock
r-dplyr
r-ellipsis
r-generics
@@ -6305,14 +6382,14 @@ for certain use cases.")
(define-public r-ggrepel
(package
(name "r-ggrepel")
- (version "0.9.1")
+ (version "0.9.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggrepel" version))
(sha256
(base32
- "1z5xyr5f4aryy0v1gzz9m8m4s5fzzwbrf0fxll1nbflr8xnr3yr9"))))
+ "123lh86qs7w1i3v8i1a08jxlwx4sy32bpznyclm8wlkph728hc0a"))))
(build-system r-build-system)
(propagated-inputs
(list r-ggplot2 r-rcpp r-rlang r-scales))
@@ -6378,13 +6455,13 @@ color labels, layout, etc.")
(define-public r-stringdist
(package
(name "r-stringdist")
- (version "0.9.9")
+ (version "0.9.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "stringdist" version))
(sha256
- (base32 "0pkggr25azadczhnsxc9wh1753wigf3wijyvwfc2ip5a42c1f55x"))))
+ (base32 "1s3cy2q6l4ppgslwfbfydi5f3kzshfhzkb25gz546n7jgw5jxm3g"))))
(build-system r-build-system)
(home-page "https://github.com/markvanderloo/stringdist")
(synopsis "Approximate string matching and string distance functions")
@@ -6474,17 +6551,17 @@ response matrices.")
(define-public r-ordinal
(package
(name "r-ordinal")
- (version "2019.12-10")
+ (version "2022.11-16")
(source
(origin
(method url-fetch)
(uri (cran-uri "ordinal" version))
(sha256
(base32
- "09bpmjmbf4x82kgf6bm4bkncq2apdv9mk20zj4zgma2jx2vyfhbs"))))
+ "14yld28vjmvxbwz6mapfri4vrj3nsf9p73fn2z80j6jkz8fsv22l"))))
(build-system r-build-system)
(propagated-inputs
- (list r-mass r-matrix r-numderiv r-ucminf))
+ (list r-mass r-matrix r-nlme r-numderiv r-ucminf))
(home-page "https://github.com/runehaubo/ordinal")
(synopsis "Regression models for ordinal data")
(description
@@ -6568,14 +6645,14 @@ analysis of multiply imputed data sets.")
(define-public r-mice
(package
(name "r-mice")
- (version "3.14.0")
+ (version "3.15.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "mice" version))
(sha256
(base32
- "01fnfrr7adp29s5kic95r9q0rdznkz2pjmziyimnrqzyicyvfyzq"))))
+ "0yz88b40mpn24z40yfpxrkwrsxk362gwks3v5x69rkix1qkdsr1x"))))
(build-system r-build-system)
(propagated-inputs
(list r-broom
@@ -6585,8 +6662,7 @@ analysis of multiply imputed data sets.")
r-lattice
r-rcpp
r-rlang
- r-tidyr
- r-withr))
+ r-tidyr))
(home-page "https://cran.r-project.org/web/packages/mice/")
(synopsis "Multivariate imputation by chained equations")
(description
@@ -7325,13 +7401,13 @@ iVAT).")
(define-public r-xfun
(package
(name "r-xfun")
- (version "0.34")
+ (version "0.35")
(source
(origin
(method url-fetch)
(uri (cran-uri "xfun" version))
(sha256
- (base32 "0gc5lbk73bf0yhvc7wwz7hbq39hvphd8xdsgwi2c125rxcgnrrsh"))))
+ (base32 "04x6y7f3f105fzxn2kzmvfz0zqf2v28g8aqnsln6q9n4lm74vz45"))))
(build-system r-build-system)
;; knitr itself depends on xfun
#;
@@ -7412,14 +7488,14 @@ estimated from a given sample.")
(define-public r-vctrs
(package
(name "r-vctrs")
- (version "0.5.0")
+ (version "0.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "vctrs" version))
(sha256
(base32
- "11pnblg2fpa3lr5hbiyw6w7wvlkdvqw35wxrkffcxnlxqc9jwdvw"))))
+ "01yv85rjpn9cz4473m768awrcaif51ffjh29p097c7pj2zvq4ya9"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli r-glue r-lifecycle r-rlang))
@@ -9740,14 +9816,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.")
(define-public r-rastervis
(package
(name "r-rastervis")
- (version "0.51.2")
+ (version "0.51.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "rasterVis" version))
(sha256
(base32
- "0kgg6cm7xjqya2d46w0i1i1wjpkb8f99lyqy7rgwa7l9xmwzj5n1"))))
+ "1z4vwjmx8n01jc2ypqs1pmx70rc3pjaz3ahk8j8zcif40v0qgy6i"))))
(properties `((upstream-name . "rasterVis")))
(build-system r-build-system)
(propagated-inputs
@@ -9822,14 +9898,14 @@ reproducible.")
(define-public r-learnr
(package
(name "r-learnr")
- (version "0.11.1")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "learnr" version))
(sha256
(base32
- "1p3943hv3ybmbcyfbxidd55dripi0570pf5l51hwz9r3635cx3zs"))))
+ "1w8lcghnqvmggfp90hdpcjflvnxyp5shfk48vq5s4kci8414dm6j"))))
(build-system r-build-system)
(native-inputs (list r-knitr))
(propagated-inputs
@@ -10113,14 +10189,14 @@ and adds the annotation to the plot.")
(define-public r-rstatix
(package
(name "r-rstatix")
- (version "0.7.0")
+ (version "0.7.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "rstatix" version))
(sha256
(base32
- "0330y8iziffqg8j9j5h9zv4qcdyf8ybhmzxrr9fzq9nc6bf1gbm5"))))
+ "0c001w1mj8jw7gzmix90wzzb9kj45q173mzl7pmvykm77zpn61ak"))))
(properties `((upstream-name . "rstatix")))
(build-system r-build-system)
(propagated-inputs
@@ -10150,14 +10226,14 @@ matrix.")
(define-public r-ggpubr
(package
(name "r-ggpubr")
- (version "0.4.0")
+ (version "0.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggpubr" version))
(sha256
(base32
- "0x86lmghr25k8w90yrp360dn42dhp5cjvjpdiv2s2gxfn701xcmb"))))
+ "0fbm3rcpsabb7j7sdr69scqiq1bnx2623ji9ap9v4rmqqy8s08gv"))))
(build-system r-build-system)
(propagated-inputs
(list r-cowplot
@@ -10530,14 +10606,14 @@ hierarchical models using Markov Chain Monte Carlo (MCMC) simulation.")
(define-public r-rbibutils
(package
(name "r-rbibutils")
- (version "2.2.9")
+ (version "2.2.10")
(source
(origin
(method url-fetch)
(uri (cran-uri "rbibutils" version))
(sha256
(base32
- "11pzbqykmn7m9gp5jspfcj6vij865wqf9ry6m3jkihvfj7zhfb5j"))))
+ "1xqpij07d19nvg18kyikpm37r3fharkdmxzm0cjddmqwv757lim6"))))
(properties `((upstream-name . "rbibutils")))
(build-system r-build-system)
(home-page "https://geobosh.github.io/rbibutils/")
@@ -10704,14 +10780,14 @@ or missing responses.")
(define-public r-acdm
(package
(name "r-acdm")
- (version "1.0.4.1")
+ (version "1.0.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ACDm" version))
(sha256
(base32
- "129ykw0j8z30mr4c01qzx6qy6h4bl87zxvmps0vkh8cqb7akninq"))))
+ "00i33b76gqllyc6ywwwrgyjvxfspqb3jf52b9sjaazlfwgn5xyjf"))))
(properties `((upstream-name . "ACDm")))
(build-system r-build-system)
(propagated-inputs
@@ -10814,14 +10890,14 @@ Decomposition in R (Beaton et al 2014) <doi:10.1016/j.csda.2013.11.006>.")
(define-public r-insight
(package
(name "r-insight")
- (version "0.18.6")
+ (version "0.18.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "insight" version))
(sha256
(base32
- "1bhwfx75lnjrvn6byl2dn8fzfh2in2msghxwyy9jwpvnxk4c63db"))))
+ "01bm7w8f80i550gwv41kakaxp0d5a2pqa2s3ihz36snkczmdlapm"))))
(build-system r-build-system)
(native-inputs
(list r-knitr))
@@ -10950,14 +11026,14 @@ functions.")
(define-public r-flextable
(package
(name "r-flextable")
- (version "0.8.2")
+ (version "0.8.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "flextable" version))
(sha256
(base32
- "054rkx98qhwp8i4fj9jkv5297sc4g193wfs6b537q62iyqmcjlx3"))))
+ "0fqc0zq1w7fdnql2m96g0rpichfpwrhyinnld29ddaw0d742gfj5"))))
(build-system r-build-system)
(propagated-inputs
(list r-base64enc
@@ -11713,13 +11789,13 @@ ABC algorithms.")
(define-public r-abctools
(package
(name "r-abctools")
- (version "1.1.3")
+ (version "1.1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "abctools" version))
(sha256
- (base32 "07s9dg10i8lsxl73b4n2hynca2fjgb0ykb0dz8c3zv6cgw3cyx97"))))
+ (base32 "02c473fqj7yd27flma2x7flqzqbrnba2xfcjy466nww0sm1vvhjg"))))
(build-system r-build-system)
(propagated-inputs
(list r-abc r-abind r-hmisc r-plyr))
@@ -11735,16 +11811,16 @@ and coverage methods to tune the choice of threshold.")
(define-public r-ggstance
(package
(name "r-ggstance")
- (version "0.3.5")
+ (version "0.3.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggstance" version))
(sha256
- (base32 "0jz9vvnmcc6a38n8nzr458r65sna23bgn5r8mxdhzdlyqibihr7d"))))
+ (base32 "0wk3gbi5365sndi02gwd4c33vcrj5p8cfwakwjg010y5hgxx96nd"))))
(build-system r-build-system)
(propagated-inputs
- (list r-ggplot2 r-plyr r-rlang r-withr))
+ (list r-cli r-ggplot2 r-plyr r-rlang r-withr))
(home-page "https://cran.r-project.org/web/packages/ggstance/")
(synopsis "Horizontal and vertical versions of @code{r-ggplot2}")
(description
@@ -11807,14 +11883,14 @@ repeated measures data, respectively.")
(define-public r-gam
(package
(name "r-gam")
- (version "1.20.2")
+ (version "1.22")
(source
(origin
(method url-fetch)
(uri (cran-uri "gam" version))
(sha256
(base32
- "1ndgnaq5fk1w6l6z93w5gd22887yxkykrchbdbx366qmz8v8wcyg"))))
+ "0gyrg73f63ccars1639n0gv6cnh8ixp7p7lgdxb2yjl240lk0c9i"))))
(properties `((upstream-name . "gam")))
(build-system r-build-system)
(propagated-inputs
@@ -12077,14 +12153,14 @@ used to teach mathematics, statistics, computation and modeling.")
(define-public r-raster
(package
(name "r-raster")
- (version "3.6-3")
+ (version "3.6-11")
(source
(origin
(method url-fetch)
(uri (cran-uri "raster" version))
(sha256
(base32
- "1in3n0hqzcdhibjl3y82nwn6m6wcv4k3l6s2jw57jn32qgvy01lz"))))
+ "1arvmhf3ijzh3aanw8n6mdnwk4h26axsxpszvr5g43l7g5vfmggf"))))
(build-system r-build-system)
(propagated-inputs
(list r-rcpp r-sp r-terra))
@@ -12655,13 +12731,13 @@ multiple-imputation datasets.")
(define-public r-mixsqp
(package
(name "r-mixsqp")
- (version "0.3-43")
+ (version "0.3-48")
(source (origin
(method url-fetch)
(uri (cran-uri "mixsqp" version))
(sha256
(base32
- "1qics04w0swyp216d6g8dmsph8q2kpadpacp66h2qih3521js12q"))))
+ "02cjg33m5iqziyy0xi11wvbm5qnlgfy51r1dbpjzyhqsrv1dfx48"))))
(properties `((upstream-name . "mixsqp")))
(build-system r-build-system)
(propagated-inputs
@@ -13242,14 +13318,14 @@ correlation, censored, ordered and multivariate problems.")
(define-public r-bayesplot
(package
(name "r-bayesplot")
- (version "1.9.0")
+ (version "1.10.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bayesplot" version))
(sha256
(base32
- "0hqy597ang53phxnl084hak35ffqz9lw9hygax7370gpkjws908a"))))
+ "1zqka7lg7a6ccli1yzhk1n13vbrlp8m0kjxmykjqmkz438mvjk5v"))))
(build-system r-build-system)
(inputs
(list pandoc))
@@ -13305,17 +13381,18 @@ detection, parallelism through BLAS and parallel user templates.")
(define-public r-sjstats
(package
(name "r-sjstats")
- (version "0.18.1")
+ (version "0.18.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjstats" version))
(sha256
- (base32 "1cv80yjnyh6qihxf57zivihhia20gibr5f03x8aspy6382wnwlka"))))
+ (base32 "0a1y6bqyvgs0avzasr8g6vwcxcnj4d9g0rfz2qiznwadpjzqw66h"))))
(build-system r-build-system)
(propagated-inputs
(list r-bayestestr
r-broom
+ r-datawizard
r-dplyr
r-effectsize
r-emmeans
@@ -13348,14 +13425,14 @@ models.")
(define-public r-glmmtmb
(package
(name "r-glmmtmb")
- (version "1.1.4")
+ (version "1.1.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "glmmTMB" version))
(sha256
(base32
- "1ldly6qn8iwqr41ndqlwsdz4v2n36giavsmx33vybn9g7r2fq4m7"))))
+ "1yh8q0l3l8hm408k8khjj1hff3nkqx0wq6a41fddwfmrq1alfjrk"))))
(properties `((upstream-name . "glmmTMB")))
(build-system r-build-system)
(propagated-inputs
@@ -13408,14 +13485,14 @@ ROPE percentage and pd).")
(define-public r-performance
(package
(name "r-performance")
- (version "0.10.0")
+ (version "0.10.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "performance" version))
(sha256
(base32
- "15yx75y17h3l1v7jpp8zbygy64lz7kds5yrgd7wrzw56564d2rhb"))))
+ "1m2zzznfbla8qdm0kxbj5vp431kpygpi4d70042hkg1ly3fyg7pz"))))
(build-system r-build-system)
(propagated-inputs
(list r-bayestestr r-datawizard r-insight))
@@ -13488,13 +13565,13 @@ conversion of indices such as Cohen's d, r, odds, etc.")
(define-public r-sjplot
(package
(name "r-sjplot")
- (version "2.8.11")
+ (version "2.8.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "sjPlot" version))
(sha256
- (base32 "05iimcf1if1cx9bmsjb6f5gcq58hjiw10vx7kqd4nqnyhzcvy8yr"))))
+ (base32 "0g6r4p1r70jjzw74177kxcx2br2n206jwlqazw0vxcsbffb8a411"))))
(properties `((upstream-name . "sjPlot")))
(build-system r-build-system)
(propagated-inputs
@@ -14550,13 +14627,13 @@ isosurfaces.")
(define-public r-ks
(package
(name "r-ks")
- (version "1.13.5")
+ (version "1.14.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "ks" version))
(sha256
- (base32 "05bqrjkbx2kn5aax0hy3xd6pf7nxka9bm1sp8ll1cc2gf1nx1i6i"))))
+ (base32 "14a3pcxxcsfkqz5j6n2wlxkp0gsdp5mzdq7ipcjb65q2gdmwbf9d"))))
(build-system r-build-system)
(propagated-inputs
(list r-fnn
@@ -14727,14 +14804,14 @@ al. (2010) <DOI:10.1016/j.neuroimage.2010.04.241>, Tabelow and Polzehl (2011)
(define-public r-fmsb
(package
(name "r-fmsb")
- (version "0.7.3")
+ (version "0.7.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "fmsb" version))
(sha256
(base32
- "1gi94xr0b1yk9xzwfprfafxi25yic1lcivd66p73n6iqfzdaimbk"))))
+ "1rmmvx38rmamiw0ajqhlksgxj6fgm8ymq903yxqq2bzxx8fhj5n2"))))
(build-system r-build-system)
(home-page "http://minato.sip21c.org/msb/")
(synopsis "Functions for medical statistics book with demographic data")
@@ -15628,14 +15705,14 @@ and compatibility with @code{ape} objects.")
(define-public r-rnifti
(package
(name "r-rnifti")
- (version "1.4.2")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "RNifti" version))
(sha256
(base32
- "1zr9g102zhb1h6a06p141g1jq0ik94kah8r3z3q2zharj30y2waz"))))
+ "1w627brzag9laxsfrr1kxh07glycl8l1n5xf5frn8m0jzvrn3d50"))))
(properties `((upstream-name . "RNifti")))
(build-system r-build-system)
(inputs (list zlib))
@@ -15671,13 +15748,13 @@ creating color scales and calculating color distances.")
(define-public r-ore
(package
(name "r-ore")
- (version "1.7.1.1")
+ (version "1.7.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ore" version))
(sha256
- (base32 "0rs5r5h11x4l4nsbl4xqzbl4ahajd5374fq05abcmfjnjr9j64w5"))))
+ (base32 "104506x9x14bs8lfhydwpgdh4qws2vqkvyy6xrlrviqlll6qbjgg"))))
(build-system r-build-system)
(home-page "https://github.com/jonclayden/ore")
(synopsis "R interface to the Onigmo regular expression library")
@@ -16067,14 +16144,14 @@ preparing, executing, and processing HTTP requests.")
(define-public r-gmp
(package
(name "r-gmp")
- (version "0.6-7")
+ (version "0.6-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "gmp" version))
(sha256
(base32
- "119z6q3xca1ysdpjfmq3crplj355vlwggxvqh2gs4yi63xlzwcv3"))))
+ "0fba80f28fcb2w2spiy6wg7dr5cz7w6gf9z3yrkc6p60zbxdaccf"))))
(build-system r-build-system)
(arguments
'(#:phases
@@ -17103,14 +17180,14 @@ subsetting.")
(define-public r-globals
(package
(name "r-globals")
- (version "0.16.1")
+ (version "0.16.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "globals" version))
(sha256
(base32
- "158y39qv99f1kc2i7w8d4lm2ls96plb43fzamz31im9xb9bkmxpp"))))
+ "02kpdlrx1bannaixz03c0f7bii9g36iy2nw779mfgi56byljcb38"))))
(build-system r-build-system)
(propagated-inputs
(list r-codetools))
@@ -17155,14 +17232,14 @@ port-forwarding to your local computer.")
(define-public r-future
(package
(name "r-future")
- (version "1.28.0")
+ (version "1.29.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "future" version))
(sha256
(base32
- "1xhv0nf97yxxxsmxczyqqbnb4yn5sfn5vzvhm9dmw9csrmmadpbg"))))
+ "0ws3jp82qjpnvgn5xrxdq7hg7r97rkylj329f9jqr69g3paiyvc5"))))
(build-system r-build-system)
(arguments
`(#:phases
@@ -17190,14 +17267,14 @@ the local machine to, say, distributed processing on a remote compute cluster.")
(define-public r-future-apply
(package
(name "r-future-apply")
- (version "1.9.1")
+ (version "1.10.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "future.apply" version))
(sha256
(base32
- "0cr141mamjxby79sww02493yal9lahslvp3a3ic7f856rbawq8jg"))))
+ "1all7ri4nsjxfakw8pssif22j33ch1nhw3sc0raqrzhj93c2vsfy"))))
(properties `((upstream-name . "future.apply")))
(build-system r-build-system)
(arguments
@@ -17323,14 +17400,14 @@ chosen parallel environment and associated foreach backend.")
(define-public r-blockmodeling
(package
(name "r-blockmodeling")
- (version "1.1.3")
+ (version "1.1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "blockmodeling" version))
(sha256
(base32
- "19mxmxsnl6rrh85p0sak91vcaw4dz2cnm70hdzfwnvdrr695yw2z"))))
+ "1f6jx8pwp3pnhs4wwxdrd1ska3h4w2423dpd11illxfajvnigkk9"))))
(build-system r-build-system)
(propagated-inputs
(list r-matrix))
@@ -18112,14 +18189,14 @@ running IRkernel session.")
(define-public r-irkernel
(package
(name "r-irkernel")
- (version "1.3")
+ (version "1.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "IRkernel" version))
(sha256
(base32
- "00qrmsywpzw2hfp88020zjaijma7q4hqm9h2cz53rywdjzywnzss"))))
+ "03343ds7sprql1c6h41dibk40rc3225mzxca452ns967fyhy71ii"))))
(properties `((upstream-name . "IRkernel")))
(build-system r-build-system)
(arguments
@@ -18520,14 +18597,14 @@ barplots or heatmaps.")
(define-public r-seqinr
(package
(name "r-seqinr")
- (version "4.2-16")
+ (version "4.2-23")
(source
(origin
(method url-fetch)
(uri (cran-uri "seqinr" version))
(sha256
(base32
- "0cj07b7km5mla63qhbkxg1mnqq6vh79lsyyfpnbm29gw68w2bwy4"))))
+ "14zv47cdrx9rpyxzccyikp0zxvcqrviw7bid0qhiixvji4bp88dg"))))
(build-system r-build-system)
(propagated-inputs
(list r-ade4 r-segmented))
@@ -18617,14 +18694,14 @@ univariate class intervals for mapping or other graphics purposes.")
(define-public r-spdata
(package
(name "r-spdata")
- (version "2.2.0")
+ (version "2.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "spData" version))
(sha256
(base32
- "07whxr039cxvk2nn65jada3i8vqqw34lgca9j17ah8chy9r0m73f"))))
+ "1ddkk8c4dblv5p2rqvqx8b89k8pazvvq48rlw661vf2iwwvm8d2m"))))
(properties `((upstream-name . "spData")))
(build-system r-build-system)
(propagated-inputs
@@ -18717,14 +18794,14 @@ high-performance functions are provided here.")
(define-public r-s2
(package
(name "r-s2")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "s2" version))
(sha256
(base32
- "05n459rp5b1wk826sq3c5d2z1xwgkpfp8m1jnfshvs4gadlfkap3"))))
+ "07c9f8ghfjqdjcw50by3y4j8nbsmmcwd4a3vpcwsxr4mvybckq0w"))))
(properties `((upstream-name . "s2")))
(build-system r-build-system)
(arguments
@@ -18758,14 +18835,14 @@ information about geometries.")
(define-public r-sf
(package
(name "r-sf")
- (version "1.0-8")
+ (version "1.0-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "sf" version))
(sha256
(base32
- "0cl7m47ar3iw95rpwpmjl23frdbscxa15q39mlzmwswxwy871p1x"))))
+ "0fq1v2ksnllyd5yx7ch8f298aqiys4v6xacswy0h4xb418dcgh45"))))
(build-system r-build-system)
(inputs
(list gdal geos proj sqlite zlib))
@@ -18994,13 +19071,13 @@ either PDF/EPS files.")
(define-public r-polspline
(package
(name "r-polspline")
- (version "1.1.20")
+ (version "1.1.22")
(source
(origin
(method url-fetch)
(uri (cran-uri "polspline" version))
(sha256
- (base32 "1dd1jwiaglkkhajzvqfkd1x5r3wzjlk5ww0yxzmns0s1kr74i4k9"))))
+ (base32 "0ys5sxr5q55ip49dsc3kbgcr3bn9dj5bblmshwm4jz8d0a7ikwmj"))))
(build-system r-build-system)
(native-inputs (list gfortran))
(home-page "https://cran.r-project.org/web/packages/polspline/")
@@ -19099,14 +19176,14 @@ include
(define-public r-haplo-stats
(package
(name "r-haplo-stats")
- (version "1.8.9")
+ (version "1.9.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "haplo.stats" version))
(sha256
(base32
- "0np9kw4f30xbvwr4f79g909ilis5n273ridmlwyzjxiskiry6mx0"))))
+ "1397rxcqqz29yaf3f2gphg1jhmfw3wvvjvqk7cz01jdh3pihdh56"))))
(properties `((upstream-name . "haplo.stats")))
(build-system r-build-system)
(propagated-inputs
@@ -19147,14 +19224,14 @@ lines. It includes maximum likelihood and Bayesian tools.")
(define-public r-ibdreg
(package
(name "r-ibdreg")
- (version "0.3.6")
+ (version "0.3.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "ibdreg" version))
(sha256
(base32
- "1x8z0vr2cmdks12hxfm0wwxskb0cr669w5j5rpa2ln8q704yy41g"))))
+ "0c4svyfd7xjx9k6pl40l7y9rc67zschs0nz1l386xi1m7arsp44n"))))
(build-system r-build-system)
(home-page "https://www.mayo.edu/research/labs/\
statistical-genetics-genetic-epidemiology/software")
@@ -19260,13 +19337,13 @@ SELECT or UPDATE queries to an end-point.")
(define-public r-bookdown
(package
(name "r-bookdown")
- (version "0.29")
+ (version "0.30")
(source (origin
(method url-fetch)
(uri (cran-uri "bookdown" version))
(sha256
(base32
- "08zpky94bdbjsbhi90pymxpczpfkjxwbx7p1v7ip8raw9b23skjv"))))
+ "1i54sbrdv2c9l6pcm3229wlwdnhn0x6f2918adszm5k8qdp0h74i"))))
(build-system r-build-system)
(propagated-inputs
(list r-htmltools
@@ -20331,13 +20408,13 @@ analysis.")
(define-public r-png
(package
(name "r-png")
- (version "0.1-7")
+ (version "0.1-8")
(source (origin
(method url-fetch)
(uri (cran-uri "png" version))
(sha256
(base32
- "0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"))))
+ "077nca3x0l6mq2g6izknzcn994bqs3nfqk7wscrjbfk2dnxzldjs"))))
(build-system r-build-system)
(inputs
(list libpng zlib))
@@ -20376,14 +20453,14 @@ function for computing a matrix of correlation p-values.")
(define-public r-ggfun
(package
(name "r-ggfun")
- (version "0.0.7")
+ (version "0.0.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggfun" version))
(sha256
(base32
- "0x71p3mm0sw72hv92368wy2yiy7zv826p3kddpwndqv1bywmyfx8"))))
+ "04kn367mzgrfwnwz97vw5jqp2kig94hmxmhyyic7ddvk3sfhwx2w"))))
(properties `((upstream-name . "ggfun")))
(build-system r-build-system)
(propagated-inputs
@@ -20716,14 +20793,14 @@ external dependencies. This package has is implemented purely in R.")
(define-public r-aplot
(package
(name "r-aplot")
- (version "0.1.8")
+ (version "0.1.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "aplot" version))
(sha256
(base32
- "17256cdn46cii97s0h2zmah9vs116ybnih78734lpkn7kmvdfcfr"))))
+ "04mv2jhkk47sqmm69dbcmy84han2k19sv6vnmk572xbm19i661xg"))))
(properties `((upstream-name . "aplot")))
(build-system r-build-system)
(propagated-inputs
@@ -20939,14 +21016,14 @@ Row} (CSR) format.")
(define-public r-text2vec
(package
(name "r-text2vec")
- (version "0.6.2")
+ (version "0.6.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "text2vec" version))
(sha256
(base32
- "1as58w1hb6h0hpncwcr2nx9a8bj5fy6bfllx2a8ck8hal764iach"))))
+ "1hi7ydb7xkgbff4lwnnz1biyl8m90w16hn3x5rrzvscvm53sj4y7"))))
(properties `((upstream-name . "text2vec")))
(build-system r-build-system)
(propagated-inputs
@@ -21141,14 +21218,14 @@ batch correction, and data correction.")
(define-public r-styler
(package
(name "r-styler")
- (version "1.8.0")
+ (version "1.8.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "styler" version))
(sha256
(base32
- "1iw4nj68aj4psysrpyy7s6g3r3vhpfk8s05n6d20m2qmmk0p92sg"))))
+ "1sc1xr9pfrbd2yyzyyxpj8dd81djmsr00gxgr0mr18habyl5yl0m"))))
(build-system r-build-system)
;; This is needed by R.cache.
(arguments
@@ -21277,14 +21354,14 @@ experiments in a well-organized and reproducible way.")
(define-public r-clue
(package
(name "r-clue")
- (version "0.3-62")
+ (version "0.3-63")
(source
(origin
(method url-fetch)
(uri (cran-uri "clue" version))
(sha256
(base32
- "1lhybs6rhq8zs7q15ahng7c93liiygr64i2zwg3ya6maqji3ynjp"))))
+ "0c402fb3r1cxd0j6ikjhssq2k22lbnsq4k7vjpgvyx4a4ly2h4yr"))))
(build-system r-build-system)
(propagated-inputs (list r-cluster))
(home-page "https://cran.r-project.org/web/packages/clue/")
@@ -21532,14 +21609,14 @@ includes data sets from oceanography.")
(define-public r-ggfortify
(package
(name "r-ggfortify")
- (version "0.4.14")
+ (version "0.4.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggfortify" version))
(sha256
(base32
- "038m74azpy43869ax1yi6wxbl1kr59iaxl8raiikjg749vcx6njw"))))
+ "1cfwv8jjy1yk0l5wnp48ql1javvrzq1wnh1lv49xp6rynz00lxm8"))))
(build-system r-build-system)
(propagated-inputs
(list r-dplyr
@@ -22100,14 +22177,14 @@ be used further by e.g. graphic devices.")
(define-public r-graphlayouts
(package
(name "r-graphlayouts")
- (version "0.8.3")
+ (version "0.8.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "graphlayouts" version))
(sha256
(base32
- "08a4cpy0n90hw8xzmxck13hp76yh40r0njb2m7mwdldljkbybr7r"))))
+ "1zch8v0fc9lrm1pklcvi7g4g7zmqq3gxprm7pbdx018b35z8z3bp"))))
(properties `((upstream-name . "graphlayouts")))
(build-system r-build-system)
(propagated-inputs
@@ -22125,14 +22202,14 @@ emphasize hidden group structures in networks or focus on specific nodes.")
(define-public r-terra
(package
(name "r-terra")
- (version "1.6-17")
+ (version "1.6-41")
(source
(origin
(method url-fetch)
(uri (cran-uri "terra" version))
(sha256
(base32
- "00mwigymvsqf7r3swbkdw8fwqzr05ddk84fhyhr16lfa4118z26v"))))
+ "0n0si3b6l88w0svvpc999slqack1djdd96jc0m8fdkwp0nwi3hkc"))))
(properties `((upstream-name . "terra")))
(build-system r-build-system)
(inputs
@@ -22221,14 +22298,14 @@ cell RNA-seq experiments.")
(define-public r-assertr
(package
(name "r-assertr")
- (version "2.8")
+ (version "3.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "assertr" version))
(sha256
(base32
- "00764vv86r3bn4r85in4w637harffyw605fgq0dj6mrbrwcfb650"))))
+ "1wi3mz968clvwqg6mbm32zhj4vyfskklk72b4028cjsfdry6bpfp"))))
(build-system r-build-system)
(propagated-inputs
(list r-dplyr r-mass r-rlang))
@@ -22246,14 +22323,14 @@ in pipelines.")
(define-public r-parameters
(package
(name "r-parameters")
- (version "0.19.0")
+ (version "0.20.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "parameters" version))
(sha256
(base32
- "10cl8vgcjncnry6qkkr41yyh8ngxxn81hwqqqix9g7pwpbf3c2mf"))))
+ "16y92q4h385sqc7xgdcrdmdvw0l8plxxbhcdsnx4gqqgm8di9l9p"))))
(properties `((upstream-name . "parameters")))
(build-system r-build-system)
(propagated-inputs
@@ -22274,13 +22351,13 @@ effect size.")
(define-public r-rgdal
(package
(name "r-rgdal")
- (version "1.5-32")
+ (version "1.6-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "rgdal" version))
(sha256
- (base32 "1vbkyhw8nd7dw1r53qisphav31x6zvpbzilvnlvbjbj9hzhs90s5"))))
+ (base32 "0g83r9lzq79hs7mk31kqym1sjqnmk53j3nikrn2vk257v854pavy"))))
(properties `((upstream-name . "rgdal")))
(build-system r-build-system)
(inputs
@@ -23385,14 +23462,14 @@ facilitates insertion into pipelines, and content inspection.")
(define-public r-rngwell
(package
(name "r-rngwell")
- (version "0.10-7")
+ (version "0.10-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "rngWELL" version))
(sha256
(base32
- "0f1dxxaimfb0fww8ym9ciqf6q760ai46wxldl37m5mfpd57ca00c"))))
+ "0ad1mz11l27h6apil2hd7gwz5zhi9jkjrk2jnhbkd8d0wz9g0sis"))))
(properties `((upstream-name . "rngWELL")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/rngWELL/")
@@ -23430,14 +23507,14 @@ and prints vectorized images.")
(define-public r-randtoolbox
(package
(name "r-randtoolbox")
- (version "2.0.2")
+ (version "2.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "randtoolbox" version))
(sha256
(base32
- "0mvafd2gm1jpg19gdn6bw8668pqghi0xmcb56rl4fwamg8jg09xn"))))
+ "0i23wj9nmsfy3x2yzlfadzrvil2yhcrxs6qxrykrqs15r9jwx3hm"))))
(properties `((upstream-name . "randtoolbox")))
(build-system r-build-system)
(propagated-inputs
@@ -23589,14 +23666,14 @@ models.")
(define-public r-gamlss
(package
(name "r-gamlss")
- (version "5.4-3")
+ (version "5.4-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "gamlss" version))
(sha256
(base32
- "0xih19zqgpjl5qv5j38ana6x29y84shn2jfl2lk4kaw3q7yx86b6"))))
+ "1cm0rvihniad309j26ll8kabndqzs3wdh5dak70b60z4kljrfx4c"))))
(properties `((upstream-name . "gamlss")))
(build-system r-build-system)
(propagated-inputs
@@ -25669,14 +25746,14 @@ automatically show a loader when the output is (re)calculating.")
(define-public r-rsvg
(package
(name "r-rsvg")
- (version "2.3.2")
+ (version "2.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "rsvg" version))
(sha256
(base32
- "1lx84x5dnxj1xdsidwfg9i6fkay7ldarwrbg0gl0f02wajf8ifsz"))))
+ "1schf5gfqzvwmaigdsic5va9bbk9ycvcisiyll8xjjw116y9cxyb"))))
(properties `((upstream-name . "rsvg")))
(build-system r-build-system)
(inputs
@@ -25982,14 +26059,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.")
(define-public r-forecast
(package
(name "r-forecast")
- (version "8.18")
+ (version "8.19")
(source
(origin
(method url-fetch)
(uri (cran-uri "forecast" version))
(sha256
(base32
- "1pfq2b1ppkbg3a9bag4jrfsjclf0c7mdqbhf1l08h6fqv6lbl82r"))))
+ "1l3mdldghsf319fh8gx81w8f5i5mnrcn70rjjylzk4j8n7gicpih"))))
(properties `((upstream-name . "forecast")))
(build-system r-build-system)
(propagated-inputs
@@ -26331,14 +26408,14 @@ errors; tetrachoric and biserial correlations are special cases.")
(define-public r-msm
(package
(name "r-msm")
- (version "1.6.9")
+ (version "1.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "msm" version))
(sha256
(base32
- "08vhazswyxr3y1zb9y60mbg3bappzlizxml8s08p65mh82xxkz5f"))))
+ "1c0dvmrjxx551n207fq4yjr56rdchaf1zzldxx4rx4b6g7jgi2bz"))))
(properties `((upstream-name . "msm")))
(build-system r-build-system)
(propagated-inputs
@@ -27474,14 +27551,14 @@ linear systems can be manageable using the @code{Matrix} package along with
(define-public r-zvcv
(package
(name "r-zvcv")
- (version "2.1.1")
+ (version "2.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ZVCV" version))
(sha256
(base32
- "0gc76j9i8fkm2v638nyzzb1qxl4zmapbspkkaffb8gi5qyjja448"))))
+ "0ws0v7i6r7skb8lv6j718k29v5qsy1b007jxidv81iv0jcz9zfpy"))))
(properties `((upstream-name . "ZVCV")))
(build-system r-build-system)
(propagated-inputs
@@ -27704,13 +27781,13 @@ appropriate dog and cat images for many status codes.")
(define-public r-latex2exp
(package
(name "r-latex2exp")
- (version "0.9.5")
+ (version "0.9.6")
(source (origin
(method url-fetch)
(uri (cran-uri "latex2exp" version))
(sha256
(base32
- "153br3xflvnnxqhkhm1wgwb2664bw08alhslgdcgjdk73clafhla"))))
+ "1jp0l0hi5kv4yh28qg2yj2z5fj33gnfvdz2g2v4ibn516fj2d636"))))
(build-system r-build-system)
(propagated-inputs
(list r-stringr r-magrittr))
@@ -27726,13 +27803,13 @@ rendered as text, axis labels, etc. throughout R's plotting system.")
(define-public r-oai
(package
(name "r-oai")
- (version "0.3.2")
+ (version "0.4.0")
(source (origin
(method url-fetch)
(uri (cran-uri "oai" version))
(sha256
(base32
- "1zcbcxhw692s0y6izvwazyzhgx0iwsxsbcan2nk0mb7n11p7bypb"))))
+ "0czf8f2qcjl9lh48svicpis09d3iwz9cndfm7hq8wlz5dl3dwh7m"))))
(build-system r-build-system)
(propagated-inputs
(list r-xml2 r-httr r-plyr r-stringr r-tibble))
@@ -28232,14 +28309,14 @@ here.")
(define-public r-projpred
(package
(name "r-projpred")
- (version "2.2.1")
+ (version "2.2.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "projpred" version))
(sha256
(base32
- "1bbjrjaj6zzb1ph69x16i40fj2j6cg8vzmmw2rchsn0ygphaq9b8"))))
+ "0fycjmaqbcr3vp5708003flvi9ny4z04acgbcfly1ird0kcw9s3v"))))
(properties `((upstream-name . "projpred")))
(build-system r-build-system)
(propagated-inputs
@@ -28249,6 +28326,7 @@ here.")
r-lme4
r-loo
r-magrittr
+ r-mass
r-mgcv
r-mvtnorm
r-rcpp
@@ -28486,14 +28564,14 @@ amounts of memory.")
(define-public r-boruta
(package
(name "r-boruta")
- (version "7.0.0")
+ (version "8.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "Boruta" version))
(sha256
(base32
- "0y2w4wb45kfnzrxcrdsiwgal9fsnlr3wad1sqdc70qv8gp921xbg"))))
+ "1irx7qg1sw69ggsk4jgxfd3pp741kd944fipnda1qbcbphg5prrq"))))
(properties `((upstream-name . "Boruta")))
(build-system r-build-system)
(propagated-inputs (list r-ranger))
@@ -28898,13 +28976,13 @@ doi.org/10.1007/s10115-013-0679-x} for details.")
(define-public r-memuse
(package
(name "r-memuse")
- (version "4.2-1")
+ (version "4.2-2")
(source (origin
(method url-fetch)
(uri (cran-uri "memuse" version))
(sha256
(base32
- "1wvwnjaaiv2647561z2b55dss35033ildx4kk8hzxfzgsjmdpsgm"))))
+ "1rdp8wi9sd03qdak7mifvdc1szgk0fdzmhbikdfsza8xshm2pp33"))))
(properties `((upstream-name . "memuse")))
(build-system r-build-system)
(home-page "https://github.com/shinra-dev/memuse")
@@ -29025,6 +29103,90 @@ arrays collapsed in specific extents by summing along the appropriate
diagonals. This package allows you to compute the tensor product of arrays.")
(license license:gpl2+)))
+(define-public r-spatstat-explore
+ (package
+ (name "r-spatstat-explore")
+ (version "3.0-5")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "spatstat.explore" version))
+ (sha256
+ (base32
+ "0qn8dmymbnh9vdw0hysijkk2nwz5q69i62smpp8f3wy3z898lhwz"))))
+ (properties `((upstream-name . "spatstat.explore")))
+ (build-system r-build-system)
+ (propagated-inputs
+ (list r-abind
+ r-goftest
+ r-matrix
+ r-nlme
+ r-spatstat-data
+ r-spatstat-geom
+ r-spatstat-random
+ r-spatstat-sparse
+ r-spatstat-utils))
+ (home-page "https://spatstat.org/")
+ (synopsis "Exploratory data analysis for the spatstat family")
+ (description
+ "This package implements functionality for exploratory data
+analysis and nonparametric analysis of spatial data, mainly spatial
+point patterns, in the @code{spatstat} family of packages. Methods
+include quadrat counts, K-functions and their simulation envelopes,
+nearest neighbour distance and empty space statistics, Fry plots, pair
+correlation function, kernel smoothed intensity, relative risk
+estimation with cross-validated bandwidth selection, mark correlation
+functions, segregation indices, mark dependence diagnostics, and
+kernel estimates of covariate effects. Formal hypothesis tests of
+random pattern (chi-squared, Kolmogorov-Smirnov, Monte Carlo,
+Diggle-Cressie-Loosmore-Ford, Dao-Genton, two-stage Monte Carlo) and
+tests for covariate effects (Cox-Berman-Waller-Lawson,
+Kolmogorov-Smirnov, ANOVA) are also supported.")
+ (license license:gpl2+)))
+
+(define-public r-spatstat-model
+ (package
+ (name "r-spatstat-model")
+ (version "3.0-2")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "spatstat.model" version))
+ (sha256
+ (base32
+ "0a6lf5y0k13h60s0lnwwfrmxswl7avcg4fhqmha1nmycidhga8z9"))))
+ (properties `((upstream-name . "spatstat.model")))
+ (build-system r-build-system)
+ (propagated-inputs
+ (list r-abind
+ r-goftest
+ r-matrix
+ r-mgcv
+ r-nlme
+ r-rpart
+ r-spatstat-data
+ r-spatstat-explore
+ r-spatstat-geom
+ r-spatstat-random
+ r-spatstat-sparse
+ r-spatstat-utils
+ r-tensor))
+ (home-page "https://spatstat.org/")
+ (synopsis "Parametric statistical modelling for the spatstat family")
+ (description
+ "This package implements functionality for exploratory data
+analysis and nonparametric analysis of spatial data, mainly spatial
+point patterns, in the spatstat family of packages. Methods include
+quadrat counts, K-functions and their simulation envelopes, nearest
+neighbour distance and empty space statistics, Fry plots, pair
+correlation function, kernel smoothed intensity, relative risk
+estimation with cross-validated bandwidth selection, mark correlation
+functions, segregation indices, mark dependence diagnostics, and
+kernel estimates of covariate effects. Formal hypothesis tests of
+random pattern (chi-squared, Kolmogorov-Smirnov, Monte Carlo,
+Diggle-Cressie-Loosmore-Ford, Dao-Genton, two-stage Monte Carlo) and
+tests for covariate effects (Cox-Berman-Waller-Lawson,
+Kolmogorov-Smirnov, ANOVA) are also supported.")
+ (license license:gpl2+)))
+
(define-public r-spatstat-utils
(package
(name "r-spatstat-utils")
@@ -29151,22 +29313,23 @@ user-level code from spatstat, except for the code for linear networks.")
(define-public r-spatstat-linnet
(package
(name "r-spatstat-linnet")
- (version "2.3-2")
+ (version "3.0-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "spatstat.linnet" version))
(sha256
(base32
- "0y1py6x0xbw4ad3pjwcspi4ysgfh61f5fd79787zzgyyh2va8y4w"))))
+ "1y9crkj9sa1hnfsfkyyq8zv6fgafv07b8w0y01qps1rd6virnns0"))))
(properties
`((upstream-name . "spatstat.linnet")))
(build-system r-build-system)
(propagated-inputs
(list r-matrix
- r-spatstat-core
r-spatstat-data
+ r-spatstat-explore
r-spatstat-geom
+ r-spatstat-model
r-spatstat-random
r-spatstat-sparse
r-spatstat-utils))
@@ -29180,13 +29343,13 @@ for spatial data on a linear network.")
(define-public r-spatstat-random
(package
(name "r-spatstat-random")
- (version "2.2-0")
+ (version "3.0-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "spatstat.random" version))
(sha256
- (base32 "0kb01s8k67ydcfqcnz3i55vpiksihh4xsg0w2p2bclxxkpdvpw25"))))
+ (base32 "1dp58dxw7ln9bsls9ssbb917qakvgr9nf2jci6zq31rv0rf8934k"))))
(properties `((upstream-name . "spatstat.random")))
(build-system r-build-system)
(propagated-inputs (list r-spatstat-data r-spatstat-geom r-spatstat-utils))
@@ -29208,19 +29371,20 @@ sampler).")
(define-public r-spatstat
(package
(name "r-spatstat")
- (version "2.3-4")
+ (version "3.0-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "spatstat" version))
(sha256
(base32
- "1nlrp7660y68axlm4pczc5rxbdhbbac1ylh69azr4swj1gbzi82f"))))
+ "1k8qs5hsy0n4rh7ccp6bdnqgbw3fvjdp55bc0zhjqwbbhq8c0ax0"))))
(properties `((upstream-name . "spatstat")))
(build-system r-build-system)
(propagated-inputs
- (list r-spatstat-core r-spatstat-data r-spatstat-geom
- r-spatstat-linnet r-spatstat-random r-spatstat-utils))
+ (list r-spatstat-data r-spatstat-explore r-spatstat-geom
+ r-spatstat-linnet r-spatstat-model r-spatstat-random
+ r-spatstat-utils))
(home-page "http://www.spatstat.org")
(synopsis "Spatial Point Pattern analysis, model-fitting, simulation, tests")
(description
@@ -29998,14 +30162,14 @@ more.")
(define-public r-workflows
(package
(name "r-workflows")
- (version "1.1.0")
+ (version "1.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "workflows" version))
(sha256
(base32
- "0l5v5qmgj1qv2bk50kv59k2nydh1r97hmqffyxkfpkh2121b2qaq"))))
+ "1wlgx7gl4h9szw9lr6ck9mnkrflah0wfbs56fialbl7wd5jv6hcg"))))
(properties `((upstream-name . "workflows")))
(build-system r-build-system)
(propagated-inputs
@@ -30014,6 +30178,7 @@ more.")
r-glue
r-hardhat
r-lifecycle
+ r-modelenv
r-parsnip
r-rlang
r-tidyselect
@@ -30172,18 +30337,18 @@ different palettes and includes both diverging and sequential types.")
(define-public r-slider
(package
(name "r-slider")
- (version "0.2.2")
+ (version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "slider" version))
(sha256
(base32
- "1vxk2bc33svwcki2j8zr5jcxswh27i0fqgzjw2a5a1pp9dh3fmd3"))))
+ "18gw0bxpbb00qcafmyv2avyj83s710hrj10x998ch9qbbyx1fsmw"))))
(properties `((upstream-name . "slider")))
(build-system r-build-system)
(propagated-inputs
- (list r-ellipsis r-glue r-rlang r-vctrs r-warp))
+ (list r-cli r-rlang r-vctrs r-warp))
(native-inputs (list r-knitr))
(home-page "https://github.com/DavisVaughan/slider")
(synopsis "Sliding window functions")
@@ -30275,18 +30440,19 @@ Design} (SFD) and to test their quality.")
(define-public r-dials
(package
(name "r-dials")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "dials" version))
(sha256
(base32
- "0flpd7bxknsscv0gk6c7zz1aid9y3z6sibkvjp9zcyc5wnqldrvj"))))
+ "1ly675h6shfclikwg82x8vwvrb63qmklamrbsqxsa0npbafqgvpb"))))
(properties `((upstream-name . "dials")))
(build-system r-build-system)
(propagated-inputs
- (list r-dicedesign
+ (list r-cli
+ r-dicedesign
r-dplyr
r-glue
r-hardhat
@@ -30634,14 +30800,14 @@ analysis using @code{dplyr}, @code{ggplot2}, and other Tidy tools.")
(define-public r-parsnip
(package
(name "r-parsnip")
- (version "1.0.2")
+ (version "1.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "parsnip" version))
(sha256
(base32
- "171crglp6ncy41iyb60gj6xp7zn2vnbffgbgpszrahf6j2hhxvw4"))))
+ "1s1d5zjwag5a13y67l7sz4zj1w0dv0k7vpb6inz4x87d5rgchfi1"))))
(properties `((upstream-name . "parsnip")))
(build-system r-build-system)
(propagated-inputs
@@ -31002,14 +31168,14 @@ designs. Broman et al. (2018) <doi:10.1534/genetics.118.301595>.")
(define-public r-seqminer
(package
(name "r-seqminer")
- (version "8.4")
+ (version "8.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "seqminer" version))
(sha256
(base32
- "1mbx1hw9dhgry7hhan43g6aiz2lyd5api7wxq3fwajyzjrc6p1g8"))))
+ "1ki8b4bgb3ky9y3x2g56h7i94lk345awgwkg10lys022jxhm30d7"))))
(build-system r-build-system)
(inputs
(list zlib))
@@ -31024,14 +31190,14 @@ data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.")
(define-public r-maldiquant
(package
(name "r-maldiquant")
- (version "1.21")
+ (version "1.22")
(source
(origin
(method url-fetch)
(uri (cran-uri "MALDIquant" version))
(sha256
(base32
- "1y1g3819ss06dry70kfhg2syddw71682qmzkcyppfsma6hhghw87"))))
+ "05fhr7945m0qxh7f5c4ax9v2k32s4n4v4xc1dm1crk1vbzha40bv"))))
(properties `((upstream-name . "MALDIquant")))
(build-system r-build-system)
(native-inputs
@@ -31074,14 +31240,14 @@ data to rasters. It speeds up plotting of data with millions of points.")
(define-public r-seuratobject
(package
(name "r-seuratobject")
- (version "4.1.2")
+ (version "4.1.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "SeuratObject" version))
(sha256
(base32
- "03bd4fazcafaf5mp37cf9w6bxm9zwrlxkrqm9bjdnwxm07slanba"))))
+ "1lw6v5mwq0sngjr33j99r5h42kaxlbq271a51xzkcnhnyra2fpaq"))))
(properties `((upstream-name . "SeuratObject")))
(build-system r-build-system)
(propagated-inputs
@@ -31091,7 +31257,6 @@ data to rasters. It speeds up plotting of data with millions of points.")
r-progressr
r-rcpp
r-rcppeigen
- r-rgeos
r-rlang
r-sp))
(home-page "https://satijalab.org/seurat")
@@ -31107,13 +31272,13 @@ other R users.")
(define-public r-seurat
(package
(name "r-seurat")
- (version "4.2.0")
+ (version "4.3.0")
(source (origin
(method url-fetch)
(uri (cran-uri "Seurat" version))
(sha256
(base32
- "1vzb2k21nnzlky5dbf586wnixffz7wc9ncrpbgdw8md2kcmd58r2"))))
+ "0z7rzxi1gli56k50s6w1363ndw18wykgk5xmc3g7jhpphqxwpfky"))))
(properties `((upstream-name . "Seurat")))
(build-system r-build-system)
(propagated-inputs
@@ -31141,6 +31306,7 @@ other R users.")
r-pbapply
r-plotly
r-png
+ r-progressr
r-rann
r-rcolorbrewer
r-rcpp
@@ -31156,7 +31322,7 @@ other R users.")
r-sctransform
r-seuratobject
r-shiny
- r-spatstat-core
+ r-spatstat-explore
r-spatstat-geom
r-tibble
r-uwot))
@@ -31412,14 +31578,14 @@ and Yu (2020), arXiv:2009.06182.")
(define-public r-locpol
(package
(name "r-locpol")
- (version "0.7-0")
+ (version "0.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "locpol" version))
(sha256
(base32
- "1p915n0l09kbwkly627074jslxl01yssp1rf0c7sygvsw6sgy5lm"))))
+ "1bip9x45kdnwc14rvk3ckzfbs32yc2wiid1ypmbbin4mk7364zxk"))))
(properties `((upstream-name . "locpol")))
(build-system r-build-system)
(home-page
@@ -31661,13 +31827,13 @@ performing ordinal regression.")
(define-public r-paradox
(package
(name "r-paradox")
- (version "0.10.0")
+ (version "0.11.0")
(source (origin
(method url-fetch)
(uri (cran-uri "paradox" version))
(sha256
(base32
- "08h92wk8splf0w3rach9zbk3xz13phgcd1yybmgbs0sj4vx93whd"))))
+ "03v26qb0l8yhys7z5v2p9pwnc5wh26fvq4p0a0rh67qap6157dyx"))))
(build-system r-build-system)
(propagated-inputs
(list r-backports r-checkmate r-data-table r-mlr3misc r-r6))
@@ -31682,13 +31848,13 @@ implemented as @code{R6} classes.")
(define-public r-mlr3
(package
(name "r-mlr3")
- (version "0.14.0")
+ (version "0.14.1")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3" version))
(sha256
(base32
- "0cnyby4947g1w0h45nd3ld5zr4k19xrwp565mq1hnqkjwmyjsgdj"))))
+ "192hvc0may73m396j2igwm46ym6f345w6q0q69kqhia58fp6h3nd"))))
(build-system r-build-system)
(propagated-inputs
(list r-r6
@@ -31719,13 +31885,13 @@ computational operations, add-on packages provide additional functionality.")
(define-public r-mlr3learners
(package
(name "r-mlr3learners")
- (version "0.5.4")
+ (version "0.5.5")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3learners" version))
(sha256
(base32
- "0sa2qjvhvjzsfssln9ah08zknzdcps1z28xzgkdfgi6dj25a0y3k"))))
+ "0m5s7jfqfh48gxllvi93wb5w2pzhzx8rcx5bz87lkmv1cnj65q84"))))
(build-system r-build-system)
(propagated-inputs
(list r-checkmate
@@ -31746,14 +31912,14 @@ vector machines, and gradient boosting.")
(define-public r-bbotk
(package
(name "r-bbotk")
- (version "0.6.0")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "bbotk" version))
(sha256
(base32
- "0ingnvfps46bysi8k2rqnvlh577bzk6fih6hcf20mjspdxx1as3v"))))
+ "0g3x3r1dkp9w57arpqc6iccvsawjdf7vlv8c27cb1r36b0z45fi6"))))
(properties `((upstream-name . "bbotk")))
(build-system r-build-system)
(propagated-inputs
@@ -31776,13 +31942,13 @@ annealing.")
(define-public r-mlr3tuning
(package
(name "r-mlr3tuning")
- (version "0.15.0")
+ (version "0.17.0")
(source (origin
(method url-fetch)
(uri (cran-uri "mlr3tuning" version))
(sha256
(base32
- "13p0gcnl8sxvn3ig526pscl63g1dx7l5i9sfzi2yyrddg8vgik4g"))))
+ "1dg02qyyymflgws47sly3b7wd8nj4i9vv7ybx42hgvd55al3smdp"))))
(build-system r-build-system)
(propagated-inputs
(list r-bbotk
@@ -32734,14 +32900,14 @@ and formatted text files with additional meta-data, such including @code{.csv},
(define-public r-packcircles
(package
(name "r-packcircles")
- (version "0.3.4")
+ (version "0.3.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "packcircles" version))
(sha256
(base32
- "05pv5c4k4njkr0xw6i6ksiy34hcyx2lbiqpv5gxw81yrkm0rxfyk"))))
+ "0m8ivgc5y1f9ramqw6sxb02ri6aqxz3av0l5csl32mdldrb126nc"))))
(properties `((upstream-name . "packcircles")))
(build-system r-build-system)
(propagated-inputs (list r-rcpp))
@@ -32758,14 +32924,14 @@ and formatted text files with additional meta-data, such including @code{.csv},
(define-public r-lwgeom
(package
(name "r-lwgeom")
- (version "0.2-9")
+ (version "0.2-10")
(source
(origin
(method url-fetch)
(uri (cran-uri "lwgeom" version))
(sha256
(base32
- "1a0s15rliqd4zr6pyj76xln41f64s9yfwblk074342zvvbps5ck9"))))
+ "1gdvp2q4mzlg1kpjqxkiqxw1r5c4n5pxwvhdbzp89a3gyyjgh7zf"))))
(properties `((upstream-name . "lwgeom")))
(build-system r-build-system)
(inputs
@@ -32784,14 +32950,14 @@ light-weight geometry library used by @url{http://postgis.net/,PostGIS}.")
(define-public r-stars
(package
(name "r-stars")
- (version "0.5-6")
+ (version "0.6-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "stars" version))
(sha256
(base32
- "0qcli9bangpym4yp96yfibd5f4li5qw1622jnbvzfd9n8aakqhg0"))))
+ "0zwbsqp8bihcq5sjdw05pvbh4l9s68p0qw3ffkk0jphsipvy9za9"))))
(properties `((upstream-name . "stars")))
(build-system r-build-system)
(propagated-inputs
@@ -33491,14 +33657,14 @@ Apache2.")
(define-public r-exactextractr
(package
(name "r-exactextractr")
- (version "0.9.0")
+ (version "0.9.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "exactextractr" version))
(sha256
(base32
- "13di9s0lv9kdv2p3hp9ksrr0rh98z6m998pj5a1xq9zl6iakankh"))))
+ "18glacc1v0kj65g6fbqnhvgg83sr334chdfll7nhjnx44my3dkzh"))))
(properties `((upstream-name . "exactextractr")))
(build-system r-build-system)
(inputs (list geos))
@@ -35118,14 +35284,14 @@ be efficient and easy to use.")
(define-public r-ggh4x
(package
(name "r-ggh4x")
- (version "0.2.2")
+ (version "0.2.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggh4x" version))
(sha256
(base32
- "11mskrby3gyjhkvnkcwl2ar1bdh4h45y48dfnm4kzgc7nwvdl3ia"))))
+ "0da5r8zfx1ixhk266byspfm2aifhm0jrvbk264xya712pxayiw4a"))))
(properties `((upstream-name . "ggh4x")))
(build-system r-build-system)
(propagated-inputs
@@ -35151,14 +35317,14 @@ smaller collection of stats, geoms and axis guides.")
(define-public r-gghalves
(package
(name "r-gghalves")
- (version "0.1.3")
+ (version "0.1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "gghalves" version))
(sha256
(base32
- "1lj4c38fzxwg8gy57ymf00lqjdplb7v2a0lnd262c1d5cavqiws4"))))
+ "1qsxq2zbz4zcpqc7949apznn9f2c959jwwx010bl4gf2p6vchfx7"))))
(properties `((upstream-name . "gghalves")))
(build-system r-build-system)
(propagated-inputs
@@ -35405,13 +35571,13 @@ calculate a dimension's unknown value from other dimensions' measurements.")
(define-public r-sungeo
(package
(name "r-sungeo")
- (version "0.2.288")
+ (version "0.2.292")
(source (origin
(method url-fetch)
(uri (cran-uri "SUNGEO" version))
(sha256
(base32
- "0c8y0ngx1020rw2v00rxmq8syd72f41ckik5sg7gigg7d80gi31w"))
+ "1xav5by7sl21cwfg9m1ij1lz1kvdlqkkp2ah67rnj9vp4vk7nkfg"))
(modules '((guix build utils)))
(snippet '(begin
;; Fortunately, the package does not actually use
@@ -35422,28 +35588,28 @@ calculate a dimension's unknown value from other dimensions' measurements.")
(("rmapshaper,") ""))
(substitute* "NAMESPACE"
(("importFrom\\(rmapshaper,ms_dissolve\\)
-") ""))
- #t))))
+") ""))))))
(properties `((upstream-name . "SUNGEO")))
(build-system r-build-system)
- (propagated-inputs (list r-automap
- r-cartogram
- r-data-table
- r-dplyr
- r-fasterize
- r-httr
- r-jsonlite
- r-measurements
- r-packcircles
- r-purrr
- r-rann
- r-raster
- r-rcpp
- r-rcurl
- r-rlang
- r-sf
- r-sp
- r-spdep))
+ (propagated-inputs
+ (list r-automap
+ r-cartogram
+ r-data-table
+ r-dplyr
+ r-fasterize
+ r-httr
+ r-jsonlite
+ r-measurements
+ r-packcircles
+ r-purrr
+ r-rann
+ r-raster
+ r-rcpp
+ r-rcurl
+ r-rlang
+ r-sf
+ r-sp
+ r-spdep))
(home-page "https://github.com/zhukovyuri/SUNGEO/")
(synopsis "Sub-National Geospatial Data Archive: Geoprocessing Toolkit")
(description
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 792779a28f..431a37527c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -3536,117 +3536,179 @@ the web.")
(define-public rust-askama-escape-0.10
(package
(name "rust-askama-escape")
- (version "0.10.1")
+ (version "0.10.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "askama_escape" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "1ys6wcrkpzygk6r93zd0rhinhy89rraarl0m4afwi023m70hihch"))))
+ (base32 "0hg3rz0cma5f6385z7qmqw3jbir76jndwd5s7dqfk92v9gil75v1"))))
(build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
+ (arguments (list #:skip-build? #t))
(home-page "https://github.com/djc/askama")
- (synopsis
- "Optimized HTML escaping code, extracted from Askama")
+ (synopsis "HTML escaping extracted from Askama")
(description
- "This package provides a optimized HTML escaping code, extracted from
-Askama.")
+ "This package provides an optimized HTML escaping library,
+extracted from Askama.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-askama-shared-0.12
+ (package
+ (name "rust-askama-shared")
+ (version "0.12.2")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "askama_shared" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1l4fycmw65zyvfabf672sj2pc0ilfcj0y6a0csygq1wa26a2nwmz"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-askama-escape" ,rust-askama-escape-0.10)
+ ("rust-comrak" ,rust-comrak-0.12)
+ ("rust-humansize" ,rust-humansize-1)
+ ("rust-mime" ,rust-mime-0.3)
+ ("rust-mime-guess" ,rust-mime-guess-2)
+ ("rust-nom" ,rust-nom-7)
+ ("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-percent-encoding"
+ ,rust-percent-encoding-2)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-toml" ,rust-toml-0.5))))
+ (home-page "https://github.com/djc/askama")
+ (synopsis "Shared code for Askama")
+ (description "This package provides shared code for Askama.")
(license (list license:expat license:asl2.0))))
(define-public rust-askama-shared-0.11
(package
+ (inherit rust-askama-shared-0.12)
(name "rust-askama-shared")
(version "0.11.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "askama_shared" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "1g3ksf5is0qwx9rd5lxn5gbvxfcpby5gl9cahg26wl1w1xzbg0i5"))))
- (build-system cargo-build-system)
+ (base32 "1g3ksf5is0qwx9rd5lxn5gbvxfcpby5gl9cahg26wl1w1xzbg0i5"))))
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-askama-escape" ,rust-askama-escape-0.10)
- ("rust-humansize" ,rust-humansize-1)
- ("rust-nom" ,rust-nom-6)
- ("rust-num-traits" ,rust-num-traits-0.2)
- ("rust-percent-encoding"
- ,rust-percent-encoding-2)
- ("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-serde" ,rust-serde-1)
- ("rust-serde-derive" ,rust-serde-derive-1)
- ("rust-serde-json" ,rust-serde-json-1)
- ("rust-serde-yaml" ,rust-serde-yaml-0.8)
- ("rust-syn" ,rust-syn-1)
- ("rust-toml" ,rust-toml-0.5))))
- (home-page "https://github.com/djc/askama")
- (synopsis "Shared code for Askama")
- (description "This package provides a shared code for Askama.")
- (license (list license:expat license:asl2.0))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-askama-escape" ,rust-askama-escape-0.10)
+ ("rust-humansize" ,rust-humansize-1)
+ ("rust-nom" ,rust-nom-6)
+ ("rust-num-traits" ,rust-num-traits-0.2)
+ ("rust-percent-encoding"
+ ,rust-percent-encoding-2)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-derive" ,rust-serde-derive-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-toml" ,rust-toml-0.5))))))
-(define-public rust-askama-derive-0.10
+(define-public rust-askama-derive-0.11
(package
(name "rust-askama-derive")
- (version "0.10.5")
+ (version "0.11.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "askama_derive" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "08jmqb4lq5cvfjjcq7kjk5q4589zlsvc3ld35yfjyf4hqb22aafa"))))
+ (base32 "0wbb5l1x1bx8x8vvz4ayw196l9y64mi3vrmxm7pn8wmlx3k8ggw7"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-askama-shared" ,rust-askama-shared-0.11)
- ("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-syn" ,rust-syn-1))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-askama-shared" ,rust-askama-shared-0.12)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-syn" ,rust-syn-1))))
(home-page "https://github.com/djc/askama")
(synopsis "Procedural macro package for Askama")
(description
- "This package provide procedural macro package for Askama.")
+ "This package provide the procedural macro package for
+Askama.")
(license (list license:expat license:asl2.0))))
-(define-public rust-askama-0.10
+(define-public rust-askama-derive-0.10
(package
- (name "rust-askama")
+ (inherit rust-askama-derive-0.11)
+ (name "rust-askama-derive")
(version "0.10.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "askama_derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08jmqb4lq5cvfjjcq7kjk5q4589zlsvc3ld35yfjyf4hqb22aafa"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-askama-shared" ,rust-askama-shared-0.11)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-syn" ,rust-syn-1))))))
+
+(define-public rust-askama-0.11
+ (package
+ (name "rust-askama")
+ (version "0.11.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "askama" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "0d1iwywdgw3nba2iphayw8sfm3s8m9izwnhfar707qa7ds5p766j"))))
+ (base32 "0f81mzccdadryzaf2dbad1araq4nadp9mssyvdvv31hj6w7z367v"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-askama-derive" ,rust-askama-derive-0.10)
- ("rust-askama-escape" ,rust-askama-escape-0.10)
- ("rust-askama-shared" ,rust-askama-shared-0.11)
- ("rust-mime" ,rust-mime-0.3)
- ("rust-mime-guess" ,rust-mime-guess-2))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-askama-derive" ,rust-askama-derive-0.11)
+ ("rust-askama-escape" ,rust-askama-escape-0.10)
+ ("rust-askama-shared" ,rust-askama-shared-0.12))))
(home-page "https://github.com/djc/askama")
- (synopsis
- "Type-safe, compiled Jinja-like templates for Rust")
+ (synopsis "Type-safe, compiled Jinja-like templates for Rust")
(description
- "This package provides a type-safe, compiled Jinja-like templates for Rust.")
+ "This package provides a type-safe, compiled Jinja-like template
+library for Rust.")
(license (list license:expat license:asl2.0))))
+(define-public rust-askama-0.10
+ (package
+ (inherit rust-askama-0.11)
+ (name "rust-askama")
+ (version "0.10.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "askama" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0d1iwywdgw3nba2iphayw8sfm3s8m9izwnhfar707qa7ds5p766j"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-askama-derive" ,rust-askama-derive-0.10)
+ ("rust-askama-escape" ,rust-askama-escape-0.10)
+ ("rust-askama-shared" ,rust-askama-shared-0.11)
+ ("rust-mime" ,rust-mime-0.3)
+ ("rust-mime-guess" ,rust-mime-guess-2))))))
+
(define-public rust-asn1-derive-0.8
(package
(name "rust-asn1-derive")
@@ -4607,40 +4669,43 @@ futures.")
(define-public rust-async-std-1
(package
(name "rust-async-std")
- (version "1.9.0")
+ (version "1.12.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "async-std" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0h834fni3npsggjqin8386d2fn11m2z42dr1ymq0aknppa2ndw6r"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-async-attributes" ,rust-async-attributes-1)
- ("rust-async-channel" ,rust-async-channel-1)
- ("rust-async-global-executor" ,rust-async-global-executor-2)
- ("rust-async-io" ,rust-async-io-1)
- ("rust-async-lock" ,rust-async-lock-2)
- ("rust-async-process" ,rust-async-process-1)
- ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
- ("rust-futures-channel" ,rust-futures-channel-0.3)
- ("rust-futures-core" ,rust-futures-core-0.3)
- ("rust-futures-io" ,rust-futures-io-0.3)
- ("rust-futures-lite" ,rust-futures-lite-1)
- ("rust-gloo-timers" ,rust-gloo-timers-0.2)
- ("rust-kv-log-macro" ,rust-kv-log-macro-1)
- ("rust-log" ,rust-log-0.4)
- ("rust-memchr" ,rust-memchr-2)
- ("rust-num-cpus" ,rust-num-cpus-1)
- ("rust-once-cell" ,rust-once-cell-1)
- ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
- ("rust-pin-utils" ,rust-pin-utils-0.1)
- ("rust-slab" ,rust-slab-0.4)
- ("rust-surf" ,rust-surf-2)
- ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4))))
+ (base32 "0pbgxhyb97h4n0451r26njvr20ywqsbm6y1wjllnp4if82s5nmk2"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-async-attributes" ,rust-async-attributes-1)
+ ("rust-async-channel" ,rust-async-channel-1)
+ ("rust-async-global-executor" ,rust-async-global-executor-2)
+ ("rust-async-io" ,rust-async-io-1)
+ ("rust-async-lock" ,rust-async-lock-2)
+ ("rust-async-process" ,rust-async-process-1)
+ ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
+ ("rust-femme" ,rust-femme-2)
+ ("rust-futures-channel" ,rust-futures-channel-0.3)
+ ("rust-futures-core" ,rust-futures-core-0.3)
+ ("rust-futures-io" ,rust-futures-io-0.3)
+ ("rust-futures-lite" ,rust-futures-lite-1)
+ ("rust-gloo-timers" ,rust-gloo-timers-0.2)
+ ("rust-kv-log-macro" ,rust-kv-log-macro-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-memchr" ,rust-memchr-2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
+ ("rust-pin-utils" ,rust-pin-utils-0.1)
+ ("rust-rand-xorshift" ,rust-rand-xorshift-0.3)
+ ("rust-slab" ,rust-slab-0.4)
+ ("rust-surf" ,rust-surf-2)
+ ("rust-wasm-bindgen-futures"
+ ,rust-wasm-bindgen-futures-0.4)
+ ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3))))
(home-page "https://async.rs")
(synopsis "Async version of the Rust standard library")
(description
@@ -4998,22 +5063,19 @@ they're not available.")
(define-public rust-autocfg-1
(package
(name "rust-autocfg")
- (version "1.0.1")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "autocfg" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "0jj6i9zn4gjl03kjvziqdji6rwx8ykz8zk2ngpc331z2g3fk3c6d"))))
+ (base32 "1ylp3cb47ylzabimazvbz9ms6ap784zhb6syaz6c1jqpmcmq0s6l"))))
(build-system cargo-build-system)
(home-page "https://github.com/cuviper/autocfg")
- (synopsis
- "Automatic cfg for Rust compiler features")
+ (synopsis "Automatic configuration for Rust compiler features")
(description
- "Automatic cfg for Rust compiler features.")
+ "This package utomatically configures Rust compiler features.")
(license (list license:asl2.0 license:expat))))
(define-public rust-autocfg-0.1
@@ -10455,70 +10517,106 @@ traits.")
("rust-libc" ,rust-libc-0.2)
("rust-libloading" ,rust-libloading-0.3))))))
+(define-public rust-clap-conf-0.1
+ (package
+ (name "rust-clap-conf")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "clap_conf" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1n29wr6ns660hi63mc30zvs7dhidaycw35am9spzknsal3nrs0sn"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-toml" ,rust-toml-0.5))))
+ (home-page "https://github.com/storyfeet/clap_conf")
+ (synopsis
+ "Library to unify commandline arguments, config files and environment variables")
+ (description
+ "This package provides a library to unify commandline arguments with config
+files and environment variables. And make it easier for users to tell your program
+how to behave across the three main input sources")
+ (license license:expat)))
+
(define-public rust-clap-derive-3
(package
(name "rust-clap-derive")
- (version "3.0.0-beta.2")
+ (version "3.2.18")
(source
(origin
(method url-fetch)
(uri (crate-uri "clap_derive" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "18cn82jhcha7m0nkpi1a03jx8k7aaq5kxfcxnsqpaa8ih5dp23rp"))))
+ (base32 "0r9az0cl33xx0i9g18l56l3vd5ayjvcflvza2gdf8jwcab78n37a"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-heck" ,rust-heck-0.3)
- ("rust-proc-macro-error"
- ,rust-proc-macro-error-1)
- ("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-syn" ,rust-syn-1))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-heck" ,rust-heck-0.4)
+ ("rust-proc-macro-error"
+ ,rust-proc-macro-error-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))))
(home-page "https://clap.rs/")
- (synopsis
- "Parse command line argument by defining a struct, derive crate")
+ (synopsis "Procedural macro crate for Clap")
(description
- "This package provides a parse command line argument by defining a struct,
-derive crate.")
+ "This package provides the procedural macro crate for Clap.")
(license (list license:expat license:asl2.0))))
(define-public rust-clap-3
(package
(name "rust-clap")
- (version "3.0.0-beta.2")
+ (version "3.2.23")
(source
(origin
(method url-fetch)
(uri (crate-uri "clap" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "0hm1kivw6190rxbfqhdr4hqwlrijvwh90i3d9dyyw0d5k0chdlab"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-atty" ,rust-atty-0.2)
- ("rust-bitflags" ,rust-bitflags-1)
- ("rust-clap-derive" ,rust-clap-derive-3)
- ("rust-indexmap" ,rust-indexmap-1)
- ("rust-os-str-bytes" ,rust-os-str-bytes-2)
- ("rust-strsim" ,rust-strsim-0.10)
- ("rust-termcolor" ,rust-termcolor-1)
- ("rust-terminal-size" ,rust-terminal-size-0.1)
- ("rust-textwrap" ,rust-textwrap-0.12)
- ("rust-unicode-width" ,rust-unicode-width-0.1)
- ("rust-vec-map" ,rust-vec-map-0.8)
- ("rust-yaml-rust" ,rust-yaml-rust-0.4))
- #:cargo-development-inputs
- (("rust-criterion" ,rust-criterion-0.3)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-regex" ,rust-regex-1)
- ("rust-version-sync" ,rust-version-sync-0.8))))
+ (base32 "19bkwkj49ha7mlip0gxsqb9xmd3jpr7ghvcx1hkx6icqrd2mqrbi"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-test-flags
+ '(list "--release" "--"
+ ;; thread 'main' panicked at 'assertion failed: `(left == right)`
+ ;; left: `"_AnonymousValueParser(ValueParser::other(TypeId { t: 3349385470118513432 }))"`,
+ ;; right: `"_AnonymousValueParser(ValueParser::other(usize))"`', src/builder/value_parser.rs:18:1
+ "--skip=builder::value_parser::value_parser")
+ #:cargo-inputs
+ `(("rust-atty" ,rust-atty-0.2)
+ ("rust-backtrace" ,rust-backtrace-0.3)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-clap-derive" ,rust-clap-derive-3)
+ ("rust-clap-lex" ,rust-clap-lex-0.2)
+ ("rust-indexmap" ,rust-indexmap-1)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-strsim" ,rust-strsim-0.10)
+ ("rust-termcolor" ,rust-termcolor-1)
+ ("rust-terminal-size" ,rust-terminal-size-0.2)
+ ("rust-textwrap" ,rust-textwrap-0.16)
+ ("rust-unicase" ,rust-unicase-2)
+ ("rust-yaml-rust" ,rust-yaml-rust-0.4))
+ #:cargo-development-inputs
+ `(("rust-humantime" ,rust-humantime-2)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-rustversion" ,rust-rustversion-1)
+ ("rust-shlex" ,rust-shlex-1)
+ ("rust-snapbox" ,rust-snapbox-0.2)
+ ("rust-static-assertions" ,rust-static-assertions-1)
+ ("rust-trybuild" ,rust-trybuild-1)
+ ("rust-trycmd" ,rust-trycmd-0.13))))
(home-page "https://clap.rs/")
(synopsis "Command Line Argument Parser")
(description
@@ -10557,6 +10655,86 @@ Command Line Argument Parser.")
("rust-version-sync" ,rust-version-sync-0.8))))
(license license:expat)))
+(define-public rust-clap-complete-3
+ (package
+ (name "rust-clap-complete")
+ (version "3.2.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "clap-complete" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1n3whjkznszrxif1hzvql7hav7agq85j456fmwjwwi9cjq52wyiz"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-clap" ,rust-clap-3)
+ ("rust-clap-lex" ,rust-clap-lex-0.2)
+ ("rust-is-executable" ,rust-is-executable-1)
+ ("rust-os-str-bytes" ,rust-os-str-bytes-6)
+ ("rust-pathdiff" ,rust-pathdiff-0.2)
+ ("rust-shlex" ,rust-shlex-1)
+ ("rust-unicode-xid" ,rust-unicode-xid-0.2))
+ #:cargo-development-inputs
+ `(("rust-clap" ,rust-clap-3)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-1)
+ ("rust-snapbox" ,rust-snapbox-0.2)
+ ("rust-trycmd" ,rust-trycmd-0.13))))
+ (home-page "https://github.com/clap-rs/clap/tree/master/clap_complete")
+ (synopsis "Generate shell completion scripts for Clap CLIs")
+ (description
+ "This package provides generation of shell completion scripts
+for programs written with Clap.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-clap-complete-fig-3
+ (package
+ (name "rust-clap-complete-fig")
+ (version "3.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "clap-complete-fig" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fb4965w8wyrcwq35ywgx4mzfsv2cqba73mdlvmp6ii1q70b8dzd"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-clap" ,rust-clap-3)
+ ("rust-clap-complete" ,rust-clap-complete-3))
+ #:cargo-development-inputs
+ `(("rust-snapbox" ,rust-snapbox-0.2))))
+ (home-page "https://github.com/clap-rs/clap/tree/master/clap_complete_fig")
+ (synopsis "Generate Fig completion scripts for Clap CLIs")
+ (description
+ "This package provides a generator library for Rust used
+with Clap to generate Fig completion scripts.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-clap-lex-0.2
+ (package
+ (name "rust-clap-lex")
+ (version "0.2.4")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "clap-lex" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ib1a9v55ybnaws11l63az0jgz5xiy24jkdgsmyl7grcm3sz4l18"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-os-str-bytes" ,rust-os-str-bytes-6))))
+ (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex")
+ (synopsis "Command line parser for Clap")
+ (description
+ "This package provides a parser for command line options. As opposed to a
+declarative parser, @code{rust-clap-lex} processes arguments as a stream of tokens.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-clearscreen-1
(package
(name "rust-clearscreen")
@@ -11449,7 +11627,7 @@ literals.")
(define-public rust-compiler-builtins-0.1
(package
(name "rust-compiler-builtins")
- (version "0.1.26")
+ (version "0.1.84")
(source
(origin
(method url-fetch)
@@ -11457,13 +11635,14 @@ literals.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1rhj6ccmfkh9gcxnxgjq4fg257yi4f9325nfzsphbmxwkrg06sq3"))))
+ "040bzrhwyqm75yp94vdyfyljg3d25y3d3lb9vipx02p9lqf2r6wq"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
- ("rust-cc" ,rust-cc-1))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-rustc-std-workspace-core"
+ ,rust-rustc-std-workspace-core-1)
+ ("rust-cc" ,rust-cc-1))))
(home-page "https://github.com/rust-lang/compiler-builtins")
(synopsis "Compiler intrinsics used by the Rust compiler")
(description
@@ -11552,6 +11731,42 @@ harness.")
("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
("rust-tempdir" ,rust-tempdir-0.3))))))
+(define-public rust-comrak-0.12
+ (package
+ (name "rust-comrak")
+ (version "0.12.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "comrak" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x2f1qz64i3ni7sk87whc3bvp27ps1wxn0ia47qlvsrk39p4fg7z"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-clap" ,rust-clap-2)
+ ("rust-entities" ,rust-entities-1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-pest" ,rust-pest-2)
+ ("rust-pest-derive" ,rust-pest-derive-2)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-shell-words" ,rust-shell-words-1)
+ ("rust-syntect" ,rust-syntect-4)
+ ("rust-twoway" ,rust-twoway-0.2)
+ ("rust-typed-arena" ,rust-typed-arena-1)
+ ("rust-unicode-categories" ,rust-unicode-categories-0.1)
+ ("rust-xdg" ,rust-xdg-2))
+ #:cargo-development-inputs
+ `(("rust-propfuzz" ,rust-propfuzz-0.0.1)
+ ("rust-timebomb" ,rust-timebomb-0.1))))
+ (home-page "https://github.com/kivikakk/comrak")
+ (synopsis "GitHub flavoured Markdown parser and formatter")
+ (description
+ "This package provides a 100% CommonMark-compatible GitHub
+flavoured Markdown parser and formatter written in Rust.")
+ (license license:bsd-2)))
+
(define-public rust-concat-idents-1
(package
(name "rust-concat-idents")
@@ -13825,6 +14040,32 @@ number ``crunching``.")
"@code{roxmltree} represents an XML 1.0 document as a read-only tree.")
(license (list license:expat license:asl2.0))))
+(define-public rust-rt-format-0.3
+ (package
+ (name "rust-rt-format")
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rt-format" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1qjjwh9ny95xck1kp99gi6hfm9glrx54jx8npnj6yccxc7p7q225"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-regex" ,rust-regex-1))))
+ (home-page "https://github.com/vstojkovic/rt-format")
+ (synopsis "Runtime equivalent of the Rust format! macro")
+ (description "This package provides a runtime equivalent of the Rust
+format! macro. It allows formatting strings like the format! macro, with the
+formatting string and the arguments provided at runtime. This crate supports
+all the formatting features of the format! macro, except for the fill
+character.")
+ (license license:asl2.0)))
+
(define-public rust-rust-crypto-0.2
(package
(name "rust-rust-crypto")
@@ -14468,23 +14709,21 @@ use with sct crate.")
(define-public rust-ctor-0.1
(package
(name "rust-ctor")
- (version "0.1.15")
+ (version "0.1.26")
(source
(origin
(method url-fetch)
(uri (crate-uri "ctor" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "09x2my9x33srjdip8yf4lm5gq7xqis2694abvpa64r60pajqm19r"))))
+ (base32 "15m0wqhv12p25xkxz5dxvg23r7a6bkh7p8zi1cdhgswjhdl028vd"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-syn" ,rust-syn-1)
- ("rust-quote" ,rust-quote-1))
- #:cargo-development-inputs
- (("rust-libc-print" ,rust-libc-print-0.1))))
+ (list #:cargo-inputs
+ `(("rust-syn" ,rust-syn-1)
+ ("rust-quote" ,rust-quote-1))
+ #:cargo-development-inputs
+ `(("rust-libc-print" ,rust-libc-print-0.1))))
(home-page "https://github.com/mmastrac/rust-ctor")
(synopsis "__attribute__((constructor)) for Rust")
(description
@@ -18781,6 +19020,24 @@ Standard.")
order.")
(license license:expat)))
+(define-public rust-enquote-1
+ (package
+ (name "rust-enquote")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "enquote" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0clrjghlfkkb7sndabs5wch0fz2nif6nj4b117s8kqxx3nqnrhq6"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/reujab/enquote")
+ (synopsis "Rust library that quotes, unquotes, and unescapes strings")
+ (description "This package provides a Rust library quotes, unquotes, and
+unescapes strings.")
+ (license license:unlicense)))
+
(define-public rust-entities-1
(package
(name "rust-entities")
@@ -19273,27 +19530,27 @@ deserialized from environment variables.")
(define-public rust-errno-0.2
(package
(name "rust-errno")
- (version "0.2.4")
+ (version "0.2.8")
(source
(origin
(method url-fetch)
(uri (crate-uri "errno" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0kn8mlygxxr02cm97401nppd2dbkwsalpcbai67rh6yh3rh73862"))))
+ "18cnqgk8r6lq1n5cfy3bryiyz9zkqr10dxj49sa3fkzfamih8fgn"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-errno-dragonfly" ,rust-errno-dragonfly-0.1)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-winapi" ,rust-winapi-0.3))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-errno-dragonfly" ,rust-errno-dragonfly-0.1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-winapi" ,rust-winapi-0.3))))
(home-page "https://github.com/lambda-fairy/rust-errno")
(synopsis "Cross-platform interface to the @code{errno} variable")
(description
- "Cross-platform interface to the @code{errno} variable.")
+ "This package provides a cross-platform interface to the
+@code{errno} variable.")
(license (list license:asl2.0 license:expat))))
(define-public rust-errno-dragonfly-0.1
@@ -21419,6 +21676,30 @@ values to other threads.")
duplication.")
(license (list license:expat license:asl2.0))))
+(define-public rust-fs-err-2
+ (package
+ (name "rust-fs-err")
+ (version "2.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "fs-err" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ha5ysh5jz2hxlhmydc82pjcycps6ips4jyni41jy8cr48jzli88"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-tokio" ,rust-tokio-1))
+ #:cargo-development-inputs
+ `(("rust-serde-json" ,rust-serde-json-1))))
+ (home-page "https://github.com/andrewhickman/fs-err")
+ (synopsis "@code{std::fs} with more helpful errors")
+ (description
+ "This package provides an alternative to @code{std::fs} with
+more helpful error messages.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-fs-extra-1
(package
(name "rust-fs-extra")
@@ -26873,6 +27154,145 @@ let} expressions.")
ignore files such as @file{.gitignore} against file paths.")
(license (list license:unlicense license:expat))))
+(define-public rust-im-rc-15
+ (package
+ (name "rust-im-rc")
+ (version "15.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "im-rc" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gsgcs1nn38r40973l6zr1v4d85f4s9qyl32n5f20jphf5z9ba1w"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-arbitrary" ,rust-arbitrary-0.4)
+ ("rust-bitmaps" ,rust-bitmaps-2)
+ ("rust-proptest" ,rust-proptest-0.9)
+ ("rust-quickcheck" ,rust-quickcheck-0.9)
+ ("rust-rand-core" ,rust-rand-core-0.5)
+ ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.4)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-refpool" ,rust-refpool-0.4)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-sized-chunks" ,rust-sized-chunks-0.6)
+ ("rust-typenum" ,rust-typenum-1)
+ ("rust-version-check" ,rust-version-check-0.9))
+ #:cargo-development-inputs
+ (("rust-metrohash" ,rust-metrohash-1)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
+ ("rust-proptest" ,rust-proptest-0.9)
+ ("rust-proptest-derive" ,rust-proptest-derive-0.1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-version-check" ,rust-version-check-0.9))))
+ (home-page "https://docs.rs/crate/im")
+ (synopsis "Fast immutable collection datatypes for Rust")
+ (description "@code{im-rc} provides immutable collection datatypes for
+Rust that are very fast but not thread-safe. A thread-safe (and slower)
+variant of this library is available separately as @code{im}.")
+ (license license:mpl2.0)))
+
+(define-public rust-impl-codec-0.5
+ (package
+ (name "rust-impl-codec")
+ (version "0.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "impl-codec" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0hy4svffnw9idy9ipp0hkmbzk97fl583akqwyqmvbqy8qgzbs7hn"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-parity-scale-codec" ,rust-parity-scale-codec-2))))
+ (home-page "https://github.com/paritytech/parity-common")
+ (synopsis "Parity Codec serialization support for uint and fixed hash")
+ (description "This package provides Parity Codec serialization support
+for uint and fixed hash.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-impl-rlp-0.3
+ (package
+ (name "rust-impl-rlp")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "impl-rlp" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "021869d5s47ili9kmhm9y80qpsbf0wwdap14qzfpb84pjbw210pj"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-rlp" ,rust-rlp-0.5))))
+ (home-page "https://github.com/paritytech/parity-common")
+ (synopsis "RLP serialization support for uint and fixed hash")
+ (description "This package provides RLP serialization support for uint
+and fixed hash.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-impl-serde-0.3
+ (package
+ (name "rust-impl-serde")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "impl-serde" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0p2zy8ikdxd28s3vb22nwqgnwjn8gx920sr2svdn93j3yd1g0la5"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1))
+ #:cargo-development-inputs
+ (("rust-criterion" ,rust-criterion-0.3)
+ ("rust-serde-derive" ,rust-serde-derive-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-uint" ,rust-uint-0.9))))
+ (home-page "https://github.com/paritytech/parity-common")
+ (synopsis "Serde serialization support for uint and fixed hash")
+ (description "This package provides @code{serde} serialization support
+for @code{uint} and @code{fixed_hash}.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-impl-trait-for-tuples-0.2
+ (package
+ (name "rust-impl-trait-for-tuples")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "impl-trait-for-tuples" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1vii634v1zvb680h28md42xpdrj1j1d50ix3dga95fxkql8cpnnm"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #false ; Some tests fail. Unstable compiler messages?
+ #:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))
+ #:cargo-development-inputs
+ (("rust-trybuild" ,rust-trybuild-1))))
+ (home-page "https://github.com/bkchr/impl-trait-for-tuples")
+ (synopsis "Attribute macro to implement a trait for tuples")
+ (description "This package provides attribute macro to implement
+a trait for tuples.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-include-flate-0.1
(package
(name "rust-include-flate")
@@ -27007,6 +27427,34 @@ removals, and it allows lookup of its elements by either hash table key
or numerical index. A corresponding hash set type is also provided.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-indicatif-0.16
+ (package
+ (name "rust-indicatif")
+ (version "0.16.2")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "indicatif" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06xyjs0kzqiqkjn60n1miwm2l87sa9p2lmzz0ymq18y72z37s81d"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-console" ,rust-console-0.15)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-number-prefix" ,rust-number-prefix-0.4)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
+ ("rust-unicode-width" ,rust-unicode-width-0.1))))
+ (home-page "https://github.com/console-rs/indicatif")
+ (synopsis "Progress bar and cli reporting library for Rust")
+ (description
+ "This package provides a progress bar and cli reporting library for
+Rust.")
+ (license license:expat)))
+
(define-public rust-indicatif-0.15
(package
(name "rust-indicatif")
@@ -27149,6 +27597,27 @@ signature.")
(description "This package provides DEFLATE decoding.")
(license license:expat)))
+(define-public rust-inflections-1
+ (package
+ (name "rust-inflections")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "inflections" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0yl3gas612q25c72lwf04405i87yxr02vgv3ckcnz2fyvhpmhmx2"))))
+ (build-system cargo-build-system)
+ (home-page "https://docs.rs/inflections")
+ (synopsis "Inflection transformation library for changing properties of words")
+ (description
+ "High performance inflection transformation library for changing properties of
+words like the case.")
+ (license license:expat)))
+
(define-public rust-inflector-0.11
(package
(name "rust-inflector")
@@ -27603,6 +28072,36 @@ versions < 0.2.")
;; Either license can be chosen at the users option.
(license (list license:expat license:asl2.0))))
+(define-public rust-io-lifetimes-0.7
+ (package
+ (name "rust-io-lifetimes")
+ (version "0.7.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "io-lifetimes" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x10ak2iy4p24g7bnp1rfrq6aqddjlzkykgwjdayi7nl97wmxkjr"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-async-std" ,rust-async-std-1)
+ ("rust-fs-err" ,rust-fs-err-2)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-mio" ,rust-mio-0.8)
+ ("rust-os-pipe" ,rust-os-pipe-1)
+ ("rust-socket2" ,rust-socket2-0.4)
+ ("rust-tokio" ,rust-tokio-1)
+ ("rust-windows-sys" ,rust-windows-sys-0.42))))
+ (home-page "https://github.com/sunfishcode/io-lifetimes")
+ (synopsis "Low-level I/O ownership and borrowing library")
+ (description
+ "This package provides a low-level I/O ownership and borrowing
+library.")
+ (license (list license:asl2.0
+ license:expat))))
+
(define-public rust-iovec-0.1
(package
(name "rust-iovec")
@@ -29390,18 +29889,18 @@ parser in Rust.")
(define-public rust-libc-0.2
(package
(name "rust-libc")
- (version "0.2.112")
+ (version "0.2.137")
(source
(origin
(method url-fetch)
(uri (crate-uri "libc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "09bik7pcck869kfr5i9hjhnck0mzpd9v0ijxbqnh8fja6rzx20qv"))))
+ (base32 "12dz2lk4a7lm03k079n2rkm1l6cpdhvy6nrngbfprzrv19icqzzw"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))
+ (list #:cargo-inputs
+ `(("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))
(home-page "https://github.com/rust-lang/libc")
(synopsis "Raw FFI bindings to platform libraries like libc")
(description
@@ -30484,6 +30983,33 @@ in plain text. It is smart about where a link ends, such as with trailing
punctuation.")
(license (list license:expat license:asl2.0))))
+(define-public rust-linux-raw-sys-0.0.46
+ (package
+ (name "rust-linux-raw-sys")
+ (version "0.0.46")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "linux-raw-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kc528mp2fp8m96csm6rmwg0ac7zbgf36k19ml4a4c9j6xn4blnl"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+ ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))
+ #:cargo-development-inputs
+ `(("rust-libc" ,rust-libc-0.2)
+ ("rust-static-assertions" ,rust-static-assertions-1))))
+ (home-page "https://github.com/sunfishcode/linux-raw-sys")
+ (synopsis "Generated bindings for Linux APIs")
+ (description
+ "This package provides automatically generated bindings for
+Linux userspace APIs.")
+ (license (list license:asl2.0
+ license:expat))))
+
(define-public rust-libssh2-sys-0.2
(package
(name "rust-libssh2-sys")
@@ -32195,14 +32721,15 @@ file IO.")
(define-public rust-memoffset-0.6
(package
(name "rust-memoffset")
- (version "0.6.4")
+ (version "0.6.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "memoffset" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1yfx2v8kmkhr2d4gwk8ghihdwg73vapn3vvp0im06f0kgx8crb2r"))))
+ (base32
+ "1kkrzll58a3ayn5zdyy9i1f1v3mx0xgl29x0chq614zazba638ss"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -32229,8 +32756,7 @@ for Rust structs.")
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "1fblqzc25hfaym8m0pj112s66pqq87avvaqm5hp5rskib2w9w63m"))))
+ (base32 "1fblqzc25hfaym8m0pj112s66pqq87avvaqm5hp5rskib2w9w63m"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
@@ -32938,25 +33464,24 @@ streaming API for miniz_oxide.")
(define-public rust-mio-0.8
(package
(name "rust-mio")
- (version "0.8.0")
+ (version "0.8.5")
(source
(origin
(method url-fetch)
(uri (crate-uri "mio" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1cmgipv6k536xf0a6qd359wnpxg0pfrpkr9bhy8zqh8bza2jy9xs"))))
+ (base32 "1pjqn6jvmqkgyykf2z5danqka1rfs3il7w4d0qin8yi062y35mz5"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-libc" ,rust-libc-0.2)
- ("rust-log" ,rust-log-0.4)
- ("rust-miow" ,rust-miow-0.3)
- ("rust-ntapi" ,rust-ntapi-0.3)
- ("rust-winapi" ,rust-winapi-0.3))
- #:cargo-development-inputs
- (("rust-env-logger" ,rust-env-logger-0.8)
- ("rust-rand" ,rust-rand-0.8))))
+ (list #:cargo-inputs
+ `(("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-wasi" ,rust-wasi-0.11)
+ ("rust-windows-sys" ,rust-windows-sys-0.42))
+ #:cargo-development-inputs
+ `(("rust-env-logger" ,rust-env-logger-0.8)
+ ("rust-rand" ,rust-rand-0.8))))
(home-page "https://github.com/tokio-rs/mio")
(synopsis "Lightweight non-blocking IO")
(description
@@ -34892,26 +35417,25 @@ nitrokey crate and others using it.")
nitrokey-test crate.")
(license license:gpl3+)))
-(define-public rust-nix-0.23
+(define-public rust-nix-0.24
(package
(name "rust-nix")
- (version "0.23.1")
+ (version "0.24.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "nix" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1iimixk7y2qk0jswqich4mkd8kqyzdghcgy6203j8fmxmhbn71lz"))))
+ (base32 "1z35n1bhzslr7zawy2c0fl90jjy9l5b3lnsidls3908vfk0xnp0r"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-bitflags" ,rust-bitflags-1)
- ("rust-cc" ,rust-cc-1)
- ("rust-cfg-if" ,rust-cfg-if-1)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-memoffset" ,rust-memoffset-0.6))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-memoffset" ,rust-memoffset-0.6))))
(home-page "https://github.com/nix-rust/nix")
(synopsis "Rust friendly bindings to *nix APIs")
(description
@@ -34920,6 +35444,27 @@ The goal is to not provide a 100% unified interface, but to unify what can be
while still providing platform specific APIs.")
(license license:expat)))
+(define-public rust-nix-0.23
+ (package
+ (inherit rust-nix-0.24)
+ (name "rust-nix")
+ (version "0.23.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "nix" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1iimixk7y2qk0jswqich4mkd8kqyzdghcgy6203j8fmxmhbn71lz"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cc" ,rust-cc-1)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-memoffset" ,rust-memoffset-0.6))))))
+
(define-public rust-nix-0.22
(package
(inherit rust-nix-0.23)
@@ -37989,6 +38534,29 @@ memory page size.")
"This package pipes your Rust output through an external pager.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-pam-sys-0.5
+ (package
+ (name "rust-pam-sys")
+ (version "0.5.6")
+ (home-page "https://github.com/1wilkens/pam-sys")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "pam-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0d14501d5vybjnzxfjf96321xa5wa36x1xvf02h02zq938qmhj6d"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
+ (inputs `(("linux-pam" ,linux-pam)))
+ (synopsis
+ "Rust FFI wrappers for the Linux Pluggable Authentication Modules (PAM)")
+ (description
+ "This crate uses bindgen to generate the raw FFI definitions for PAM. For a
+rustified API consider using pam.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-pancurses-0.16
(package
(name "rust-pancurses")
@@ -38242,27 +38810,24 @@ unparking.")
(sha256
(base32 "0z6q9rxm98vrp3fimw8b5syzwgf8l0pnn6y0cqm4lbblf7r01cvc"))))))
-(define-public rust-parking-lot-0.11
+(define-public rust-parking-lot-0.12
(package
(name "rust-parking-lot")
- (version "0.11.2")
+ (version "0.12.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "parking_lot" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "16gzf41bxmm10x82bla8d6wfppy9ym3fxsmdjyvn61m66s0bf5vx"))))
+ (base32 "13r2xk7mnxfc5g0g6dkdxqdqad99j7s7z8zhzz4npw5r0g0v4hip"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-instant" ,rust-instant-0.1)
- ("rust-lock-api" ,rust-lock-api-0.4)
- ("rust-parking-lot-core" ,rust-parking-lot-core-0.8))
- #:cargo-development-inputs
- (("rust-bincode" ,rust-bincode-1)
- ("rust-rand" ,rust-rand-0.8))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-instant" ,rust-instant-0.1)
+ ("rust-lock-api" ,rust-lock-api-0.4)
+ ("rust-parking-lot-core" ,rust-parking-lot-core-0.8))))
(home-page "https://github.com/Amanieu/parking_lot")
(synopsis
"Efficient implementations of the standard synchronization primitives")
@@ -38271,6 +38836,25 @@ unparking.")
of the standard synchronization primitives.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-parking-lot-0.11
+ (package
+ (inherit rust-parking-lot-0.12)
+ (name "rust-parking-lot")
+ (version "0.11.2")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "parking_lot" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "16gzf41bxmm10x82bla8d6wfppy9ym3fxsmdjyvn61m66s0bf5vx"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-instant" ,rust-instant-0.1)
+ ("rust-lock-api" ,rust-lock-api-0.4)
+ ("rust-parking-lot-core" ,rust-parking-lot-core-0.8))))))
+
(define-public rust-parking-lot-0.10
(package
(name "rust-parking-lot")
@@ -38942,23 +39526,25 @@ path.Clean.")
(define-public rust-pathdiff-0.2
(package
(name "rust-pathdiff")
- (version "0.2.0")
+ (version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "pathdiff" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "0d2aqgrqhdn5kxlnd5dxv7d6pgsgf92r6r9gqm6bdh0mvsrk0xl7"))))
+ (base32 "1pa4dcmb7lwir4himg1mnl97a05b2z0svczg62l8940pbim12dc8"))))
(build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-camino" ,rust-camino-1))))
(home-page "https://github.com/Manishearth/pathdiff")
(synopsis "Library for diffing paths to obtain relative paths")
(description
- "Use diff_paths to construct a relative path from a provided base
-directory path to the provided path.")
+ "This package provides a Rust library for constructing a
+relative path from a provided base directory path to the provided
+path.")
(license (list license:asl2.0 license:expat))))
(define-public rust-pbkdf2-0.10
@@ -42246,6 +42832,53 @@ status.")
progress-bars for Rust.")
(license license:asl2.0)))
+(define-public rust-propfuzz-0.0.1
+ (package
+ (name "rust-propfuzz")
+ (version "0.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "propfuzz" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xadkjqsnnazfksaywxkdgv0fjkclj2p7x36r044jbj9g395nxyg"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-propfuzz-macro" ,rust-propfuzz-macro-0.0.1)
+ ("rust-proptest" ,rust-proptest-0.10))))
+ (home-page "https://github.com/facebookincubator/propfuzz")
+ (synopsis "Property-based testing and fuzzing")
+ (description
+ "This package provides a Rust library that combines
+property-based testing and fuzzing.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-propfuzz-macro-0.0.1
+ (package
+ (name "rust-propfuzz-macro")
+ (version "0.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "propfuzz-macro" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xizaahjxxvcz9n91pgpji3nd7b755qgq3m2kmmg53zwjwv9nnsx"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://github.com/facebookincubator/propfuzz")
+ (synopsis "Support macro for propfuzz")
+ (description
+ "This package provides a support macro for propfuzz.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-proptest-1
(package
(name "rust-proptest")
@@ -46603,58 +47236,117 @@ rust.")
(base32
"1b6vjfwvpcgy0q8ywywz548vhxrmhbz2sm6xyhnmj5p5xd1xfqff"))))))
-(define-public rust-rstest-0.6
+(define-public rust-rstest-0.15
(package
(name "rust-rstest")
- (version "0.6.5")
+ (version "0.15.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rstest" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1wdd0ci0bn6fd5v5c19lhlqrpadk18fl4jzvh75b26616anlxdil"))))
+ (base32 "0c5r8wimr2fv3x25dbb99rk165lzcsz6jlpv7xk2ny99rikdrjg9"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-cfg-if" ,rust-cfg-if-1)
- ("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-rustc-version" ,rust-rustc-version-0.3)
- ("rust-syn" ,rust-syn-1))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-futures" ,rust-futures-0.3)
+ ("rust-futures-timer" ,rust-futures-timer-3)
+ ("rust-rstest-macros" ,rust-rstest-macros-0.14)
+ ("rust-rustc-version" ,rust-rustc-version-0.3))))
(home-page "https://github.com/la10736/rstest")
(synopsis "Rust fixture based test framework")
(description
- "rstest uses procedural macros to help you on writing fixtures and
-table-based tests.")
+ "@code{rstest} uses procedural macros to help you write fixtures
+and table-based tests.")
(license (list license:expat license:asl2.0))))
(define-public rust-rstest-0.10
(package
+ (inherit rust-rstest-0.15)
(name "rust-rstest")
(version "0.10.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "rstest" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1bwhy92fsqc05y8x9iyyq9sykinh0gxnl25zpdca3xhl5hhb06q4"))))
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "rstest" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bwhy92fsqc05y8x9iyyq9sykinh0gxnl25zpdca3xhl5hhb06q4"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-rustc-version" ,rust-rustc-version-0.3)
+ ("rust-syn" ,rust-syn-1))))))
+
+(define-public rust-rstest-0.6
+ (package
+ (inherit rust-rstest-0.10)
+ (name "rust-rstest")
+ (version "0.6.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "rstest" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wdd0ci0bn6fd5v5c19lhlqrpadk18fl4jzvh75b26616anlxdil"))))))
+
+(define-public rust-rstest-macros-0.14
+ (package
+ (name "rust-rstest-macros")
+ (version "0.14.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "rstest-macros" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0rlwp3r1dg3fl4f100wjd3ya7dhs23vpyqgf7vg5mac50s5fc5ah"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-cfg-if" ,rust-cfg-if-1)
- ("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-rustc-version" ,rust-rustc-version-0.3)
- ("rust-syn" ,rust-syn-1))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-rustc-version" ,rust-rustc-version-0.4)
+ ("rust-syn" ,rust-syn-1))))
(home-page "https://github.com/la10736/rstest")
- (synopsis "Rust fixture based test framework")
+ (synopsis "Procedural macros for @code{rstest}.")
+ (description
+ "This package provides the procedural macro crate for
+@code{rstest}.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-rstest-reuse-0.4
+ (package
+ (name "rust-rstest-reuse")
+ (version "0.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "rstest-reuse" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "05zcs22fbvv7q50p2xs6w13lqbcklddnj2dm1mz1wi2pak9sxdgr"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-quote" ,rust-quote-1)
+ ("rust-rustc-version" ,rust-rustc-version-0.4)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://github.com/la10736/rstest")
+ (synopsis "Reuse rstest attributes")
(description
- "rstest uses procedural macros to help you on writing fixtures and
-table-based tests.")
+ "This package provides a Rust library for reusing rstest
+attributes by creating a set of tests and applying it to every
+scenario you want to test.")
(license (list license:expat license:asl2.0))))
(define-public rust-rug-1
@@ -47662,6 +48354,26 @@ rust-lang/rust integration.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-rustc-workspace-hack-1
+ (package
+ (name "rust-rustc-workspace-hack")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "rustc-workspace-hack" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yx8l58n2vb2ldpi3z1jn4dmi5hnxvikbhpd5lilpdvkl7xd4wgw"))))
+ (build-system cargo-build-system)
+ (home-page "https://crates.io/crates/rustc-workspace-hack")
+ (synopsis "Hack for the compiler's own build system")
+ (description "Hack for the compiler's own build system. It is used by
+@code{cargo}.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-rustc-std-workspace-std-1
(package
(name "rust-rustc-std-workspace-std")
@@ -47862,6 +48574,51 @@ rustc compiler.")
`(("rust-failure" ,rust-failure-0.1)
,@(alist-delete "rust-anyhow" cargo-inputs)))))))
+(define-public rust-rustix-0.35
+ (package
+ (name "rust-rustix")
+ (version "0.35.13")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "rustix" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yfmkj5nwghxd3nha5ywf1cj6zqh44qwm0cavwifr1ppcmnilykj"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cc" ,rust-cc-1)
+ ("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+ ("rust-errno" ,rust-errno-0.2)
+ ("rust-io-lifetimes" ,rust-io-lifetimes-0.7)
+ ("rust-itoa" ,rust-itoa-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-linux-raw-sys" ,rust-linux-raw-sys-0.0.46)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-rustc-std-workspace-alloc"
+ ,rust-rustc-std-workspace-alloc-1)
+ ("rust-rustc-std-workspace-core"
+ ,rust-rustc-std-workspace-core-1)
+ ("rust-windows-sys" ,rust-windows-sys-0.42))
+ #:cargo-development-inputs
+ `(("rust-criterion" ,rust-criterion-0.3)
+ ("rust-ctor" ,rust-ctor-0.1)
+ ("rust-errno" ,rust-errno-0.2)
+ ("rust-io-lifetimes" ,rust-io-lifetimes-0.7)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-memoffset" ,rust-memoffset-0.6)
+ ("rust-serial-test" ,rust-serial-test-0.6)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (home-page "https://github.com/bytecodealliance/rustix")
+ (synopsis "Safe Rust bindings to POSIX syscalls")
+ (description
+ "This package provides safe Rust bindings to POSIX syscalls.")
+ ;; Apache 2.0, Apache 2.0 with LLVM exception, or Expat.
+ (license (list license:asl2.0
+ license:expat))))
+
(define-public rust-rustls-0.20
(package
(name "rust-rustls")
@@ -53619,21 +54376,19 @@ benchmarking.")
(define-public rust-socket2-0.4
(package
(name "rust-socket2")
- (version "0.4.0")
+ (version "0.4.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "socket2" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "18ny6m1gnf6cwp5ax0b5hr36w6yg16z7faj76b31aq2jghhgqgcy"))))
+ (base32 "1gaf57dc16s1lfyv388w9vdl9qay15xds78jcwakml9kj3dx5qh2"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-libc" ,rust-libc-0.2)
- ("rust-winapi" ,rust-winapi-0.3))))
+ (list #:cargo-inputs
+ `(("rust-libc" ,rust-libc-0.2)
+ ("rust-winapi" ,rust-winapi-0.3))))
(home-page "https://github.com/rust-lang/socket2")
(synopsis "Networking sockets in Rust")
(description
@@ -55725,25 +56480,120 @@ values without proliferating generics.")
(description "This package provides custom derive for @code{sval}.")
(license (list license:asl2.0 license:expat))))
-(define-public rust-swayipc-2
+(define-public rust-svd-parser-0.10
+ (package
+ (name "rust-svd-parser")
+ (version "0.10.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "svd-parser" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1fbr4m9cla6xvmrib7pad9hv29sn2d5hjbc77pz12lwzmm2pczk9"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-xmltree" ,rust-xmltree-0.8))
+ #:cargo-development-inputs
+ (("rust-serde-json" ,rust-serde-json-1))))
+ (home-page "https://github.com/rust-embedded/svd")
+ (synopsis "CMSIS-SVD file parser")
+ (description "This package provides a CMSIS-SVD file parser.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-svgtypes-0.5
+ (package
+ (name "rust-svgtypes")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "svgtypes" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1zv0yb4nfyz78y8k7fmyjqgdh9vf7xc44c9pzry8640szym6ylww"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-float-cmp" ,rust-float-cmp-0.5)
+ ("rust-siphasher" ,rust-siphasher-0.2))))
+ (home-page "https://github.com/RazrFalcon/svgtypes")
+ (synopsis "SVG types parser")
+ (description "This package provides SVG types parser.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-sxd-document-0.3
+ (package
+ (name "rust-sxd-document")
+ (version "0.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sxd-document" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0y10shqmy9xb73g403rg1108wsagny9d8jrcm081pbwzpqvjzn4l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-peresil" ,rust-peresil-0.3)
+ ("rust-typed-arena" ,rust-typed-arena-1))))
+ (home-page "https://github.com/shepmaster/sxd-document")
+ (synopsis "Rust XML DOM library")
+ (description "This package provides a Rust XML DOM library.")
+ (license license:expat)))
+
+(define-public rust-sxd-xpath-0.4
+ (package
+ (name "rust-sxd-xpath")
+ (version "0.4.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sxd-xpath" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1sin3g8lzans065gjcwrpm7gdpwdpdg4rpi91rlvb1q8sfjrvqrn"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-peresil" ,rust-peresil-0.3)
+ ("rust-quick-error" ,rust-quick-error-1)
+ ("rust-sxd-document" ,rust-sxd-document-0.3))))
+ (home-page "https://github.com/shepmaster/sxd-xpath")
+ (synopsis "Rust XML XPath library")
+ (description "This package provides a Rust XML XPath library.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-swayipc-3
(package
(name "rust-swayipc")
- (version "2.7.2")
+ (version "3.0.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "swayipc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "03r15c2sijyrxmpsyjgma4gz7zmdl1g8akjnjkw6hrml91d5dilj"))))
+ (base32 "16pf4r6svf99p73b8dhdannkvhfvmbjb4rx7gifxh8xj53rwy7db"))))
(build-system cargo-build-system)
(arguments
- `(#:tests? #f ; test sync::tests::connect ... FAILED
+ `(#:skip-build? #t
#:cargo-inputs
(("rust-serde" ,rust-serde-1)
- ("rust-async-std" ,rust-async-std-1)
- ("rust-swayipc-command-builder" ,rust-swayipc-command-builder-0.1)
- ("rust-serde-json" ,rust-serde-json-1))))
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-swayipc-types" ,rust-swayipc-types-1))))
(home-page "https://github.com/jaycefayne/swayipc-rs")
(synopsis "Library for controlling sway through its IPC interface")
(description
@@ -55751,6 +56601,26 @@ values without proliferating generics.")
interface.")
(license license:expat)))
+(define-public rust-swayipc-2
+ (package
+ (inherit rust-swayipc-3)
+ (name "rust-swayipc")
+ (version "2.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "swayipc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "03r15c2sijyrxmpsyjgma4gz7zmdl1g8akjnjkw6hrml91d5dilj"))))
+ (arguments
+ `(#:tests? #f ; test sync::tests::connect ... FAILED
+ #:cargo-inputs
+ (("rust-serde" ,rust-serde-1)
+ ("rust-async-std" ,rust-async-std-1)
+ ("rust-swayipc-command-builder" ,rust-swayipc-command-builder-0.1)
+ ("rust-serde-json" ,rust-serde-json-1))))))
+
(define-public rust-swayipc-command-builder-0.1
(package
(name "rust-swayipc-command-builder")
@@ -55770,6 +56640,31 @@ interface.")
executed by swayipc.")
(license license:expat)))
+(define-public rust-swayipc-types-1
+ (package
+ (name "rust-swayipc-types")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "swayipc-types" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "13lj6jyyxg41r9g0b07y8yd7ygy5gih61w5v48bpksvfdzhwwn55"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-thiserror" ,rust-thiserror-1))))
+ (home-page "https://github.com/jaycefayne/swayipc-rs")
+ (synopsis "A library containing Type defintions from sway's IPC interface")
+ (description
+ "This package provides a library containing Type defintions from sway's IPC
+interface")
+ (license license:expat)))
+
(define-public rust-syn-1
(package
(name "rust-syn")
@@ -57728,8 +58623,31 @@ writing colored text to a terminal.")
#:cargo-inputs
(("rust-wincolor" ,rust-wincolor-0.1))))))
+(define-public rust-terminal-size-0.2
+ (package
+ (name "rust-terminal-size")
+ (version "0.2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "terminal-size" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0yhza8sc6jkka6j0nq5sl749ckx1jagvxp3b38yhh4px6k291jj0"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:tests? #f ;tests require /dev/stderr
+ #:cargo-inputs
+ `(("rust-rustix" ,rust-rustix-0.35))))
+ (home-page "https://github.com/eminence/terminal-size")
+ (synopsis "Gets the size of your Linux or Windows terminal")
+ (description
+ "This package gets the size of your Linux or Windows terminal.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-terminal-size-0.1
(package
+ (inherit rust-terminal-size-0.2)
(name "rust-terminal-size")
(version "0.1.17")
(source
@@ -57739,17 +58657,11 @@ writing colored text to a terminal.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1pq60ng1a7fjp597ifk1cqlz8fv9raz9xihddld1m1pfdia1lg33"))))
- (build-system cargo-build-system)
(arguments
- `(#:tests? #f ; Tests require /dev/stderr
- #:cargo-inputs
- (("rust-libc" ,rust-libc-0.2)
- ("rust-winapi" ,rust-winapi-0.3))))
- (home-page "https://github.com/eminence/terminal-size")
- (synopsis "Gets the size of your Linux or Windows terminal")
- (description
- "This package gets the size of your Linux or Windows terminal.")
- (license (list license:expat license:asl2.0))))
+ (list #:tests? #f ;tests require /dev/stderr
+ #:cargo-inputs
+ `(("rust-libc" ,rust-libc-0.2)
+ ("rust-winapi" ,rust-winapi-0.3))))))
(define-public rust-terminfo-0.7
(package
@@ -57776,8 +58688,35 @@ writing colored text to a terminal.")
(description "Terminal capabilities with type-safe getters.")
(license license:wtfpl2)))
+(define-public rust-termion-2
+ (package
+ (name "rust-termion")
+ (version "2.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "termion" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "147c0a9l2dj4l8xhd7bb1f0f611lv6k0szacx3jwf21lkwviz735"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:tests? #f ;tests require a terminal
+ #:cargo-inputs
+ `(("rust-libc" ,rust-libc-0.2)
+ ("rust-numtoa" ,rust-numtoa-0.1)
+ ("rust-redox-syscall" ,rust-redox-syscall-0.2)
+ ("rust-redox-termios" ,rust-redox-termios-0.1)
+ ("rust-serde" ,rust-serde-1))))
+ (home-page "https://gitlab.redox-os.org/redox-os/termion")
+ (synopsis "Library for manipulating terminals")
+ (description
+ "This package provides a bindless library for manipulating terminals.")
+ (license license:expat)))
+
(define-public rust-termion-1
(package
+ (inherit rust-termion-2)
(name "rust-termion")
(version "1.5.5")
(source
@@ -57788,19 +58727,13 @@ writing colored text to a terminal.")
(sha256
(base32
"01f9787d5nx445bqbj644v38bn0hl2swwjy9baz0dnbqi6fyqb62"))))
- (build-system cargo-build-system)
(arguments
- `(#:tests? #f ; Tests want a terminal.
- #:cargo-inputs
- (("rust-libc" ,rust-libc-0.2)
- ("rust-numtoa" ,rust-numtoa-0.1)
- ("rust-redox-syscall" ,rust-redox-syscall-0.1)
- ("rust-redox-termios" ,rust-redox-termios-0.1))))
- (home-page "https://gitlab.redox-os.org/redox-os/termion")
- (synopsis "Library for manipulating terminals")
- (description
- "This package provides a bindless library for manipulating terminals.")
- (license license:expat)))
+ (list #:tests? #f ;tests require a terminal
+ #:cargo-inputs
+ `(("rust-libc" ,rust-libc-0.2)
+ ("rust-numtoa" ,rust-numtoa-0.1)
+ ("rust-redox-syscall" ,rust-redox-syscall-0.1)
+ ("rust-redox-termios" ,rust-redox-termios-0.1))))))
(define-public rust-termios-0.3
(package
@@ -57983,28 +58916,30 @@ unstable language features.")
(description "This package provides a newtypes for text offsets")
(license (list license:expat license:asl2.0))))
-(define-public rust-textwrap-0.12
+(define-public rust-textwrap-0.16
(package
(name "rust-textwrap")
- (version "0.12.1")
+ (version "0.16.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "textwrap" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "12978qmkl5gcp94lxndpvp9qxq8mxp7hm9xbrw3422dgikchhc10"))))
+ (base32 "0gbwkjf15l6p3x2rkr75fa4cpcs1ly4c8pmlfx5bl6zybcm24ai2"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-hyphenation" ,rust-hyphenation-0.8)
- ("rust-terminal-size" ,rust-terminal-size-0.1)
- ("rust-unicode-width" ,rust-unicode-width-0.1))))
- (home-page
- "https://github.com/mgeisler/textwrap")
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-hyphenation" ,rust-hyphenation-0.8)
+ ("rust-smawk" ,rust-smawk-0.3)
+ ("rust-terminal-size" ,rust-terminal-size-0.2)
+ ("rust-termion" ,rust-termion-2)
+ ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)
+ ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-version-sync" ,rust-version-sync-0.9))))
+ (home-page "https://github.com/mgeisler/textwrap")
(synopsis "Library for word wrapping, indenting, and dedenting strings")
(description
"Textwrap is a small library for word wrapping, indenting, and dedenting
@@ -58013,6 +58948,46 @@ for display in commandline applications. It is designed to be efficient and
handle Unicode characters correctly.")
(license license:expat)))
+(define-public rust-textwrap-0.15
+ (package
+ (inherit rust-textwrap-0.16)
+ (name "rust-textwrap")
+ (version "0.15.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "textwrap" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-hyphenation" ,rust-hyphenation-0.8)
+ ("rust-smawk" ,rust-smawk-0.3)
+ ("rust-terminal-size" ,rust-terminal-size-0.1)
+ ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
+ ("rust-unicode-width" ,rust-unicode-width-0.1))))))
+
+(define-public rust-textwrap-0.12
+ (package
+ (inherit rust-textwrap-0.15)
+ (name "rust-textwrap")
+ (version "0.12.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "textwrap" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12978qmkl5gcp94lxndpvp9qxq8mxp7hm9xbrw3422dgikchhc10"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-hyphenation" ,rust-hyphenation-0.8)
+ ("rust-terminal-size" ,rust-terminal-size-0.1)
+ ("rust-unicode-width" ,rust-unicode-width-0.1))))))
+
(define-public rust-textwrap-0.11
(package
(inherit rust-textwrap-0.12)
@@ -58062,16 +59037,14 @@ handle Unicode characters correctly.")
(define-public rust-thiserror-1
(package
(name "rust-thiserror")
- (version "1.0.26")
+ (version "1.0.37")
(source
(origin
(method url-fetch)
(uri (crate-uri "thiserror" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "1qmz542pq4wmz3p0s4kavsqv09h0x99klkf3k33ydjy1x97rw4ck"))))
+ (base32 "0gky83x4i87gd87w3fknnp920wvk9yycp7dgkf5h3jg364vb7phh"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@@ -58090,16 +59063,14 @@ handle Unicode characters correctly.")
(define-public rust-thiserror-impl-1
(package
(name "rust-thiserror-impl")
- (version "1.0.26")
+ (version "1.0.37")
(source
(origin
(method url-fetch)
(uri (crate-uri "thiserror-impl" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "0ia72qiynlws5avb8f1xqlazp4g6bqgzjbwy5vs6nyg7myh6j386"))))
+ (base32 "1fydmpksd14x1mkc24zas01qjssz8q43sbn2ywl6n527dda1fbcq"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@@ -58978,32 +59949,31 @@ tinyobjloader.")
(define-public rust-tokio-1
(package
(name "rust-tokio")
- (version "1.15.0")
+ (version "1.22.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "tokio" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "0f2qwp9ljc4gf955g7qcksp0jc1bwmzxb2nf6mb7h1n2irvirgzv"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-autocfg" ,rust-autocfg-1)
- ("rust-bytes" ,rust-bytes-1)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-memchr" ,rust-memchr-2)
- ("rust-mio" ,rust-mio-0.7)
- ("rust-num-cpus" ,rust-num-cpus-1)
- ("rust-once-cell" ,rust-once-cell-1)
- ("rust-parking-lot" ,rust-parking-lot-0.11)
- ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
- ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
- ("rust-tokio-macros" ,rust-tokio-macros-1)
- ("rust-tracing" ,rust-tracing-0.1)
- ("rust-winapi" ,rust-winapi-0.3))))
+ (base32 "1qrarnfikvp8cwd3qcskzgdb1a6f47r11xjbql2wd25lbyky8v6p"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-autocfg" ,rust-autocfg-1)
+ ("rust-bytes" ,rust-bytes-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-memchr" ,rust-memchr-2)
+ ("rust-mio" ,rust-mio-0.8)
+ ("rust-num-cpus" ,rust-num-cpus-1)
+ ("rust-parking-lot" ,rust-parking-lot-0.12)
+ ("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
+ ("rust-signal-hook-registry" ,rust-signal-hook-registry-1)
+ ("rust-socket2" ,rust-socket2-0.4)
+ ("rust-tokio-macros" ,rust-tokio-macros-1)
+ ("rust-tracing" ,rust-tracing-0.1)
+ ("rust-winapi" ,rust-winapi-0.3))))
(home-page "https://tokio.rs")
(synopsis "Event-driven, non-blocking I/O platform")
(description
@@ -63064,6 +64034,30 @@ the Unicode and Internationalization Crates (UNIC) project.")
Internationalization Crates (UNIC) project.")
(license (list license:expat license:asl2.0))))
+(define-public rust-unic-emoji-char-0.9
+ (package
+ (name "rust-unic-emoji-char")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "unic-emoji-char" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ka9fr7s6lv0z43r9xphg9injn35pfxf9g9q18ki0wl9d0g241qb"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:cargo-inputs
+ `(("rust-unic-char-property" ,rust-unic-char-property-0.9)
+ ("rust-unic-char-range" ,rust-unic-char-range-0.9)
+ ("rust-unic-ucd-version" ,rust-unic-ucd-version-0.9))))
+ (home-page "https://github.com/open-i18n/rust-unic/")
+ (synopsis "UNIC emoji character properties for Rust")
+ (description
+ "This package provides UNIC properties for emoji characters
+in Rust.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-unic-segment-0.9
(package
(name "rust-unic-segment")
@@ -63212,6 +64206,25 @@ Unicode and Internationalization Crates (UNIC) project.")
"Implementation of the Unicode Bidirectional Algorithm.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-unicode-categories-0.1
+ (package
+ (name "rust-unicode-categories")
+ (version "0.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "unicode-categories" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kp1d7fryxxm7hqywbk88yb9d1avsam9sg76xh36k5qx2arj9v1r"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/swgillespie/unicode-categories")
+ (synopsis "Query Unicode category membership")
+ (description
+ "This package provides a package for querying Unicode category
+membership for characters in Rust.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-unicode-ident-1
(package
(name "rust-unicode-ident")
@@ -63243,22 +64256,24 @@ Standard Annex #31.")
(define-public rust-unicode-linebreak-0.1
(package
(name "rust-unicode-linebreak")
- (version "0.1.2")
+ (version "0.1.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "unicode-linebreak" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0grq6bsn967q4vpifld53s7a140nlmpq5vy8ghgr73f4n2mdqlis"))))
+ (base32 "0drixqb16bzmabd5d8ldvar5760rxy6nxzszhlsqnasl3bisvyn5"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-regex" ,rust-regex-1))))
+ (list #:cargo-inputs
+ `(("rust-hashbrown" ,rust-hashbrown-0.12)
+ ("rust-regex" ,rust-regex-1))))
(home-page "https://github.com/axelf4/unicode-linebreak")
- (synopsis "Implementation of the Unicode Line Breaking Algorithm")
- (description "This package provides an Implementation of the Unicode Line
-Breaking Algorithm in Rust.")
+ (synopsis "Implementation of the Unicode line breaking algorithm")
+ (description
+ "This package provides an implementation of the Unicode line
+breaking algorithm in Rust.")
(license license:asl2.0)))
(define-public rust-unicode-normalization-0.1
@@ -63338,22 +64353,26 @@ boundaries according to Unicode Standard Annex #29 rules.")
(define-public rust-unicode-xid-0.2
(package
(name "rust-unicode-xid")
- (version "0.2.1")
+ (version "0.2.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "unicode-xid" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "0r6mknipyy9vpz8mwmxvkx65ff2ha1n2pxqjj6f46lcn8yrhpzpp"))))
+ (base32 "131dfzf7d8fsr1ivch34x42c2d1ik5ig3g78brxncnn0r1sdyqpr"))))
(build-system cargo-build-system)
+ (arguments
+ (list #:cargo-development-inputs
+ `(("rust-criterion" ,rust-criterion-0.3))))
(home-page "https://github.com/unicode-rs/unicode-xid")
(synopsis "Determine Unicode XID related properties")
- (description "Determine whether characters have the XID_Start
-or XID_Continue properties according to Unicode Standard Annex #31.")
- (license (list license:asl2.0 license:expat))))
+ (description
+ "This package provides a Rust library to determine whether
+characters have the XID_Start or XID_Continue properties according
+to Unicode Standard Annex #31.")
+ (license (list license:asl2.0
+ license:expat))))
(define-public rust-unicode-xid-0.1
(package
@@ -64780,33 +65799,46 @@ result.")
(description "Warp is a composable, web server framework.")
(license license:expat)))
-(define-public rust-wasi-0.9
+(define-public rust-wasi-0.11
(package
(name "rust-wasi")
- (version "0.9.0+wasi-snapshot-preview1")
+ (version "0.11.0+wasi-snapshot-preview1")
(source
(origin
(method url-fetch)
(uri (crate-uri "wasi" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc"))))
+ (base32 "08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
- ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
- ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
+ ("rust-rustc-std-workspace-alloc"
+ ,rust-rustc-std-workspace-alloc-1)
+ ("rust-rustc-std-workspace-core"
+ ,rust-rustc-std-workspace-core-1))))
(home-page "https://github.com/bytecodealliance/wasi")
(synopsis "Experimental WASI API bindings for Rust")
(description
- "This package provides an experimental WASI API bindings for Rust.")
+ "This package provides experimental WASI API bindings for Rust.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-wasi-0.9
+ (package
+ (inherit rust-wasi-0.11)
+ (name "rust-wasi")
+ (version "0.9.0+wasi-snapshot-preview1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "wasi" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc"))))))
+
(define-public rust-wasm-bindgen-0.2
(package
(name "rust-wasm-bindgen")
@@ -65674,27 +66706,28 @@ using @code{bindgen}.")
(define-public rust-which-4
(package
(name "rust-which")
- (version "4.2.2")
+ (version "4.3.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "which" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1nbsy9f5sn206jzby28if4m4s0m21n97mhk8qd703g3rya77l67a"))))
+ (base32 "0yybp94wikf21vkcl8b6w6l5pnd95nl4fxryz669l4lyxsxiz0qw"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-either" ,rust-either-1)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-regex" ,rust-regex-1))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-either" ,rust-either-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-regex" ,rust-regex-1))))
(home-page "https://github.com/harryfei/which-rs.git")
- (synopsis "Rust equivalent of Unix command @command{which}")
+ (synopsis "Rust equivalent of @command{which}")
(description
- "This package provides a Rust equivalent of Unix command @command{which}.
-It locates installed executable in cross platforms.")
+ "This package provides a cross-platform Rust equivalent of the
+Unix @command{which} command. It returns the full path of an installed
+executable.")
(license license:expat)))
(define-public rust-which-3
@@ -66641,6 +67674,27 @@ to XDG Base Directory specification.")
"This package provides a moderately simple command line arguments parser.")
(license (list license:expat license:asl2.0))))
+(define-public rust-xi-unicode-0.3
+ (package
+ (name "rust-xi-unicode")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "xi-unicode" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "12mvjgrhr7557cib69wm4q5s4srba27pg2df9l1zihrxgnbh0wx6"))))
+ (build-system cargo-build-system)
+ (arguments `(#:skip-build? #t))
+ (home-page "https://github.com/google/xi-editor")
+ (synopsis
+ "Unicode utilities for text editing, including a line breaking iterator")
+ (description
+ "This package provides Unicode utilities useful for text editing,
+including a line breaking iterator.")
+ (license license:asl2.0)))
+
(define-public rust-xml-rs-0.8
(package
(name "rust-xml-rs")
@@ -67454,300 +68508,202 @@ configuration file and/or environment variables.")
("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.32)
("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.32))))))
-(define-public rust-windows-x86-64-msvc-0.28
+(define-public rust-windows-aarch64-gnullvm-0.42
(package
- (name "rust-windows-x86-64-msvc")
- (version "0.28.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "windows_x86_64_msvc" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "17z8q25pd3dp6b84qm9nlayd3ym78sbryxlqmgcxvz9vpmy8qarz"))))
- (build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
-
-(define-public rust-windows-x86-64-msvc-0.36
- (package
- (name "rust-windows-x86-64-msvc")
- (version "0.36.1")
+ (name "rust-windows-aarch64-gnullvm")
+ (version "0.42.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_x86_64_msvc" version))
+ (uri (crate-uri "windows-aarch64-gnullvm" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "103n3xijm5vr7qxr1dps202ckfnv7njjnnfqmchg8gl5ii5cl4f8"))))
+ "17m1p753qk02r25afg31dxym4rpy7kpr0z8nwl5f1jzhyrqsmlj1"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t))
+ (list #:skip-build? #t))
(home-page "https://github.com/microsoft/windows-rs")
(synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
+ (description
+ "This package provides code gen support for the windows crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-windows-x86-64-msvc-0.32
+(define-public rust-windows-aarch64-msvc-0.42
(package
- (name "rust-windows-x86-64-msvc")
- (version "0.32.0")
+ (name "rust-windows-aarch64-msvc")
+ (version "0.42.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_x86_64_msvc" version))
+ (uri (crate-uri "windows-aarch64-msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "05l392h518dxn808dc1zkv6d0r9z38q68qqc0ix9fs9741v28jjh"))))
+ "1d6d9ny0yl5l9vvagydigvkfcphzk2aygchiccywijimb8pja3yx"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t))
+ (list #:skip-build? #t))
(home-page "https://github.com/microsoft/windows-rs")
(synopsis "Code gen support for the windows crate")
(description "This package provides code gen support for the windows
crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-windows-x86-64-gnu-0.28
+(define-public rust-windows-aarch64-msvc-0.36
(package
- (name "rust-windows-x86-64-gnu")
- (version "0.28.0")
+ (inherit rust-windows-aarch64-msvc-0.42)
+ (name "rust-windows-aarch64-msvc")
+ (version "0.36.1")
(source
(origin
(method url-fetch)
- (uri (crate-uri "windows_x86_64_gnu" version))
+ (uri (crate-uri "windows_aarch64_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw"))))
- (build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ (base32 "0ixaxs2c37ll2smprzh0xq5p238zn8ylzb3lk1zddqmd77yw7f4v"))))))
-(define-public rust-windows-x86-64-gnu-0.36
+(define-public rust-windows-aarch64-msvc-0.32
(package
- (name "rust-windows-x86-64-gnu")
- (version "0.36.1")
+ (inherit rust-windows-aarch64-msvc-0.36)
+ (name "rust-windows-aarch64-msvc")
+ (version "0.32.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_x86_64_gnu" version))
+ (uri (crate-uri "windows_aarch64_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1qfrck3jnihymfrd01s8260d4snql8ks2p8yaabipi3nhwdigkad"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ "1x8bnafz15ksgpbjbgk1l1j2jx4rq4a2ylzcahb1jhy4n59jgsfq"))))))
-(define-public rust-windows-x86-64-gnu-0.32
+(define-public rust-windows-aarch64-msvc-0.28
(package
- (name "rust-windows-x86-64-gnu")
- (version "0.32.0")
+ (inherit rust-windows-aarch64-msvc-0.32)
+ (name "rust-windows-aarch64-msvc")
+ (version "0.28.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_x86_64_gnu" version))
+ (uri (crate-uri "windows_aarch64_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1g34xhcayig9sndq3555w95q6lr7jr839zxv6l365ijlfhpv24n9"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
-
-(define-public rust-windows-i686-msvc-0.28
- (package
- (name "rust-windows-i686-msvc")
- (version "0.28.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "windows_i686_msvc" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0r0z8s1wcdwd20azsdfilf2a6bz68xkavl990wy64hyc8f51bmai"))))
- (build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj"))))))
-(define-public rust-windows-i686-msvc-0.36
+(define-public rust-windows-i686-gnu-0.42
(package
- (name "rust-windows-i686-msvc")
- (version "0.36.1")
+ (name "rust-windows-i686-gnu")
+ (version "0.42.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_i686_msvc" version))
+ (uri (crate-uri "windows_i686_gnu" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "097h2a7wig04wbmpi3rz1akdy4s8gslj5szsx8g2v0dj91qr3rz2"))))
+ "1rsxdjp50nk38zfd1dxj12i2qmhpvxsm6scdq8v1d10ncygy3spv"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t))
+ (list #:skip-build? #t))
(home-page "https://github.com/microsoft/windows-rs")
(synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
+ (description
+ "This package provides code gen support for the windows crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-windows-i686-msvc-0.32
+(define-public rust-windows-i686-gnu-0.36
(package
- (name "rust-windows-i686-msvc")
- (version "0.32.0")
+ (inherit rust-windows-i686-gnu-0.42)
+ (name "rust-windows-i686-gnu")
+ (version "0.36.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_i686_msvc" version))
+ (uri (crate-uri "windows_i686_gnu" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0wj1wi01fc8hrasbakjcq8y5a7ynw9l2mcw08svmsq823axi2v0l"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ "1dm3svxfzamrv6kklyda9c3qylgwn5nwdps6p0kc9x6s077nq3hq"))))))
-(define-public rust-windows-i686-gnu-0.36
+(define-public rust-windows-i686-gnu-0.32
(package
+ (inherit rust-windows-i686-gnu-0.36)
(name "rust-windows-i686-gnu")
- (version "0.36.1")
+ (version "0.32.0")
(source (origin
(method url-fetch)
(uri (crate-uri "windows_i686_gnu" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1dm3svxfzamrv6kklyda9c3qylgwn5nwdps6p0kc9x6s077nq3hq"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ "05g6kpdfxwxnw2gn1nrd7bsf5997rci0k3h3nqby168ph5l1qwba"))))))
(define-public rust-windows-i686-gnu-0.28
(package
+ (inherit rust-windows-i686-gnu-0.32)
(name "rust-windows-i686-gnu")
(version "0.28.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "windows_i686_gnu" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm"))))
- (build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_i686_gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12hx7qpsjg9p7jggfcplqa3mf1mzr7k7s5ybzqwg1zmg4fn2aizm"))))))
-(define-public rust-windows-i686-gnu-0.32
+(define-public rust-windows-i686-msvc-0.42
(package
- (name "rust-windows-i686-gnu")
- (version "0.32.0")
+ (name "rust-windows-i686-msvc")
+ (version "0.42.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_i686_gnu" version))
+ (uri (crate-uri "windows_i686_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "05g6kpdfxwxnw2gn1nrd7bsf5997rci0k3h3nqby168ph5l1qwba"))))
+ "0ii2hrsdif2ms79dfiyfzm1n579jzj42ji3fpsxd57d3v9jjzhc4"))))
(build-system cargo-build-system)
(arguments
- `(#:skip-build? #t))
+ (list #:skip-build? #t))
(home-page "https://github.com/microsoft/windows-rs")
(synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
+ (description
+ "This package provides code gen support for the windows crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-windows-aarch64-msvc-0.36
+(define-public rust-windows-i686-msvc-0.36
(package
- (name "rust-windows-aarch64-msvc")
+ (inherit rust-windows-i686-msvc-0.42)
+ (name "rust-windows-i686-msvc")
(version "0.36.1")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_aarch64_msvc" version))
+ (uri (crate-uri "windows_i686_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0ixaxs2c37ll2smprzh0xq5p238zn8ylzb3lk1zddqmd77yw7f4v"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ "097h2a7wig04wbmpi3rz1akdy4s8gslj5szsx8g2v0dj91qr3rz2"))))))
-(define-public rust-windows-aarch64-msvc-0.28
+(define-public rust-windows-i686-msvc-0.32
(package
- (name "rust-windows-aarch64-msvc")
- (version "0.28.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "windows_aarch64_msvc" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj"))))
- (build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ (inherit rust-windows-i686-msvc-0.36)
+ (name "rust-windows-i686-msvc")
+ (version "0.32.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_i686_msvc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wj1wi01fc8hrasbakjcq8y5a7ynw9l2mcw08svmsq823axi2v0l"))))))
-(define-public rust-windows-aarch64-msvc-0.32
+(define-public rust-windows-i686-msvc-0.28
(package
- (name "rust-windows-aarch64-msvc")
- (version "0.32.0")
+ (inherit rust-windows-i686-msvc-0.32)
+ (name "rust-windows-i686-msvc")
+ (version "0.28.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "windows_aarch64_msvc" version))
+ (uri (crate-uri "windows_i686_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1x8bnafz15ksgpbjbgk1l1j2jx4rq4a2ylzcahb1jhy4n59jgsfq"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Code gen support for the windows crate")
- (description "This package provides code gen support for the windows
-crate.")
- (license (list license:expat license:asl2.0))))
+ "0r0z8s1wcdwd20azsdfilf2a6bz68xkavl990wy64hyc8f51bmai"))))))
(define-public rust-windows-implement-0.32
(package
@@ -67772,26 +68728,28 @@ crate.")
crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-windows-sys-0.36
+(define-public rust-windows-sys-0.42
(package
(name "rust-windows-sys")
- (version "0.36.1")
+ (version "0.42.0")
(source (origin
(method url-fetch)
(uri (crate-uri "windows-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1lmqangv0zg1l46xiq7rfnqwsx8f8m52mqbgg2mrx7x52rd1a17a"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.36)
- ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.36)
- ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.36)
- ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.36)
- ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.36))))
+ "19waf8aryvyq9pzk0gamgfwjycgzk4gnrazpfvv171cby0h1hgjs"))))
+ (build-system cargo-build-system)
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.42)
+ ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.42)
+ ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.42)
+ ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.42)
+ ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.42)
+ ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.42)
+ ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.42))))
(home-page "https://github.com/microsoft/windows-rs")
(synopsis "Rust for Windows")
(description "The windows crate lets you call any Windows API past,
@@ -67800,8 +68758,30 @@ describing the API and right into your Rust package where you can call them as
if they were just another Rust module.")
(license (list license:expat license:asl2.0))))
+(define-public rust-windows-sys-0.36
+ (package
+ (inherit rust-windows-sys-0.42)
+ (name "rust-windows-sys")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows-sys" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1lmqangv0zg1l46xiq7rfnqwsx8f8m52mqbgg2mrx7x52rd1a17a"))))
+ (arguments
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.36)
+ ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.36)
+ ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.36)
+ ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.36)
+ ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.36))))))
+
(define-public rust-windows-sys-0.28
(package
+ (inherit rust-windows-sys-0.36)
(name "rust-windows-sys")
(version "0.28.0")
(source
@@ -67811,22 +68791,14 @@ if they were just another Rust module.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1xkghf343nll9i1yvha1a4spf53mnb5knzmnqj9adgsw5mh3kjl2"))))
- (build-system cargo-build-system)
(arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.28)
- ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.28)
- ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.28)
- ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.28)
- ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.28))))
- (home-page "https://github.com/microsoft/windows-rs")
- (synopsis "Rust for Windows")
- (description "The windows crate lets you call any Windows API past,
-present, and future using code generated on the fly directly from the metadata
-describing the API and right into your Rust package where you can call them as
-if they were just another Rust module.")
- (license (list license:expat license:asl2.0))))
+ (list #:skip-build? #t
+ #:cargo-inputs
+ `(("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.28)
+ ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.28)
+ ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.28)
+ ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.28)
+ ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.28))))))
(define-public rust-windows-gen-0.9
(package
@@ -67887,599 +68859,182 @@ if they were just another Rust module.")
windows crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-xmltree-0.10
+(define-public rust-windows-x86-64-gnu-0.42
(package
- (name "rust-xmltree")
- (version "0.10.3")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "xmltree" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1jqzwhr1a5cknflsshhhjlllmd1xi04qdkjsls2bnmv5mxgagn6p"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-indexmap" ,rust-indexmap-1)
- ("rust-xml-rs" ,rust-xml-rs-0.8))))
- (home-page "https://github.com/eminence/xmltree-rs")
- (synopsis "Parse an XML file into a simple tree-like structure")
- (description "This package provides a small library for parsing an XML
-file into an in-memory tree structure.")
- (license license:expat)))
-
-(define-public rust-xmltree-0.8
- (package
- (inherit rust-xmltree-0.10)
- (name "rust-xmltree")
- (version "0.8.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "xmltree" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0w0y0jz7lhxg05ca6ngfj0lj8sbrjh4vaqv13q7qaqkhs7lsx3pz"))))
- (arguments
- `(#:cargo-inputs
- (("rust-indexmap" ,rust-indexmap-1)
- ("rust-xml-rs" ,rust-xml-rs-0.7))))))
-
-(define-public rust-svd-parser-0.9
- (package
- (name "rust-svd-parser")
- (version "0.10.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "svd-parser" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1fbr4m9cla6xvmrib7pad9hv29sn2d5hjbc77pz12lwzmm2pczk9"))))
+ (name "rust-windows-x86-64-gnu")
+ (version "0.42.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vdh8k5a4m6pfkc5gladqznyqxgapkjm0qb8iwqvqb1nnlhinyxz"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-anyhow" ,rust-anyhow-1)
- ("rust-once-cell" ,rust-once-cell-1)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-regex" ,rust-regex-1)
- ("rust-serde" ,rust-serde-1)
- ("rust-thiserror" ,rust-thiserror-1)
- ("rust-xmltree" ,rust-xmltree-0.8))
- #:cargo-development-inputs
- (("rust-serde-json" ,rust-serde-json-1))))
- (home-page "https://github.com/rust-embedded/svd")
- (synopsis "CMSIS-SVD file parser")
+ (list #:skip-build? #t))
+ (home-page "https://github.com/microsoft/windows-rs")
+ (synopsis "Code gen support for the windows crate")
(description
- "This package provides a CMSIS-SVD file parser")
+ "This package provides code gen support for the windows crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-svgtypes-0.5
- (package
- (name "rust-svgtypes")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "svgtypes" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1zv0yb4nfyz78y8k7fmyjqgdh9vf7xc44c9pzry8640szym6ylww"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build?
- #t
- #:cargo-inputs
- (("rust-float-cmp" ,rust-float-cmp-0.5)
- ("rust-siphasher" ,rust-siphasher-0.2))))
- (home-page "https://github.com/RazrFalcon/svgtypes")
- (synopsis "SVG types parser")
- (description "This package provides SVG types parser.")
- (license (list license:expat license:asl2.0))))
-
-(define-public rust-sxd-document-0.3
- (package
- (name "rust-sxd-document")
- (version "0.3.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "sxd-document" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0y10shqmy9xb73g403rg1108wsagny9d8jrcm081pbwzpqvjzn4l"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-peresil" ,rust-peresil-0.3)
- ("rust-typed-arena" ,rust-typed-arena-1))))
- (home-page "https://github.com/shepmaster/sxd-document")
- (synopsis "Rust XML DOM library")
- (description "This package provides a Rust XML DOM library.")
- (license license:expat)))
-
-(define-public rust-sxd-xpath-0.4
+(define-public rust-windows-x86-64-gnu-0.36
(package
- (name "rust-sxd-xpath")
- (version "0.4.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "sxd-xpath" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1sin3g8lzans065gjcwrpm7gdpwdpdg4rpi91rlvb1q8sfjrvqrn"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-peresil" ,rust-peresil-0.3)
- ("rust-quick-error" ,rust-quick-error-1)
- ("rust-sxd-document" ,rust-sxd-document-0.3))))
- (home-page "https://github.com/shepmaster/sxd-xpath")
- (synopsis "Rust XML XPath library")
- (description "This package provides a Rust XML XPath library.")
- (license (list license:expat license:asl2.0))))
+ (inherit rust-windows-x86-64-gnu-0.42)
+ (name "rust-windows-x86-64-gnu")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1qfrck3jnihymfrd01s8260d4snql8ks2p8yaabipi3nhwdigkad"))))))
-(define-public rust-im-rc-15
+(define-public rust-windows-x86-64-gnu-0.32
(package
- (name "rust-im-rc")
- (version "15.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "im-rc" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0gsgcs1nn38r40973l6zr1v4d85f4s9qyl32n5f20jphf5z9ba1w"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-arbitrary" ,rust-arbitrary-0.4)
- ("rust-bitmaps" ,rust-bitmaps-2)
- ("rust-proptest" ,rust-proptest-0.9)
- ("rust-quickcheck" ,rust-quickcheck-0.9)
- ("rust-rand-core" ,rust-rand-core-0.5)
- ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.4)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-refpool" ,rust-refpool-0.4)
- ("rust-serde" ,rust-serde-1)
- ("rust-sized-chunks" ,rust-sized-chunks-0.6)
- ("rust-typenum" ,rust-typenum-1)
- ("rust-version-check" ,rust-version-check-0.9))
- #:cargo-development-inputs
- (("rust-metrohash" ,rust-metrohash-1)
- ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
- ("rust-proptest" ,rust-proptest-0.9)
- ("rust-proptest-derive" ,rust-proptest-derive-0.1)
- ("rust-rand" ,rust-rand-0.7)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-serde" ,rust-serde-1)
- ("rust-serde-json" ,rust-serde-json-1)
- ("rust-version-check" ,rust-version-check-0.9))))
- (home-page "https://docs.rs/crate/im")
- (synopsis "Fast immutable collection datatypes for Rust")
- (description "@code{im-rc} provides immutable collection datatypes for
-Rust that are very fast but not thread-safe. A thread-safe (and slower)
-variant of this library is available separately as @code{im}.")
- (license license:mpl2.0)))
+ (inherit rust-windows-x86-64-gnu-0.36)
+ (name "rust-windows-x86-64-gnu")
+ (version "0.32.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1g34xhcayig9sndq3555w95q6lr7jr839zxv6l365ijlfhpv24n9"))))))
-(define-public rust-impl-codec-0.5
+(define-public rust-windows-x86-64-gnu-0.28
(package
- (name "rust-impl-codec")
- (version "0.5.1")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "impl-codec" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0hy4svffnw9idy9ipp0hkmbzk97fl583akqwyqmvbqy8qgzbs7hn"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-parity-scale-codec" ,rust-parity-scale-codec-2))))
- (home-page "https://github.com/paritytech/parity-common")
- (synopsis "Parity Codec serialization support for uint and fixed hash")
- (description "This package provides Parity Codec serialization support
-for uint and fixed hash.")
- (license (list license:expat license:asl2.0))))
+ (inherit rust-windows-x86-64-gnu-0.32)
+ (name "rust-windows-x86-64-gnu")
+ (version "0.28.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_gnu" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0m79bhdr54g4h4wh2q8wkjlkypb5wvl7xzhc2csiaqb5yl4z8cdw"))))))
-(define-public rust-impl-rlp-0.3
+(define-public rust-windows-x86-64-gnullvm-0.42
(package
- (name "rust-impl-rlp")
- (version "0.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "impl-rlp" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "021869d5s47ili9kmhm9y80qpsbf0wwdap14qzfpb84pjbw210pj"))))
+ (name "rust-windows-x86-64-gnullvm")
+ (version "0.42.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows-x86-64-gnullvm" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0a10rns9b07m9snlr97iqxq42zi9ai547gb5fqlv7vihpb92bm89"))))
(build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-rlp" ,rust-rlp-0.5))))
- (home-page "https://github.com/paritytech/parity-common")
- (synopsis "RLP serialization support for uint and fixed hash")
- (description "This package provides RLP serialization support for uint
-and fixed hash.")
+ (arguments (list #:skip-build? #t))
+ (home-page "https://github.com/microsoft/windows-rs")
+ (synopsis "Code gen support for the windows crate")
+ (description
+ "This package provides code gen support for the windows crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-impl-serde-0.3
+(define-public rust-windows-x86-64-msvc-0.42
(package
- (name "rust-impl-serde")
- (version "0.3.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "impl-serde" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0p2zy8ikdxd28s3vb22nwqgnwjn8gx920sr2svdn93j3yd1g0la5"))))
+ (name "rust-windows-x86-64-msvc")
+ (version "0.42.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_msvc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xdnvhg8yj4fgjy0vkrahq5cbgfpcd7ak2bdv8s5lwjrazc0j07l"))))
(build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-serde" ,rust-serde-1))
- #:cargo-development-inputs
- (("rust-criterion" ,rust-criterion-0.3)
- ("rust-serde-derive" ,rust-serde-derive-1)
- ("rust-serde-json" ,rust-serde-json-1)
- ("rust-uint" ,rust-uint-0.9))))
- (home-page "https://github.com/paritytech/parity-common")
- (synopsis "Serde serialization support for uint and fixed hash")
- (description "This package provides @code{serde} serialization support
-for @code{uint} and @code{fixed_hash}.")
+ (arguments (list #:skip-build? #t))
+ (home-page "https://github.com/microsoft/windows-rs")
+ (synopsis "Code gen support for the windows crate")
+ (description
+ "This package provides code gen support for the windows crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-impl-trait-for-tuples-0.2
+(define-public rust-windows-x86-64-msvc-0.36
(package
- (name "rust-impl-trait-for-tuples")
- (version "0.2.1")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "impl-trait-for-tuples" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1vii634v1zvb680h28md42xpdrj1j1d50ix3dga95fxkql8cpnnm"))))
- (build-system cargo-build-system)
- (arguments
- `(#:tests? #false ; Some tests fail. Unstable compiler messages?
- #:cargo-inputs
- (("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-syn" ,rust-syn-1))
- #:cargo-development-inputs
- (("rust-trybuild" ,rust-trybuild-1))))
- (home-page "https://github.com/bkchr/impl-trait-for-tuples")
- (synopsis "Attribute macro to implement a trait for tuples")
- (description "This package provides attribute macro to implement
-a trait for tuples.")
- (license (list license:asl2.0 license:expat))))
+ (inherit rust-windows-x86-64-msvc-0.42)
+ (name "rust-windows-x86-64-msvc")
+ (version "0.36.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_msvc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "103n3xijm5vr7qxr1dps202ckfnv7njjnnfqmchg8gl5ii5cl4f8"))))))
-(define-public rust-indicatif-0.16
+(define-public rust-windows-x86-64-msvc-0.32
(package
- (name "rust-indicatif")
- (version "0.16.2")
+ (inherit rust-windows-x86-64-msvc-0.36)
+ (name "rust-windows-x86-64-msvc")
+ (version "0.32.0")
(source (origin
(method url-fetch)
- (uri (crate-uri "indicatif" version))
+ (uri (crate-uri "windows_x86_64_msvc" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "06xyjs0kzqiqkjn60n1miwm2l87sa9p2lmzz0ymq18y72z37s81d"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-console" ,rust-console-0.15)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-number-prefix" ,rust-number-prefix-0.4)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-regex" ,rust-regex-1)
- ("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
- ("rust-unicode-width" ,rust-unicode-width-0.1))))
- (home-page "https://github.com/console-rs/indicatif")
- (synopsis "Progress bar and cli reporting library for Rust")
- (description
- "This package provides a progress bar and cli reporting library for
-Rust.")
- (license license:expat)))
+ "05l392h518dxn808dc1zkv6d0r9z38q68qqc0ix9fs9741v28jjh"))))))
-(define-public rust-inflections-1
+(define-public rust-windows-x86-64-msvc-0.28
(package
- (name "rust-inflections")
- (version "1.1.1")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "inflections" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0yl3gas612q25c72lwf04405i87yxr02vgv3ckcnz2fyvhpmhmx2"))))
- (build-system cargo-build-system)
- (home-page #f)
- (synopsis
- "Inflection transformation library for changing properties of words")
- (description
- "High performance inflection transformation library for changing properties of words like the case.")
- (license license:expat)))
+ (inherit rust-windows-x86-64-msvc-0.32)
+ (name "rust-windows-x86-64-msvc")
+ (version "0.28.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "windows_x86_64_msvc" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "17z8q25pd3dp6b84qm9nlayd3ym78sbryxlqmgcxvz9vpmy8qarz"))))))
-(define-public rust-rustc-workspace-hack-1
+(define-public rust-xmltree-0.10
(package
- (name "rust-rustc-workspace-hack")
- (version "1.0.0")
+ (name "rust-xmltree")
+ (version "0.10.3")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rustc-workspace-hack" version))
+ (uri (crate-uri "xmltree" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "1yx8l58n2vb2ldpi3z1jn4dmi5hnxvikbhpd5lilpdvkl7xd4wgw"))))
- (build-system cargo-build-system)
- (home-page "https://crates.io/crates/rustc-workspace-hack")
- (synopsis "Hack for the compiler's own build system")
- (description "Hack for the compiler's own build system. It is used by
-@code{cargo}.")
- (license (list license:expat license:asl2.0))))
-
-(define-public skim
- (package
- (name "skim")
- (version "0.9.4")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "skim" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab"))))
+ (base32 "1jqzwhr1a5cknflsshhhjlllmd1xi04qdkjsls2bnmv5mxgagn6p"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-atty-0.2" ,rust-atty-0.2)
- ("rust-beef" ,rust-beef-0.5)
- ("rust-bitflags" ,rust-bitflags-1)
- ("rust-chrono" ,rust-chrono-0.4)
- ("rust-clap" ,rust-clap-2)
- ("rust-crossbeam" ,rust-crossbeam-0.8)
- ("rust-defer-drop" ,rust-defer-drop-1)
- ("rust-derive-builder" ,rust-derive-builder-0.9)
- ("rust-env-logger" ,rust-env-logger-0.8)
- ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-log" ,rust-log-0.4)
- ("rust-nix" ,rust-nix-0.19)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-regex" ,rust-regex-1)
- ("rust-shlex" ,rust-shlex-0.1)
- ("rust-time" ,rust-time-0.2)
- ("rust-timer" ,rust-timer-0.2)
- ("rust-tuikit" ,rust-tuikit-0.4)
- ("rust-unicode-width" ,rust-unicode-width-0.1)
- ("rust-vte" ,rust-vte-0.9))
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-extras
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (share (string-append out "/share"))
- (man (string-append out "/share/man"))
- (vimfiles (string-append share "/vim/vimfiles/plugin"))
- (bash-completion
- (string-append share "/bash-completions/completions"))
- (zsh-site (string-append share "/zsh/site-functions"))
- (fish-vendor
- (string-append share "/fish/vendor-completions.d")))
- ;; Binaries
- (for-each
- (lambda (binary) (install-file binary bin))
- (find-files "bin"))
- (mkdir-p share)
- ;; Manpages
- (copy-recursively "man" man)
- ;; Vim plugins
- (mkdir-p vimfiles)
- (copy-recursively "plugin" vimfiles)
- ;; Completions
- (mkdir-p bash-completion)
- (copy-file
- "shell/completion.bash"
- (string-append bash-completion "/skim"))
- (copy-file
- "shell/key-bindings.bash"
- (string-append bash-completion "/skim-bindings"))
- (mkdir-p zsh-site)
- (copy-file
- "shell/completion.zsh"
- (string-append zsh-site "/_skim"))
- (copy-file
- "shell/key-bindings.zsh"
- (string-append zsh-site "/_skim-bindings"))
- (mkdir-p fish-vendor)
- (copy-file
- "shell/key-bindings.fish"
- (string-append fish-vendor "/skim-bindings.fish"))))))))
- (home-page "https://github.com/lotabout/skim")
- (synopsis "Fuzzy Finder in Rust")
- (description "This package provides a fuzzy finder in Rust.")
- (license license:expat)))
-
-(define-public skim-0.7
- (package
- (inherit skim)
- (name "skim")
- (version "0.7.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "skim" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1yiyd6fml5hd2l811sckkzmiiq9bd7018ajk4qk3ai4wyvqnw8mv"))))
- (arguments
`(#:cargo-inputs
- (("rust-bitflags" ,rust-bitflags-1)
- ("rust-chrono" ,rust-chrono-0.4)
- ("rust-clap" ,rust-clap-2)
- ("rust-derive-builder" ,rust-derive-builder-0.9)
- ("rust-env-logger" ,rust-env-logger-0.6)
- ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-log" ,rust-log-0.4)
- ("rust-nix" ,rust-nix-0.14)
- ("rust-rayon" ,rust-rayon-1)
- ("rust-regex" ,rust-regex-1)
- ("rust-shlex" ,rust-shlex-0.1)
- ("rust-time" ,rust-time-0.1)
- ("rust-timer" ,rust-timer-0.2)
- ("rust-tuikit" ,rust-tuikit-0.2)
- ("rust-unicode-width" ,rust-unicode-width-0.1)
- ("rust-vte" ,rust-vte-0.3))))))
-
-(define-public rust-skim-0.7
- (deprecated-package "rust-skim-0.7" skim-0.7))
-
-(define-public rust-clap-conf-0.1
- (package
- (name "rust-clap-conf")
- (version "0.1.5")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "clap_conf" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1n29wr6ns660hi63mc30zvs7dhidaycw35am9spzknsal3nrs0sn"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-anyhow" ,rust-anyhow-1)
- ("rust-clap" ,rust-clap-2)
- ("rust-serde" ,rust-serde-1)
- ("rust-thiserror" ,rust-thiserror-1)
- ("rust-toml" ,rust-toml-0.5))))
- (home-page
- "https://github.com/storyfeet/clap_conf")
- (synopsis
- "Library to unify commandline arguments, config files and environment variables")
- (description
- "This package provides a library to unify commandline arguments with config files and environment variables. And make it easier for users to tell your program how to behave across the three main input sources")
+ (("rust-indexmap" ,rust-indexmap-1)
+ ("rust-xml-rs" ,rust-xml-rs-0.8))))
+ (home-page "https://github.com/eminence/xmltree-rs")
+ (synopsis "Parse an XML file into a simple tree-like structure")
+ (description "This package provides a small library for parsing an XML
+file into an in-memory tree structure.")
(license license:expat)))
-(define-public svd2rust
- (package
- (name "svd2rust")
- (version "0.19.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "svd2rust" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0q8slfgjfhpljzlk2myb0i538mfq99q1ljn398jm17r1q2pjjxhv"))))
- (build-system cargo-build-system)
- (arguments
- `(#:cargo-inputs
- (("rust-anyhow" ,rust-anyhow-1)
- ("rust-cast" ,rust-cast-0.2)
- ("rust-clap" ,rust-clap-2)
- ("rust-clap-conf" ,rust-clap-conf-0.1)
- ("rust-env-logger" ,rust-env-logger-0.7)
- ("rust-inflections" ,rust-inflections-1)
- ("rust-log" ,rust-log-0.4)
- ("rust-proc-macro2" ,rust-proc-macro2-0.4)
- ("rust-quote" ,rust-quote-1)
- ("rust-svd-parser" ,rust-svd-parser-0.9)
- ("rust-syn" ,rust-syn-1)
- ("rust-thiserror" ,rust-thiserror-1))))
- (home-page #f)
- (synopsis
- "Generate Rust register maps (`struct`s) from SVD files")
- (description
- "Generate Rust register maps (`struct`s) from SVD files")
- (license (list license:expat license:asl2.0))))
-
-(define-public rust-xi-unicode-0.3
+(define-public rust-xmltree-0.8
(package
- (name "rust-xi-unicode")
- (version "0.3.0")
+ (inherit rust-xmltree-0.10)
+ (name "rust-xmltree")
+ (version "0.8.0")
(source
(origin
(method url-fetch)
- (uri (crate-uri "xi-unicode" version))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (crate-uri "xmltree" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "12mvjgrhr7557cib69wm4q5s4srba27pg2df9l1zihrxgnbh0wx6"))))
- (build-system cargo-build-system)
- (arguments `(#:skip-build? #t))
- (home-page "https://github.com/google/xi-editor")
- (synopsis
- "Unicode utilities for text editing, including a line breaking iterator")
- (description
- "This package provides Unicode utilities useful for text editing,
-including a line breaking iterator.")
- (license license:asl2.0)))
-
-(define-public rust-enquote-1
- (package
- (name "rust-enquote")
- (version "1.1.0")
- (home-page "https://github.com/reujab/enquote")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "enquote" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0clrjghlfkkb7sndabs5wch0fz2nif6nj4b117s8kqxx3nqnrhq6"))))
- (build-system cargo-build-system)
- (synopsis "Rust library that quotes, unquotes, and unescapes strings")
- (description "A Rust library quotes, unquotes, and unescapes strings")
- (license license:unlicense)))
-
-(define-public rust-pam-sys-0.5
- (package
- (name "rust-pam-sys")
- (version "0.5.6")
- (home-page "https://github.com/1wilkens/pam-sys")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "pam-sys" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0d14501d5vybjnzxfjf96321xa5wa36x1xvf02h02zq938qmhj6d"))))
- (build-system cargo-build-system)
+ (base32 "0w0y0jz7lhxg05ca6ngfj0lj8sbrjh4vaqv13q7qaqkhs7lsx3pz"))))
(arguments
- `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2))))
- (inputs `(("linux-pam" ,linux-pam)))
- (synopsis
- "Rust FFI wrappers for the Linux Pluggable Authentication Modules (PAM)")
- (description
- "This crate uses bindgen to generate the raw FFI definitions for PAM. For a rustified API consider using pam.")
- (license (list license:expat license:asl2.0))))
+ `(#:cargo-inputs
+ (("rust-indexmap" ,rust-indexmap-1)
+ ("rust-xml-rs" ,rust-xml-rs-0.7))))))
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index d3b1f179b6..c729363fe8 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -871,7 +871,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(define-public epson-inkjet-printer-escpr
(package
(name "epson-inkjet-printer-escpr")
- (version "1.7.21")
+ (version "1.7.22")
;; XXX: This currently works. But it will break as soon as a newer
;; version is available since the URLs for older versions are not
;; preserved. An alternative source will be added as soon as
@@ -879,11 +879,11 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
(source
(origin
(method url-fetch)
- (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/13/77/"
- "93/e85dc2dc266e96fdc242bd95758bd88d1a51963e/"
- "epson-inkjet-printer-escpr-1.7.21-1lsb3.2.tar.gz"))
+ (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/13/96/"
+ "55/c6fced63098ae1ba104f11f572794fd558ffca29/"
+ "epson-inkjet-printer-escpr-1.7.22-1lsb3.2.tar.gz"))
(sha256
- (base32 "0z1x9p58321plf2swfxgl72wn7ls8bfbyjwd9l9c8jxfr1v2skkz"))))
+ (base32 "0b359krhhjjw5hc4b0gqdqwrm6dzc263mdccfzgnyyq7znkyybqb"))))
(build-system gnu-build-system)
(arguments
(list #:modules
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index d82d94abff..c713859a62 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -366,7 +366,7 @@ curl to obtain exactly that HTTP request.")
(define-public coeurl
(package
(name "coeurl")
- (version "0.2.0")
+ (version "0.2.1")
(source
(origin
(method git-fetch)
@@ -375,8 +375,7 @@ curl to obtain exactly that HTTP request.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0kbazvrb4hzc9jr7yywd36ack1yy7bh8sh1kc4jzv6jfzvxjb0i0"))))
+ (base32 "0qbbrfs35zl0wl6x6jn4p9ncxgdm70a883cflvikkykx9n5k2lpq"))))
(build-system meson-build-system)
(native-inputs
(list doctest pkg-config))
diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm
index 4211848fdb..481771804b 100644
--- a/gnu/packages/digest.scm
+++ b/gnu/packages/digest.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Ryan Prior <rprior@protonmail.com>
-;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -25,9 +25,11 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix utils)
+ #:use-module (gnu packages python-build)
#:use-module (ice-9 match))
(define-public wyhash
@@ -111,15 +113,17 @@ platforms (both big and little endian).")
(define-public python-xxhash
(package
(name "python-xxhash")
- (version "2.0.2")
+ (version "3.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xxhash" version))
(sha256
(base32
- "0jbvz19acznq00544gcsjg05fkvrmwbnwdfgrvwss3i1ys6avgmp"))))
- (build-system python-build-system)
+ "1hdxcscry59gh0znlm71ya23mm9rfmvz8lvvlplzxzf63pib28dc"))))
+ (build-system pyproject-build-system)
+ ;; Needed to embed the correct version string
+ (native-inputs (list python-setuptools-scm))
(home-page "https://github.com/ifduyue/python-xxhash")
(synopsis "Python binding for xxHash")
(description "This package provides Python bindings for the xxHash hash
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 8912bb74bc..85e2d7c729 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -1021,7 +1021,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
(define-public libblockdev
(package
(name "libblockdev")
- (version "2.27")
+ (version "2.28")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/storaged-project/"
@@ -1029,7 +1029,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
version "-1/libblockdev-" version ".tar.gz"))
(sha256
(base32
- "05rm9h8v30rahr245jcw6if6b5g16mb5hnz7wl1shzip0wky3k3d"))))
+ "1x3xbgd2dyjhcqvyalpnrp727xidfxmaxgyyvv5gwx4aw90wijc2"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1142,6 +1142,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
(define-public lf
(package
(name "lf")
+ ;; When updating, remove go-github-com-gdamore-tcell-v2-2.3 from golang.scm.
(version "27")
(source (origin
(method git-fetch)
@@ -1155,7 +1156,7 @@ on your file system and offers to remove it. @command{rmlint} can find:
(build-system go-build-system)
(native-inputs
(list go-github.com-mattn-go-runewidth go-golang-org-x-term
- go-gopkg-in-djherbis-times-v1 go-github-com-gdamore-tcell-v2))
+ go-gopkg-in-djherbis-times-v1 go-github-com-gdamore-tcell-v2-2.3))
(arguments
`(#:import-path "github.com/gokcehan/lf"))
(home-page "https://github.com/gokcehan/lf")
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 21b711d147..3762e093a2 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -871,7 +871,7 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
- (version "3.2.2")
+ (version "3.2.3")
(source
(origin
(method git-fetch)
@@ -880,7 +880,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1x1waa2cb91zhsqkx4mkiqy00kq1f1pavjfhlz7wknlnll48iayd"))
+ (base32 "117q8jllaakd6gv0mfkq45sigy5c8j8jbyxiwna3wan0mjx81fhv"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 60ef39c77e..8dff0f2ec8 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -197,6 +197,7 @@ with Microsoft Compiled HTML (CHM) files")
python-psutil
python-py7zr
python-pychm
+ python-pycryptodome
python-pygments
python-pyqt-without-qtwebkit
python-pyqtwebengine
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 35d6d87030..4dd813f919 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -258,7 +258,7 @@
(define-public emacs-geiser
(package
(name "emacs-geiser")
- (version "0.28")
+ (version "0.28.1")
(source
(origin
(method git-fetch)
@@ -267,7 +267,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0dd20cq3nz4jjysaqx2aiqqaxvkfkbj2x4zm2mz3pd4rmydckj2y"))))
+ (base32 "111as99278vbv6pwj8rpl308g327f8iznnrz71mngl6d5mr0xpa1"))))
(build-system emacs-build-system)
(arguments
'(#:phases
@@ -305,7 +305,7 @@ e.g. emacs-geiser-guile for Guile.")
(define-public emacs-geiser-guile
(package
(name "emacs-geiser-guile")
- (version "0.28.0")
+ (version "0.28.1")
(source
(origin
(method git-fetch)
@@ -314,7 +314,7 @@ e.g. emacs-geiser-guile for Guile.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "13qxg1npm0pmnml5q268k5xk1clyqldp8v200ihrqwqlc3ga7f36"))))
+ (base32 "0gp8xbfm7y2gabjyys8jylfy1pkkglqas32xxrbqxfh1hv0cfh2f"))))
(build-system emacs-build-system)
(arguments
(list
@@ -889,6 +889,29 @@ of the segments available in that package using icons from
information in the mode line.")
(license license:expat)))
+(define-public emacs-spongebob
+ (let ((commit "ae8ae6ba0dc57b7357ba87ff0609d27c4a0a5f51")
+ (revision "0"))
+ (package
+ (name "emacs-spongebob")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/dustyweb/spongebob.el")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1agqpp078ij2irn0kb8bgqk0nd47fi20yfd9szn8kbqypfqalvgc"))))
+ (build-system emacs-build-system)
+ (home-page "https://gitlab.com/dustyweb/gauche")
+ (synopsis "Memetically mock a region of text")
+ (description "This package transforms text using @code{studlify-region}
+and inserts a SpongeBob SquarePants ASCII art figure in the current
+buffer.")
+ (license license:gpl3+))))
+
(define-public emacs-project
(package
(name "emacs-project")
@@ -5089,6 +5112,28 @@ at the current line number or active region. @code{git-link-commit} returns
the URL for a commit. URLs are added to the kill ring.")
(license license:gpl3+)))
+(define-public emacs-frowny
+ (package
+ (name "emacs-frowny")
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/duckwork/frowny.el")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01ss3js71as1jpqcf0x9hfvapiyyhj9ni4y1n6wvqsghv5dcaiy0"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/duckwork/frowny.el")
+ (synopsis "Insert frownies in Emacs :(")
+ (description "This package ships @code{frowny-mode}, which makes it so that
+inserting a single @code{(} when after a @code{:} will not automatically close
+the parenthesis, meaning that only @code{:(} is inserted. Works with
+@code{electric-pair-mode}, @code{paredit-mode}, and others.")
+ (license license:public-domain)))
+
(define-public emacs-apache-mode
(package
(name "emacs-apache-mode")
@@ -15971,7 +16016,7 @@ similar syntax; currently C++, Objective-C, Java, CORBA's IDL, Pike, and AWK.")
(define-public emacs-csharp-mode
(package
(name "emacs-csharp-mode")
- (version "1.1.1")
+ (version "2.0.0")
(source
(origin
(method git-fetch)
@@ -15980,7 +16025,7 @@ similar syntax; currently C++, Objective-C, Java, CORBA's IDL, Pike, and AWK.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0wfd4jdjsq8qp6pavf25y87dxvlnsqapfi4c4m3xj24baalr2dpq"))))
+ (base32 "1d0pf236xi4c7fazv67a53yrac24lilnkzp9pb55xm88gig7rfmz"))))
(build-system emacs-build-system)
(home-page "https://github.com/josteink/csharp-mode")
(synopsis "Major mode for C# code")
@@ -30358,39 +30403,40 @@ service, and connect it with Emacs via inter-process communication.")
(name "emacs-telega")
(build-system emacs-build-system)
(arguments
- `(#:emacs ,(if (target-64bit?)
- emacs-minimal
- ;; Require wide-int support for 32-bit platform.
- emacs-wide-int)
- #:include (cons "^etc\\/" %default-include)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-sources
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Hard-code paths to `ffplay` and `ffmpeg`.
- (let* ((ffplay-bin (search-input-file inputs "/bin/ffplay"))
- (ffmpeg-bin (search-input-file inputs "/bin/ffmpeg")))
- (substitute* '("telega-ffplay.el" "telega-vvnote.el")
- (("(shell-command-to-string\|concat) \"(ffmpeg\|ffprobe)"
- all func cmd)
- (string-append func " \""
- (search-input-file
- inputs (string-append "/bin/" cmd))))
- (("\\(executable-find \"ffplay\"\\)")
- (string-append "(and (file-executable-p \"" ffplay-bin "\")"
- "\"" ffplay-bin "\")"))
- (("\\(executable-find \"ffmpeg\"\\)")
- (string-append "(and (file-executable-p \"" ffmpeg-bin "\")"
- "\"" ffmpeg-bin "\")"))))))
- (add-after 'unpack 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (substitute* "telega-customize.el"
- (("@TELEGA_SERVER_BIN@")
- (search-input-file inputs "/bin/telega-server")))
- (substitute* "telega-util.el"
- (("@TELEGA_SHARE@")
- (string-append (elpa-directory (assoc-ref outputs "out"))
- "/etc"))))))))
+ (list
+ #:emacs (if (target-64bit?)
+ emacs-minimal
+ ;; Require wide-int support for 32-bit platform.
+ emacs-wide-int)
+ #:include #~(cons "^etc\\/" %default-include)
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Hard-code paths to `ffplay` and `ffmpeg`.
+ (let* ((ffplay-bin (search-input-file inputs "/bin/ffplay"))
+ (ffmpeg-bin (search-input-file inputs "/bin/ffmpeg")))
+ (substitute* '("telega-ffplay.el" "telega-vvnote.el")
+ (("(shell-command-to-string\|concat) \"(ffmpeg\|ffprobe)"
+ all func cmd)
+ (string-append func " \""
+ (search-input-file
+ inputs (string-append "/bin/" cmd))))
+ (("\\(executable-find \"ffplay\"\\)")
+ (string-append "(and (file-executable-p \"" ffplay-bin "\")"
+ "\"" ffplay-bin "\")"))
+ (("\\(executable-find \"ffmpeg\"\\)")
+ (string-append "(and (file-executable-p \"" ffmpeg-bin "\")"
+ "\"" ffmpeg-bin "\")"))))))
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "telega-customize.el"
+ (("@TELEGA_SERVER_BIN@")
+ (search-input-file inputs "/bin/telega-server")))
+ (substitute* "telega-util.el"
+ (("@TELEGA_SHARE@")
+ (string-append (elpa-directory (assoc-ref outputs "out"))
+ "/etc"))))))))
(inputs
(list emacs-telega-server ffmpeg))
(native-inputs '())
@@ -30406,13 +30452,14 @@ for the Telegram messaging platform.")))
(inherit emacs-telega)
(name "emacs-telega-contrib")
(arguments
- `(#:exclude '("telega-live-location.el")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'enter-subdirectory
- (lambda _ (chdir "contrib") #t))
- (add-before 'install-license-files 'leave-subdirectory
- (lambda _ (chdir "..") #t)))))
+ (list
+ #:exclude #~(list "telega-live-location.el")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _ (chdir "contrib")))
+ (add-before 'install-license-files 'leave-subdirectory
+ (lambda _ (chdir ".."))))))
(inputs '())
(native-inputs '())
(propagated-inputs
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 43e23e30a8..1f3958f55c 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -669,7 +669,7 @@ multipole-accelerated algorithm.")
(define-public fritzing
(package
(name "fritzing")
- (version "0.9.3b")
+ (version "0.9.6")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -678,7 +678,7 @@ multipole-accelerated algorithm.")
(file-name (git-file-name name version))
(sha256
(base32
- "0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3"))))
+ "083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -687,24 +687,18 @@ multipole-accelerated algorithm.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "fritzing-parts-db")
"parts")
- ;; Make compatible with libgit2 > 0.24
- (substitute* "src/version/partschecker.cpp"
- (("error = git_remote_connect\\(remote, GIT_DIRECTION_FETCH, &callbacks\\)")
- "error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL)"))
-
;; Use system libgit2 and boost.
(substitute* "phoenix.pro"
- (("^LIBGIT2INCLUDE =.*")
- (string-append "LIBGIT2INCLUDE="
- (assoc-ref inputs "libgit2") "/include\n"))
- (("^ LIBGIT2LIB =.*")
- (string-append " LIBGIT2LIB="
- (assoc-ref inputs "libgit2") "/lib\n")))
- ;; This file checks for old versions of Boost, insisting on
- ;; having us download the boost sources and placing them in the
- ;; build directory.
- (substitute* "pri/utils.pri"
- (("error\\(") "message("))
+ (("^LIBGIT_STATIC.*")
+ (string-append "LIBGIT2INCLUDE=" (assoc-ref inputs "libgit2") "/include\n"
+ "LIBGIT2LIB=" (assoc-ref inputs "libgit2") "/lib\n"
+ "INCLUDEPATH += $$LIBGIT2INCLUDE\n"
+ "LIBS += -L$$LIBGIT2LIB -lgit2\n"))
+ (("^.*pri/libgit2detect.pri.") ""))
+ ;; Trick the internal mechanism to load the parts
+ (substitute* "src/version/partschecker.cpp"
+ ((".*git_libgit2_init.*")
+ "return \"083nz7vj7a334575smjry6257535h68gglh8a381xxa36dw96aqs\";"))
(let ((out (assoc-ref outputs "out")))
(invoke "qmake"
@@ -723,11 +717,11 @@ multipole-accelerated algorithm.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/fritzing/fritzing-parts")
- (commit version)))
+ (commit (string-append "release_" version))))
(file-name (git-file-name "fritzing-parts" version))
(sha256
(base32
- "1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1"))))))
+ "0wsvn57v6n0ygnhk2my94rrfzb962z1cj4d1xmp1farwck3811h6"))))))
(home-page "https://fritzing.org")
(synopsis "Electronic circuit design")
(description
@@ -970,6 +964,7 @@ Emacs).")
#$(this-package-input "opencascade-occt")
"/include/opencascade")
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
+ "-DKICAD_USE_EGL=ON" ;because wxWidgets uses EGL
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
#:phases
(modify-phases %standard-phases
@@ -980,16 +975,6 @@ Emacs).")
(string-append "NGSPICE_DLL_FILE=\""
(assoc-ref inputs "libngspice")
"/lib/libngspice.so\"")))))
- (add-after 'unpack 'fix-python-detection
- (lambda _
- (substitute* "CMakeModules/FindPythonLibs.cmake"
- (("_PYTHON3_VERSIONS 3\\.8 3\\.7")
- "_PYTHON3_VERSIONS 3.9 3.8 3.7"))))
- (add-after 'unpack 'add-missing-include
- (lambda _
- (substitute* "common/lib_tree_model.cpp"
- (("#include <eda_pattern_match.h>" all)
- (string-append "#include <algorithm>\n" all)))))
(add-after 'install 'wrap-program
;; Ensure correct Python at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index feb533eca7..eb70503f57 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -2177,7 +2177,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
- (version "2.5")
+ (version "2.6")
(source
(origin
(method git-fetch)
@@ -2186,7 +2186,7 @@ mining.")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
- (sha256 (base32 "1kdsxh6f24zp7h7bwkrin2mc81ysfny5wprzgy41h2bc6dpq067w"))
+ (sha256 (base32 "0832mv3f4c61w8s25higjbmmajjkvjdriw1xfygjiw5qxdcs202z"))
(modules '((guix build utils)))
(snippet
#~(for-each delete-file-recursively
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 40b7de4467..af53ddb6eb 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1882,7 +1882,7 @@ that wish to perform colour calibration.")
(define-public libfprint
(package
(name "libfprint")
- (version "1.94.4")
+ (version "1.94.5")
(source
(origin
(method git-fetch)
@@ -1891,7 +1891,7 @@ that wish to perform colour calibration.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1wfd2svsq26wizhsaifnr74havswbc1rlfm79b36yrhw9n7c3jqb"))))
+ (base32 "1l1ak7y2kz0nrdkfj41n7h34dyykgzdg50y752ayk3ginp6szr7r"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index 05955ad59a..80ffa927e3 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -240,7 +240,7 @@ output.
nettle
pugixml
sqlite
- wxwidgets))
+ wxwidgets-3.0))
(home-page "https://filezilla-project.org")
(synopsis "Full-featured graphical FTP/FTPS/SFTP client")
(description
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9d79efbe94..661d727d79 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1427,7 +1427,7 @@ real-time combat.")
(define-public golly
(package
(name "golly")
- (version "3.3")
+ (version "4.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/golly/golly/golly-"
@@ -1435,7 +1435,7 @@ real-time combat.")
"-src.tar.gz"))
(sha256
(base32
- "1j3ksnar4rdam4xiyspgyrs1pifbvxfxkrn65brkwxpx39mpgzc8"))))
+ "0pg9cp83nxc354lizgza5bqdy7z5wh36863203zw6r6s4flji4an"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
@@ -1445,17 +1445,7 @@ real-time combat.")
#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; For some reason, setting the PYTHON_SHLIB make flag doesn't
- ;; properly set the path to the Python shared library. This
- ;; substitution acheives the same end by different means.
- (substitute* "gui-wx/wxprefs.cpp"
- (("pythonlib = wxT\\(STRINGIFY\\(PYTHON_SHLIB\\)\\)")
- (string-append "pythonlib = \""
- (assoc-ref inputs "python")
- "/lib/libpython-2.7.so\"")))
- #t))
+ (delete 'configure)
(replace 'build
(lambda* (#:key make-flags outputs #:allow-other-keys)
(with-directory-excursion "gui-wx"
@@ -1485,11 +1475,7 @@ real-time combat.")
(native-inputs
(list lua))
(inputs
- `(("glu" ,glu)
- ("mesa" ,mesa)
- ("python" ,python-2)
- ("wxwidgets" ,wxwidgets-gtk2)
- ("zlib" ,zlib)))
+ (list glu mesa python sdl2 wxwidgets zlib))
(home-page "http://golly.sourceforge.net/")
(synopsis "Software for exploring cellular automata")
(description
@@ -6151,7 +6137,7 @@ starting a decryption sequence to reveal the original plaintext characters.")
libvorbis
lua
sdl2
- wxwidgets))
+ wxwidgets-3.0))
(native-inputs
(list cppunit pkg-config))
(arguments
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 0f777c7f9b..b3a5c0df3f 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -2158,7 +2158,7 @@ exchanged form one Spatial DBMS and the other.")
sqlite
tinyxml
wxsvg
- wxwidgets
+ wxwidgets-3.0
xz
zlib))
(arguments
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f81b44cca2..8652d9e03c 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7292,7 +7292,7 @@ almost all of them.")
("gtkspell3" ,gtkspell3)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gnome-settings-daemon" ,gnome-settings-daemon) ; desktop-schemas are not enough
- ("webkitgtk" ,webkitgtk)))
+ ("webkitgtk" ,webkitgtk-with-libsoup2)))
(home-page "https://wiki.gnome.org/Apps/Eolie")
(synopsis "Web browser for GNOME")
(description
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 064b775ab1..13b603b64a 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -485,7 +485,7 @@ gpgpme starting with version 1.7.")
(define-public guile-gcrypt
(package
(name "guile-gcrypt")
- (version "0.3.0")
+ (version "0.4.0")
(home-page "https://notabug.org/cwebber/guile-gcrypt")
(source (origin
(method git-fetch)
@@ -494,7 +494,7 @@ gpgpme starting with version 1.7.")
(commit (string-append "v" version))))
(sha256
(base32
- "0m29fg4pdfifnqqsa437zc5c1bhbfh62mc69ba25ak4x2cla41ll"))
+ "0m75h9q10yb27kzjsvhhq0yk3jaxiy9bpbfd9qg269hf9gabgfdx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index feb80d81a2..52ece9bbd4 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -19,7 +19,6 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Baptiste Strazzul <bstrazzull@hotmail.fr>
-;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -85,7 +84,6 @@
#:use-module (gnu packages assembly)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
- #:use-module (gnu packages crates-io)
#:use-module (gnu packages llvm)
#:use-module (gnu packages nss)
#:use-module (gnu packages icu4c)
@@ -350,148 +348,6 @@ in C/C++.")
(inputs
(list icu4c readline zlib))))
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Temporary packaging of rust-cbindgen-0.23 and its dependencies
-;; follow, pending their inclusion into (gnu packages rust-apps)
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-(define rust-textwrap-0.15-promise
- (delay
- (package
- (inherit rust-textwrap-0.12)
- (name "rust-textwrap")
- (version "0.15.0")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "textwrap" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs (("rust-hyphenation" ,rust-hyphenation-0.8)
- ("rust-smawk" ,rust-smawk-0.3)
- ("rust-terminal-size" ,rust-terminal-size-0.1)
- ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
- ("rust-unicode-width" ,rust-unicode-width-0.1)))))))
-
-(define rust-clap-lex-0.2
- (package
- (name "rust-clap-lex")
- (version "0.2.4")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "clap_lex" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1ib1a9v55ybnaws11l63az0jgz5xiy24jkdgsmyl7grcm3sz4l18"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6))))
- (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex")
- (synopsis "Minimal, flexible command line parser")
- (description "Minimal, flexible command line parser")
- (license (list license:expat license:asl2.0))))
-
-(define rust-clap-derive-3.2.15-promise
- (delay
- (package
- (inherit rust-clap-derive-3)
- (name "rust-clap-derive")
- (version "3.2.15")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "clap_derive" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1d2c4vs345fwihkd8cc7m6acbiydcwramkd5mnp36p0a7g6jm9cv"))))
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs (("rust-heck" ,rust-heck-0.4)
- ("rust-proc-macro-error" ,rust-proc-macro-error-1)
- ("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-syn" ,rust-syn-1)))))))
-
-(define rust-clap-3.2.16-promise
- (delay
- (package
- (inherit rust-clap-3)
- (name "rust-clap")
- (version "3.2.16")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "clap" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1af06z8z7m3327yz1xvzxfjanclgpvvy3lssb745rig7adkbpnx3"))))
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs (("rust-atty" ,rust-atty-0.2)
- ("rust-backtrace" ,rust-backtrace-0.3)
- ("rust-bitflags" ,rust-bitflags-1)
- ("rust-clap-derive" ,(force rust-clap-derive-3.2.15-promise))
- ("rust-clap-lex" ,rust-clap-lex-0.2)
- ("rust-indexmap" ,rust-indexmap-1)
- ("rust-once-cell" ,rust-once-cell-1)
- ("rust-regex" ,rust-regex-1)
- ("rust-strsim" ,rust-strsim-0.10)
- ("rust-termcolor" ,rust-termcolor-1)
- ("rust-terminal-size" ,rust-terminal-size-0.1)
- ("rust-textwrap" ,(force rust-textwrap-0.15-promise))
- ("rust-unicase" ,rust-unicase-2)
- ("rust-yaml-rust" ,rust-yaml-rust-0.4)))))))
-
-(define rust-cbindgen-0.24-promise
- (delay
- (package
- (inherit rust-cbindgen-0.19)
- (name "rust-cbindgen")
- (version "0.24.3")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "cbindgen" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1yqxqsz2d0cppd8zwihk2139g5gy38wqgl9snj6rnk8gyvnqsdd6"))))
- (arguments
- `(#:cargo-inputs (("rust-clap" ,(force rust-clap-3.2.16-promise))
- ("rust-heck" ,rust-heck-0.4)
- ("rust-indexmap" ,rust-indexmap-1)
- ("rust-log" ,rust-log-0.4)
- ("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-serde" ,rust-serde-1)
- ("rust-serde-json" ,rust-serde-json-1)
- ("rust-syn" ,rust-syn-1)
- ("rust-tempfile" ,rust-tempfile-3)
- ("rust-toml" ,rust-toml-0.5))
- #:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-0.5)))))))
-
-;; Bug with IceCat 102 with cbindgen-0.24, see
-;; https://bugzilla.mozilla.org/show_bug.cgi?id=1773259#c5 for
-;; possible patch (untested)
-(define rust-cbindgen-0.23-promise
- (delay
- (package
- (inherit (force rust-cbindgen-0.24-promise))
- (name "rust-cbindgen")
- (version "0.23.0")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "cbindgen" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav")))))))
-
-
(define mozilla-compare-locales
(origin
(method hg-fetch)
@@ -865,10 +721,9 @@ in C/C++.")
;; ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
;; ("icecat-use-system-media-libs.patch"
;; ,(search-patch "icecat-use-system-media-libs.patch"))
- ;; TODO: Change the following lines to use 'rust' when it's >= 1.59.
rust
`(,rust "cargo")
- (force rust-cbindgen-0.23-promise)
+ rust-cbindgen-0.23
llvm
clang
perl
@@ -1551,7 +1406,7 @@ ca495991b7852b855"))
pkg-config
python-wrapper
rust
- (force rust-cbindgen-0.23-promise)
+ rust-cbindgen-0.23
which
yasm))
(home-page "https://www.thunderbird.net")
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index b7c0acb9f6..70ddef52f1 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -6259,6 +6259,21 @@ systems.")
(modify-inputs (package-inputs go-github-com-gdamore-tcell)
(prepend go-golang-org-x-term go-golang-org-x-sys)))))
+(define-public go-github-com-gdamore-tcell-v2-2.3
+ (package
+ (inherit go-github-com-gdamore-tcell-v2)
+ (name "go-github-com-gdamore-tcell")
+ (version "2.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gdamore/tcell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ypbl5080q9sd3irad8mv7zlg4242i8pmg5xyhbyq95kymwibaid"))))))
+
(define-public go-git-sr-ht-rockorager-tcell-term
(package
(name "go-git-sr-ht-rockorager-tcell-term")
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm
index e46bf7b741..d846c79526 100644
--- a/gnu/packages/gstreamer.scm
+++ b/gnu/packages/gstreamer.scm
@@ -794,7 +794,7 @@ model to base your own plug-in on, here it is.")
;; This test is flaky on at least some architectures.
;; https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1244
#$@(if (member (%current-system)
- '("i686-linux" "aarch64-linux"))
+ '("i686-linux" "aarch64-linux" "riscv64-linux"))
`((("'elements/camerabin\\.c'\\]\\],")
"'elements/camerabin.c'], true, ],"))
'())
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index ad34dd51ec..de82b9e55f 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -344,6 +344,20 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
(base32
"0c5mzwgz43d37h75p4b6cgjg4v24jdd96i7gjpgxirn8qks2i5m4"))))))
+
+(define-public harfbuzz-5
+ (package
+ (inherit harfbuzz)
+ (version "5.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/harfbuzz/harfbuzz"
+ "/releases/download/" version "/harfbuzz-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "0ka3nkk2lks2lgakq02vyibwdziv11dkpa2brkx230asnyby0v2a"))))))
+
(define-public libdatrie
(package
(name "libdatrie")
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index f392bb8c16..65558ffe08 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -998,7 +998,7 @@ technology, such as head mounted displays with built in head tracking.")
(define-public openrgb
(package
(name "openrgb")
- (version "0.7")
+ (version "0.8")
(source
(origin
(method git-fetch)
@@ -1007,15 +1007,25 @@ technology, such as head mounted displays with built in head tracking.")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0xhfaz0b74nfnh7il2cz5c0338xlzay00g6hc2h3lsncarj8d5n7"))
+ (base32 "1yz7sdrjcxajm1zpa5djinmych5dvck0r1fvk0x5qmk87va4p9z3"))
(patches
(search-patches "openrgb-unbundle-hueplusplus.patch"))
(modules '((guix build utils)))
(snippet
'(begin
- ;; Delete the bundled hueplusplus and json libraries.
- (delete-file-recursively "dependencies/hueplusplus-1.0.0")
- (delete-file-recursively "dependencies/json")))))
+ ;; Delete many of the bundled libraries.
+ (for-each delete-file-recursively
+ (list "dependencies/hidapi-win"
+ "dependencies/hueplusplus-1.0.0"
+ "dependencies/json"
+ "dependencies/libusb-1.0.22"
+ "dependencies/macUSPCIO"
+ "dependencies/mbedtls-2.24.0"
+ "dependencies/NVFC"
+ "dependencies/openrazer-win32"
+ "dependencies/winring0"
+ ;; Some bundled appimages
+ "scripts/tools"))))))
(build-system cmake-build-system)
(arguments
(list
@@ -1044,7 +1054,8 @@ technology, such as head mounted displays with built in head tracking.")
mbedtls-apache
qtbase-5))
(native-inputs
- (list pkg-config))
+ (list pkg-config
+ qttools-5))
(synopsis "RGB lighting control")
(description
"OpenRGB is lighting control that doesn't depend on manufacturer software.
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 7e4fb04e0f..a878c82b66 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -99,6 +99,7 @@
"jami-fix-unit-tests-build.patch"
"jami-fix-qml-imports.patch"
"jami-no-webengine.patch"
+ "jami-sip-contacts.patch"
"jami-sip-unregister.patch"
"jami-xcb-link.patch"))))
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 530396213a..2103aec5a0 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -483,14 +483,14 @@ Apple Keynote documents. It currently supports Keynote versions 2 to 5.")
(define-public liblangtag
(package
(name "liblangtag")
- (version "0.6.3")
+ (version "0.6.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/tagoh/liblangtag/downloads/"
"liblangtag-" version ".tar.bz2"))
(sha256
- (base32 "1g9kwxx60q0hpwvs66ys1cb9qg54hfvbivadwli8sfpc085a44hz"))))
+ (base32 "0r55r30ih8dgq1hwbpl834igilj7bpxcnmlrlkd3vryk2wn0c0ap"))))
(build-system gnu-build-system)
(native-inputs
(list libtool pkg-config))
@@ -745,14 +745,14 @@ from the old StarOffice (.sdc, .sdw, ...).")
(define-public libwps
(package
(name "libwps")
- (version "0.4.12")
+ (version "0.4.13")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version "/" name "-" version ".tar.xz"))
(sha256 (base32
- "1nsfacqp5sfkyayw7q0wp68lidksd1wjdix8qmsbf0vdl19gn6p2"))))
+ "03y4aslp5lfqc14agn0hgkifwrknh8s4hfjll9wrfs1hq3kaz5ff"))))
(build-system gnu-build-system)
(native-inputs
(list doxygen pkg-config))
@@ -992,7 +992,7 @@ spell-checking library.")
(build-system gnu-build-system)
(inputs
(list perl))
- (home-page "http://hunspell.sourceforge.net/")
+ (home-page "https://hunspell.github.io/")
(synopsis "Hyphenation library")
(description "Hyphen is a hyphenation library using TeX hyphenation
patterns, which are pre-processed by a perl script.")
@@ -1050,20 +1050,20 @@ spell-checking library.")
(define-public mythes
(package
(name "mythes")
- (version "1.2.4")
+ (version "1.2.5")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/hunspell/MyThes/" version "/"
- name "-" version ".tar.gz"))
- (sha256 (base32
- "0prh19wy1c74kmzkkavm9qslk99gz8h8wmjvwzjc6lf8v2az708y"))))
+ (uri (string-append "https://github.com/hunspell/mythes/releases/"
+ "download/v" version "/mythes-" version ".tar.xz"))
+ (sha256
+ (base32 "07ajdyyif19k445dqffkm32c1kl8z0cw6bczc7x5zgkvf1q9y9qr"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(inputs
(list hunspell perl))
- (home-page "http://hunspell.sourceforge.net/")
+ (home-page "https://hunspell.github.io/")
(synopsis "Thesaurus")
(description "MyThes is a simple thesaurus that uses a structured text
data file and an index file with binary search to look up words and phrases
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8bc4364ece..75f38a923a 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -67,6 +67,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Hunter Jozwiak <hunter.t.joz@gmail.com>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2022 Stefan <stefan-guix@vodafonemail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -189,11 +190,31 @@
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
- #:use-module (ice-9 regex))
+ #:use-module (ice-9 regex)
+ #:export (customize-linux
+ make-defconfig))
+
+(define (linux-srcarch)
+ "Return the linux SRCARCH name, which is set in the toplevel Makefile of
+Linux and denotes the architecture-specific directory name below arch/ in its
+source code. Some few architectures share a common folder. It resembles the
+definition of SRCARCH based on ARCH in the Makefile and may be used to place a
+defconfig file in the proper path."
+ (let ((linux-arch (platform-linux-architecture
+ (lookup-platform-by-target-or-system
+ (or (%current-target-system)
+ (%current-system))))))
+ (match linux-arch
+ ("i386" "x86")
+ ("x86_64" "x86")
+ ("sparc32" "sparc")
+ ("sparc64" "sparc")
+ ("sh64" "sh")
+ (_ linux-arch))))
(define-public (system->defconfig system)
"Some systems (notably powerpc-linux) require a special target for kernel
-defconfig. Return the appropriate make target if applicable, otherwise return
+defconfig. Return the appropriate Make target if applicable, otherwise return
\"defconfig\"."
(cond ((string-prefix? "powerpc-" system) "pmac32_defconfig")
((string-prefix? "powerpc64-" system) "ppc64_defconfig")
@@ -846,8 +867,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(string-append "infodir=" #$output
"/share/info"))))))
#~())
- (replace 'configure
- (lambda* (#:key inputs target #:allow-other-keys)
+ (add-before 'configure 'set-environment
+ (lambda* (#:key target #:allow-other-keys)
;; Avoid introducing timestamps.
(setenv "KCONFIG_NOTIMESTAMP" "1")
(setenv "KBUILD_BUILD_TIMESTAMP" (getenv "SOURCE_DATE_EPOCH"))
@@ -863,18 +884,21 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(%current-system))))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
-
(when target
(setenv "CROSS_COMPILE" (string-append target "-"))
(format #t "`CROSS_COMPILE' set to `~a'~%"
(getenv "CROSS_COMPILE"))))
+ ;; Allow EXTRAVERSION to be set via the environment.
+ (substitute* "Makefile"
+ (("^ *EXTRAVERSION[[:blank:]]*=")
+ "EXTRAVERSION ?="))
(setenv "EXTRAVERSION"
#$(and extra-version
- (string-append "-" extra-version)))
-
+ (string-append "-" extra-version)))))
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
(let ((config (assoc-ref inputs "kconfig")))
-
;; Use a custom kernel configuration file or a default
;; configuration file.
(if config
@@ -882,17 +906,15 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(copy-file config ".config")
(chmod ".config" #o666))
(invoke "make" #$defconfig))
-
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(let ((port (open-file ".config" "a"))
(extra-configuration #$(config->string extra-options)))
(display extra-configuration port)
(close-port port))
-
(invoke "make" "oldconfig"))))
(replace 'install
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
+ (lambda* (#:key inputs #:allow-other-keys)
(let ((moddir (string-append #$output "/lib/modules"))
(dtbdir (string-append #$output "/lib/dtbs")))
;; Install kernel image, kernel configuration and link map.
@@ -1238,6 +1260,110 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
(inputs (modify-inputs (package-inputs base-linux-libre)
(prepend cpio))))))
+
+;;;
+;;; Linux kernel customization functions.
+;;;
+
+(define* (customize-linux #:key name
+ (linux linux-libre)
+ source
+ defconfig
+ (configs "")
+ extra-version)
+ "Make a customized Linux package NAME derived from the LINUX package.
+
+If NAME is not given, then it defaults to the same name as the LINUX package.
+
+Unless SOURCE is given the source of LINUX is used.
+
+A DEFCONFIG file to be used can be given as an origin, as a file-like object
+(file-append, local-file etc.), or as a string with the name of a defconfig file
+available in the Linux sources. If DEFCONFIG is not given, then a defconfig
+file will be saved from the LINUX package configuration.
+
+Additional CONFIGS will be used to modify the given or saved defconfig, which
+will finally be used to build Linux.
+
+CONFIGS can be a list of strings, with one configuration per line. The usual
+defconfig syntax has to be used, but there is a special extension to ease the
+removal of configurations. Comment lines are supported as well.
+
+Here is an example:
+
+ '(;; This string defines the version tail in 'uname -r'.
+ \"CONFIG_LOCALVERSION=\\\"-handcrafted\\\"
+ ;; This '# CONFIG_... is not set' syntax has to match exactly!
+ \"# CONFIG_BOOT_CONFIG is not set\"
+ \"CONFIG_NFS_SWAP=y\"
+ ;; This is a multiline configuration:
+ \"CONFIG_E1000=y
+# This is a comment, below follows an extension to unset a configuration:
+CONFIG_CMDLINE_EXTEND\")
+
+A string of configurations instead of a list of configuration strings is also
+possible.
+
+EXTRA-VERSION can be a string overwriting the EXTRAVERSION setting of the LINUX
+package, after being prepended by a hyphen. It will be visible in the output
+of 'uname -r' behind the Linux version numbers."
+ (package
+ (inherit linux)
+ (name (or name (package-name linux)))
+ (source (or source (package-source linux)))
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments linux)
+ ((#:imported-modules imported-modules %gnu-build-system-modules)
+ `((guix build kconfig) ,@imported-modules))
+ ((#:modules modules)
+ `((guix build kconfig) ,@modules))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'configure
+ (lambda* (#:key inputs #:allow-other-keys #:rest arguments)
+ (setenv "EXTRAVERSION"
+ #$(and extra-version
+ (not (string-null? extra-version))
+ (string-append "-" extra-version)))
+ (let* ((configs
+ (string-append "arch/" #$(linux-srcarch) "/configs/"))
+ (guix_defconfig
+ (string-append configs "guix_defconfig")))
+ #$(cond
+ ((not defconfig)
+ #~(begin
+ ;; Call the original 'configure phase.
+ (apply (assoc-ref #$phases 'configure) arguments)
+ ;; Save a defconfig file.
+ (invoke "make" "savedefconfig")
+ ;; Move the saved defconfig to the proper location.
+ (rename-file "defconfig"
+ guix_defconfig)))
+ ((string? defconfig)
+ ;; Use another existing defconfig from the Linux sources.
+ #~(rename-file (string-append configs #$defconfig)
+ guix_defconfig))
+ (else
+ ;; Copy the defconfig input to the proper location.
+ #~(copy-file (assoc-ref inputs "guix_defconfig")
+ guix_defconfig)))
+ (chmod guix_defconfig #o644)
+ (modify-defconfig guix_defconfig '#$configs)
+ (invoke "make" "guix_defconfig")
+ (verify-config ".config" guix_defconfig))))))))
+ (native-inputs
+ (append (if (or (not defconfig)
+ (string? defconfig))
+ '()
+ ;; The defconfig should be an origin or file-like object.
+ `(("guix_defconfig" ,defconfig)))
+ (package-native-inputs linux)))))
+
+(define (make-defconfig uri sha256-as-base32)
+ (origin (method url-fetch)
+ (uri uri)
+ (sha256 (base32 sha256-as-base32))))
;;;
@@ -3151,7 +3277,7 @@ devices. It replaces @code{iwconfig}, which is deprecated.")
(define-public powertop
(package
(name "powertop")
- (version "2.14")
+ (version "2.15")
(source
(origin
(method git-fetch)
@@ -3160,7 +3286,7 @@ devices. It replaces @code{iwconfig}, which is deprecated.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1zkr2y5nb1nr22nq8a3zli87iyfasfq6489p7h1k428pv8k45w4f"))))
+ (base32 "10vbk4vplmzp3p1mhwnhj81g6i5xvam9pdvmiy6cmd0xvnmdyy77"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -3179,18 +3305,17 @@ devices. It replaces @code{iwconfig}, which is deprecated.")
;; These programs are only needed to calibrate, so using
;; relative file names avoids adding extra inputs. When they
;; are missing powertop gracefully handles it.
- (("/usr/bin/hcitool") "hcitool")
- (("/usr/bin/xset") "xset")
- (("/usr/sbin/hciconfig") "hciconfig"))
- #t))))))
+ (("/usr/s?bin/(hciconfig|hcitool|xset)" _ command)
+ command))))))))
+ (native-inputs
+ (list autoconf
+ autoconf-archive
+ automake
+ gettext-minimal
+ libtool
+ pkg-config))
(inputs
(list kmod libnl ncurses pciutils zlib))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gettext-minimal)
- ("libtool" ,libtool)
- ("pkg-config" ,pkg-config)))
(home-page "https://01.org/powertop/")
(synopsis "Analyze power consumption on Intel-based laptops")
(description
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index ad2da5fa82..841aa48bb9 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -454,6 +454,41 @@ It's intended as a simpler alternative to parser generators.")
(define-public ecl-meta
(sbcl-package->ecl-package sbcl-meta))
+(define-public sbcl-clavier
+ (let ((commit "048bea40cac0a89480f8c41ae542be45945f3268")
+ (revision "0"))
+ (package
+ (name "sbcl-clavier")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mmontone/clavier")
+ (commit commit)))
+ (file-name (git-file-name "cl-clavier" version))
+ (sha256
+ (base32 "0734xia2hf7lqkm59gjhyvpsp0vl50djyhy4llwwbzbwwdkdihw4"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list sbcl-stefil))
+ (inputs
+ (list sbcl-alexandria
+ sbcl-chronicity
+ sbcl-cl-fad
+ sbcl-cl-ppcre
+ sbcl-closer-mop))
+ (home-page "https://github.com/mmontone/clavier/")
+ (synopsis "General purpose validation library")
+ (description "Clavier is a general purpose validation library for
+Common Lisp.")
+ (license license:expat))))
+
+(define-public cl-clavier
+ (sbcl-package->cl-source-package sbcl-clavier))
+
+(define-public ecl-clavier
+ (sbcl-package->ecl-package sbcl-clavier))
+
(define-public sbcl-cl-inotify
(let ((commit "66f29e01ec28355ebba8292411b4de90eebd76a3")
(revision "0"))
@@ -2516,7 +2551,7 @@ clause if no operation becomes available within a set amount of time.
Calispel is a message-passing library, and as such leaves the role of
threading abstractions and utilities left to be filled by complementary
libraries such as Bordeaux-Threads and Eager Future.")
- (home-page "https://www.thoughtcrime.us/software/jpl-queues/")
+ (home-page "https://www.thoughtcrime.us/software/calispel/")
(license license:isc))))
(define-public cl-calispel
@@ -18124,6 +18159,35 @@ long-running threads. In principle, it is like an in-Lisp process supervisor.")
(define-public ecl-moira
(sbcl-package->ecl-package sbcl-moira))
+(define-public sbcl-with-user-abort
+ (let ((commit "60693b4a1354faf17107ad6003b0b870cca37081")
+ (revision "0"))
+ (package
+ (name "sbcl-with-user-abort")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/compufox/with-user-abort")
+ (commit commit)))
+ (file-name (git-file-name "cl-with-user-abort" version))
+ (sha256
+ (base32 "0k1xxfvncdw4fx8nncis1ma128bqq05zky1mrzak5rjbivzjm8j1"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/compufox/with-user-abort")
+ (synopsis "Portability library for catching SIGINT from Common Lisp")
+ (description
+ "@code{with-user-abort} is a Common Lisp portability library providing a
+like-named macro that catches the SIGINT signal.")
+ (license license:bsd-3))))
+
+(define-public cl-with-user-abort
+ (sbcl-package->cl-source-package sbcl-with-user-abort))
+
+(define-public ecl-with-user-abort
+ (sbcl-package->ecl-package sbcl-with-user-abort))
+
(define-public sbcl-cl-package-locks
(let ((commit "96a358ede7cef416d61d2f699e724fe1d9de602c")
(revision "1"))
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 800bba21a0..62eeb1faab 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -423,17 +423,14 @@ an interpreter, a compiler, a debugger, and much more.")
(define-public sbcl
(package
(name "sbcl")
- (version "2.2.10")
+ (version "2.2.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-"
version "-source.tar.bz2"))
- (patches
- ;; TODO: remove this patch when updating to sbcl > 2.2.10.
- (search-patches "sbcl-fix-build-on-arm64-with-clisp-as-host.patch"))
(sha256
- (base32 "0cq8x4svkawirxq5s5gs4qxkl23m4q5p722a2kpss8qjfslc7hwc"))
+ (base32 "1pwnhjp0fmkcgq11a6hj36gw8k05qramspgdbj28063k2s0dc1rn"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index dc9fed90eb..fe6f122812 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -50,6 +50,7 @@
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2022 ( <paren@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -151,6 +152,7 @@
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
+ #:use-module (gnu packages rust-apps)
#:use-module (gnu packages search)
#:use-module (gnu packages serialization)
#:use-module (gnu packages samba)
@@ -3811,14 +3813,14 @@ tools and applications:
(define-public balsa
(package
(name "balsa")
- (version "2.6.3")
+ (version "2.6.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://pawsa.fedorapeople.org/balsa/"
"balsa-" version ".tar.xz"))
(sha256
- (base32 "1m0x3rk7cp7slr47rmg4y91rbxgs652v706lyxj600m5r5v4bl6l"))))
+ (base32 "1hcgmjka2x2igdrmvzlfs12mv892kv4vzv5iy90kvcqxa625kymy"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -3831,7 +3833,13 @@ tools and applications:
"--with-gpgme"
"--with-sqlite"
"--with-compface"
- "--with-ldap")))
+ "--with-ldap")
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'adjust-for-new-webkitgtk
+ (lambda _
+ (substitute* "configure"
+ (("webkit2gtk-4.0")
+ "webkit2gtk-4.1")))))))
(inputs
(list cyrus-sasl
enchant
@@ -3840,7 +3848,7 @@ tools and applications:
gnutls
gpgme
gtk+
- gtksourceview
+ gtksourceview-4
gtkspell3
libassuan ; in gpgme.pc Requires
libcanberra
@@ -3860,6 +3868,9 @@ tools and applications:
the GNOME desktop. It supports both POP3 and IMAP servers as well as the
mbox, maildir and mh local mailbox formats. Balsa also supports SMTP and/or
the use of a local MTA such as Sendmail.")
+ (properties
+ '((release-monitoring-url
+ . "https://pawsa.fedorapeople.org/balsa/download.html")))
(license license:gpl3+)))
(define-public afew
@@ -4754,3 +4765,120 @@ addresses.")
mailserver on their machine. It enables these users to send their mail over a
remote SMTP server.")
(license license:gpl2+)))
+
+(define-public aerc
+ (package
+ (name "aerc")
+ (version "0.13.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~rjarry/aerc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18rykklc0ppl53sm9lzhrw6kv4rcc7x45nv7qii7m4qads2pyjm5"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "git.sr.ht/~rjarry/aerc"
+ ;; Installing the source is only necessary for Go libraries.
+ #:install-source? #f
+ #:build-flags
+ #~(list "-tags=notmuch" "-ldflags"
+ (string-append "-X main.Version=" #$version
+ " -X git.sr.ht/~rjarry/aerc/config.shareDir="
+ #$output "/share/aerc"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key import-path inputs #:allow-other-keys)
+ (with-directory-excursion
+ (string-append "src/" import-path)
+ (substitute* (list "config/config.go"
+ "lib/templates/template.go"
+ "widgets/compose.go"
+ "widgets/msgviewer.go"
+ "worker/maildir/worker.go"
+ "worker/notmuch/worker.go")
+ (("\"sh\"")
+ (string-append
+ "\"" (search-input-file inputs "bin/sh")
+ "\"")))
+ (substitute* "commands/z.go"
+ (("\"zoxide\"")
+ (string-append
+ "\"" (search-input-file inputs "bin/zoxide")
+ "\"")))
+ (substitute* (list "lib/crypto/gpg/gpg.go"
+ "lib/crypto/gpg/gpg_test.go"
+ "lib/crypto/gpg/gpgbin/keys.go"
+ "lib/crypto/gpg/gpgbin/gpgbin.go")
+ (("\"gpg\"")
+ (string-append
+ "\"" (search-input-file inputs "bin/gpg")
+ "\""))
+ (("strings\\.Contains\\(stderr\\.String\\(\\), .*\\)")
+ "strings.Contains(stderr.String(), \"gpg\")")))))
+ (add-after 'build 'doc
+ (lambda* (#:key import-path build-flags #:allow-other-keys)
+ (invoke "make" "doc" "-C"
+ (string-append "src/" import-path))))
+ (replace 'install
+ (lambda* (#:key import-path build-flags #:allow-other-keys)
+ (invoke "make" "install" "-C"
+ (string-append "src/" import-path)
+ (string-append "PREFIX=" #$output)))))))
+ (inputs (list gnupg
+ go-github-com-zenhack-go-notmuch
+ go-golang-org-x-oauth2
+ go-github-com-xo-terminfo
+ go-github-com-stretchr-testify
+ go-github-com-riywo-loginshell
+ go-github-com-pkg-errors
+ go-github-com-mitchellh-go-homedir
+ go-github-com-miolini-datacounter
+ go-github-com-mattn-go-runewidth
+ go-github-com-mattn-go-isatty
+ go-github-com-lithammer-fuzzysearch
+ go-github-com-kyoh86-xdg
+ go-github-com-imdario-mergo
+ go-github-com-google-shlex
+ go-github-com-go-ini-ini
+ go-github-com-gdamore-tcell-v2
+ go-github-com-gatherstars-com-jwz
+ go-github-com-fsnotify-fsnotify
+ go-github-com-emersion-go-smtp
+ go-github-com-emersion-go-sasl
+ go-github-com-emersion-go-pgpmail
+ go-github-com-emersion-go-message
+ go-github-com-emersion-go-maildir
+ go-github-com-emersion-go-imap-sortthread
+ go-github-com-emersion-go-imap
+ go-github-com-emersion-go-msgauth
+ go-github-com-emersion-go-mbox
+ go-github-com-ddevault-go-libvterm
+ go-github-com-danwakefield-fnmatch
+ go-github-com-creack-pty
+ go-github-com-arran4-golang-ical
+ go-github-com-protonmail-go-crypto
+ go-github-com-syndtr-goleveldb-leveldb
+ go-git-sr-ht-sircmpwn-getopt
+ go-git-sr-ht-rockorager-tcell-term
+ zoxide))
+ (native-inputs (list scdoc))
+ (home-page "https://git.sr.ht/~rjarry/aerc")
+ (synopsis "Email client for the terminal")
+ (description "@code{aerc} is a textual email client for terminals. It
+features:
+@enumerate
+@item First-class support for using patches and @code{git send-email}
+@item Vi-like keybindings and command system
+@item A built-in console
+@item Support for multiple accounts
+@end enumerate")
+ ;; The license given is MIT/Expat; however, linking against notmuch
+ ;; effectively makes it GPL-3.0-or-later. See this thread discussing it:
+ ;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476
+ ;; 1073eb2391%40disroot.org%3E>
+ (license license:gpl3+)))
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index cd37d4682c..e0bd7633bc 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -581,7 +581,7 @@ mpdevil loads all tags and covers on demand.")
(define-public mympd
(package
(name "mympd")
- (version "10.1.2")
+ (version "10.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -590,7 +590,7 @@ mpdevil loads all tags and covers on demand.")
(file-name (git-file-name name version))
(sha256
(base32
- "1cqq09j7mi7dz5y6l7i0sa6vi2n5zrndnrxnqsi4vcg99fc2vwv8"))))
+ "16cvjwbyb1m88kmgylp95p82a4xdjikmrw9arl6kvmgcbyw317yp"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f)) ; no test target
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 22b8ca7d68..d02d893f02 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2463,6 +2463,66 @@ which can modulate the oscillators, filter, and amplitude; distortion and
reverb effects.")
(license license:gpl2+)))
+(define-public paulxstretch
+ (package
+ (name "paulxstretch")
+ (version "1.6.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/essej/paulxstretch")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pff51imfgmgqzc6mdgwd1v9fci0a8hj85fnkdsvkdzbnxdzvs9r"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f ;no test suite
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (let* ((bin (string-append #$output "/bin"))
+ (lib (string-append #$output "/lib"))
+ (share (string-append #$output "/share"))
+ (clap (string-append lib "/clap"))
+ (vst3 (string-append lib "/vst3")))
+ (with-directory-excursion
+ "PaulXStretch_artefacts/RelWithDebInfo"
+ (install-file "Standalone/paulxstretch" bin)
+ (install-file "CLAP/PaulXStretch.clap" clap)
+ (mkdir-p vst3)
+ (copy-recursively "VST3" vst3)
+ (install-file (string-append
+ #$source
+ "/linux/paulxstretch.desktop")
+ (string-append share "/applications"))
+ (install-file
+ (string-append
+ #$source
+ "/images/paulxstretch_icon_1024_rounded.png")
+ (string-append share "/pixmaps")))))))))
+ (home-page "https://sonosaurus.com/paulxstretch/")
+ (native-inputs (list pkg-config))
+ (inputs (list alsa-lib
+ curl
+ fftwf
+ freetype
+ jack-1
+ libx11
+ libxcursor
+ libxext
+ libxinerama
+ libxrandr))
+ (supported-systems '("x86_64-linux")) ;pffft.c uses SIMD code
+ (synopsis "Audio timestretching application and plugin")
+ (description
+ "PaulXStretch is an application/plugin is based on the PaulStretch
+algorithm (Paul’s Extreme Time Stretch, originally developed by Nasca Octavian
+Paul), and specifically the PaulXStretch version from Xenakios.")
+ (license license:gpl3+)))
+
(define-public setbfree
(package
(name "setbfree")
@@ -3980,7 +4040,7 @@ with a number of bugfixes and changes to improve IT playback.")
(inputs
(list jack-1
alsa-lib
- wxwidgets-gtk2
+ wxwidgets-gtk2-3.0
libsndfile
libsamplerate
liblo
diff --git a/gnu/packages/patches/jami-sip-contacts.patch b/gnu/packages/patches/jami-sip-contacts.patch
new file mode 100644
index 0000000000..dce8f6b98d
--- /dev/null
+++ b/gnu/packages/patches/jami-sip-contacts.patch
@@ -0,0 +1,38 @@
+From 3ba007d02bc19e499c8f3c2345302453028831a8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
+ <sebastien.blin@savoirfairelinux.com>
+Date: Tue, 29 Nov 2022 09:26:20 -0500
+Subject: [PATCH] misc: fix incoming message sip
+
+We do not need to check contacts for SIP as it will be considered
+automatically as a contact
+
+Change-Id: If78113e9d79dcd695c39c2d12c0441e2cb282737
+---
+ src/libclient/conversationmodel.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/client-qt/src/libclient/conversationmodel.cpp b/client-qt/src/libclient/conversationmodel.cpp
+index dba206bd..5604a17c 100644
+--- a/client-qt/src/libclient/conversationmodel.cpp
++++ b/client-qt/src/libclient/conversationmodel.cpp
+@@ -3611,8 +3611,12 @@ ConversationModelPimpl::addIncomingMessage(const QString& peerId,
+ try {
+ auto contact = linked.owner.contactModel->getContact(peerId);
+ isRequest = contact.profileInfo.type == profile::Type::PENDING;
+- if (isRequest && !contact.isBanned && peerId != linked.owner.profileInfo.uri) {
+- addContactRequest(peerId);
++ // if isSip, it will be a contact!
++ auto isSip = linked.owner.profileInfo.type == profile::Type::SIP;
++ if (isSip
++ || (isRequest && !contact.isBanned && peerId != linked.owner.profileInfo.uri)) {
++ if (!isSip)
++ addContactRequest(peerId);
+ convIds.push_back(storage::beginConversationWithPeer(db, contact.profileInfo.uri));
+ auto& conv = getConversationForPeerUri(contact.profileInfo.uri).get();
+ conv.uid = convIds[0];
+
+base-commit: 6f30acf0043d07dcbe63ee8636509885a9b6fd76
+--
+2.38.1
+
diff --git a/gnu/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch b/gnu/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch
new file mode 100644
index 0000000000..4567f81224
--- /dev/null
+++ b/gnu/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch
@@ -0,0 +1,565 @@
+https://github.com/rust-lang/rust/commit/263edd43c5255084292329423c61a9d69715ebfa.patch
+https://github.com/rust-lang/rust/issues/102155
+Issue seen on native builds on riscv64 across multiple Linux
+Distributions. An alternative workaround appears to be building stage 1
+with debug enabled.
+
+From 27412d1e3e128349bc515c16ce882860e20f037d Mon Sep 17 00:00:00 2001
+From: 5225225 <5225225@mailbox.org>
+Date: Thu, 14 Jul 2022 22:42:47 +0100
+Subject: [PATCH] Use constant eval to do strict validity checks
+
+---
+ Cargo.lock | 1 +
+ .../src/intrinsics/mod.rs | 15 +----
+ compiler/rustc_codegen_ssa/Cargo.toml | 1 +
+ compiler/rustc_codegen_ssa/src/mir/block.rs | 9 ++-
+ .../src/const_eval/machine.rs | 2 +-
+ .../src/interpret/intrinsics.rs | 56 ++++++++--------
+ compiler/rustc_const_eval/src/lib.rs | 6 ++
+ .../src/might_permit_raw_init.rs | 40 +++++++++++
+ compiler/rustc_middle/src/query/mod.rs | 8 +++
+ compiler/rustc_middle/src/ty/query.rs | 1 +
+ compiler/rustc_query_impl/src/keys.rs | 12 +++-
+ compiler/rustc_target/src/abi/mod.rs | 38 +++++------
+ .../intrinsics/panic-uninitialized-zeroed.rs | 66 ++++++++++++-------
+ 13 files changed, 161 insertions(+), 94 deletions(-)
+ create mode 100644 compiler/rustc_const_eval/src/might_permit_raw_init.rs
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 147d47044078a..dd6f0345affd0 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -3664,6 +3664,7 @@ dependencies = [
+ "rustc_arena",
+ "rustc_ast",
+ "rustc_attr",
++ "rustc_const_eval",
+ "rustc_data_structures",
+ "rustc_errors",
+ "rustc_fs_util",
+diff --git a/compiler/rustc_codegen_cranelift/src/intrinsics/mod.rs b/compiler/rustc_codegen_cranelift/src/intrinsics/mod.rs
+index eafae1cdc8af0..4b2207f375879 100644
+--- a/compiler/rustc_codegen_cranelift/src/intrinsics/mod.rs
++++ b/compiler/rustc_codegen_cranelift/src/intrinsics/mod.rs
+@@ -58,7 +58,6 @@ pub(crate) use llvm::codegen_llvm_intrinsic_call;
+ use rustc_middle::ty::print::with_no_trimmed_paths;
+ use rustc_middle::ty::subst::SubstsRef;
+ use rustc_span::symbol::{kw, sym, Symbol};
+-use rustc_target::abi::InitKind;
+
+ use crate::prelude::*;
+ use cranelift_codegen::ir::AtomicRmwOp;
+@@ -672,12 +671,7 @@ fn codegen_regular_intrinsic_call<'tcx>(
+ return;
+ }
+
+- if intrinsic == sym::assert_zero_valid
+- && !layout.might_permit_raw_init(
+- fx,
+- InitKind::Zero,
+- fx.tcx.sess.opts.unstable_opts.strict_init_checks) {
+-
++ if intrinsic == sym::assert_zero_valid && !fx.tcx.permits_zero_init(layout) {
+ with_no_trimmed_paths!({
+ crate::base::codegen_panic(
+ fx,
+@@ -688,12 +682,7 @@ fn codegen_regular_intrinsic_call<'tcx>(
+ return;
+ }
+
+- if intrinsic == sym::assert_uninit_valid
+- && !layout.might_permit_raw_init(
+- fx,
+- InitKind::Uninit,
+- fx.tcx.sess.opts.unstable_opts.strict_init_checks) {
+-
++ if intrinsic == sym::assert_uninit_valid && !fx.tcx.permits_uninit_init(layout) {
+ with_no_trimmed_paths!({
+ crate::base::codegen_panic(
+ fx,
+diff --git a/compiler/rustc_codegen_ssa/Cargo.toml b/compiler/rustc_codegen_ssa/Cargo.toml
+index faabea92f5a6c..81c8b9ceb136e 100644
+--- a/compiler/rustc_codegen_ssa/Cargo.toml
++++ b/compiler/rustc_codegen_ssa/Cargo.toml
+@@ -40,6 +40,7 @@ rustc_metadata = { path = "../rustc_metadata" }
+ rustc_query_system = { path = "../rustc_query_system" }
+ rustc_target = { path = "../rustc_target" }
+ rustc_session = { path = "../rustc_session" }
++rustc_const_eval = { path = "../rustc_const_eval" }
+
+ [dependencies.object]
+ version = "0.29.0"
+diff --git a/compiler/rustc_codegen_ssa/src/mir/block.rs b/compiler/rustc_codegen_ssa/src/mir/block.rs
+index 745da821c9d76..773c55cf551d5 100644
+--- a/compiler/rustc_codegen_ssa/src/mir/block.rs
++++ b/compiler/rustc_codegen_ssa/src/mir/block.rs
+@@ -22,7 +22,7 @@ use rustc_span::source_map::Span;
+ use rustc_span::{sym, Symbol};
+ use rustc_symbol_mangling::typeid_for_fnabi;
+ use rustc_target::abi::call::{ArgAbi, FnAbi, PassMode};
+-use rustc_target::abi::{self, HasDataLayout, InitKind, WrappingRange};
++use rustc_target::abi::{self, HasDataLayout, WrappingRange};
+ use rustc_target::spec::abi::Abi;
+
+ /// Used by `FunctionCx::codegen_terminator` for emitting common patterns
+@@ -528,7 +528,6 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
+ source_info: mir::SourceInfo,
+ target: Option<mir::BasicBlock>,
+ cleanup: Option<mir::BasicBlock>,
+- strict_validity: bool,
+ ) -> bool {
+ // Emit a panic or a no-op for `assert_*` intrinsics.
+ // These are intrinsics that compile to panics so that we can get a message
+@@ -547,12 +546,13 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
+ });
+ if let Some(intrinsic) = panic_intrinsic {
+ use AssertIntrinsic::*;
++
+ let ty = instance.unwrap().substs.type_at(0);
+ let layout = bx.layout_of(ty);
+ let do_panic = match intrinsic {
+ Inhabited => layout.abi.is_uninhabited(),
+- ZeroValid => !layout.might_permit_raw_init(bx, InitKind::Zero, strict_validity),
+- UninitValid => !layout.might_permit_raw_init(bx, InitKind::Uninit, strict_validity),
++ ZeroValid => !bx.tcx().permits_zero_init(layout),
++ UninitValid => !bx.tcx().permits_uninit_init(layout),
+ };
+ if do_panic {
+ let msg_str = with_no_visible_paths!({
+@@ -687,7 +687,6 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
+ source_info,
+ target,
+ cleanup,
+- self.cx.tcx().sess.opts.unstable_opts.strict_init_checks,
+ ) {
+ return;
+ }
+diff --git a/compiler/rustc_const_eval/src/const_eval/machine.rs b/compiler/rustc_const_eval/src/const_eval/machine.rs
+index 29ab1d187719c..e00e667fb71e2 100644
+--- a/compiler/rustc_const_eval/src/const_eval/machine.rs
++++ b/compiler/rustc_const_eval/src/const_eval/machine.rs
+@@ -104,7 +104,7 @@ pub struct CompileTimeInterpreter<'mir, 'tcx> {
+ }
+
+ impl<'mir, 'tcx> CompileTimeInterpreter<'mir, 'tcx> {
+- pub(super) fn new(const_eval_limit: Limit, can_access_statics: bool) -> Self {
++ pub(crate) fn new(const_eval_limit: Limit, can_access_statics: bool) -> Self {
+ CompileTimeInterpreter {
+ steps_remaining: const_eval_limit.0,
+ stack: Vec::new(),
+diff --git a/compiler/rustc_const_eval/src/interpret/intrinsics.rs b/compiler/rustc_const_eval/src/interpret/intrinsics.rs
+index e2a8a9891f72f..7827fb8395b7f 100644
+--- a/compiler/rustc_const_eval/src/interpret/intrinsics.rs
++++ b/compiler/rustc_const_eval/src/interpret/intrinsics.rs
+@@ -15,7 +15,7 @@ use rustc_middle::ty::layout::LayoutOf as _;
+ use rustc_middle::ty::subst::SubstsRef;
+ use rustc_middle::ty::{Ty, TyCtxt};
+ use rustc_span::symbol::{sym, Symbol};
+-use rustc_target::abi::{Abi, Align, InitKind, Primitive, Size};
++use rustc_target::abi::{Abi, Align, Primitive, Size};
+
+ use super::{
+ util::ensure_monomorphic_enough, CheckInAllocMsg, ImmTy, InterpCx, Machine, OpTy, PlaceTy,
+@@ -413,35 +413,33 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
+ ),
+ )?;
+ }
+- if intrinsic_name == sym::assert_zero_valid
+- && !layout.might_permit_raw_init(
+- self,
+- InitKind::Zero,
+- self.tcx.sess.opts.unstable_opts.strict_init_checks,
+- )
+- {
+- M::abort(
+- self,
+- format!(
+- "aborted execution: attempted to zero-initialize type `{}`, which is invalid",
+- ty
+- ),
+- )?;
++
++ if intrinsic_name == sym::assert_zero_valid {
++ let should_panic = !self.tcx.permits_zero_init(layout);
++
++ if should_panic {
++ M::abort(
++ self,
++ format!(
++ "aborted execution: attempted to zero-initialize type `{}`, which is invalid",
++ ty
++ ),
++ )?;
++ }
+ }
+- if intrinsic_name == sym::assert_uninit_valid
+- && !layout.might_permit_raw_init(
+- self,
+- InitKind::Uninit,
+- self.tcx.sess.opts.unstable_opts.strict_init_checks,
+- )
+- {
+- M::abort(
+- self,
+- format!(
+- "aborted execution: attempted to leave type `{}` uninitialized, which is invalid",
+- ty
+- ),
+- )?;
++
++ if intrinsic_name == sym::assert_uninit_valid {
++ let should_panic = !self.tcx.permits_uninit_init(layout);
++
++ if should_panic {
++ M::abort(
++ self,
++ format!(
++ "aborted execution: attempted to leave type `{}` uninitialized, which is invalid",
++ ty
++ ),
++ )?;
++ }
+ }
+ }
+ sym::simd_insert => {
+diff --git a/compiler/rustc_const_eval/src/lib.rs b/compiler/rustc_const_eval/src/lib.rs
+index d65d4f7eb720e..72ac6af685dc4 100644
+--- a/compiler/rustc_const_eval/src/lib.rs
++++ b/compiler/rustc_const_eval/src/lib.rs
+@@ -33,11 +33,13 @@ extern crate rustc_middle;
+ pub mod const_eval;
+ mod errors;
+ pub mod interpret;
++mod might_permit_raw_init;
+ pub mod transform;
+ pub mod util;
+
+ use rustc_middle::ty;
+ use rustc_middle::ty::query::Providers;
++use rustc_target::abi::InitKind;
+
+ pub fn provide(providers: &mut Providers) {
+ const_eval::provide(providers);
+@@ -59,4 +61,8 @@ pub fn provide(providers: &mut Providers) {
+ let (param_env, value) = param_env_and_value.into_parts();
+ const_eval::deref_mir_constant(tcx, param_env, value)
+ };
++ providers.permits_uninit_init =
++ |tcx, ty| might_permit_raw_init::might_permit_raw_init(tcx, ty, InitKind::Uninit);
++ providers.permits_zero_init =
++ |tcx, ty| might_permit_raw_init::might_permit_raw_init(tcx, ty, InitKind::Zero);
+ }
+diff --git a/compiler/rustc_const_eval/src/might_permit_raw_init.rs b/compiler/rustc_const_eval/src/might_permit_raw_init.rs
+new file mode 100644
+index 0000000000000..f971c2238c7bb
+--- /dev/null
++++ b/compiler/rustc_const_eval/src/might_permit_raw_init.rs
+@@ -0,0 +1,40 @@
++use crate::const_eval::CompileTimeInterpreter;
++use crate::interpret::{InterpCx, MemoryKind, OpTy};
++use rustc_middle::ty::layout::LayoutCx;
++use rustc_middle::ty::{layout::TyAndLayout, ParamEnv, TyCtxt};
++use rustc_session::Limit;
++use rustc_target::abi::InitKind;
++
++pub fn might_permit_raw_init<'tcx>(
++ tcx: TyCtxt<'tcx>,
++ ty: TyAndLayout<'tcx>,
++ kind: InitKind,
++) -> bool {
++ let strict = tcx.sess.opts.unstable_opts.strict_init_checks;
++
++ if strict {
++ let machine = CompileTimeInterpreter::new(Limit::new(0), false);
++
++ let mut cx = InterpCx::new(tcx, rustc_span::DUMMY_SP, ParamEnv::reveal_all(), machine);
++
++ let allocated = cx
++ .allocate(ty, MemoryKind::Machine(crate::const_eval::MemoryKind::Heap))
++ .expect("OOM: failed to allocate for uninit check");
++
++ if kind == InitKind::Zero {
++ cx.write_bytes_ptr(
++ allocated.ptr,
++ std::iter::repeat(0_u8).take(ty.layout.size().bytes_usize()),
++ )
++ .expect("failed to write bytes for zero valid check");
++ }
++
++ let ot: OpTy<'_, _> = allocated.into();
++
++ // Assume that if it failed, it's a validation failure.
++ cx.validate_operand(&ot).is_ok()
++ } else {
++ let layout_cx = LayoutCx { tcx, param_env: ParamEnv::reveal_all() };
++ ty.might_permit_raw_init(&layout_cx, kind)
++ }
++}
+diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs
+index bdae7e5fcd6b1..0581ef41f66c2 100644
+--- a/compiler/rustc_middle/src/query/mod.rs
++++ b/compiler/rustc_middle/src/query/mod.rs
+@@ -2053,4 +2053,12 @@ rustc_queries! {
+ desc { |tcx| "looking up generator diagnostic data of `{}`", tcx.def_path_str(key) }
+ separate_provide_extern
+ }
++
++ query permits_uninit_init(key: TyAndLayout<'tcx>) -> bool {
++ desc { "checking to see if {:?} permits being left uninit", key.ty }
++ }
++
++ query permits_zero_init(key: TyAndLayout<'tcx>) -> bool {
++ desc { "checking to see if {:?} permits being left zeroed", key.ty }
++ }
+ }
+diff --git a/compiler/rustc_middle/src/ty/query.rs b/compiler/rustc_middle/src/ty/query.rs
+index 3d662ed5de4ba..2452bcf6a61b8 100644
+--- a/compiler/rustc_middle/src/ty/query.rs
++++ b/compiler/rustc_middle/src/ty/query.rs
+@@ -28,6 +28,7 @@ use crate::traits::query::{
+ use crate::traits::specialization_graph;
+ use crate::traits::{self, ImplSource};
+ use crate::ty::fast_reject::SimplifiedType;
++use crate::ty::layout::TyAndLayout;
+ use crate::ty::subst::{GenericArg, SubstsRef};
+ use crate::ty::util::AlwaysRequiresDrop;
+ use crate::ty::GeneratorDiagnosticData;
+diff --git a/compiler/rustc_query_impl/src/keys.rs b/compiler/rustc_query_impl/src/keys.rs
+index 6fbafeb1d32b3..5477431431374 100644
+--- a/compiler/rustc_query_impl/src/keys.rs
++++ b/compiler/rustc_query_impl/src/keys.rs
+@@ -6,7 +6,7 @@ use rustc_middle::mir;
+ use rustc_middle::traits;
+ use rustc_middle::ty::fast_reject::SimplifiedType;
+ use rustc_middle::ty::subst::{GenericArg, SubstsRef};
+-use rustc_middle::ty::{self, Ty, TyCtxt};
++use rustc_middle::ty::{self, layout::TyAndLayout, Ty, TyCtxt};
+ use rustc_span::symbol::{Ident, Symbol};
+ use rustc_span::{Span, DUMMY_SP};
+
+@@ -385,6 +385,16 @@ impl<'tcx> Key for Ty<'tcx> {
+ }
+ }
+
++impl<'tcx> Key for TyAndLayout<'tcx> {
++ #[inline(always)]
++ fn query_crate_is_local(&self) -> bool {
++ true
++ }
++ fn default_span(&self, _: TyCtxt<'_>) -> Span {
++ DUMMY_SP
++ }
++}
++
+ impl<'tcx> Key for (Ty<'tcx>, Ty<'tcx>) {
+ #[inline(always)]
+ fn query_crate_is_local(&self) -> bool {
+diff --git a/compiler/rustc_target/src/abi/mod.rs b/compiler/rustc_target/src/abi/mod.rs
+index d1eafd6ac5fb8..6f4d073d70486 100644
+--- a/compiler/rustc_target/src/abi/mod.rs
++++ b/compiler/rustc_target/src/abi/mod.rs
+@@ -1372,7 +1372,7 @@ pub struct PointeeInfo {
+
+ /// Used in `might_permit_raw_init` to indicate the kind of initialisation
+ /// that is checked to be valid
+-#[derive(Copy, Clone, Debug)]
++#[derive(Copy, Clone, Debug, PartialEq, Eq)]
+ pub enum InitKind {
+ Zero,
+ Uninit,
+@@ -1487,14 +1487,18 @@ impl<'a, Ty> TyAndLayout<'a, Ty> {
+ ///
+ /// `init_kind` indicates if the memory is zero-initialized or left uninitialized.
+ ///
+- /// `strict` is an opt-in debugging flag added in #97323 that enables more checks.
++ /// This code is intentionally conservative, and will not detect
++ /// * zero init of an enum whose 0 variant does not allow zero initialization
++ /// * making uninitialized types who have a full valid range (ints, floats, raw pointers)
++ /// * Any form of invalid value being made inside an array (unless the value is uninhabited)
+ ///
+- /// This is conservative: in doubt, it will answer `true`.
++ /// A strict form of these checks that uses const evaluation exists in
++ /// `rustc_const_eval::might_permit_raw_init`, and a tracking issue for making these checks
++ /// stricter is <https://github.com/rust-lang/rust/issues/66151>.
+ ///
+- /// FIXME: Once we removed all the conservatism, we could alternatively
+- /// create an all-0/all-undef constant and run the const value validator to see if
+- /// this is a valid value for the given type.
+- pub fn might_permit_raw_init<C>(self, cx: &C, init_kind: InitKind, strict: bool) -> bool
++ /// FIXME: Once all the conservatism is removed from here, and the checks are ran by default,
++ /// we can use the const evaluation checks always instead.
++ pub fn might_permit_raw_init<C>(self, cx: &C, init_kind: InitKind) -> bool
+ where
+ Self: Copy,
+ Ty: TyAbiInterface<'a, C>,
+@@ -1507,13 +1511,8 @@ impl<'a, Ty> TyAndLayout<'a, Ty> {
+ s.valid_range(cx).contains(0)
+ }
+ InitKind::Uninit => {
+- if strict {
+- // The type must be allowed to be uninit (which means "is a union").
+- s.is_uninit_valid()
+- } else {
+- // The range must include all values.
+- s.is_always_valid(cx)
+- }
++ // The range must include all values.
++ s.is_always_valid(cx)
+ }
+ }
+ };
+@@ -1534,19 +1533,12 @@ impl<'a, Ty> TyAndLayout<'a, Ty> {
+ // If we have not found an error yet, we need to recursively descend into fields.
+ match &self.fields {
+ FieldsShape::Primitive | FieldsShape::Union { .. } => {}
+- FieldsShape::Array { count, .. } => {
++ FieldsShape::Array { .. } => {
+ // FIXME(#66151): For now, we are conservative and do not check arrays by default.
+- if strict
+- && *count > 0
+- && !self.field(cx, 0).might_permit_raw_init(cx, init_kind, strict)
+- {
+- // Found non empty array with a type that is unhappy about this kind of initialization
+- return false;
+- }
+ }
+ FieldsShape::Arbitrary { offsets, .. } => {
+ for idx in 0..offsets.len() {
+- if !self.field(cx, idx).might_permit_raw_init(cx, init_kind, strict) {
++ if !self.field(cx, idx).might_permit_raw_init(cx, init_kind) {
+ // We found a field that is unhappy with this kind of initialization.
+ return false;
+ }
+diff --git a/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs b/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs
+index 3ffd35ecdb8da..255151a96032c 100644
+--- a/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs
++++ b/src/test/ui/intrinsics/panic-uninitialized-zeroed.rs
+@@ -57,6 +57,13 @@ enum LR_NonZero {
+
+ struct ZeroSized;
+
++#[allow(dead_code)]
++#[repr(i32)]
++enum ZeroIsValid {
++ Zero(u8) = 0,
++ One(NonNull<()>) = 1,
++}
++
+ fn test_panic_msg<T>(op: impl (FnOnce() -> T) + panic::UnwindSafe, msg: &str) {
+ let err = panic::catch_unwind(op).err();
+ assert_eq!(
+@@ -152,33 +159,12 @@ fn main() {
+ "attempted to zero-initialize type `*const dyn core::marker::Send`, which is invalid"
+ );
+
+- /* FIXME(#66151) we conservatively do not error here yet.
+- test_panic_msg(
+- || mem::uninitialized::<LR_NonZero>(),
+- "attempted to leave type `LR_NonZero` uninitialized, which is invalid"
+- );
+- test_panic_msg(
+- || mem::zeroed::<LR_NonZero>(),
+- "attempted to zero-initialize type `LR_NonZero`, which is invalid"
+- );
+-
+- test_panic_msg(
+- || mem::uninitialized::<ManuallyDrop<LR_NonZero>>(),
+- "attempted to leave type `std::mem::ManuallyDrop<LR_NonZero>` uninitialized, \
+- which is invalid"
+- );
+- test_panic_msg(
+- || mem::zeroed::<ManuallyDrop<LR_NonZero>>(),
+- "attempted to zero-initialize type `std::mem::ManuallyDrop<LR_NonZero>`, \
+- which is invalid"
+- );
+- */
+-
+ test_panic_msg(
+ || mem::uninitialized::<(NonNull<u32>, u32, u32)>(),
+ "attempted to leave type `(core::ptr::non_null::NonNull<u32>, u32, u32)` uninitialized, \
+ which is invalid"
+ );
++
+ test_panic_msg(
+ || mem::zeroed::<(NonNull<u32>, u32, u32)>(),
+ "attempted to zero-initialize type `(core::ptr::non_null::NonNull<u32>, u32, u32)`, \
+@@ -196,11 +182,23 @@ fn main() {
+ which is invalid"
+ );
+
++ test_panic_msg(
++ || mem::uninitialized::<LR_NonZero>(),
++ "attempted to leave type `LR_NonZero` uninitialized, which is invalid"
++ );
++
++ test_panic_msg(
++ || mem::uninitialized::<ManuallyDrop<LR_NonZero>>(),
++ "attempted to leave type `core::mem::manually_drop::ManuallyDrop<LR_NonZero>` uninitialized, \
++ which is invalid"
++ );
++
+ test_panic_msg(
+ || mem::uninitialized::<NoNullVariant>(),
+ "attempted to leave type `NoNullVariant` uninitialized, \
+ which is invalid"
+ );
++
+ test_panic_msg(
+ || mem::zeroed::<NoNullVariant>(),
+ "attempted to zero-initialize type `NoNullVariant`, \
+@@ -212,10 +210,12 @@ fn main() {
+ || mem::uninitialized::<bool>(),
+ "attempted to leave type `bool` uninitialized, which is invalid"
+ );
++
+ test_panic_msg(
+ || mem::uninitialized::<LR>(),
+ "attempted to leave type `LR` uninitialized, which is invalid"
+ );
++
+ test_panic_msg(
+ || mem::uninitialized::<ManuallyDrop<LR>>(),
+ "attempted to leave type `core::mem::manually_drop::ManuallyDrop<LR>` uninitialized, which is invalid"
+@@ -229,6 +229,7 @@ fn main() {
+ let _val = mem::zeroed::<Option<&'static i32>>();
+ let _val = mem::zeroed::<MaybeUninit<NonNull<u32>>>();
+ let _val = mem::zeroed::<[!; 0]>();
++ let _val = mem::zeroed::<ZeroIsValid>();
+ let _val = mem::uninitialized::<MaybeUninit<bool>>();
+ let _val = mem::uninitialized::<[!; 0]>();
+ let _val = mem::uninitialized::<()>();
+@@ -259,12 +260,33 @@ fn main() {
+ || mem::zeroed::<[NonNull<()>; 1]>(),
+ "attempted to zero-initialize type `[core::ptr::non_null::NonNull<()>; 1]`, which is invalid"
+ );
++
++ // FIXME(#66151) we conservatively do not error here yet (by default).
++ test_panic_msg(
++ || mem::zeroed::<LR_NonZero>(),
++ "attempted to zero-initialize type `LR_NonZero`, which is invalid"
++ );
++
++ test_panic_msg(
++ || mem::zeroed::<ManuallyDrop<LR_NonZero>>(),
++ "attempted to zero-initialize type `core::mem::manually_drop::ManuallyDrop<LR_NonZero>`, \
++ which is invalid"
++ );
+ } else {
+ // These are UB because they have not been officially blessed, but we await the resolution
+ // of <https://github.com/rust-lang/unsafe-code-guidelines/issues/71> before doing
+ // anything about that.
+ let _val = mem::uninitialized::<i32>();
+ let _val = mem::uninitialized::<*const ()>();
++
++ // These are UB, but best to test them to ensure we don't become unintentionally
++ // stricter.
++
++ // It's currently unchecked to create invalid enums and values inside arrays.
++ let _val = mem::zeroed::<LR_NonZero>();
++ let _val = mem::zeroed::<[LR_NonZero; 1]>();
++ let _val = mem::zeroed::<[NonNull<()>; 1]>();
++ let _val = mem::uninitialized::<[NonNull<()>; 1]>();
+ }
+ }
+ }
diff --git a/gnu/packages/patches/sbcl-fix-build-on-arm64-with-clisp-as-host.patch b/gnu/packages/patches/sbcl-fix-build-on-arm64-with-clisp-as-host.patch
deleted file mode 100644
index 4fe3ed16db..0000000000
--- a/gnu/packages/patches/sbcl-fix-build-on-arm64-with-clisp-as-host.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 944f53fb00794f4bc96700dd14df1e88b6cd5623 Mon Sep 17 00:00:00 2001
-From: Christophe Rhodes <csr21@cantab.net>
-Date: Thu, 17 Nov 2022 22:29:26 +0000
-Subject: [PATCH] Fix build on arm64 with clisp as host
-
-Make sure the offset constants are defined while compiling vm.lisp.
----
- src/compiler/arm64/vm.lisp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/compiler/arm64/vm.lisp b/src/compiler/arm64/vm.lisp
-index ae6d7c7fa..2a151be58 100644
---- a/src/compiler/arm64/vm.lisp
-+++ b/src/compiler/arm64/vm.lisp
-@@ -23,7 +23,8 @@
- (macrolet ((defreg (name offset)
- (let ((offset-sym (symbolicate name "-OFFSET")))
- `(progn
-- (defconstant ,offset-sym ,offset)
-+ (eval-when (:compile-toplevel :load-toplevel :execute)
-+ (defconstant ,offset-sym ,offset))
- (setf (svref *register-names* ,offset-sym) ,(symbol-name name)))))
-
- (defregset (name &rest regs)
---
-2.30.2
-
diff --git a/gnu/packages/patches/sssd-optional-systemd.patch b/gnu/packages/patches/sssd-optional-systemd.patch
deleted file mode 100644
index e6d74e79fa..0000000000
--- a/gnu/packages/patches/sssd-optional-systemd.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Allow running sss_analyze without Python modules for systemd.
-Upstream PR: https://github.com/SSSD/sssd/pull/6125
-
-diff --git a/src/tools/analyzer/modules/request.py b/src/tools/analyzer/modules/request.py
-index b9fe3caf8..51ec3a151 100644
---- a/src/tools/analyzer/modules/request.py
-+++ b/src/tools/analyzer/modules/request.py
-@@ -1,8 +1,6 @@
- import re
- import logging
-
--from sssd.source_files import Files
--from sssd.source_journald import Journald
- from sssd.parser import SubparsersAction
- from sssd.parser import Option
-
-@@ -76,8 +74,10 @@ class RequestAnalyzer:
- Instantiated source object
- """
- if args.source == "journald":
-+ from sssd.source_journald import Journald
- source = Journald()
- else:
-+ from sssd.source_files import Files
- source = Files(args.logdir)
- return source
-
-@@ -142,7 +142,7 @@ class RequestAnalyzer:
- self.consumed_logs.append(line.rstrip(line[-1]))
- else:
- # files source includes newline
-- if isinstance(source, Files):
-+ if type(source).__name__ == 'Files':
- print(line, end='')
- else:
- print(line)
-@@ -240,7 +240,7 @@ class RequestAnalyzer:
- self.print_formatted_verbose(source, patterns)
- else:
- for line in self.matched_line(source, patterns):
-- if isinstance(source, Journald):
-+ if type(source).__name__ == 'Journald':
- print(line)
- else:
- self.print_formatted(line)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 749902271b..486abf1c13 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
+;;; Copyright © 2022 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2439,6 +2440,34 @@ parsed examples as part of your normal test run. Integration is
provided for the main Python test runners.")
(license license:expat)))
+(define-public python-pytest-parawtf
+ (package
+ (name "python-pytest-parawtf")
+ (version "1.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-parawtf" version))
+ (sha256
+ (base32
+ "08s86hy58lvrd90cnayzydvac4slaflj0ph9yknakcc42anrm023"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; https://github.com/flub/pytest-parawtf/issues/1
+ (invoke "pytest" "-k" "not test_mark")))))))
+ (propagated-inputs (list python-pytest))
+ (home-page "https://github.com/flub/pytest-parawtf/")
+ (synopsis "Finally spell paramete?ri[sz]e correctly")
+ (description
+"@code{python-pytest} uses one of four different spellings of
+parametrize. This plugin allows you to use all four.")
+ (license license:expat)))
+
(define-public python-pytest-httpx
(package
(name "python-pytest-httpx")
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 52fe1460bb..ba99b57bcb 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -693,14 +693,14 @@ and visualization with these data structures.")
(define-public python-msgpack-numpy
(package
(name "python-msgpack-numpy")
- (version "0.4.6.post0")
+ (version "0.4.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "msgpack-numpy" version))
(sha256
(base32
- "0syzy645mwcy7lfjwz6pc8f9p2vv1qk4limc8iina3l5nnf0rjyz"))))
+ "0sbfanbkfs6c77np4vz0ayrwnv99bpn5xgj5fnf2yhhk0lcd6ry6"))))
(build-system python-build-system)
(propagated-inputs
(list python-msgpack python-numpy))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 87963f9f19..40c3f9c99c 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -131,6 +131,7 @@
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
;;; Copyright © 2022 Baptiste Strazzulla <bstrazzull@hotmail.fr>
+;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -159,9 +160,11 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages digest)
#:use-module (gnu packages django)
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
@@ -4634,6 +4637,73 @@ accessible for novices, as well as a scripting interface offering the full
flexibility and power of the Python language.")
(license license:gpl3+)))
+(define-public python-dm-tree
+ (package
+ (name "python-dm-tree")
+ (version "0.1.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "dm-tree" version))
+ (sha256
+ (base32 "0apxfxgmqh22qpk92zmmf3acqkavhwxz78lnwz026a5rlnncizih"))))
+ (build-system python-build-system)
+ (inputs (list pybind11 abseil-cpp python))
+ (propagated-inputs (list python-wheel
+ python-absl-py
+ python-attrs
+ python-numpy
+ python-wrapt))
+ (arguments
+ (list #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'build-shared-lib
+ (lambda _
+ (let* ((pybind11 #$(this-package-input "pybind11"))
+ (python #$(this-package-input "python"))
+ (version (python-version python))
+ (abseil-cpp #$(this-package-input "abseil-cpp")))
+ ;; Delete default cmake build.
+ (substitute* "setup.py"
+ (("ext_modules.*") "")
+ (("cmdclass.*") ""))
+ ;; Actual build phase.
+ (mkdir-p "build/temp/tree/")
+ (invoke
+ "gcc" "-pthread" "-Wno-unused-result" "-Wsign-compare"
+ "-DNDEBUG" "-g" "-fwrapv" "-O3" "-Wall"
+ "-fno-semantic-interposition" "-fPIC"
+ "-I" (string-append pybind11
+ "/lib/python" version
+ "/site-packages/pybind11/include")
+ "-I" (string-append python "/include/python"
+ version)
+ "-I" (string-append abseil-cpp "/include")
+ "-c" "tree/tree.cc"
+ "-o" "build/temp/tree/tree.o"
+ "-fvisibility=hidden" "-g0")
+ (mkdir-p "build/lib/tree")
+ (invoke
+ "g++" "-pthread" "-shared"
+ (string-append "-Wl," "-rpath=" python "/lib")
+ "-fno-semantic-interposition"
+ "build/temp/tree/tree.o"
+ "-L" (string-append python "/lib")
+ "-L" (string-append abseil-cpp "/lib")
+ "-l" "absl_int128"
+ "-l" "absl_raw_hash_set"
+ "-l" "absl_raw_logging_internal"
+ "-l" "absl_strings"
+ "-l" "absl_throw_delegate"
+ "-o" "build/lib/tree/_tree.so")))))))
+ (home-page "https://github.com/deepmind/tree")
+ (synopsis "Work with nested data structures in Python")
+ (description "Tree is a python library for working with nested data
+structures. In a way, @code{tree} generalizes the builtin @code{map} function
+which only supports flat sequences, and allows you to apply a function to each
+leaf preserving the overall structure.")
+ (license license:asl2.0)))
+
(define-public python-docutils
(package
(name "python-docutils")
@@ -22364,6 +22434,25 @@ working with iterables.")
(description "Lexer and codec to work with LaTeX code in Python.")
(license license:expat)))
+(define-public python-pybloom-live
+ (package
+ (name "python-pybloom-live")
+ (version "4.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pybloom_live" version))
+ (sha256
+ (base32
+ "040i6bjqvl33j30v865shsk30s3h7f16pqwiaj5kig857dfmqm4r"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-bitarray python-xxhash))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/joseph-fox/python-bloomfilter")
+ (synopsis "Bloom filter")
+ (description "This package provides a scalable Bloom filter implemented in
+Python.")
+ (license license:expat)))
+
(define-public python-pybtex
(package
(name "python-pybtex")
@@ -23082,6 +23171,32 @@ environments.")
"PyNamecheap is a Namecheap API client in Python.")
(license license:expat)))
+(define-public python-pynixutil
+ (package
+ (name "python-pynixutil")
+ (version "0.5.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nix-community/pynixutil")
+ (commit version)))
+ (file-name (git-file-name name version))
+ ;; Derivation test uses nix.
+ (modules '((guix build utils)))
+ (snippet '(delete-file "tests/test_drv.py"))
+ (sha256
+ (base32
+ "1lnspcai7mqpv73bbd8kgyw63fxwgkwvfkl09b2bl5y2g2v7np6m"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list poetry python-pytest))
+ (home-page "https://github.com/nix-community/pynixutil")
+ (synopsis "Utility functions for working with data from Nix in Python")
+ (description
+ "@code{pynixutil} provides functions for base32 encoding/decoding and
+derivation parsing, namingly @code{b32decode()}, @code{b32encode()} and
+@code{drvparse()}.")
+ (license license:expat)))
+
(define-public python-dns-lexicon
(package
(name "python-dns-lexicon")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a0ced6451b..0f5e1c3530 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2018, 2020, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
@@ -2280,6 +2280,61 @@ using the Enchant spell-checking library.")
;; COPYING file specify GPL3, but source code files all refer to GPL2+.
(license license:gpl2+)))
+(define remove-third-party-files
+ #~(begin
+ (define preserved-club
+ ;; Prefix exceptions with ./ for comparison with ftw.
+ (map (cut string-append "./" <>)
+ preserved-third-party-files))
+ (define protected (make-regexp "\\.(gn|gyp)i?$"))
+ (define (empty? dir)
+ (equal? (scandir dir) '("." "..")))
+ (define (third-party? file)
+ (string-contains file "/third_party/"))
+ (define (useless? file)
+ (any (cute string-suffix? <> file)
+ '(".zip" ".so" ".dll" ".exe" ".jar")))
+ (define (parents child)
+ ;; Return all parent directories of CHILD up to and including
+ ;; the closest "third_party".
+ (let loop ((parent (dirname child))
+ (parents '()))
+ (if (string=? "third_party" (basename parent))
+ (cons parent parents)
+ (loop (dirname parent)
+ (cons parent parents)))))
+ (define (remove-loudly file)
+ (format #t "deleting ~a...~%" file)
+ (force-output)
+ (delete-file file))
+ (define (delete-unwanted-files child stat flag base level)
+ (match flag
+ ((or 'regular 'symlink 'stale-symlink)
+ (when (third-party? child)
+ (unless (or (member child preserved-club)
+ (any (cute member <> preserved-club)
+ (parents child))
+ (regexp-exec protected child))
+ (remove-loudly child)))
+ (when (and (useless? child) (file-exists? child))
+ (remove-loudly child))
+ #t)
+ ('directory-processed
+ (when (empty? child)
+ (rmdir child))
+ #t)
+ (_ #t)))
+
+ (nftw "." delete-unwanted-files 'depth 'physical)
+
+ ;; Assert that each preserved item is present to catch
+ ;; removals.
+ (for-each (lambda (third-party)
+ (unless (file-exists? third-party)
+ (error (format #f "~s does not exist!~%"
+ third-party))))
+ preserved-club)))
+
(define-public qtwebengine-5
(package
(inherit qtsvg-5)
@@ -2298,7 +2353,7 @@ using the Enchant spell-checking library.")
(srfi srfi-26)
(guix build utils)))
(snippet
- '(begin
+ #~(begin
(let ((preserved-third-party-files
'("base/third_party/double_conversion"
"base/third_party/cityhash"
@@ -2434,54 +2489,7 @@ using the Enchant spell-checking library.")
"v8/src/third_party/valgrind"
"v8/src/third_party/siphash"
"v8/third_party/v8/builtins"
- "v8/third_party/inspector_protocol"))
- (protected (make-regexp "\\.(gn|gyp)i?$")))
- (define preserved-club
- (map (lambda (member)
- (string-append "./" member))
- preserved-third-party-files))
- (define (empty? dir)
- (equal? (scandir dir) '("." "..")))
- (define (third-party? file)
- (string-contains file "third_party/"))
- (define (useless? file)
- (any (cute string-suffix? <> file)
- '(".zip" ".so" ".dll" ".exe" ".jar")))
- (define (parents child)
- ;; Return all parent directories of CHILD up to and including
- ;; the closest "third_party".
- (let* ((dirs (match (string-split child #\/)
- ((dirs ... last) dirs)))
- (closest (list-index (lambda (dir)
- (string=? "third_party" dir))
- (reverse dirs)))
- (delim (- (length dirs) closest)))
- (fold (lambda (dir prev)
- (cons (string-append (car prev) "/" dir)
- prev))
- (list (string-join (list-head dirs delim) "/"))
- (list-tail dirs delim))))
- (define (remove-loudly file)
- (format #t "deleting ~a...~%" file)
- (force-output)
- (delete-file file))
- (define (delete-unwanted-files child stat flag base level)
- (match flag
- ((or 'regular 'symlink 'stale-symlink)
- (when (third-party? child)
- (unless (or (member child preserved-club)
- (any (cute member <> preserved-club)
- (parents child))
- (regexp-exec protected child))
- (remove-loudly child)))
- (when (and (useless? child) (file-exists? child))
- (remove-loudly child))
- #t)
- ('directory-processed
- (when (empty? child)
- (rmdir child))
- #t)
- (_ #t)))
+ "v8/third_party/inspector_protocol")))
(with-directory-excursion "src/3rdparty"
;; TODO: Try removing "gn" too for future versions of qtwebengine-5.
@@ -2490,13 +2498,7 @@ using the Enchant spell-checking library.")
(with-directory-excursion "chromium"
;; Delete bundled software and binaries that were not explicitly
;; preserved above.
- (nftw "." delete-unwanted-files 'depth 'physical)
-
- ;; Assert that each preserved item is present to catch removals.
- (for-each (lambda (third-party)
- (unless (file-exists? third-party)
- (error (format #f "~s does not exist!~%" third-party))))
- preserved-club)
+ #$remove-third-party-files
;; Use relative header locations instead of hard coded ones.
(substitute*
@@ -2676,7 +2678,7 @@ and binaries removed, and adds modular support for using system libraries.")
(srfi srfi-26)
(guix build utils)))
(snippet
- '(begin
+ #~(begin
(let ((preserved-third-party-files
'("base/third_party/double_conversion"
"base/third_party/cityhash"
@@ -2698,12 +2700,25 @@ and binaries removed, and adds modular support for using system libraries.")
"third_party/angle/src/common/third_party/base"
"third_party/angle/src/common/third_party/smhasher"
"third_party/angle/src/common/third_party/xxhash"
+ "third_party/angle/src/third_party/trace_event"
+ "third_party/angle/src/third_party/volk"
"third_party/axe-core"
"third_party/blink"
"third_party/boringssl"
"third_party/boringssl/src/third_party/fiat"
"third_party/breakpad"
"third_party/brotli"
+ "third_party/catapult"
+ "third_party/catapult/common/py_vulcanize/third_party/rcssmin"
+ "third_party/catapult/common/py_vulcanize/third_party/rjsmin"
+ "third_party/catapult/third_party/polymer"
+ "third_party/catapult/tracing/third_party/d3/d3.min.js"
+ "third_party/catapult/tracing/third_party/gl-matrix/dist/gl-matrix-min.js"
+ "third_party/catapult/tracing/third_party/jpeg-js/jpeg-js-decoder.js"
+ "third_party/catapult/tracing/third_party/jszip/jszip.min.js"
+ "third_party/catapult/tracing/third_party/mannwhitneyu/mannwhitneyu.js"
+ "third_party/catapult/tracing/third_party/oboe/dist"
+ "third_party/catapult/tracing/third_party/pako/pako.min.js"
"third_party/ced"
"third_party/cld_3"
"third_party/closure_compiler"
@@ -2713,13 +2728,28 @@ and binaries removed, and adds modular support for using system libraries.")
"third_party/crc32c"
"third_party/dav1d"
"third_party/dawn"
+ "third_party/dawn/third_party/tint"
"third_party/devtools-frontend"
+ "third_party/devtools-frontend/src/front_end/third_party/i18n"
+ "third_party/devtools-frontend/src/front_end/third_party/acorn"
+ "third_party/devtools-frontend/src/front_end/third_party/acorn-loose"
+ "third_party/devtools-frontend/src/front_end/third_party/axe-core"
+ "third_party/devtools-frontend/src/front_end/third_party/chromium"
+ "third_party/devtools-frontend/src/front_end/third_party/codemirror"
+ "third_party/devtools-frontend/src/front_end/third_party/diff"
+ "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat"
"third_party/devtools-frontend/src/front_end/third_party/lighthouse"
+ "third_party/devtools-frontend/src/front_end/third_party/lit-html"
+ "third_party/devtools-frontend/src/front_end/third_party/marked"
"third_party/devtools-frontend/src/front_end/third_party/wasmparser"
+ "third_party/devtools-frontend/src/third_party/typescript"
"third_party/emoji-segmenter"
+ "third_party/fdlibm"
"third_party/ffmpeg"
+ "third_party/freetype"
"third_party/googletest"
- "third_party/harfbuzz-ng/utils"
+ "third_party/harfbuzz-ng"
+ "third_party/highway"
"third_party/hunspell"
"third_party/iccjpeg"
"third_party/icu"
@@ -2730,19 +2760,30 @@ and binaries removed, and adds modular support for using system libraries.")
"third_party/khronos"
"third_party/leveldatabase"
"third_party/libaddressinput"
+ "third_party/libaom"
+ "third_party/libaom/source/libaom/third_party/fastfeat"
+ "third_party/libaom/source/libaom/third_party/vector"
+ "third_party/libaom/source/libaom/third_party/x86inc"
+ "third_party/libavif"
+ "third_party/libgav1"
"third_party/libgifcodec"
"third_party/libjingle_xmpp"
"third_party/libjpeg_turbo"
+ "third_party/libjxl"
"third_party/libpng"
"third_party/libsrtp"
"third_party/libsync"
"third_party/libudev"
+ "third_party/liburlpattern"
"third_party/libvpx"
"third_party/libwebm"
"third_party/libwebp"
+ "third_party/libx11"
+ "third_party/libxcb-keysyms"
"third_party/libxml"
"third_party/libxslt"
"third_party/libyuv"
+ "third_party/lottie"
"third_party/lss"
"third_party/mako"
"third_party/markupsafe"
@@ -2750,18 +2791,23 @@ and binaries removed, and adds modular support for using system libraries.")
"third_party/metrics_proto"
"third_party/modp_b64"
"third_party/nasm"
+ "third_party/node"
"third_party/one_euro_filter"
- "third_party/openh264/src/codec/api/svc"
+ "third_party/openh264"
"third_party/opus"
"third_party/ots"
"third_party/pdfium"
"third_party/pdfium/third_party/agg23"
"third_party/pdfium/third_party/base"
+ "third_party/pdfium/third_party/bigint"
"third_party/pdfium/third_party/freetype"
"third_party/pdfium/third_party/lcms"
"third_party/pdfium/third_party/libopenjpeg20"
+ "third_party/pdfium/third_party/libpng16"
+ "third_party/pdfium/third_party/libtiff"
"third_party/pdfium/third_party/skia_shared"
"third_party/perfetto"
+ "third_party/perfetto/protos/third_party/chromium"
"third_party/pffft"
"third_party/ply"
"third_party/polymer"
@@ -2777,9 +2823,18 @@ and binaries removed, and adds modular support for using system libraries.")
"third_party/skia/third_party/vulkanmemoryallocator"
"third_party/smhasher"
"third_party/snappy"
+ "third_party/speech-dispatcher"
"third_party/sqlite"
"third_party/usb_ids"
"third_party/usrsctp"
+ "third_party/vulkan-deps/glslang"
+ "third_party/vulkan-deps/spirv-headers"
+ "third_party/vulkan-deps/spirv-tools"
+ "third_party/vulkan-deps/vulkan-headers"
+ "third_party/vulkan-deps/vulkan-loader"
+ "third_party/vulkan-deps/vulkan-tools"
+ "third_party/vulkan-deps/vulkan-validation-layers"
+ "third_party/vulkan_memory_allocator"
"third_party/web-animations-js"
"third_party/webrtc"
"third_party/webrtc/common_audio/third_party/ooura"
@@ -2793,58 +2848,15 @@ and binaries removed, and adds modular support for using system libraries.")
"third_party/widevine/cdm/widevine_cdm_common.h"
"third_party/widevine/cdm/widevine_cdm_version.h"
"third_party/woff2"
+ "third_party/wuffs"
+ "third_party/x11proto"
"third_party/zlib"
"url/third_party/mozilla"
"v8/src/third_party/utf8-decoder"
"v8/src/third_party/valgrind"
"v8/src/third_party/siphash"
"v8/third_party/v8/builtins"
- "v8/third_party/inspector_protocol"))
- (protected (make-regexp "\\.(gn|gyp)i?$")))
- (define preserved-club
- (map (lambda (member)
- (string-append "./" member))
- preserved-third-party-files))
- (define (empty? dir)
- (equal? (scandir dir) '("." "..")))
- (define (third-party? file)
- (string-contains file "third_party/"))
- (define (useless? file)
- (any (cute string-suffix? <> file)
- '(".zip" ".so" ".dll" ".exe" ".jar")))
- (define (parents child)
- ;; Return all parent directories of CHILD up to and including
- ;; the closest "third_party".
- (let* ((dirs (match (string-split child #\/)
- ((dirs ... last) dirs)))
- (closest (list-index (lambda (dir)
- (string=? "third_party" dir))
- (reverse dirs)))
- (delim (- (length dirs) closest)))
- (fold (lambda (dir prev)
- (cons (string-append (car prev) "/" dir)
- prev))
- (list (string-join (list-head dirs delim) "/"))
- (list-tail dirs delim))))
- (define (remove-loudly file)
- (format #t "deleting ~a...~%" file)
- (force-output)
- (delete-file file))
- (define (delete-unwanted-files child stat flag base level)
- (match flag
- ((or 'regular 'symlink 'stale-symlink)
- (when (third-party? child)
- (unless (or (member child preserved-club)
- (any (cute member <> preserved-club)
- (parents child))
- (regexp-exec protected child))
- (remove-loudly child)))
- (when (and (useless? child) (file-exists? child))
- (remove-loudly child)))
- ('directory-processed
- (when (empty? child)
- (rmdir child)))
- (_ #t)))
+ "v8/third_party/inspector_protocol")))
(with-directory-excursion "src/3rdparty"
(delete-file-recursively "ninja")
@@ -2852,15 +2864,7 @@ and binaries removed, and adds modular support for using system libraries.")
(with-directory-excursion "chromium"
;; Delete bundled software and binaries that were not
;; explicitly preserved above.
- (nftw "." delete-unwanted-files 'depth 'physical)
-
- ;; Assert that each preserved item is present to catch
- ;; removals.
- (for-each (lambda (third-party)
- (unless (file-exists? third-party)
- (error (format #f "~s does not exist!~%"
- third-party))))
- preserved-club)
+ #$remove-third-party-files
;; Use relative header locations instead of hard coded ones.
(substitute*
@@ -2980,6 +2984,7 @@ linux/libcurl_wrapper.h"
(append clang-14
lld-as-ld-wrapper
python-wrapper
+ python-beautifulsoup4
python-html5lib)))
(inputs
(modify-inputs (package-inputs qtwebengine-5)
diff --git a/gnu/packages/raspberry-pi.scm b/gnu/packages/raspberry-pi.scm
index bb38b8b218..21bc9a3bd8 100644
--- a/gnu/packages/raspberry-pi.scm
+++ b/gnu/packages/raspberry-pi.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -17,17 +18,22 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages raspberry-pi)
+ #:use-module (gnu bootloader)
+ #:use-module (gnu bootloader grub)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
+ #:use-module (gnu packages bootloaders)
#:use-module (gnu packages commencement)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages documentation)
+ #:use-module (gnu packages embedded)
#:use-module (gnu packages file)
#:use-module (gnu packages gcc)
- #:use-module (gnu packages embedded)
+ #:use-module (gnu packages linux)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
@@ -40,7 +46,10 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-26)
- #:use-module (ice-9 match))
+ #:use-module (ice-9 match)
+ #:export (make-raspi-bcm28-dtbs
+ raspi-config-file
+ raspi-custom-txt))
(define-public bcm2835
(package
@@ -235,3 +244,126 @@ Raspberry Pi. Note: It does not work on Raspberry Pi 1.")
(install-file "arm64.bin" libexec)
#t))))))))
(supported-systems '("aarch64-linux"))))
+
+(define (raspi-config-file name content)
+ "Make a configuration file like config.txt for the Raspberry Pi firmware.
+CONTENT can be a list of strings, which are concatenated with a newline
+character. Alternatively CONTENT can be a string with the full file content."
+ (plain-file
+ name
+ (if (list? content)
+ (string-join content "\n" 'suffix)
+ content)))
+
+(define-public %raspi-config-txt
+ ;; A config.txt file to start the ARM cores up in 64-bit mode if necessary
+ ;; and to include a dtb.txt, bootloader.txt, and a custom.txt, each with
+ ;; separated configurations for the Raspberry Pi firmware.
+ (raspi-config-file
+ "config.txt"
+ `("# See https://www.raspberrypi.org/documentation/configuration/config-txt/README.md for details."
+ ""
+ ,(string-append "arm_64bit=" (if (target-aarch64?) "1" "0"))
+ "include dtb.txt"
+ "include bootloader.txt"
+ "include custom.txt")))
+
+(define-public %raspi-bcm27-dtb-txt
+ ;; A dtb.txt file to be included by the config.txt to ensure that the
+ ;; downstream device tree files bcm27*.dtb will be used.
+ (raspi-config-file
+ "dtb.txt"
+ "upstream_kernel=0"))
+
+(define-public %raspi-bcm28-dtb-txt
+ ;; A dtb.txt file to be included by the config.txt to ensure that the
+ ;; upstream device tree files bcm28*.dtb will be used.
+ ;; This also implies the use of the dtoverlay=upstream.
+ (raspi-config-file
+ "dtb.txt"
+ "upstream_kernel=1"))
+
+(define-public %raspi-u-boot-bootloader-txt
+ ;; A bootloader.txt file to be included by the config.txt to load the
+ ;; U-Boot bootloader.
+ (raspi-config-file
+ "bootloader.txt"
+ '("dtoverlay=upstream"
+ "enable_uart=1"
+ "kernel=u-boot.bin")))
+
+(define (raspi-custom-txt content)
+ "Make a custom.txt file for the Raspberry Pi firmware.
+CONTENT can be a list of strings, which are concatenated with a newline
+character. Alternatively CONTENT can be a string with the full file content."
+ (raspi-config-file "custom.txt" content))
+
+(define (make-raspi-bcm28-dtbs linux)
+ "Make a package with the device-tree files for Raspberry Pi models from the
+kernel LINUX."
+ (package
+ (inherit linux)
+ (name "raspi-bcm28-dtbs")
+ (source #f)
+ (build-system copy-build-system)
+ (arguments
+ #~(list
+ #:phases #~(modify-phases %standard-phases (delete 'unpack))
+ #:install-plan
+ (list (list (search-input-directory %build-inputs
+ "lib/dtbs/broadcom/")
+ "." #:include-regexp '("/bcm....-rpi.*\\.dtb")))))
+ (inputs (list linux))
+ (synopsis "Device-tree files for a Raspberry Pi")
+ (description
+ (format #f "The device-tree files for Raspberry Pi models from ~a."
+ (package-name linux)))))
+
+(define-public grub-efi-bootloader-chain-raspi-64
+ ;; A bootloader capable to boot a Raspberry Pi over network via TFTP or from
+ ;; a local storage like a micro SD card. It neither installs firmware nor
+ ;; device-tree files for the Raspberry Pi. It just assumes them to be
+ ;; existing in boot/efi in the same way that some UEFI firmware with ACPI
+ ;; data is usually assumed to be existing on PCs. It creates firmware
+ ;; configuration files and a bootloader-chain with U-Boot to provide an EFI
+ ;; API for the final GRUB bootloader. It also serves as a blue-print to
+ ;; create an a custom bootloader-chain with firmware and device-tree
+ ;; packages or files.
+ (efi-bootloader-chain grub-efi-netboot-removable-bootloader
+ #:packages (list u-boot-rpi-arm64-efi-bin)
+ #:files (list %raspi-config-txt
+ %raspi-bcm27-dtb-txt
+ %raspi-u-boot-bootloader-txt)))
+
+(define (make-raspi-defconfig arch defconfig sha256-as-base32)
+ "Make for the architecture ARCH a file-like object from the DEFCONFIG file
+with the hash SHA256-AS-BASE32. This object can be used as the #:defconfig
+argument of the function (modify-linux)."
+ (make-defconfig
+ (string-append
+ ;; This is from commit 7838840 on branch rpi-5.18.y,
+ ;; see https://github.com/raspberrypi/linux/tree/rpi-5.18.y/
+ ;; and https://github.com/raspberrypi/linux/commit/7838840b5606a2051b31da4c598466df7b1c3005
+ "https://raw.githubusercontent.com/raspberrypi/linux/7838840b5606a2051b31da4c598466df7b1c3005/arch/"
+ arch "/configs/" defconfig)
+ sha256-as-base32))
+
+(define-public %bcm2709-defconfig
+ (make-raspi-defconfig
+ "arm" "bcm2709_defconfig"
+ "1hcxmsr131f92ay3bfglrggds8ajy904yj3vw7c42i4c66256a79"))
+
+(define-public %bcm2711-defconfig
+ (make-raspi-defconfig
+ "arm" "bcm2711_defconfig"
+ "1n7g5yq0hdp8lh0x6bfxph2ff8yn8zisdj3qg0gbn83j4v8i1zbd"))
+
+(define-public %bcm2711-defconfig-64
+ (make-raspi-defconfig
+ "arm64" "bcm2711_defconfig"
+ "0k9q7qvw826v2hrp49xnxnw93pnnkicwx869chvlf7i57461n4i7"))
+
+(define-public %bcmrpi3-defconfig
+ (make-raspi-defconfig
+ "arm64" "bcmrpi3_defconfig"
+ "1bfnl4p0ddx3200dg91kmh2pln36w95y05x1asc312kixv0jgd81"))
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 693489264d..9c8c1ba4d4 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -20,6 +20,8 @@
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
+;;; Copyright © 2022 ( <paren@disroot.org>
+;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,11 +39,12 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages rust-apps)
- #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
+ #:use-module (guix deprecation)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
- #:use-module (guix deprecation)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
@@ -1028,6 +1031,49 @@ rebase.")
"This package provides a tool for generating C/C++ bindings to Rust code.")
(license license:mpl2.0)))
+(define-public rust-cbindgen-0.24
+ (package
+ (inherit rust-cbindgen)
+ (name "rust-cbindgen")
+ (version "0.24.3")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "cbindgen" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yqxqsz2d0cppd8zwihk2139g5gy38wqgl9snj6rnk8gyvnqsdd6"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-clap" ,rust-clap-3)
+ ("rust-heck" ,rust-heck-0.4)
+ ("rust-indexmap" ,rust-indexmap-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-tempfile" ,rust-tempfile-3)
+ ("rust-toml" ,rust-toml-0.5))
+ #:cargo-development-inputs
+ (("rust-serial-test" ,rust-serial-test-0.5))))
+ (native-inputs
+ (list python-cython))))
+
+(define-public rust-cbindgen-0.23
+ (package
+ (inherit rust-cbindgen-0.24)
+ (name "rust-cbindgen")
+ (version "0.23.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "cbindgen" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav"))))))
+
(define-public rust-cbindgen-0.19
(package
(inherit rust-cbindgen)
@@ -1875,6 +1921,164 @@ C-compatible) software.")
consecutive lines and since program start.")
(license license:expat)))
+(define-public skim
+ (package
+ (name "skim")
+ (version "0.9.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "skim" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1d5v9vq8frkdjm7bnw3455h6xf3c277d51il2qasn7r20kwik7ab"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-atty-0.2" ,rust-atty-0.2)
+ ("rust-beef" ,rust-beef-0.5)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-crossbeam" ,rust-crossbeam-0.8)
+ ("rust-defer-drop" ,rust-defer-drop-1)
+ ("rust-derive-builder" ,rust-derive-builder-0.9)
+ ("rust-env-logger" ,rust-env-logger-0.8)
+ ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-nix" ,rust-nix-0.19)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-shlex" ,rust-shlex-0.1)
+ ("rust-time" ,rust-time-0.2)
+ ("rust-timer" ,rust-timer-0.2)
+ ("rust-tuikit" ,rust-tuikit-0.4)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-vte" ,rust-vte-0.9))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-extras
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share"))
+ (man (string-append out "/share/man"))
+ (vimfiles (string-append share "/vim/vimfiles/plugin"))
+ (bash-completion
+ (string-append share "/bash-completions/completions"))
+ (zsh-site (string-append share "/zsh/site-functions"))
+ (fish-vendor
+ (string-append share "/fish/vendor-completions.d")))
+ ;; Binaries
+ (for-each
+ (lambda (binary) (install-file binary bin))
+ (find-files "bin"))
+ (mkdir-p share)
+ ;; Manpages
+ (copy-recursively "man" man)
+ ;; Vim plugins
+ (mkdir-p vimfiles)
+ (copy-recursively "plugin" vimfiles)
+ ;; Completions
+ (mkdir-p bash-completion)
+ (copy-file
+ "shell/completion.bash"
+ (string-append bash-completion "/skim"))
+ (copy-file
+ "shell/key-bindings.bash"
+ (string-append bash-completion "/skim-bindings"))
+ (mkdir-p zsh-site)
+ (copy-file
+ "shell/completion.zsh"
+ (string-append zsh-site "/_skim"))
+ (copy-file
+ "shell/key-bindings.zsh"
+ (string-append zsh-site "/_skim-bindings"))
+ (mkdir-p fish-vendor)
+ (copy-file
+ "shell/key-bindings.fish"
+ (string-append fish-vendor "/skim-bindings.fish"))))))))
+ (home-page "https://github.com/lotabout/skim")
+ (synopsis "Fuzzy Finder in Rust")
+ (description "This package provides a fuzzy finder in Rust.")
+ (license license:expat)))
+
+(define-public skim-0.7
+ (package
+ (inherit skim)
+ (name "skim")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "skim" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yiyd6fml5hd2l811sckkzmiiq9bd7018ajk4qk3ai4wyvqnw8mv"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-chrono" ,rust-chrono-0.4)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-derive-builder" ,rust-derive-builder-0.9)
+ ("rust-env-logger" ,rust-env-logger-0.6)
+ ("rust-fuzzy-matcher" ,rust-fuzzy-matcher-0.3)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-nix" ,rust-nix-0.14)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-shlex" ,rust-shlex-0.1)
+ ("rust-time" ,rust-time-0.1)
+ ("rust-timer" ,rust-timer-0.2)
+ ("rust-tuikit" ,rust-tuikit-0.2)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-vte" ,rust-vte-0.3))))))
+
+(define-public rust-skim-0.7
+ (deprecated-package "rust-skim-0.7" skim-0.7))
+
+(define-public svd2rust
+ (package
+ (name "svd2rust")
+ (version "0.19.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "svd2rust" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0q8slfgjfhpljzlk2myb0i538mfq99q1ljn398jm17r1q2pjjxhv"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-cast" ,rust-cast-0.2)
+ ("rust-clap" ,rust-clap-2)
+ ("rust-clap-conf" ,rust-clap-conf-0.1)
+ ("rust-env-logger" ,rust-env-logger-0.7)
+ ("rust-inflections" ,rust-inflections-1)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-proc-macro2" ,rust-proc-macro2-0.4)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-svd-parser" ,rust-svd-parser-0.10)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-thiserror" ,rust-thiserror-1))))
+ (home-page "https://github.com/rust-embedded/svd2rust/")
+ (synopsis
+ "Generate Rust register maps (`struct`s) from SVD files")
+ (description
+ "This program can be used to generate Rust register maps (`struct`s) from SVD
+files.")
+ (license (list license:expat license:asl2.0))))
+
(define-public swayhide
(package
(name "swayhide")
@@ -1900,6 +2104,43 @@ workflow includes opening graphical programs from the terminal, as the locked
terminal won't have to take up any space.")
(license license:gpl3+)))
+(define-public swayr
+ (package
+ (name "swayr")
+ (version "0.18.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "swayr" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1m443lwbs3lm20kkviw60db56w9i59dm393z1sn6llpfi2xihh3h"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f
+ #:cargo-inputs
+ (("rust-clap" ,rust-clap-3)
+ ("rust-directories" ,rust-directories-4)
+ ("rust-env-logger" ,rust-env-logger-0.9)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-rt-format" ,rust-rt-format-0.3)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-swayipc" ,rust-swayipc-3)
+ ("rust-toml" ,rust-toml-0.5))))
+ (home-page "https://sr.ht/~tsdh/swayr/")
+ (synopsis "Window-switcher for the sway window manager")
+ (description
+ "This package provides a last-recently-used window-switcher for the sway
+window manager. Swayr consists of a daemon, and a client. The swayrd daemon
+records window/workspace creations, deletions, and focus changes using sway's
+JSON IPC interface. The swayr client offers subcommands, and sends them to the
+daemon which executes them.")
+ (license license:gpl3+)))
+
(define-public tealdeer
(package
(name "tealdeer")
@@ -2029,32 +2270,54 @@ It will then write @code{fixup!} commits for each of those changes.")
(define-public zoxide
(package
(name "zoxide")
- (version "0.6.0")
+ (version "0.8.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "zoxide" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1ih01l3xp8plicxhmyxjkq12ncpdb8954jcj3dh3lwvkhvw29nkk"))))
+ (base32 "0y5v2vgl9f3n0n0w4b3iddbfyxv0hls0vw5406ry0hcvnnjyy2l3"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
- (("rust-anyhow" ,rust-anyhow-1)
- ("rust-askama" ,rust-askama-0.10)
- ("rust-bincode" ,rust-bincode-1)
- ("rust-clap" ,rust-clap-3)
- ("rust-dirs-next" ,rust-dirs-next-2)
- ("rust-dunce" ,rust-dunce-1)
- ("rust-glob" ,rust-glob-0.3)
- ("rust-once-cell" ,rust-once-cell-1)
- ("rust-ordered-float" ,rust-ordered-float-2)
- ("rust-rand" ,rust-rand-0.7)
- ("rust-serde" ,rust-serde-1)
- ("rust-tempfile" ,rust-tempfile-3))
- #:cargo-development-inputs
- (("rust-assert-cmd" ,rust-assert-cmd-1)
- ("rust-seq-macro" ,rust-seq-macro-0.2))))
+ (list #:cargo-inputs
+ `(("rust-anyhow" ,rust-anyhow-1)
+ ("rust-askama" ,rust-askama-0.11)
+ ("rust-bincode" ,rust-bincode-1)
+ ("rust-clap" ,rust-clap-3)
+ ("rust-clap-complete" ,rust-clap-complete-3)
+ ("rust-clap-complete-fig" ,rust-clap-complete-fig-3)
+ ("rust-dirs" ,rust-dirs-4)
+ ("rust-dunce" ,rust-dunce-1)
+ ("rust-fastrand" ,rust-fastrand-1)
+ ("rust-glob" ,rust-glob-0.3)
+ ("rust-nix" ,rust-nix-0.24)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-which" ,rust-which-4))
+ #:cargo-development-inputs
+ `(("rust-assert-cmd" ,rust-assert-cmd-2)
+ ("rust-rstest" ,rust-rstest-0.15)
+ ("rust-rstest-reuse" ,rust-rstest-reuse-0.4)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-older-rust
+ (lambda _
+ (setenv "RUSTC_BOOTSTRAP" "1")
+ (substitute* "Cargo.toml"
+ (("^rust-version = .*$")
+ (string-append
+ "rust-version = \""
+ #$(package-version rust)
+ "\"\n")))
+ (substitute* "src/main.rs"
+ (("#!\\[allow\\(clippy::single_component_path_imports)]")
+ "#![feature(total_cmp)]"))
+ (substitute* "src/cmd/query.rs"
+ (("let handle = &mut io::stdout\\()\\.lock\\();")
+ "\
+let _stdout = io::stdout();
+let handle = &mut _stdout.lock();")))))))
(home-page "https://github.com/ajeetdsouza/zoxide/")
(synopsis "Fast way to navigate your file system")
(description
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index bfa5e1bc68..c0f663977a 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -625,6 +625,11 @@ safety and thread safety guarantees.")
rust-1.63 "1.64.0" "018j720b2n12slp4xk64jc6shkncd46d621qdyzh2a8s3r49zkdk")))
(package
(inherit base-rust)
+ (source
+ (origin
+ (inherit (package-source base-rust))
+ (patches (search-patches "rust-1.64-fix-riscv64-bootstrap.patch"))
+ (patch-flags '("-p1" "--reverse"))))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:phases phases)
@@ -638,8 +643,16 @@ safety and thread safety guarantees.")
(generate-all-checksums "vendor"))))))))))
(define rust-1.65
- (rust-bootstrapped-package
- rust-1.64 "1.65.0" "0f005kc0vl7qyy298f443i78ibz71hmmh820726bzskpyrkvna2q"))
+ (let ((base-rust
+ (rust-bootstrapped-package
+ rust-1.64 "1.65.0" "0f005kc0vl7qyy298f443i78ibz71hmmh820726bzskpyrkvna2q")))
+ (package
+ (inherit base-rust)
+ (source
+ (origin
+ (inherit (package-source base-rust))
+ (patches '())
+ (patch-flags '("-p1")))))))
;;; Note: Only the latest versions of Rust are supported and tested. The
;;; intermediate rusts are built for bootstrapping purposes and should not
diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm
index e3f94fd0b0..051d7df014 100644
--- a/gnu/packages/sssd.scm
+++ b/gnu/packages/sssd.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2017, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Timotej Lazar <timotej.lazar@araneo.si>
@@ -154,7 +154,7 @@ fundamental object types for C.")
(define-public sssd
(package
(name "sssd")
- (version "2.7.4")
+ (version "2.8.1")
(source
(origin
(method git-fetch)
@@ -163,9 +163,8 @@ fundamental object types for C.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1946pfwyv1ci0m4flrhwkksq42p14n7kcng6fbq6sy4lcn5g3yml"))
- (patches (search-patches "sssd-optional-systemd.patch"
- "sssd-system-directories.patch"))))
+ (base32 "19vn2a1r33q6fnw7jmfv3s4kirnviz0rgq0w6wzx6h008iysidsd"))
+ (patches (search-patches "sssd-system-directories.patch"))))
(build-system gnu-build-system)
(arguments
(list
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 6196d6bd69..616eded618 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -486,14 +486,14 @@ available, greatly increasing its breadth and scope.")
(define-public r-boot
(package
(name "r-boot")
- (version "1.3-28")
+ (version "1.3-28.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "boot" version))
(sha256
(base32
- "0cjafhqv1c1mrjjcasqr767vs96wjcc6am9r1icryr8l4zymhwcz"))))
+ "0lzz08fpn80qzm197s4806hr6skanr3r3rlx6bx7zk4cripygkfl"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/boot")
(synopsis "Bootstrap functions for R")
@@ -655,14 +655,14 @@ also flexible enough to handle most nonstandard requirements.")
(define-public r-matrix
(package
(name "r-matrix")
- (version "1.5-1")
+ (version "1.5-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "Matrix" version))
(sha256
(base32
- "0pap6pb0is2s02l43y982p7banwi844bjpgbcgf6fb8pb01vlzam"))))
+ "03g0zqkbaa1k52i0d0yyn7vclmg93hdqaid48sbc1ccpvi70ywjf"))))
(properties `((upstream-name . "Matrix")))
(build-system r-build-system)
(propagated-inputs
@@ -825,14 +825,14 @@ curves, Cox models, and parametric accelerated failure time models.")
(define-public r-bit
(package
(name "r-bit")
- (version "4.0.4")
+ (version "4.0.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "bit" version))
(sha256
(base32
- "0s7isadibxp2wr62r5cpbyh9z31sczzfz4j3rm7gxgjfpqgq8174"))))
+ "1g5zakrzkhrqh3d7p1zka6zzzw11rdlbrvxsh05s7dkli1m57wph"))))
(build-system r-build-system)
(native-inputs
(list r-knitr))
@@ -1078,13 +1078,13 @@ in which the whole-plots or split-plots or both can be freely exchangeable.")
(define-public r-plyr
(package
(name "r-plyr")
- (version "1.8.7")
+ (version "1.8.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "plyr" version))
(sha256
- (base32 "0zz88q055c38b9xqzfg1mwm7ikxzlyx3pnk16sfa8dbh2pqxm7vx"))))
+ (base32 "030706kwgqa2s5jd93ck271iqb0pj3fshrj9frg4wgp1pfs12cm7"))))
(build-system r-build-system)
(propagated-inputs (list r-rcpp))
(home-page "http://had.co.nz/plyr")
@@ -1137,14 +1137,14 @@ designed by Cynthia Brewer as described at http://colorbrewer2.org")
(define-public r-sendmailr
(package
(name "r-sendmailr")
- (version "1.2-1.1")
+ (version "1.3-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "sendmailR" version))
(sha256
(base32
- "1dgxl6wnadlw5b3m4has5zalpk3pd5j70hfps92b9lbx4i7xbmr0"))))
+ "1vxs9pdz1qbm7gzzigmvn5ybglakj4fska8dfj94azdvpkijs6hx"))))
(properties `((upstream-name . "sendmailR")))
(build-system r-build-system)
(propagated-inputs
@@ -1429,13 +1429,13 @@ for template use among CRAN packages.")
(define-public r-evaluate
(package
(name "r-evaluate")
- (version "0.17")
+ (version "0.18")
(source (origin
(method url-fetch)
(uri (cran-uri "evaluate" version))
(sha256
(base32
- "0qx9dgwcz0xmf4k8hy45p50dhb3nldhmhmg5y0d92rxr9k4l7is9"))))
+ "0dmznan8zajzb5f31yabcgpkinlqczz59i1rg9f6sa5cjzffqkkz"))))
(build-system r-build-system)
(home-page "https://github.com/hadley/evaluate")
(synopsis "Parsing and evaluation tools for R")
@@ -1515,13 +1515,13 @@ data derived from /etc/mime.types in UNIX-type systems.")
(define-public r-markdown
(package
(name "r-markdown")
- (version "1.3")
+ (version "1.4")
(source (origin
(method url-fetch)
(uri (cran-uri "markdown" version))
(sha256
(base32
- "1w9hrc745zwgsnmr72jkwfh22xqgdsq089qcajlc69xrwya3wxxi"))))
+ "0ziwirplzjcci2km6wln035qfd2irjl58r77kl98r8s257kavqz0"))))
(build-system r-build-system)
;; Skip check phase because the tests require the r-knitr package to be
;; installed. This prevents installation failures. Knitr normally
@@ -1559,13 +1559,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
(define-public r-knitr
(package
(name "r-knitr")
- (version "1.40")
+ (version "1.41")
(source (origin
(method url-fetch)
(uri (cran-uri "knitr" version))
(sha256
(base32
- "1g1mhnkyxd2sv6p1l6iph9dnmpbwxhah78xx4kq543ks6vzrb3wv"))))
+ "1izv1m56ngc20wx4da9mmr5ll6ah14ka8dqn9i3pd7ah70lmya81"))))
(build-system r-build-system)
(propagated-inputs
(list r-evaluate r-highr r-stringr r-xfun r-yaml))
@@ -1968,13 +1968,13 @@ times.")
(define-public r-data-table
(package
(name "r-data-table")
- (version "1.14.4")
+ (version "1.14.6")
(source (origin
(method url-fetch)
(uri (cran-uri "data.table" version))
(sha256
(base32
- "1w28wg119w8pnzfdwp5yw7jgk7vv80b6cagms67i02c3dv1afqj8"))))
+ "05h99rk2s1ds9igrqw2nhnk6yahgssszqlnw0y0p9p83lsndp30x"))))
(properties `((upstream-name . "data.table")))
(build-system r-build-system)
(inputs
@@ -2111,14 +2111,14 @@ chain.")
(define-public r-ade4
(package
(name "r-ade4")
- (version "1.7-19")
+ (version "1.7-20")
(source
(origin
(method url-fetch)
(uri (cran-uri "ade4" version))
(sha256
(base32
- "1vv5y6badksnpjb3bcphhjdzzh6i2grmwnsalcf2cfpr3y412lf8"))))
+ "0yxd9dgci3rzz807wsb76wis12ipgjv9w86smdyz20jrnn45giyx"))))
(build-system r-build-system)
(propagated-inputs
(list r-mass r-pixmap r-sp))
@@ -2406,13 +2406,13 @@ tables, autolinks and strikethrough text.")
(define-public r-roxygen2
(package
(name "r-roxygen2")
- (version "7.2.1")
+ (version "7.2.2")
(source (origin
(method url-fetch)
(uri (cran-uri "roxygen2" version))
(sha256
(base32
- "08fs5jw6npriqsr8pribs2yy1r8163xzcv4gmlgmcaywj4jk9w6j"))))
+ "07pijickz5kgd31xzn2z11xqiym4sscj742qwbc5bjh7mayhhmki"))))
(build-system r-build-system)
(propagated-inputs
(list r-brew
@@ -2729,13 +2729,13 @@ well as additional utilities such as panel and axis annotation functions.")
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
- (version "0.11.4.0.1")
+ (version "0.11.4.2.1")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
- "1qrpdalcvn9bkhiq4l2jflicy6116l5j913h8clyf8yaygsxvr0c"))))
+ "172vz9j1hck6iwk56hgsrg91n4f11df1n6hy1crbv3cb53rkyjgn"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
(propagated-inputs
@@ -2821,13 +2821,13 @@ certain criterion, e.g., it contains a certain regular file.")
(define-public r-rmarkdown
(package
(name "r-rmarkdown")
- (version "2.17")
+ (version "2.18")
(source
(origin
(method url-fetch)
(uri (cran-uri "rmarkdown" version))
(sha256
- (base32 "1gn413pgyfr45mmiv82gymz9r39d41h3ykmai93fihn4ir2nqmxa"))))
+ (base32 "08lgzb7n7lll1ff7flcyilnz9afj60npi882c035pyyy4vk7majg"))))
(properties `((upstream-name . "rmarkdown")))
(build-system r-build-system)
(propagated-inputs
@@ -2938,13 +2938,13 @@ a column in data frame.")
(define-public r-rsqlite
(package
(name "r-rsqlite")
- (version "2.2.18")
+ (version "2.2.19")
(source (origin
(method url-fetch)
(uri (cran-uri "RSQLite" version))
(sha256
(base32
- "1sjbjh4rhaagmhiv2rg3csakbsc62qwyawz5vhywg3mdcbdnl6b2"))))
+ "11jzg3ywzaql3zwp7cwql1nilz8pvbz903whyh0d447rs0xnn3vj"))))
(properties `((upstream-name . "RSQLite")))
(build-system r-build-system)
(propagated-inputs
@@ -3131,14 +3131,14 @@ statements.")
(define-public r-segmented
(package
(name "r-segmented")
- (version "1.6-0")
+ (version "1.6-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "segmented" version))
(sha256
(base32
- "0sg59j59kz3zrwl3mi4ps1qw3hvwljygqa1d652vjdsx9w57zbvb"))))
+ "0vym03p04jf66fdpx3kzy727b8bay2fpvd3n0xxmm94c3hqwl2gn"))))
(build-system r-build-system)
(propagated-inputs (list r-mass r-nlme))
(home-page "https://cran.r-project.org/web/packages/segmented")
@@ -3287,303 +3287,339 @@ using the multicore functionality of the parallel package.")
(license license:gpl2+)))
(define-public r-dt
- (let ((javascript-sources
- '(("https://cdn.datatables.net/1.10.20/js/jquery.dataTables.js"
- "03ln7ys1q1hy3xpsrjxnjpg9hq3lfpqz0firrxsgjzj8fsw20is3"
- "datatables")
- ("https://cdn.datatables.net/1.10.20/js/dataTables.bootstrap.js"
- "16clrnxm7axn6cdimyf3qbskxg10gpn9ld5ls2xdfw5q1qf2i4ml"
- "datatables")
- ("https://cdn.datatables.net/1.10.20/js/dataTables.bootstrap4.js"
- "16v49zqxr1zil19bcx3wdnv95zdpiz2m979aazan7z04ymqb2rzb"
- "datatables")
- ("https://cdn.datatables.net/1.10.20/js/dataTables.foundation.js"
- "1gpjm1pi2pl0hxsn0pg3s3f382y2s7nsr06866vxld6gb8054lld"
- "datatables")
- ("https://cdn.datatables.net/1.10.20/js/dataTables.jqueryui.js"
- "0nxd8jph34vsk8k8whs2yiybrn6nsnwzhri0bxn2k1dzmcvpn24i"
- "datatables")
- ("https://cdn.datatables.net/1.10.20/js/dataTables.semanticui.js"
- "1477f49xyxs4phias789mbspv23w8alxchhl5b5iy0aw6vd35c43"
- "datatables")
-
- ("https://cdn.datatables.net/autofill/2.3.4/js/dataTables.autoFill.js"
- "04i6n7r3512gzfihl5wnhrvm0klnjp41g1z6cny3j803hvmnp8zk"
- "datatables-extensions/AutoFill")
- ("https://cdn.datatables.net/autofill/2.3.4/js/autoFill.bootstrap.js"
- "1zi7iiq63i5qx3p9cyynn6am4idxwj8xaz8mp4n3klm1x68sc0ja"
- "datatables-extensions/AutoFill")
- ("https://cdn.datatables.net/autofill/2.3.4/js/autoFill.bootstrap4.js"
- "1vk2smcz14raf0cz88a65yf36a7mnmbml02q03apg2b8bqy91m7w"
- "datatables-extensions/AutoFill")
- ("https://cdn.datatables.net/autofill/2.3.4/js/autoFill.foundation.js"
- "0sbcib1461pkglk69fzzqi73g4abylah74f264v0f79dc5247yzz"
- "datatables-extensions/AutoFill")
- ("https://cdn.datatables.net/autofill/2.3.4/js/autoFill.jqueryui.js"
- "1dw9vbbchzbd2c7id8na2p1cxac2kgjbzjrvqafra715hr0i4z3z"
- "datatables-extensions/AutoFill")
- ("https://cdn.datatables.net/autofill/2.3.4/js/autoFill.semanticui.js"
- "07ck81y6wpqchq8jfym6gjgc57xwj6vv9h5w9grc1gps6p7q9xnr"
- "datatables-extensions/AutoFill")
-
- ("https://cdn.datatables.net/buttons/1.6.1/js/dataTables.buttons.js"
- "15l9kd9898zm8xf996d5c761rwl55k4w718k9k5fzz2gh91g21g5"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.colVis.js"
- "1rqlv5pacipl652xgyzsdq1gbfwv52rwl4mr2fx9a3py21yskppk"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.flash.js"
- "150r2ypxl017kl5agrn17cnyvwpf7x2x7vkqbc1qxif8vclf35kj"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.html5.js"
- "1d8is99yrh95hycjijzbrbxy1anfslab6krmhj2xbwsmssyn16xh"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.print.js"
- "1irgspv2zidv6v0ay92152d8cvhz2zyrwb71xk3nw903223vc2gl"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.semanticui.js"
- "1p02r953ampxlzfzpay227ya6qdzsxz2anjxpnx3q8qs6gv6y2jl"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.foundation.js"
- "0aykm1sk8rwvxp5r4qnvbb2scx2bln5kh88h36829mcqcdksfc50"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.jqueryui.js"
- "1im6f6jw3yc3959rw1i3bghvz863kmp3wgfvz661r1r2wjzzfs4d"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.bootstrap.js"
- "1mzmpabhrk0iag7hb16n8bhghx4cprq39p2vqn3v65mpklajzznc"
- "datatables-extensions/Buttons")
- ("https://cdn.datatables.net/buttons/1.6.1/js/buttons.bootstrap4.js"
- "0hfclipg43wr9p7irrcn9vp5wji8z7gz6y5mclkq88z1mlpwklzf"
- "datatables-extensions/Buttons")
- ("https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.js"
- "01l5lw49jz2qn6k9i63dk4llar4lvvpd6xp6i45mpwfk49fbxqg2"
- "datatables-extensions/Buttons")
- ("https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.js"
- "1sfw80az2cgzin5wk7q1p2n9zm66c35cz0m6isdygml81i594wia"
- "datatables-extensions/Buttons")
- ("https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"
- "1k324s0hw4lfpd71bb1cnv4j5096k8smk64fjdsh81sl0ykizf2w"
- "datatables-extensions/Buttons")
-
- ("https://cdn.datatables.net/colreorder/1.5.2/js/dataTables.colReorder.js"
- "1dalc28km19xzzszsa82hsd9alikrqpzjvf9vzxkccjpf7m2sdqg"
- "datatables-extensions/ColReorder")
- ("https://cdn.datatables.net/colreorder/1.5.2/js/colReorder.foundation.js"
- "0nrddc8swkmsfzji518kh6ks55ykyk9p8r4x5fmf8ckr9fhjkh0s"
- "datatables-extensions/ColReorder")
- ("https://cdn.datatables.net/colreorder/1.5.2/js/colReorder.bootstrap.js"
- "0crgmjwcn817yz6ibjkji6gsickvv2a4las9asyldfcpj2c99x84"
- "datatables-extensions/ColReorder")
- ("https://cdn.datatables.net/colreorder/1.5.2/js/colReorder.bootstrap4.js"
- "065fhw4v2d9rp3ic9zfb1q5d7pfq4f2949rr24hdjbspf19m3ymd"
- "datatables-extensions/ColReorder")
- ("https://cdn.datatables.net/colreorder/1.5.2/js/colReorder.semanticui.js"
- "17kw143ny0nq0yidsffw3cpghvlg2bzlzavfi0ihkamcn26ymxcp"
- "datatables-extensions/ColReorder")
- ("https://cdn.datatables.net/colreorder/1.5.2/js/colReorder.jqueryui.js"
- "1rd8hijz3prg2y36fvqczrpdzixibjy2dxgs2fmgr8wrm8k01rrm"
- "datatables-extensions/ColReorder")
-
- ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/dataTables.fixedColumns.js"
- "0vsqk2fv59n351bdfcbvhmvpq38qwf41j1cn810xz1l1i07cg4hg"
- "datatables-extensions/FixedColumns")
- ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/fixedColumns.bootstrap.js"
- "1j4wvg694l960gk5dg7wghwa3dpgq8mnrcgp78ghm92i08djb1wy"
- "datatables-extensions/FixedColumns")
- ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/fixedColumns.bootstrap4.js"
- "1p79k9bjslyvmp1bdhmg4nm2l9nbfsi4kgw7rx3vjka3n50qy730"
- "datatables-extensions/FixedColumns")
- ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/fixedColumns.foundation.js"
- "0f0xkrsapzgma58f6l63rpn68xid098dxwqqddsyddl0hy0x1z82"
- "datatables-extensions/FixedColumns")
- ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/fixedColumns.jqueryui.js"
- "0lw35c8vkajx75pg4ddik4gyzmjak1jaw3flq850frwgnzsvhahx"
- "datatables-extensions/FixedColumns")
- ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/fixedColumns.semanticui.js"
- "1kqsap9y0d25a7m5zjakipifl5qi2qr72kfj4ap3zxavd8md2wyn"
- "datatables-extensions/FixedColumns")
-
- ("https://cdn.datatables.net/fixedheader/3.1.6/js/dataTables.fixedHeader.js"
- "1ml5ilnm8nirr6rsgmzn75l1k0hcjz3sqk6h1y1gy8cpwpklvqri"
- "datatables-extensions/FixedHeader")
- ("https://cdn.datatables.net/fixedheader/3.1.6/js/fixedHeader.bootstrap.js"
- "1qf3pkb3svpia7g8bwyql7ma3x2g4zj5bp0d14pnv8xpc9h52r93"
- "datatables-extensions/FixedHeader")
- ("https://cdn.datatables.net/fixedheader/3.1.6/js/fixedHeader.bootstrap4.js"
- "19jcvnk7zh4k6fd5si3b743x70qzlkqiw3m10jbc5jzbpz8sj6qd"
- "datatables-extensions/FixedHeader")
- ("https://cdn.datatables.net/fixedheader/3.1.6/js/fixedHeader.foundation.js"
- "0xmpx1r76vykqygksyjaf4d1ql1fid69rqhvk4k857iybqz3gdcv"
- "datatables-extensions/FixedHeader")
- ("https://cdn.datatables.net/fixedheader/3.1.6/js/fixedHeader.jqueryui.js"
- "1lc0g2cag1sj3bqmh7rh5z00pmfv1srxfhwi32y4mgpzhrzpfzxn"
- "datatables-extensions/FixedHeader")
- ("https://cdn.datatables.net/fixedheader/3.1.6/js/fixedHeader.semanticui.js"
- "1v0i6dc68h8l8673fb5970igzkl7as36riv504iyg82glfi7n877"
- "datatables-extensions/FixedHeader")
-
- ("https://cdn.datatables.net/keytable/2.5.1/js/dataTables.keyTable.js"
- "16iib2icxsjh93x5hd42gpsl7bzpcsqb7zjgj0m1s02ls45bdlv5"
- "datatables-extensions/KeyTable")
- ("https://cdn.datatables.net/keytable/2.5.1/js/keyTable.bootstrap.js"
- "0hnhk6am4yl6h6bb7as935k8h2syil9hf8g7nn409yd3ws736xpj"
- "datatables-extensions/KeyTable")
- ("https://cdn.datatables.net/keytable/2.5.1/js/keyTable.bootstrap4.js"
- "0r85mp5yf9hgl5ayzzs46dfbxa231bjlvgb8lqpyzik1m6afa51i"
- "datatables-extensions/KeyTable")
- ("https://cdn.datatables.net/keytable/2.5.1/js/keyTable.foundation.js"
- "11fr14p33lyvs0wfcx228m600i4qcaqb44q3hk723jxcz59k17dw"
- "datatables-extensions/KeyTable")
- ("https://cdn.datatables.net/keytable/2.5.1/js/keyTable.jqueryui.js"
- "0572rxrvwyprdr8l5jkgacj2bkmhmgxjy5vybm65n54g9j19l6bc"
- "datatables-extensions/KeyTable")
- ("https://cdn.datatables.net/keytable/2.5.1/js/keyTable.semanticui.js"
- "157mqn9mhmmf7vas2das4hbpwipk3wshs8n0808q04rbijr0g2bz"
- "datatables-extensions/KeyTable")
-
- ("https://cdn.datatables.net/responsive/2.2.3/js/dataTables.responsive.js"
- "1jnsx4sqf7qjd1gz5ag9hn6n76cwwfms23rzw37lgbd6h54yqzwr"
- "datatables-extensions/Responsive")
- ("https://cdn.datatables.net/responsive/2.2.3/js/responsive.foundation.js"
- "1vzzqpd9l8xv0am42g4cilx9igmq60mgk0hab4ssqvbicrmrgq9z"
- "datatables-extensions/Responsive")
- ("https://cdn.datatables.net/responsive/2.2.3/js/responsive.semanticui.js"
- "1cjiwcf0d07482k08dhn5ffsizshw4hqgz5l58p03pq9g6wc9pvm"
- "datatables-extensions/Responsive")
- ("https://cdn.datatables.net/responsive/2.2.3/js/responsive.jqueryui.js"
- "10nykak2kf4sai64girh26xdmdil29jvw3zja2rpp2qzjg4172z9"
- "datatables-extensions/Responsive")
- ("https://cdn.datatables.net/responsive/2.2.3/js/responsive.bootstrap.js"
- "1xxlh01vmzmfwwlsa611pl2nrl2sx58rp8xmx301bfsylmp2v5b2"
- "datatables-extensions/Responsive")
- ("https://cdn.datatables.net/responsive/2.2.3/js/responsive.bootstrap4.js"
- "1zjh15p7n1038sggaxv1xvcwbkhw2nk1ndx745s6cxiqb69y3i0h"
- "datatables-extensions/Responsive")
-
- ("https://cdn.datatables.net/rowgroup/1.1.1/js/dataTables.rowGroup.js"
- "0s4q7ir2d6q36g29nn9mqk7vrqrdig2mm5zbcv0sn2lixqi29pkj"
- "datatables-extensions/RowGroup")
- ("https://cdn.datatables.net/rowgroup/1.1.1/js/rowGroup.bootstrap.js"
- "1xfdhqgznz9x1v8spvql6b0wbna13h8cbzvkjza14nqsmccxck66"
- "datatables-extensions/RowGroup")
- ("https://cdn.datatables.net/rowgroup/1.1.1/js/rowGroup.bootstrap4.js"
- "1xm53sda4fabwdaglngrj09bpiygkn9mm17grxbykn1jazqqdp62"
- "datatables-extensions/RowGroup")
- ("https://cdn.datatables.net/rowgroup/1.1.1/js/rowGroup.foundation.js"
- "0832i10vils1wv1sm10qvsnd4i2k2xkhskz6i9y2q0axkmk73hcd"
- "datatables-extensions/RowGroup")
- ("https://cdn.datatables.net/rowgroup/1.1.1/js/rowGroup.jqueryui.js"
- "0n53cd294s9mjblkykkqvd9n414bsc26wpcg5spxdscjl6hxh79p"
- "datatables-extensions/RowGroup")
- ("https://cdn.datatables.net/rowgroup/1.1.1/js/rowGroup.semanticui.js"
- "010wls5nf387p21fdc2k952bxq89r5kxkv7j4wbvwf8k2a18cmc9"
- "datatables-extensions/RowGroup")
-
- ("https://cdn.datatables.net/rowreorder/1.2.6/js/dataTables.rowReorder.js"
- "13ymbn3h9755pgb0gmlb9gl54vz9nqnz4mws7g6mlmz53r3sqhmj"
- "datatables-extensions/RowReorder")
- ("https://cdn.datatables.net/rowreorder/1.2.6/js/rowReorder.bootstrap.js"
- "185if2pxgc940rm49hdgln57pc5h9cszlii3bfpdf3pdc1fjhckm"
- "datatables-extensions/RowReorder")
- ("https://cdn.datatables.net/rowreorder/1.2.6/js/rowReorder.bootstrap4.js"
- "14129x4md57i4ff7j18m49jn5fw8r716np84cdrcawlydgjsxp4a"
- "datatables-extensions/RowReorder")
- ("https://cdn.datatables.net/rowreorder/1.2.6/js/rowReorder.foundation.js"
- "0zg94jckymxzda2xjyj9p38y5v61cji55kak1ylq72l6a9sw8sg6"
- "datatables-extensions/RowReorder")
- ("https://cdn.datatables.net/rowreorder/1.2.6/js/rowReorder.jqueryui.js"
- "08gm419xcixgqw0i5yv2mxyyvafhzviibifp6nv129vdxx0a5d8v"
- "datatables-extensions/RowReorder")
- ("https://cdn.datatables.net/rowreorder/1.2.6/js/rowReorder.semanticui.js"
- "1zjrx2rlgw3qannsqa88pcp3i4pc87pwv7rmgfw1dar8namkr9kk"
- "datatables-extensions/RowReorder")
-
- ("https://cdn.datatables.net/scroller/2.0.1/js/dataTables.scroller.js"
- "0zfjjdvwwlsnps24i9l4c97hmway2qs6addks1is5bxl4k1r6d16"
- "datatables-extensions/Scroller")
- ("https://cdn.datatables.net/scroller/2.0.1/js/scroller.foundation.js"
- "04bk6ink8wqay7655v93jvv86m3bn6asrsfb22i99rgxdvm8gn1z"
- "datatables-extensions/Scroller")
- ("https://cdn.datatables.net/scroller/2.0.1/js/scroller.bootstrap.js"
- "19dl40dl8ir21xvs1j7xhm2a4py1m21xbypwn499fg2awj8vaidi"
- "datatables-extensions/Scroller")
- ("https://cdn.datatables.net/scroller/2.0.1/js/scroller.bootstrap4.js"
- "0pbkgncijlafwdmyh4l65dabd18hzjh8r01cad3b9iy8cfif6iwd"
- "datatables-extensions/Scroller")
- ("https://cdn.datatables.net/scroller/2.0.1/js/scroller.jqueryui.js"
- "1md5mpx5in7wzsr38yn801cmv3phm0i0ikdnpd0b1nsna5ccpj14"
- "datatables-extensions/Scroller")
- ("https://cdn.datatables.net/scroller/2.0.1/js/scroller.semanticui.js"
- "1dfbblbzbryjgiv31qfdjnijz19lmyijg12win3y8gsgfd4fp9zz"
- "datatables-extensions/Scroller")
-
- ("https://cdn.datatables.net/searchbuilder/1.0.0/js/dataTables.searchBuilder.js"
- "0n5g0j0yfzqvdpsmwb27bj1rd8zx864fsx2k7b2kpv6mqqavzpqc"
- "datatables-extensions/SearchBuilder")
- ("https://cdn.datatables.net/searchbuilder/1.0.0/js/searchBuilder.bootstrap.js"
- "1gnd8rjcg9c96xayshn9rwinzgmlwzddczjlpfmf2j33npmyka2y"
- "datatables-extensions/SearchBuilder")
- ("https://cdn.datatables.net/searchbuilder/1.0.0/js/searchBuilder.bootstrap4.js"
- "0vdv5mi6zbp2dspmj0lw2vaqxvfadcydlmc6frqv4a68rms7wz05"
- "datatables-extensions/SearchBuilder")
- ("https://cdn.datatables.net/searchbuilder/1.0.0/js/searchBuilder.dataTables.js"
- "0fbzfnaqswb2xq7m1vdzcg7l7qi0wmyz64ml6k4002kp0dm4xnlx"
- "datatables-extensions/SearchBuilder")
-
- ("https://cdn.datatables.net/searchpanes/1.1.1/js/dataTables.searchPanes.js"
- "1s697avk42h24fsaq79d1kkw66dqig7xgpx9bvmhwncv8amkmz6i"
- "datatables-extensions/SearchPanes")
- ("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.bootstrap.js"
- "0n3z4fdx1nsga4l5hmd4s93piv9k0v607xd7q9h2zpq613if7sld"
- "datatables-extensions/SearchPanes")
- ("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.bootstrap4.js"
- "1i1arnvxp57z01wc207jxnw9h8clcish6l96c2gnmachgkaz8lqa"
- "datatables-extensions/SearchPanes")
- ("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.dataTables.js"
- "04zzg7i46igcd6gfvdln5alpgjn7m663yf9bf2f3fk9va4fvis6y"
- "datatables-extensions/SearchPanes")
- ("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.foundation.js"
- "0m78wdajxn1m3j9jn9jfwqf73wwsxrsfw4zf84h5y6saj4rrcz72"
- "datatables-extensions/SearchPanes")
- ("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.jqueryui.js"
- "0zb2x736isb8nxrmd7j8nb78lj8h0h9j3axnbjiybwzzk819xw1m"
- "datatables-extensions/SearchPanes")
- ("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.semanticui.js"
- "1781d0xmx7xz0jly0wsw2zbrdmfc1crahmcdbsfbj5s66kdsnd7c"
- "datatables-extensions/SearchPanes")
-
- ("https://cdn.datatables.net/select/1.3.1/js/dataTables.select.js"
- "0a7bkbz1cizhiq4h417b4rcdr7998pn8q4dlyzx8449xdp0h0n0v"
- "datatables-extensions/Select")
- ("https://cdn.datatables.net/select/1.3.1/js/select.bootstrap.js"
- "0mm5ly3p2iprlfi8ajz548rjqx8lz1sbjj5ysgqmwqg14gw7l9k7"
- "datatables-extensions/Select")
- ("https://cdn.datatables.net/select/1.3.1/js/select.bootstrap4.js"
- "1hv6d9lwgflmxhy7mdfb9rvli2wa2cbkdhqjz64zkf1a1a7wlb5q"
- "datatables-extensions/Select")
- ("https://cdn.datatables.net/select/1.3.1/js/select.foundation.js"
- "1zzygcbngvrqh7m22x0s23k8m5xj5fv1p466pzjs23p94qq24a2r"
- "datatables-extensions/Select")
- ("https://cdn.datatables.net/select/1.3.1/js/select.jqueryui.js"
- "1hv5zlmfifd27hylfqsji09y2hbp3m2hnb7j41418sjrxs63f6x6"
- "datatables-extensions/Select")
- ("https://cdn.datatables.net/select/1.3.1/js/select.semanticui.js"
- "0q6q3vb6pa5nmkxy7zcnjs0bkn4ldw8ykdcfrc04bf1d2hjjaw47"
- "datatables-extensions/Select"))))
+ (let* ((extension-url (lambda (name version file)
+ (format #false
+ "https://cdn.datatables.net/~a/~a/js/~a"
+ (string-downcase name)
+ version file)))
+ (extensions
+ '(((name . "AutoFill")
+ (version . "2.4.0")
+ (files . (("dataTables.autoFill.js"
+ "098a4kd4cahc618x543nqc388mpg4ximg3mc43dfjs8p9gsjr6pm")
+ ("autoFill.bootstrap.js"
+ "1zi7iiq63i5qx3p9cyynn6am4idxwj8xaz8mp4n3klm1x68sc0ja")
+ ("autoFill.bootstrap4.js"
+ "1vk2smcz14raf0cz88a65yf36a7mnmbml02q03apg2b8bqy91m7w")
+ ("autoFill.bootstrap5.js"
+ "0azvycv5vgny0a60b3yl5m129qa2780bcxij9x4lqhi7jj8g8cdi")
+ ("autoFill.bulma.js"
+ "047fyrq59xa1xvzywc5q1dr201ky0wnr7iiljmc5kpgw9k2hfm8z")
+ ("autoFill.dataTables.js"
+ "1rz0d1w8m1xr3y64sy88c0ahs04dff8k353vnf5ck1kmfqz7iyz5")
+ ("autoFill.foundation.js"
+ "0sbcib1461pkglk69fzzqi73g4abylah74f264v0f79dc5247yzz")
+ ("autoFill.jqueryui.js"
+ "1dw9vbbchzbd2c7id8na2p1cxac2kgjbzjrvqafra715hr0i4z3z")
+ ("autoFill.semanticui.js"
+ "07ck81y6wpqchq8jfym6gjgc57xwj6vv9h5w9grc1gps6p7q9xnr"))))
+ ((name . "Buttons")
+ (version . "2.2.3")
+ (files . (("dataTables.buttons.js"
+ "0yvvnk57qzq50x2z8gb0269636qz2m8050lwp84ic9l98kwkfsqr")
+ ("buttons.bootstrap.js"
+ "11z9m0lnicac0hibh4d87gfgzzql816pa442xykdlraji52jx8h7")
+ ("buttons.bootstrap4.js"
+ "1n2l595jk2ndbq57ns9mjvpzs354xlpnqghhm27a4ipc29hil9i7")
+ ("buttons.bootstrap5.js"
+ "0qsr748lns5hd52yy4w3w392f9f0y0jn0z382vna6fwynamkpmxi")
+ ("buttons.bulma.js"
+ "08f0969mwyd6x2hgg62b74c53aiq1j7aiwivpi5qbhm64r5haxg2")
+ ("buttons.colVis.js"
+ "1gc2162lyw1l790973mbqhsbapypdf410g5dlhmarnb6w783awhi")
+ ("buttons.foundation.js"
+ "1hhrylxg5jfc0x22gf372bmh2b3nbd0vrl3mi47bp23kgnq7ymdl")
+ ("buttons.html5.js"
+ "1dvy05j0w1galnwgvnisp0zg3indrjikl66z1qzm0m00zz9d1vjr")
+ ("buttons.jqueryui.js"
+ "0y2fgadmj1bmdak3bz80rzkjsa55di5py3m5cn5qmd21a0jam5c5")
+ ("buttons.print.js"
+ "0fxkla48jda592jk0vg9n5jh39d8czibqmq0hmiz8l5d5dyimwi6")
+ ("buttons.semanticui.js"
+ "1v2p8fr68jsjnkgych55qk4lwjj7cix51pl6gykqfr140ps4wfv0"))))
+ ((name . "ColReorder")
+ (version . "1.5.6")
+ (files . (("dataTables.colReorder.js"
+ "0xg1vhrmzy758zygq4n8sriwxkalvqrv4l36rxk4zkgr74iqdcl9")
+ ("colReorder.bootstrap.js"
+ "0crgmjwcn817yz6ibjkji6gsickvv2a4las9asyldfcpj2c99x84")
+ ("colReorder.bootstrap4.js"
+ "065fhw4v2d9rp3ic9zfb1q5d7pfq4f2949rr24hdjbspf19m3ymd")
+ ("colReorder.bootstrap5.js"
+ "1bsdixwgjlgj8hfgcj4kz23bzn9pj2w6fay1bywk4k42wy9hkwcd")
+ ("colReorder.bulma.js"
+ "0ld1bvcizcq6rd31sn0dcb9md7ri1b3npi64hd8nwz5jr2ln0izh")
+ ("colReorder.foundation.js"
+ "0nrddc8swkmsfzji518kh6ks55ykyk9p8r4x5fmf8ckr9fhjkh0s")
+ ("colReorder.jqueryui.js"
+ "1rd8hijz3prg2y36fvqczrpdzixibjy2dxgs2fmgr8wrm8k01rrm")
+ ("colReorder.semanticui.js"
+ "17kw143ny0nq0yidsffw3cpghvlg2bzlzavfi0ihkamcn26ymxcp"))))
+ ((name . "DateTime")
+ (version . "1.1.2")
+ (files . (("dataTables.dateTime.js"
+ "022znjrf95yxn72j3cbasvsrqnbxcch10jbv2gb1816ngw90ykrd"))))
+ ((name . "FixedColumns")
+ (version . "4.1.0")
+ (files . (("dataTables.fixedColumns.js"
+ "1mayfgas63gbzxbbliy56d5b4c5rkyqzvmj3mzrpwyvaf90jskxg")
+ ("fixedColumns.bootstrap.js"
+ "0463y93jl926s3kmx35vw7k95zwz18z917kxiygjw1i3flbyw979")
+ ("fixedColumns.bootstrap4.js"
+ "04z19y4qb0sqcvlra8h15vbpfw6w2brkwh5msvpn6g8hslq7xfqg")
+ ("fixedColumns.bootstrap5.js"
+ "1jgwl5v6b44q8fjdaphqliyl749mmd6bjg9qgnss4xspz4ix5600")
+ ("fixedColumns.bulma.js"
+ "0dvw6adjr0h19vysmwynsg2kjs2ihm6slsybpaw50qz28is6qj1i")
+ ("fixedColumns.foundation.js"
+ "1xmxsxd5phm5r67pvd6r7rqi7l83pw6gp9a9kfjvs7a8s1fbcv7j")
+ ("fixedColumns.jqueryui.js"
+ "0996m40kl7q8bg9przp4lzmp4z2flr538sv2phg3hsl0mra4yqx2")
+ ("fixedColumns.semanticui.js"
+ "0wwxkk7ias986c1iyd2wfd4gcarla99mcaaancgxcadqil6gs2z7"))))
+ ((name . "FixedHeader")
+ (version . "3.2.4")
+ (files . (("dataTables.fixedHeader.js"
+ "1hz2b1987hw8xnbm7fgf1wifjsx9zzzc2y1jxa4fcdvlhyqcikqh")
+ ("fixedHeader.bootstrap.js"
+ "1qf3pkb3svpia7g8bwyql7ma3x2g4zj5bp0d14pnv8xpc9h52r93")
+ ("fixedHeader.bootstrap4.js"
+ "19jcvnk7zh4k6fd5si3b743x70qzlkqiw3m10jbc5jzbpz8sj6qd")
+ ("fixedHeader.bootstrap5.js"
+ "0p8av4ipbwfqfpkpkz9i32rcihx437rbmi4sq6s58rb97vpj1hjr")
+ ("fixedHeader.bulma.js"
+ "1cs3fwx7y1an06ckr4b95crs81sl8xhgs10ggvjghbqdinzkx42v")
+ ("fixedHeader.foundation.js"
+ "0yd1812jrlrawv1sr4n83rl59n1gfablxbhhs8jp4h3mj3f0881p")
+ ("fixedHeader.jqueryui.js"
+ "1lc0g2cag1sj3bqmh7rh5z00pmfv1srxfhwi32y4mgpzhrzpfzxn")
+ ("fixedHeader.semanticui.js"
+ "1v0i6dc68h8l8673fb5970igzkl7as36riv504iyg82glfi7n877"))))
+ ((name . "KeyTable")
+ (version . "2.7.0")
+ (files . (("dataTables.keyTable.js"
+ "0fhpzwdcjcigal2bbh1slq23lvp2xi16f3ninmigczk7p719jfxm")
+ ("keyTable.bootstrap.js"
+ "0hnhk6am4yl6h6bb7as935k8h2syil9hf8g7nn409yd3ws736xpj")
+ ("keyTable.bootstrap4.js"
+ "0r85mp5yf9hgl5ayzzs46dfbxa231bjlvgb8lqpyzik1m6afa51i")
+ ("keyTable.bootstrap5.js"
+ "0k24shf3v8frjp5m055g4fcdp48m8ird6c51p514m0ky97cdfhrp")
+ ("keyTable.bulma.js"
+ "1fgb5v85b6fblm4dh68y5z2hpwy46b15a2x483aszac5177xw9h1")
+ ("keyTable.foundation.js"
+ "11fr14p33lyvs0wfcx228m600i4qcaqb44q3hk723jxcz59k17dw")
+ ("keyTable.jqueryui.js"
+ "0572rxrvwyprdr8l5jkgacj2bkmhmgxjy5vybm65n54g9j19l6bc")
+ ("keyTable.semanticui.js"
+ "157mqn9mhmmf7vas2das4hbpwipk3wshs8n0808q04rbijr0g2bz"))))
+ ((name . "Responsive")
+ (version . "2.3.0")
+ (files . (("dataTables.responsive.js"
+ "1pfc8bkg33jmzbjmdbvlvf4qi6jp42f5c9vzg59p017cwlcdai8q")
+ ("responsive.bootstrap.js"
+ "1xxlh01vmzmfwwlsa611pl2nrl2sx58rp8xmx301bfsylmp2v5b2")
+ ("responsive.bootstrap4.js"
+ "1zjh15p7n1038sggaxv1xvcwbkhw2nk1ndx745s6cxiqb69y3i0h")
+ ("responsive.bootstrap5.js"
+ "0c1dwa0hq5dcb2g4h7s5fidzfm5f87gwx79zw63jxw0p6x3qs2qn")
+ ("responsive.bulma.js"
+ "09gy9v9506am6w3xlkcx12b2sqp3gg09vrs3ns515f1512bnfsrm")
+ ("responsive.foundation.js"
+ "1qgyqw3r8a60rm9csiq5ym9bfazzyybrk8ana3mk8pxjs2cnryq7")
+ ("responsive.jqueryui.js"
+ "10nykak2kf4sai64girh26xdmdil29jvw3zja2rpp2qzjg4172z9")
+ ("responsive.semanticui.js"
+ "191d69i7pzh63fjkfwz8xkxh1rlbxk43xywkad7129c6hqsw4gml"))))
+ ((name . "RowGroup")
+ (version . "1.2.0")
+ (files . (("dataTables.rowGroup.js"
+ "0vl3962x0syhxnxnc5cb6dx3711m3gfsfj1i715b2rc4pyxwbzi2")
+ ("rowGroup.bootstrap.js"
+ "1xfdhqgznz9x1v8spvql6b0wbna13h8cbzvkjza14nqsmccxck66")
+ ("rowGroup.bootstrap4.js"
+ "1xm53sda4fabwdaglngrj09bpiygkn9mm17grxbykn1jazqqdp62")
+ ("rowGroup.bootstrap5.js"
+ "1z5ii27dhi5qznp279p458zcx4q322dkwswmk45wh1sx5ws9kxcp")
+ ("rowGroup.bulma.js"
+ "0bwa2bw7wasbvc35c1m78i7vb2yf4dwr7wp1qclw3lv8sx137i4d")
+ ("rowGroup.foundation.js"
+ "0832i10vils1wv1sm10qvsnd4i2k2xkhskz6i9y2q0axkmk73hcd")
+ ("rowGroup.jqueryui.js"
+ "0n53cd294s9mjblkykkqvd9n414bsc26wpcg5spxdscjl6hxh79p")
+ ("rowGroup.semanticui.js"
+ "010wls5nf387p21fdc2k952bxq89r5kxkv7j4wbvwf8k2a18cmc9"))))
+ ((name . "RowReorder")
+ (version . "1.2.8")
+ (files . (("dataTables.rowReorder.js"
+ "1hjh4c5dp82sxyhd38k363dmsdhpq02fmbz3wah0ggns1i4hhpq4")
+ ("rowReorder.bootstrap.js"
+ "185if2pxgc940rm49hdgln57pc5h9cszlii3bfpdf3pdc1fjhckm")
+ ("rowReorder.bootstrap4.js"
+ "14129x4md57i4ff7j18m49jn5fw8r716np84cdrcawlydgjsxp4a")
+ ("rowReorder.bootstrap5.js"
+ "1shq721y56ms72zsn00glpfm44hl120zh6nslj20w3d5maly6xp8")
+ ("rowReorder.bulma.js"
+ "16rpjsbiwv4vdrmigkcnj9cyxgm2cscnvn0ac079s3qh1gi7ysv0")
+ ("rowReorder.foundation.js"
+ "0zg94jckymxzda2xjyj9p38y5v61cji55kak1ylq72l6a9sw8sg6")
+ ("rowReorder.jqueryui.js"
+ "08gm419xcixgqw0i5yv2mxyyvafhzviibifp6nv129vdxx0a5d8v")
+ ("rowReorder.semanticui.js"
+ "1zjrx2rlgw3qannsqa88pcp3i4pc87pwv7rmgfw1dar8namkr9kk"))))
+ ((name . "Scroller")
+ (version . "2.0.7")
+ (files . (("dataTables.scroller.js"
+ "0vk7kxv78nmmr5y9rqshh4rglj9wd1fhlq1jzyxz5mpdc4scn82w")
+ ("scroller.bootstrap.js"
+ "19dl40dl8ir21xvs1j7xhm2a4py1m21xbypwn499fg2awj8vaidi")
+ ("scroller.bootstrap4.js"
+ "0pbkgncijlafwdmyh4l65dabd18hzjh8r01cad3b9iy8cfif6iwd")
+ ("scroller.bootstrap5.js"
+ "0h257c782ypbncsavrlzrhzc2dpmilkgrpcfmzlyxs964c0lb03d")
+ ("scroller.bulma.js"
+ "0yn1c4aj64h3h93g8x4q76zf9l8h9r3i5x6havvqx1h5q3xzrz6a")
+ ("scroller.foundation.js"
+ "04bk6ink8wqay7655v93jvv86m3bn6asrsfb22i99rgxdvm8gn1z")
+ ("scroller.jqueryui.js"
+ "1md5mpx5in7wzsr38yn801cmv3phm0i0ikdnpd0b1nsna5ccpj14")
+ ("scroller.semanticui.js"
+ "1dfbblbzbryjgiv31qfdjnijz19lmyijg12win3y8gsgfd4fp9zz"))))
+ ((name . "SearchBuilder")
+ (version . "1.3.4")
+ (files . (("dataTables.searchBuilder.js"
+ "02l908xd2r6vnjygwvnbyhv0qckg4nyq00zwcmpz5a2aiqz68vwn")
+ ("searchBuilder.bootstrap.js"
+ "00a5sb9n180nmpghnks0xiwhpaq8nqf7gsh112vqm4m63b3nfiq7")
+ ("searchBuilder.bootstrap4.js"
+ "1rf58fdfjdwr86ywfapaixclcixhwd46nw0q6zprwrms1h90wbqq")
+ ("searchBuilder.bootstrap5.js"
+ "0wizg55hxf79kapcsrjmzkr2v619bqva64s6l9f8crdzknvfxw06")
+ ("searchBuilder.bulma.js"
+ "0sc72fkffggxrms08ffc512r2cj3k2rs0rn75r472b0mkrz7fiaa")
+ ("searchBuilder.foundation.js"
+ "0xirkl92gws8yirip39q9vsnaghxh4c86ny9n3a08mswrr5zkl4f")
+ ("searchBuilder.jqueryui.js"
+ "1h91w1nk5r8a8xhk891p2ljif8bxigl9x0cm0hzkxihiv9bkskyx")
+ ("searchBuilder.semanticui.js"
+ "15icf6dicb6v1sw58llrd74nsjqkghnjfn50ylyvw3rcbw6a9drl"))))
+ ((name . "SearchPanes")
+ (version . "2.0.2")
+ (files . (("dataTables.searchPanes.js"
+ "1baxayq9gjkyvyv463cj2ckzplgh88800kvgkr7ji5nmbvd4qhss")
+ ("searchPanes.bootstrap.js"
+ "0p3x6345aqhr4aw447pc9dxc0kb9pz31vvf1ikcv8li5bdcgdk4q")
+ ("searchPanes.bootstrap4.js"
+ "1l21c1jnsmakbi6z1kq4cy3ydirm8l25qwhzl5hwvw4kjpc0mi8n")
+ ("searchPanes.bootstrap5.js"
+ "1sgw7hxhwnm59l8c0bkk4l9vp3blf8mq4wn4zfrv4cvxlawncdr8")
+ ("searchPanes.bulma.js"
+ "0yrabx503jcrzmh97xzpbbs59ba714a17sm9n1ls1yc8pmk3327x")
+ ("searchPanes.foundation.js"
+ "1f4pzr4h1hjcvnb3s7sdpdps7b29sgp3l7hbclv39dx8lmwv5fx4")
+ ("searchPanes.jqueryui.js"
+ "1s1xfqdnzj16ad5z1nxpziabf4vfxzc7a7jrfh10mfhnzklzf8sa")
+ ("searchPanes.semanticui.js"
+ "1qydrghn8033zmaww9zm3fi7maakgb61vvvrqynypyrc56y53w6n"))))
+ ((name . "Select")
+ (version . "1.4.0")
+ (files . (("dataTables.select.js"
+ "1rz7ljiazy3v7xkyccn33wxij1bcz3mzkn7kpha8a3d4zy1b1n2j")
+ ("select.bootstrap.js"
+ "0mm5ly3p2iprlfi8ajz548rjqx8lz1sbjj5ysgqmwqg14gw7l9k7")
+ ("select.bootstrap4.js"
+ "1hv6d9lwgflmxhy7mdfb9rvli2wa2cbkdhqjz64zkf1a1a7wlb5q")
+ ("select.bootstrap5.js"
+ "0ixzqpkrd24np1p9wkq857ddgvs00zb5jzpw6zwj7nbpws0qf9df")
+ ("select.bulma.js"
+ "14vw871rqz4wfzy8nns9nsmjyfv0g6xdcrv1x3c8i0r53qciymqz")
+ ("select.foundation.js"
+ "1zzygcbngvrqh7m22x0s23k8m5xj5fv1p466pzjs23p94qq24a2r")
+ ("select.jqueryui.js"
+ "1hv5zlmfifd27hylfqsji09y2hbp3m2hnb7j41418sjrxs63f6x6")
+ ("select.semanticui.js"
+ "0q6q3vb6pa5nmkxy7zcnjs0bkn4ldw8ykdcfrc04bf1d2hjjaw47"))))
+ ((name . "StateRestore")
+ (version . "1.1.1")
+ (files . (("dataTables.stateRestore.js"
+ "0f1df3kqgvka5kcxs8dxm33g3kgdxhphr95013rz5wmwcxfbgfwb")
+ ("stateRestore.bootstrap.js"
+ "07n6z3ffdg2hqbkjh15bgp96jv0mr8xbm0zn7ckkwkyfiw7085jf")
+ ("stateRestore.bootstrap4.js"
+ "15l9ka5vq37y7axfmm8s7kfim12mir2xiqfqqf9s031647kld0am")
+ ("stateRestore.bootstrap5.js"
+ "1sdcycdnp5m65d9glch2mqd5lbaq2gaxgyl1x91bynzpnwi2q6mc")
+ ("stateRestore.bulma.js"
+ "06ly3r8b2jwb62hj4im6kg694rp6gnjvb0fvzvivndgqk4bqz22s")
+ ("stateRestore.foundation.js"
+ "17qrf8ihw4k3as9fsxhqz7qndi4k7j3x901sn6kj5yy82cgrvafa")
+ ("stateRestore.jqueryui.js"
+ "0gcbn5n12vg2ifvqhpgb7ligjzz2qr1dp4pzn3jw8nn264warn3p")
+ ("stateRestore.semanticui.js"
+ "0d61jhj2chln9q39hdbapxbw90142gaizjwshh0svlnn2pd3m5nx"))))))
+ (javascript-sources
+ `(("https://cdn.datatables.net/1.12.1/js/jquery.dataTables.js"
+ "16wdm7gvfikwgc9zw7qdjwjc0ry55v60ldmqvza8911las26q93k"
+ "datatables")
+ ("https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap.js"
+ "0r0gxzxg7hr95k3cgv0hscxh058qxddj11f9l1x3czivlx1pbcp4"
+ "datatables")
+ ("https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap4.js"
+ "0p0jbg44ipp6qkpsawndzxaxk34f5dd6jn3k6g86smrn2c8vaknr"
+ "datatables")
+ ("https://cdn.datatables.net/1.12.1/js/dataTables.bootstrap5.js"
+ "1qzmaqij2hxs0gn6vjqsw5bgx109qgs7qpkp3c4p44pkkmx3g58h"
+ "datatables")
+ ("https://cdn.datatables.net/1.12.1/js/dataTables.bulma.js"
+ "1gvw4al40i134gphna2pij0hq9h9cqlj1rhmncan435hzpzrxhpb"
+ "datatables")
+ ("https://cdn.datatables.net/1.12.1/js/dataTables.foundation.js"
+ "193hy4kyiig4zz59y4m9714l7p9gk6n9p937qlfg83dr5l9x6kdp"
+ "datatables")
+ ("https://cdn.datatables.net/1.12.1/js/dataTables.jqueryui.js"
+ "1k8a31d43jiv56dvcai5xs0ja4y521xp9h25lgsa40ccsyn33k7n"
+ "datatables")
+ ("https://cdn.datatables.net/1.12.1/js/dataTables.semanticui.js"
+ "01xih6l7bn3ddmhnkvyvf79xdlgdzpasx3cx4fkkijay593gl2vb"
+ "datatables")
+ ("https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.js"
+ "01l5lw49jz2qn6k9i63dk4llar4lvvpd6xp6i45mpwfk49fbxqg2"
+ "datatables-extensions/Buttons")
+ ,@(apply append
+ (map (lambda (extension)
+ (map (lambda (file+hash)
+ (list (extension-url (assoc-ref extension 'name)
+ (assoc-ref extension 'version)
+ (car file+hash))
+ (cadr file+hash)
+ (string-append "datatables-extensions/"
+ (assoc-ref extension 'name))))
+ (assoc-ref extension 'files)))
+ extensions)))))
(package
(name "r-dt")
- (version "0.25")
+ (version "0.26")
(source (origin
(method url-fetch)
(uri (cran-uri "DT" version))
(sha256
(base32
- "0as43h4minnz5c09nvbvq8b1d9506mzkcdl98bhf87rf0q9qgz0d"))
- (modules '((guix build utils)))
+ "0303yxvzi8ln677716pv7m6fih5dclfqw9aram0lzm16w4mr64n4"))
+ (modules '((guix build utils)
+ (ice-9 match)))
(snippet
- '(for-each delete-file
- (find-files "inst/htmlwidgets/lib" "\\.min\\.js$")))))
+ `(with-directory-excursion "inst/htmlwidgets/lib"
+ (for-each (match-lambda
+ ((url hash dir)
+ (let ((file (string-append dir "/js/" (basename url ".js") ".min.js")))
+ (delete-file file))))
+ ',javascript-sources)
+ (delete-file "nouislider/jquery.nouislider.min.js")
+ (delete-file "selectize/selectize.min.js")
+ (with-directory-excursion "datatables-plugins/features/"
+ (for-each delete-file
+ '("scrollResize/source.min.js"
+ "searchHighlight/source.min.js")))))))
(properties
`((upstream-name . "DT")))
(build-system r-build-system)
@@ -3640,7 +3676,7 @@ using the multicore functionality of the parallel package.")
`(("r-knitr" ,r-knitr)
("uglifyjs" ,node-uglify-js)
("datatables-plugins"
- ,(let ((version "1.10.20"))
+ ,(let ((version "1.12.0"))
(origin
(method git-fetch)
(uri (git-reference
@@ -3649,7 +3685,7 @@ using the multicore functionality of the parallel package.")
(file-name (git-file-name "datatables-plugins" version))
(sha256
(base32
- "05zni20863ml1711lfllljdfkb3k05h0kpqhkijkbp0bp7q0ak94")))))
+ "15kiqjy0ssd2ksvrqv8jyg9gc92ga3kn542vp1mij5hnfcbj6hf8")))))
("js-nouislider"
,(let ((version "7.0.10"))
(origin
@@ -3724,13 +3760,13 @@ analysis of large sparse or dense matrices.")
(define-public r-glmnet
(package
(name "r-glmnet")
- (version "4.1-4")
+ (version "4.1-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "glmnet" version))
(sha256
- (base32 "1y80a3b5s24ywhlil3r7b3a0vs9j59d7jkxrqa8zz09x1c5ggc7n"))))
+ (base32 "0c3y9g3k0f0yclcffxzgfhfylb3py0iydhyspcjdrl44lb7cdi5y"))))
(build-system r-build-system)
(native-inputs
(list gfortran r-knitr))
@@ -3871,13 +3907,13 @@ computation, bagged clustering, naive Bayes classifier, and more.")
(define-public r-bigmemory-sri
(package
(name "r-bigmemory-sri")
- (version "0.1.3")
+ (version "0.1.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "bigmemory.sri" version))
(sha256
- (base32 "0mg14ilwdkd64q2ri9jdwnk7mp55dqim7xfifrs65sdsv1934h2m"))))
+ (base32 "03468ak0lgd9m0f7synxms2zzr8f7n2nm1gmhcraj3nfcv4nmyiv"))))
(properties
`((upstream-name . "bigmemory.sri")))
(build-system r-build-system)
@@ -3984,13 +4020,13 @@ maintenance for package developers.")
(define-public r-r-utils
(package
(name "r-r-utils")
- (version "2.12.1")
+ (version "2.12.2")
(source (origin
(method url-fetch)
(uri (cran-uri "R.utils" version))
(sha256
(base32
- "0qmd16g0wmalm9q2mwvzxcpvizc2ss94zgcxrn29d7z9pq1jkf1y"))))
+ "0dl8rc7s7vg4g2pkmrwwqx7dkm02096jk439x4s0cm21hsmg2g7y"))))
(properties `((upstream-name . "R.utils")))
(build-system r-build-system)
(propagated-inputs
@@ -4085,13 +4121,13 @@ t-probabilities, quantiles, random deviates and densities.")
(define-public r-matrixstats
(package
(name "r-matrixstats")
- (version "0.62.0")
+ (version "0.63.0")
(source (origin
(method url-fetch)
(uri (cran-uri "matrixStats" version))
(sha256
(base32
- "1jjfsi5vzx6js7phlnd3v64fd05fg0jyz8iq5pivy36jdmmh3ql5"))))
+ "0pqz6mn5l7inh464yj45i6rf8ycab0zdvvjczwsv0bkl442bc060"))))
(properties `((upstream-name . "matrixStats")))
(build-system r-build-system)
(arguments
@@ -4275,14 +4311,53 @@ features present in other programming languages.")
(define-public r-plotly
(package
(name "r-plotly")
- (version "4.10.0")
+ (version "4.10.1")
(source (origin
(method url-fetch)
(uri (cran-uri "plotly" version))
(sha256
(base32
- "16iqj7sv49mva6siibsci7iijsbnk7pqvfns9al0k35w9mjmr6dx"))))
+ "0yin1kid3a69fcwrrajwzqbhx4xc81x8p8m0yfh1fkm2rfhj22dc"))
+ (modules '((guix build utils)))
+ (snippet
+ '(with-directory-excursion "inst/htmlwidgets/lib/"
+ (for-each delete-file
+ '("plotlyjs/plotly-latest.min.js"
+ "colourpicker/colourpicker.min.js"
+ "typedarray/typedarray.min.js"
+ "selectize/selectize.min.js"))))))
(build-system r-build-system)
+ (arguments
+ (list
+ #:modules '((guix build utils)
+ (guix build r-build-system)
+ (srfi srfi-1))
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'process-javascript
+ (lambda* (#:key inputs #:allow-other-keys)
+ (with-directory-excursion "inst/htmlwidgets/lib/"
+ (symlink (string-append (assoc-ref inputs "js-selectize")
+ "/share/javascript/selectize.min.js")
+ "selectize/selectize.min.js")
+ (call-with-values
+ (lambda ()
+ (unzip2
+ `((,(assoc-ref inputs "js-plotly")
+ "plotlyjs/plotly-latest.min.js")
+ (,(string-append (assoc-ref inputs "js-colourpicker")
+ "/js/colourpicker.js")
+ "colourpicker/colourpicker.min.js")
+ (,(string-append (assoc-ref inputs "js-typedarray")
+ "/typedarray.js")
+ "typedarray/typedarray.min.js"))))
+ (lambda (sources targets)
+ (for-each (lambda (source target)
+ (format #t "Processing ~a --> ~a~%"
+ source target)
+ (invoke "esbuild" source "--minify"
+ (string-append "--outfile=" target)))
+ sources targets)))))))))
(propagated-inputs
(list r-base64enc
r-crosstalk
@@ -4305,6 +4380,48 @@ features present in other programming languages.")
r-tidyr
r-vctrs
r-viridislite))
+ (native-inputs
+ `(("esbuild" ,esbuild)
+ ("js-colourpicker"
+ ,(let ((commit "27c2a266d51e18a9fe6d7542264152b27c7d34e0")
+ (version "1.1")
+ (revision "0"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/daattali/jquery-colourpicker")
+ (commit commit)))
+ (file-name (git-file-name "jquery-colourpicker"
+ (git-version version revision commit)))
+ (sha256
+ (base32
+ "0lg8amh8xh6p246j38rqghrljd7v5z34i169ra6403z8ga33wiqb")))))
+ ("js-plotly"
+ ,(let ((version "2.11.1"))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/plotly/plotly.js/v"
+ version "/dist/plotly.js"))
+ (sha256
+ (base32
+ "1mxd8s4v3i885w5i02cyzqsrvqfr9w0svdclvqxbd05dly4bdkbj")))))
+ ("js-selectize" ,js-selectize)
+ ;; This is not quite the same as the bundled minified script from 2016,
+ ;; but it seems to be the original with fixes from late 2017.
+ ("js-typedarray"
+ ,(let ((commit "9f7d4168657e2c164d647a6959f402f2c33eb5b4")
+ (version "0")
+ (revision "0"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/inexorabletash/polyfill/")
+ (commit commit)))
+ (file-name (git-file-name "typedarray-polyfill"
+ (git-version version revision commit)))
+ (sha256
+ (base32
+ "0f9np4mmyhny03n3xpwzs07rld30lnfqsnh97x1v7xm0qy0zjanf")))))))
(home-page "https://plot.ly/r")
(synopsis "Create interactive web graphics")
(description
@@ -4500,13 +4617,13 @@ package instead.")
(define-public r-hmisc
(package
(name "r-hmisc")
- (version "4.7-1")
+ (version "4.7-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "Hmisc" version))
(sha256
- (base32 "0zrfi2mmi6wfl6440iqflzzmkina8dhxia2qsamqw6djd0d5fp9j"))))
+ (base32 "0lyacs5q6mdg9lirixl9r2dqs9ljxyn5d53mmb04ci0jam3vk0wc"))))
(properties `((upstream-name . "Hmisc")))
(build-system r-build-system)
(native-inputs
@@ -4607,14 +4724,14 @@ existing packages provide.")
(define-public r-sfsmisc
(package
(name "r-sfsmisc")
- (version "1.1-13")
+ (version "1.1-14")
(source
(origin
(method url-fetch)
(uri (cran-uri "sfsmisc" version))
(sha256
(base32
- "0622yf4fl1b1zm988dfwdrhq7pg0rllhm8wz1pqdmp72glsi05x8"))))
+ "1vxkziprndrzc5sdz36i20qdqfcyw8m87vpxm3jccf6pqbc45adw"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/sfsmisc")
(synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich")
@@ -4626,14 +4743,14 @@ Zurich, including many that are related to graphics.")
(define-public r-gtools
(package
(name "r-gtools")
- (version "3.9.3")
+ (version "3.9.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "gtools" version))
(sha256
(base32
- "0criwc0jmbrgaslh2kdjirgdzbf0ycry8yjryi95fb9qgckm7yvs"))))
+ "04gihp78x2caahqvf0mlv1cqy1m121l6hkdvbp01r2z99wcqpksr"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/gtools")
(synopsis "Various R programming tools")
@@ -5430,14 +5547,14 @@ VGLMs can be loosely thought of as multivariate generalised linear models.")
(define-public r-pbapply
(package
(name "r-pbapply")
- (version "1.5-0")
+ (version "1.6-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "pbapply" version))
(sha256
(base32
- "0m8a0ygwl98cs0vcha5gs9f7z8whcplwxhravhs9bfp5hvigxzgg"))))
+ "0qbzqgxz3lm97y0k9v2radqblzb4r5zkfrjw5wj1a91dvxz3xhg8"))))
(build-system r-build-system)
(home-page "https://github.com/psolymos/pbapply")
(synopsis "Adding progress bar to apply functions")
@@ -5473,14 +5590,14 @@ based on an interface to Fortran implementations by M. J. D. Powell.")
(define-public r-rcppeigen
(package
(name "r-rcppeigen")
- (version "0.3.3.9.2")
+ (version "0.3.3.9.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "RcppEigen" version))
(sha256
(base32
- "14ylrq7mmylmi513zkwyqqy43kqbz95fc6fzpagqvyx6snaffir5"))))
+ "0xhwgn77166ir7qnzl25mj0byskkqr0b36hihrpr2zaqsrzs8wsq"))))
(properties `((upstream-name . "RcppEigen")))
(build-system r-build-system)
(propagated-inputs
@@ -5600,14 +5717,14 @@ algorithms.")
(define-public r-lme4
(package
(name "r-lme4")
- (version "1.1-30")
+ (version "1.1-31")
(source
(origin
(method url-fetch)
(uri (cran-uri "lme4" version))
(sha256
(base32
- "03rhg6cnsvdk06a1yxkivfvfwlx9934nd9q6jnp0bzscnv2dzazx"))))
+ "1zgdfbzc8lv4rrsjdacagwa693ij2bmn6xkc1bnfbv1z7pix3zss"))))
(build-system r-build-system)
(propagated-inputs
(list r-boot
@@ -5928,17 +6045,17 @@ is supported.")
(define-public r-lubridate
(package
(name "r-lubridate")
- (version "1.8.0")
+ (version "1.9.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "lubridate" version))
(sha256
(base32
- "199b00cql07gf3rf4hh5ba34amnk0ai40zhx73dq1mpkn7ynxml7"))))
+ "0flh3arja7al9xznj5jvicadvq1kb2s63zyg63wlx2bii8gh8dmr"))))
(build-system r-build-system)
(propagated-inputs
- (list r-generics r-cpp11))
+ (list r-generics r-timechange))
(native-inputs
(list r-knitr))
(home-page "https://cran.r-project.org/web/packages/lubridate/")
@@ -6649,14 +6766,14 @@ or eta squared effect size.")
(define-public r-logspline
(package
(name "r-logspline")
- (version "2.1.17")
+ (version "2.1.19")
(source
(origin
(method url-fetch)
(uri (cran-uri "logspline" version))
(sha256
(base32
- "05c8l22zcvb086909h9vw7icphww703vkcxp2h881y4n1232pdq3"))))
+ "1527cnnn5qdjp8gr4yls0jp0aachjz5s2v79vs79vrfyvxp9w89p"))))
(properties `((upstream-name . "logspline")))
(build-system r-build-system)
(native-inputs (list gfortran))
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 0deec8fb3a..5ecbb1e4cd 100644
--- a/gnu/packages/texinfo.scm
+++ b/gnu/packages/texinfo.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2015, 2016, 2017, 2019, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2019, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -40,6 +40,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
+ #:use-module ((gnu packages hurd) #:select (hurd-target?))
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages readline))
@@ -71,7 +72,10 @@
(("env -i")
"env "))
#t)))
- %standard-phases)))
+ %standard-phases)
+
+ ;; XXX: Work around <https://issues.guix.gnu.org/59616>.
+ #:tests? ,(not (hurd-target?))))
(inputs (list ncurses perl))
;; When cross-compiling, texinfo will build some of its own binaries with
;; the native compiler. This means ncurses is needed both in both inputs
@@ -98,14 +102,14 @@ is on expressing the content semantically, avoiding physical markup commands.")
(define-public texinfo-7
(package
(inherit texinfo)
- (version "7.0")
+ (version "7.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/texinfo/texinfo-"
version ".tar.xz"))
(sha256
(base32
- "1q73zd0bm7zjamc5ssf329v7fndd8dqv0d7fii6s1rqwaf14nx10"))))))
+ "1cn6na6vgz6nhda0f5naiysx5sqhw3azi81qk6hah1yqnbyj3lmw"))))))
(define-public texinfo-5
(package (inherit texinfo)
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 4d472575fa..a95cf37011 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -310,7 +310,7 @@ bindings and many of the powerful features of GNU Emacs.")
(define-public jucipp
(package
(name "jucipp")
- (version "1.7.1")
+ (version "1.7.2")
(home-page "https://gitlab.com/cppit/jucipp")
(source (origin
(method git-fetch)
@@ -322,7 +322,7 @@ bindings and many of the powerful features of GNU Emacs.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "0xyf1fa7jvxzvg1dxh5vc50fbwjjsar4fmlvbfhicdd1f8bhz1ii"))
+ (base32 "034il3z38a7qvp95f52n9rxbqmh8fxsy416rjak3zzagvfkvzyii"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -346,7 +346,7 @@ bindings and many of the powerful features of GNU Emacs.")
;; Disable the CMake build test, as it does not test
;; functionality of the package, and requires doing
;; an "in-source" build.
- (("add_test\\(cmake_build_test.*\\)")
+ (("add_test\\(cmake_(build|file_api)_test.*\\)")
"")
;; Disable the git test, as it requires the full checkout.
(("add_test\\(git_test.*\\)")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 757187dda7..78dbbebec1 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -5083,7 +5083,7 @@ transcode or reformat the videos in any way, producing perfect backups.")
(define-public svt-av1
(package
(name "svt-av1")
- (version "0.9.1")
+ (version "1.3.0")
(source
(origin
(method git-fetch)
@@ -5092,10 +5092,8 @@ transcode or reformat the videos in any way, producing perfect backups.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "02fchq2vlxcxzbrss72xl9vrxzysdy39d5i159bmg3qa45ngd2iw"))))
+ (base32 "0blnla32yz665bx0xyx8lrjs2wqd2xhpbqwwpz72mq7zf341j8vv"))))
(build-system cmake-build-system)
- ;; SVT-AV1 only supports 64-bit Intel-compatible CPUs.
- (supported-systems '("x86_64-linux"))
(arguments
;; The test suite tries to download test data and git clone a 3rd-party
;; fork of libaom. Skip it.
@@ -5113,7 +5111,8 @@ transcode or reformat the videos in any way, producing perfect backups.")
(synopsis "AV1 video codec")
(description "SVT-AV1 is an AV1 codec implementation. The encoder is a
work-in-progress, aiming to support video-on-demand and live streaming
-applications. It only supports Intel-compatible CPUs (x86).")
+applications with high performance requirements. It mainly targets
+Intel-compatible CPUs (x86), but has limited support for other architectures.")
(home-page "https://gitlab.com/AOMediaCodec/SVT-AV1")
(license license:bsd-2)))
@@ -5569,3 +5568,27 @@ VCS, by default, makes screenshots the same size as the video, see the manual
for details on how to change this.")
(home-page "http://p.outlyer.net/vcs/")
(license license:lgpl2.1+)))
+
+(define-public svtplay-dl
+ (package
+ (name "svtplay-dl")
+ (version "4.14")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spaam/svtplay-dl")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1wdrdszalvhv80m5jizbvjz4jc08acmbpxcsslyfb5cwh842in8m"))))
+ (build-system python-build-system)
+ (inputs (list ffmpeg python-pyaml python-requests python-pysocks
+ python-cryptography))
+ (home-page "https://svtplay-dl.se/")
+ (synopsis "Download or stream SVT Play's (and others) TV programmes")
+ (description
+ "@code{svtplay-dl} allows downloading TV programmes from various Swedish
+broadcasters including SVT Play, Sveriges Radio, TV4 Play, along with many
+others.")
+ (license license:expat)))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 87ed717b9e..7bdd84e187 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4898,6 +4898,69 @@ little effort, and the program to do so is often shorter and simpler than
you'd expect.")
(license (list license:expat license:cc-by3.0))))
+(define-public go-github-com-itchyny-timefmt-go
+ (package
+ (name "go-github-com-itchyny-timefmt-go")
+ (version "0.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/itchyny/timefmt-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z5z8hy5lbjqdxp544mf238i77n7pf7bv3psgr5gffh0630dsyag"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/itchyny/timefmt-go"))
+ (home-page "https://github.com/itchyny/timefmt-go")
+ (synopsis "Efficient time formatting library (strftime, strptime) for Golang")
+ (description
+ "@code{timefmt-go} is a Go language package for formatting and parsing date
+time strings.")
+ (license license:expat)))
+
+(define-public go-github-com-itchyny-gojq
+ (package
+ (name "go-github-com-itchyny-gojq")
+ (version "0.12.9")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/itchyny/gojq")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1m4zchhhi2428r1v0qz08drac4s63mag1pwcqzsf6n495yc3g0h0"))))
+ (build-system go-build-system)
+ (inputs
+ (list go-github-com-google-go-cmp-cmp
+ go-github-com-itchyny-timefmt-go
+ go-github-com-mattn-go-isatty
+ go-github-com-mattn-go-runewidth
+ go-gopkg-in-yaml-v3))
+ (arguments
+ (list
+ #:import-path "github.com/itchyny/gojq/cmd/gojq"
+ #:unpack-path "github.com/itchyny/gojq"))
+ (home-page "https://github.com/itchyny/gojq")
+ (synopsis "Pure Go implementation of jq")
+ (description
+ "@command{gojq} is an Go implementation and library of the jq JSON
+processor.")
+ (license license:expat)))
+
+(define-public gojq
+ (package
+ (inherit go-github-com-itchyny-gojq)
+ (name "gojq")
+ (arguments
+ (ensure-keyword-arguments
+ (package-arguments go-github-com-itchyny-gojq)
+ (list #:install-source? #f)))))
+
(define-public pup
(let ((revision "1")
(commit "681d7bb639334bf485476f5872c5bdab10931f9a"))
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index cf0dc63a38..149ea1bb69 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1725,7 +1725,7 @@ display a clock or apply image manipulation techniques to the background image."
(define-public waybar
(package
(name "waybar")
- (version "0.9.15")
+ (version "0.9.16")
(source
(origin
(method git-fetch)
@@ -1734,7 +1734,7 @@ display a clock or apply image manipulation techniques to the background image."
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0mvwsd3krrlniga0fq13b0qvsf1fj22mk9nzsfgz49r55lqw8sdv"))))
+ (base32 "06vwsax8z6vvvav4c1d40nfiljc7h1cla57r43nv8dw86n539ic5"))))
(build-system meson-build-system)
(inputs (list date
fmt
@@ -2987,3 +2987,49 @@ file.")))
(synopsis "Primitive drawing library for Wayland")
(description "wld is a drawing library that targets Wayland.")
(license license:expat))))
+
+(define-public swc
+ (let ((commit "a7b615567f83d9e48d585251015048c441ca0239")
+ (revision "1"))
+ (package
+ (name "swc")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/michaelforney/swc")
+ (commit commit)))
+ (sha256
+ (base32
+ "19rpbwpi81pm92fkhsmbx7pzagpah5m9ih5h5k3m8dy6r8ihdh35"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ;no tests
+ #:make-flags (list (string-append "CC="
+ ,(cc-for-target))
+ (string-append "PREFIX=" %output))
+ #:phases (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs (list libdrm
+ libinput
+ libxcb
+ libxkbcommon
+ wayland
+ wayland-protocols
+ wld
+ xcb-util-wm))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/michaelforney/swc")
+ (synopsis "Library for making a simple Wayland compositor")
+ (description
+ "swc is a small Wayland compositor implemented as a library.
+
+It has been designed primarily with tiling window managers in mind. Additionally,
+notable features include:
+@itemize
+@item Easy to follow code base
+@item XWayland support
+@item Can place borders around windows
+@end itemize")
+ (license license:expat))))
diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm
index 4d2fd73cee..2d34b49d93 100644
--- a/gnu/packages/wxwidgets.scm
+++ b/gnu/packages/wxwidgets.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +36,7 @@
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages check)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages freedesktop)
@@ -45,18 +47,19 @@
#:use-module (gnu packages image)
#:use-module (gnu packages photo)
#:use-module (gnu packages video)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sdl)
#:use-module (gnu packages webkit)
- #:use-module (gnu packages xorg)
- #:use-module ((srfi srfi-1) #:select (alist-delete)))
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages xorg))
(define-public wxwidgets
(package
(name "wxwidgets")
- (version "3.0.5.1")
+ (version "3.2.1")
(source
(origin
(method url-fetch)
@@ -64,25 +67,129 @@
"releases/download/v" version
"/wxWidgets-" version ".tar.bz2"))
(sha256
- (base32 "01y89999jw5q7njrhxajincx7lydls6yq37ikazjryssrxrnw3s4"))))
+ (base32 "0rpsyph7l7kmpld376y0940la3c94y5vdpxmbkj8isqknimrfaf2"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26)))
+ (snippet
+ '(begin
+ ;; wxWidgets bundles third-party code in the "3rdparty" directory as
+ ;; well as the "src" directory. Remove external components that are
+ ;; not required.
+ (let ((preserved-3rdparty '("nanosvg"))
+ ;; The src directory contains a mixture of third party libraries
+ ;; and similarly-named integration code. Cautiously use a
+ ;; blacklist approach here.
+ (bundled-src '("expat" "jpeg" "png" "tiff" "zlib")))
+ (with-directory-excursion "3rdparty"
+ (for-each delete-file-recursively
+ (scandir "." (negate (cut member <>
+ (append '("." "..")
+ preserved-3rdparty))))))
+ (with-directory-excursion "src"
+ (for-each delete-file-recursively bundled-src)))))))
(build-system glib-or-gtk-build-system)
(inputs
- `(("glu" ,glu)
- ;; XXX gstreamer-0.10 builds fail
- ;; ("gstreamer" ,gstreamer-0.10)
- ("gtk" ,gtk+)
- ("libjpeg" ,libjpeg-turbo)
- ("libmspack" ,libmspack)
- ("libsm" ,libsm)
- ("libtiff" ,libtiff)
- ("mesa" ,mesa)
- ("webkitgtk" ,webkitgtk)
- ("sdl" ,sdl)
- ("shared-mime-info" ,shared-mime-info)
- ("xdg-utils" ,xdg-utils)))
+ (list catch-framework
+ curl
+ expat
+ glu
+ gstreamer
+ gst-plugins-base
+ gtk+
+ libjpeg-turbo
+ libmspack
+ libnotify
+ libpng
+ libsecret
+ libsm
+ libtiff
+ mesa
+ pcre2
+ sdl2
+ shared-mime-info
+ webkitgtk-with-libsoup2
+ xdg-utils
+ zlib))
(native-inputs
(list pkg-config))
(arguments
+ (list
+ #:configure-flags #~'("--with-libmspack"
+ "--with-regex"
+ "--with-sdl"
+ "--enable-gui"
+ "--enable-mediactrl"
+ "--enable-webview"
+ "--enable-webviewwebkit")
+ #:make-flags
+ #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
+ #:tests? #f ;TODO
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-newer-webkit
+ (lambda _
+ ;; XXX: The configure script tests only for an ancient
+ ;; WebKitGTK version.
+ (substitute* "configure"
+ (("webkit2gtk-4\\.0")
+ "webkit2gtk-4.1"))))
+ (add-after 'unpack 'refer-to-inputs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((catch (search-input-file inputs "include/catch.hpp"))
+ (mime (search-input-directory inputs "share/mime"))
+ (xdg-open (search-input-file inputs "bin/xdg-open")))
+ (install-file catch "3rdparty/catch/include/")
+ (substitute* "src/unix/utilsx11.cpp"
+ (("wxExecute\\(xdg_open \\+")
+ (string-append "wxExecute(\"" xdg-open "\"")))
+ (substitute* "src/unix/mimetype.cpp"
+ (("/usr(/local)?/share/mime")
+ mime)))))
+ (replace 'configure
+ (lambda* (#:key native-inputs inputs configure-flags
+ #:allow-other-keys)
+ (let ((sh (search-input-file (or native-inputs inputs)
+ "bin/sh")))
+ ;; The configure script does not understand some of the default
+ ;; options of gnu-build-system, so run it "by hand".
+ (apply invoke "./configure"
+ (string-append "SHELL=" sh)
+ (string-append "CONFIG_SHELL=" sh)
+ (string-append "--prefix=" #$output)
+ configure-flags)))))))
+ (home-page "https://www.wxwidgets.org/")
+ (synopsis "Widget toolkit for creating graphical user interfaces")
+ (description
+ "wxWidgets is a C++ library that lets developers create applications with
+a graphical user interface. It has language bindings for Python, Perl, Ruby
+and many other languages.")
+ (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
+
+(define-public wxwidgets-gtk2
+ (package/inherit wxwidgets
+ (name "wxwidgets-gtk2")
+ (inputs (modify-inputs (package-inputs wxwidgets)
+ (delete "gtk+")
+ (prepend gtk+-2)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments wxwidgets)
+ ((#:configure-flags flags #~'())
+ #~(append #$flags '("--with-gtk=2")))))))
+
+(define-public wxwidgets-3.0
+ (package
+ (inherit wxwidgets)
+ (version "3.0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/wxWidgets/wxWidgets/"
+ "releases/download/v" version
+ "/wxWidgets-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "01y89999jw5q7njrhxajincx7lydls6yq37ikazjryssrxrnw3s4"))))
+ (arguments
`(#:configure-flags
'("--with-regex" "--with-libmspack"
"--with-sdl"
@@ -102,20 +209,24 @@
(modify-phases %standard-phases
(add-after 'unpack 'refer-to-inputs
(lambda* (#:key inputs #:allow-other-keys)
- (let* ((mime (search-input-directory inputs "/share/mime")))
+ (let ((mime (search-input-directory inputs "share/mime"))
+ (xdg-open (search-input-file inputs "bin/xdg-open")))
(substitute* "src/unix/utilsx11.cpp"
(("wxExecute\\(xdg_open \\+")
- (string-append "wxExecute(\"" (which "xdg-open") "\"")))
+ (string-append "wxExecute(\"" xdg-open "\"")))
(substitute* "src/unix/mimetype.cpp"
- (("/usr(/local)?/share/mime") mime))
- #t))))))
- (home-page "https://www.wxwidgets.org/")
- (synopsis "Widget toolkit for creating graphical user interfaces")
- (description
- "wxWidgets is a C++ library that lets developers create applications with
-a graphical user interface. It has language bindings for Python, Perl, Ruby
-and many other languages.")
- (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
+ (("/usr(/local)?/share/mime") mime))))))))))
+
+(define-public wxwidgets-gtk2-3.0
+ (package/inherit wxwidgets-3.0
+ (name "wxwidgets-gtk2")
+ (inputs (modify-inputs (package-inputs wxwidgets-3.0)
+ (delete "gtk+")
+ (prepend gtk+-2)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments wxwidgets-3.0)
+ ((#:configure-flags flags #~'())
+ #~(append #$flags '("--with-gtk=2")))))))
(define-public wxwidgets-2
(package
@@ -152,74 +263,17 @@ and many other languages.")
(("-Wall") "-Wall -Wno-narrowing"))
#t)))))))
-(define-public wxwidgets-gtk2
- (package/inherit wxwidgets
- (inputs `(("gtk+" ,gtk+-2)
- ,@(alist-delete
- "gtk+"
- (package-inputs wxwidgets))))
- (name "wxwidgets-gtk2")))
-
-;; Development version of wxWidgets, required to build against gstreamer-1.x.
-;; This can be removed when wxWidgets is updated to the next stable version.
-(define-public wxwidgets-3.1
- (package (inherit wxwidgets)
- (version "3.1.5")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/wxWidgets/wxWidgets")
- (commit (string-append "v" version))))
- (file-name (git-file-name "wxwidgets" version))
- (sha256
- (base32
- "0j998nzqmycafignclxmahgqm5kgs1fiqbsiyvzm7bnpnafi333y"))))
- (inputs (modify-inputs (package-inputs wxwidgets)
- (prepend catch-framework gstreamer gst-plugins-base)))
- (arguments
- (substitute-keyword-arguments (package-arguments wxwidgets)
- ((#:configure-flags flags)
- '(list "--with-regex" "--with-libmspack" "--with-sdl"
- "--enable-mediactrl" "--enable-webviewwebkit"))
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'add-catch
- (lambda* (#:key inputs #:allow-other-keys)
- (install-file
- (search-input-file inputs "include/catch.hpp")
- "3rdparty/catch/include/")))
- (replace 'configure
- (lambda* (#:key configure-flags inputs native-inputs outputs
- #:allow-other-keys)
- (let ((sh (search-input-file (or native-inputs inputs)
- "bin/sh")))
- (apply invoke "./configure"
- (string-append "SHELL=" sh)
- (string-append "CONFIG_SHELL=" sh)
- (string-append "--prefix="
- (assoc-ref outputs "out"))
- configure-flags))))))))))
-
-(define-public wxwidgets-gtk2-3.1
- (package/inherit wxwidgets-3.1
- (inputs `(("gtk+" ,gtk+-2)
- ,@(alist-delete
- "gtk+"
- (package-inputs wxwidgets-3.1))))
- (name "wxwidgets-gtk2")))
-
(define-public python-wxpython
(package
(name "python-wxpython")
- (version "4.0.7.post1")
+ (version "4.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "wxPython" version))
(sha256
(base32
- "1jppcr3n428m8pgwb9q3g0iiqydxd451ncri4njk8b53xsiflhys"))
+ "1iw6xp76b3fmdqwbqmsx9i1razzpfki5z1hq6l8mszlxa32fng36"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -255,7 +309,7 @@ and many other languages.")
(native-inputs
(list pkg-config python-waf))
(propagated-inputs
- (list python-numpy python-pillow python-six))
+ (list python-attrdict python-numpy python-pillow python-six))
(home-page "https://wxpython.org/")
(synopsis "Cross platform GUI toolkit for Python")
(description "wxPython is a cross-platform GUI toolkit for the Python
@@ -278,7 +332,7 @@ provide a 100% native look and feel for the application.")
(base32 "1fdbvihw1w2vm29xj54cqgpdabhlg0ydf3clkb0qrlf7mhgkc1rz"))))
(build-system glib-or-gtk-build-system)
(inputs
- (list wxwidgets-3.1 cairo ffmpeg))
+ (list wxwidgets cairo ffmpeg))
(native-inputs
(list pkg-config))
(propagated-inputs
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index d99548573d..370696a55e 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -977,148 +977,148 @@ to use as the tty. This is primarily useful for headless systems."
((device-name _ ...)
device-name))))))))
-(define agetty-shepherd-service
- (match-lambda
- (($ <agetty-configuration> agetty tty term baud-rate auto-login
- login-program login-pause? eight-bits? no-reset? remote? flow-control?
- host no-issue? init-string no-clear? local-line extract-baud?
- skip-login? no-newline? login-options chroot hangup? keep-baud? timeout
- detect-case? wait-cr? no-hints? no-hostname? long-hostname?
- erase-characters kill-characters chdir delay nice extra-options
- shepherd-requirement)
- (list
- (shepherd-service
- (documentation "Run agetty on a tty.")
- (provision (list (symbol-append 'term- (string->symbol (or tty "console")))))
-
- ;; Since the login prompt shows the host name, wait for the 'host-name'
- ;; service to be done. Also wait for udev essentially so that the tty
- ;; text is not lost in the middle of kernel messages (see also
- ;; mingetty-shepherd-service).
- (requirement (cons* 'user-processes 'host-name 'udev
- shepherd-requirement))
-
- (modules '((ice-9 match) (gnu build linux-boot)))
- (start
- (with-imported-modules (source-module-closure
- '((gnu build linux-boot)))
- #~(lambda args
- (let ((defaulted-tty #$(or tty (default-serial-port))))
- (apply
- (if defaulted-tty
- (make-forkexec-constructor
- (list #$(file-append util-linux "/sbin/agetty")
- #$@extra-options
- #$@(if eight-bits?
- #~("--8bits")
- #~())
- #$@(if no-reset?
- #~("--noreset")
- #~())
- #$@(if remote?
- #~("--remote")
- #~())
- #$@(if flow-control?
- #~("--flow-control")
- #~())
- #$@(if host
- #~("--host" #$host)
- #~())
- #$@(if no-issue?
- #~("--noissue")
- #~())
- #$@(if init-string
- #~("--init-string" #$init-string)
- #~())
- #$@(if no-clear?
- #~("--noclear")
- #~())
+(define (agetty-shepherd-service config)
+ (match-record config <agetty-configuration>
+ (agetty tty term baud-rate auto-login
+ login-program login-pause? eight-bits? no-reset? remote? flow-control?
+ host no-issue? init-string no-clear? local-line extract-baud?
+ skip-login? no-newline? login-options chroot hangup? keep-baud? timeout
+ detect-case? wait-cr? no-hints? no-hostname? long-hostname?
+ erase-characters kill-characters chdir delay nice extra-options
+ shepherd-requirement)
+ (list
+ (shepherd-service
+ (documentation "Run agetty on a tty.")
+ (provision (list (symbol-append 'term- (string->symbol (or tty "console")))))
+
+ ;; Since the login prompt shows the host name, wait for the 'host-name'
+ ;; service to be done. Also wait for udev essentially so that the tty
+ ;; text is not lost in the middle of kernel messages (see also
+ ;; mingetty-shepherd-service).
+ (requirement (cons* 'user-processes 'host-name 'udev
+ shepherd-requirement))
+
+ (modules '((ice-9 match) (gnu build linux-boot)))
+ (start
+ (with-imported-modules (source-module-closure
+ '((gnu build linux-boot)))
+ #~(lambda args
+ (let ((defaulted-tty #$(or tty (default-serial-port))))
+ (apply
+ (if defaulted-tty
+ (make-forkexec-constructor
+ (list #$(file-append util-linux "/sbin/agetty")
+ #$@extra-options
+ #$@(if eight-bits?
+ #~("--8bits")
+ #~())
+ #$@(if no-reset?
+ #~("--noreset")
+ #~())
+ #$@(if remote?
+ #~("--remote")
+ #~())
+ #$@(if flow-control?
+ #~("--flow-control")
+ #~())
+ #$@(if host
+ #~("--host" #$host)
+ #~())
+ #$@(if no-issue?
+ #~("--noissue")
+ #~())
+ #$@(if init-string
+ #~("--init-string" #$init-string)
+ #~())
+ #$@(if no-clear?
+ #~("--noclear")
+ #~())
;;; FIXME This doesn't work as expected. According to agetty(8), if this option
;;; is not passed, then the default is 'auto'. However, in my tests, when that
;;; option is selected, agetty never presents the login prompt, and the
;;; term-ttyS0 service respawns every few seconds.
- #$@(if local-line
- #~(#$(match local-line
- ('auto "--local-line=auto")
- ('always "--local-line=always")
- ('never "-local-line=never")))
- #~())
- #$@(if tty
- #~()
- #~("--keep-baud"))
- #$@(if extract-baud?
- #~("--extract-baud")
- #~())
- #$@(if skip-login?
- #~("--skip-login")
- #~())
- #$@(if no-newline?
- #~("--nonewline")
- #~())
- #$@(if login-options
- #~("--login-options" #$login-options)
- #~())
- #$@(if chroot
- #~("--chroot" #$chroot)
- #~())
- #$@(if hangup?
- #~("--hangup")
- #~())
- #$@(if keep-baud?
- #~("--keep-baud")
- #~())
- #$@(if timeout
- #~("--timeout" #$(number->string timeout))
- #~())
- #$@(if detect-case?
- #~("--detect-case")
- #~())
- #$@(if wait-cr?
- #~("--wait-cr")
- #~())
- #$@(if no-hints?
- #~("--nohints?")
- #~())
- #$@(if no-hostname?
- #~("--nohostname")
- #~())
- #$@(if long-hostname?
- #~("--long-hostname")
- #~())
- #$@(if erase-characters
- #~("--erase-chars" #$erase-characters)
- #~())
- #$@(if kill-characters
- #~("--kill-chars" #$kill-characters)
- #~())
- #$@(if chdir
- #~("--chdir" #$chdir)
- #~())
- #$@(if delay
- #~("--delay" #$(number->string delay))
- #~())
- #$@(if nice
- #~("--nice" #$(number->string nice))
- #~())
- #$@(if auto-login
- (list "--autologin" auto-login)
- '())
- #$@(if login-program
- #~("--login-program" #$login-program)
- #~())
- #$@(if login-pause?
- #~("--login-pause")
- #~())
- defaulted-tty
- #$@(if baud-rate
- #~(#$baud-rate)
- #~())
- #$@(if term
- #~(#$term)
- #~())))
- (const #f)) ; never start.
- args)))))
- (stop #~(make-kill-destructor)))))))
+ #$@(if local-line
+ #~(#$(match local-line
+ ('auto "--local-line=auto")
+ ('always "--local-line=always")
+ ('never "-local-line=never")))
+ #~())
+ #$@(if tty
+ #~()
+ #~("--keep-baud"))
+ #$@(if extract-baud?
+ #~("--extract-baud")
+ #~())
+ #$@(if skip-login?
+ #~("--skip-login")
+ #~())
+ #$@(if no-newline?
+ #~("--nonewline")
+ #~())
+ #$@(if login-options
+ #~("--login-options" #$login-options)
+ #~())
+ #$@(if chroot
+ #~("--chroot" #$chroot)
+ #~())
+ #$@(if hangup?
+ #~("--hangup")
+ #~())
+ #$@(if keep-baud?
+ #~("--keep-baud")
+ #~())
+ #$@(if timeout
+ #~("--timeout" #$(number->string timeout))
+ #~())
+ #$@(if detect-case?
+ #~("--detect-case")
+ #~())
+ #$@(if wait-cr?
+ #~("--wait-cr")
+ #~())
+ #$@(if no-hints?
+ #~("--nohints?")
+ #~())
+ #$@(if no-hostname?
+ #~("--nohostname")
+ #~())
+ #$@(if long-hostname?
+ #~("--long-hostname")
+ #~())
+ #$@(if erase-characters
+ #~("--erase-chars" #$erase-characters)
+ #~())
+ #$@(if kill-characters
+ #~("--kill-chars" #$kill-characters)
+ #~())
+ #$@(if chdir
+ #~("--chdir" #$chdir)
+ #~())
+ #$@(if delay
+ #~("--delay" #$(number->string delay))
+ #~())
+ #$@(if nice
+ #~("--nice" #$(number->string nice))
+ #~())
+ #$@(if auto-login
+ (list "--autologin" auto-login)
+ '())
+ #$@(if login-program
+ #~("--login-program" #$login-program)
+ #~())
+ #$@(if login-pause?
+ #~("--login-pause")
+ #~())
+ defaulted-tty
+ #$@(if baud-rate
+ #~(#$baud-rate)
+ #~())
+ #$@(if term
+ #~(#$term)
+ #~())))
+ (const #f)) ; never start.
+ args)))))
+ (stop #~(make-kill-destructor))))))
(define agetty-service-type
(service-type (name 'agetty)
@@ -1148,42 +1148,42 @@ the tty to run, among other things."
(clear-on-logout? mingetty-clear-on-logout? ;Boolean
(default #t)))
-(define mingetty-shepherd-service
- (match-lambda
- (($ <mingetty-configuration> mingetty tty auto-login login-program
- login-pause? clear-on-logout?)
- (list
- (shepherd-service
- (documentation "Run mingetty on an tty.")
- (provision (list (symbol-append 'term- (string->symbol tty))))
-
- ;; Since the login prompt shows the host name, wait for the 'host-name'
- ;; service to be done. Also wait for udev essentially so that the tty
- ;; text is not lost in the middle of kernel messages (XXX).
- (requirement '(user-processes host-name udev virtual-terminal))
-
- (start #~(make-forkexec-constructor
- (list #$(file-append mingetty "/sbin/mingetty")
-
- ;; Avoiding 'vhangup' allows us to avoid 'setfont'
- ;; errors down the path where various ioctls get
- ;; EIO--see 'hung_up_tty_ioctl' in driver/tty/tty_io.c
- ;; in Linux.
- "--nohangup" #$tty
-
- #$@(if clear-on-logout?
- #~()
- #~("--noclear"))
- #$@(if auto-login
- #~("--autologin" #$auto-login)
- #~())
- #$@(if login-program
- #~("--loginprog" #$login-program)
- #~())
- #$@(if login-pause?
- #~("--loginpause")
- #~()))))
- (stop #~(make-kill-destructor)))))))
+(define (mingetty-shepherd-service config)
+ (match-record config <mingetty-configuration>
+ (mingetty tty auto-login login-program
+ login-pause? clear-on-logout?)
+ (list
+ (shepherd-service
+ (documentation "Run mingetty on an tty.")
+ (provision (list (symbol-append 'term- (string->symbol tty))))
+
+ ;; Since the login prompt shows the host name, wait for the 'host-name'
+ ;; service to be done. Also wait for udev essentially so that the tty
+ ;; text is not lost in the middle of kernel messages (XXX).
+ (requirement '(user-processes host-name udev virtual-terminal))
+
+ (start #~(make-forkexec-constructor
+ (list #$(file-append mingetty "/sbin/mingetty")
+
+ ;; Avoiding 'vhangup' allows us to avoid 'setfont'
+ ;; errors down the path where various ioctls get
+ ;; EIO--see 'hung_up_tty_ioctl' in driver/tty/tty_io.c
+ ;; in Linux.
+ "--nohangup" #$tty
+
+ #$@(if clear-on-logout?
+ #~()
+ #~("--noclear"))
+ #$@(if auto-login
+ #~("--autologin" #$auto-login)
+ #~())
+ #$@(if login-program
+ #~("--loginprog" #$login-program)
+ #~())
+ #$@(if login-pause?
+ #~("--loginpause")
+ #~()))))
+ (stop #~(make-kill-destructor))))))
(define mingetty-service-type
(service-type (name 'mingetty)
@@ -1260,46 +1260,47 @@ the tty to run, among other things."
(define (nscd.conf-file config)
"Return the @file{nscd.conf} configuration file for @var{config}, an
@code{<nscd-configuration>} object."
- (define cache->config
- (match-lambda
- (($ <nscd-cache> (= symbol->string database)
- positive-ttl negative-ttl size check-files?
- persistent? shared? max-size propagate?)
- (string-append "\nenable-cache\t" database "\tyes\n"
-
- "positive-time-to-live\t" database "\t"
- (number->string positive-ttl) "\n"
- "negative-time-to-live\t" database "\t"
- (number->string negative-ttl) "\n"
- "suggested-size\t" database "\t"
- (number->string size) "\n"
- "check-files\t" database "\t"
- (if check-files? "yes\n" "no\n")
- "persistent\t" database "\t"
- (if persistent? "yes\n" "no\n")
- "shared\t" database "\t"
- (if shared? "yes\n" "no\n")
- "max-db-size\t" database "\t"
- (number->string max-size) "\n"
- "auto-propagate\t" database "\t"
- (if propagate? "yes\n" "no\n")))))
-
- (match config
- (($ <nscd-configuration> log-file debug-level caches)
- (plain-file "nscd.conf"
- (string-append "\
+ (define (cache->config cache)
+ (match-record cache <nscd-cache>
+ (database positive-time-to-live negative-time-to-live
+ suggested-size check-files?
+ persistent? shared? max-database-size auto-propagate?)
+ (let ((database (symbol->string database)))
+ (string-append "\nenable-cache\t" database "\tyes\n"
+
+ "positive-time-to-live\t" database "\t"
+ (number->string positive-time-to-live) "\n"
+ "negative-time-to-live\t" database "\t"
+ (number->string negative-time-to-live) "\n"
+ "suggested-size\t" database "\t"
+ (number->string suggested-size) "\n"
+ "check-files\t" database "\t"
+ (if check-files? "yes\n" "no\n")
+ "persistent\t" database "\t"
+ (if persistent? "yes\n" "no\n")
+ "shared\t" database "\t"
+ (if shared? "yes\n" "no\n")
+ "max-db-size\t" database "\t"
+ (number->string max-database-size) "\n"
+ "auto-propagate\t" database "\t"
+ (if auto-propagate? "yes\n" "no\n")))))
+
+ (match-record config <nscd-configuration>
+ (log-file debug-level caches)
+ (plain-file "nscd.conf"
+ (string-append "\
# Configuration of libc's name service cache daemon (nscd).\n\n"
- (if log-file
- (string-append "logfile\t" log-file)
- "")
- "\n"
- (if debug-level
- (string-append "debug-level\t"
- (number->string debug-level))
- "")
- "\n"
- (string-concatenate
- (map cache->config caches)))))))
+ (if log-file
+ (string-append "logfile\t" log-file)
+ "")
+ "\n"
+ (if debug-level
+ (string-append "debug-level\t"
+ (number->string debug-level))
+ "")
+ "\n"
+ (string-concatenate
+ (map cache->config caches))))))
(define (nscd-action-procedure nscd config option)
;; XXX: This is duplicated from mcron; factorize.
@@ -1797,17 +1798,15 @@ proxy of 'guix-daemon'...~%")
(define (guix-accounts config)
"Return the user accounts and user groups for CONFIG."
- (match config
- (($ <guix-configuration> _ build-group build-accounts)
- (cons (user-group
- (name build-group)
- (system? #t)
-
- ;; Use a fixed GID so that we can create the store with the right
- ;; owner.
- (id 30000))
- (guix-build-accounts build-accounts
- #:group build-group)))))
+ (cons (user-group
+ (name (guix-configuration-build-group config))
+ (system? #t)
+
+ ;; Use a fixed GID so that we can create the store with the right
+ ;; owner.
+ (id 30000))
+ (guix-build-accounts (guix-configuration-build-accounts config)
+ #:group (guix-configuration-build-group config))))
(define (guix-activation config)
"Return the activation gexp for CONFIG."
@@ -2130,95 +2129,94 @@ item of @var{packages}."
(udev-rule "90-kvm.rules"
"KERNEL==\"kvm\", GROUP=\"kvm\", MODE=\"0660\"\n"))
-(define udev-shepherd-service
+(define (udev-shepherd-service config)
;; Return a <shepherd-service> for UDEV with RULES.
- (match-lambda
- (($ <udev-configuration> udev)
- (list
- (shepherd-service
- (provision '(udev))
-
- ;; Udev needs /dev to be a 'devtmpfs' mount so that new device nodes can
- ;; be added: see
- ;; <http://www.linuxfromscratch.org/lfs/view/development/chapter07/udev.html>.
- (requirement '(root-file-system))
-
- (documentation "Populate the /dev directory, dynamically.")
- (start
- (with-imported-modules (source-module-closure
- '((gnu build linux-boot)))
- #~(lambda ()
- (define udevd
- ;; 'udevd' from eudev.
- #$(file-append udev "/sbin/udevd"))
-
- (define (wait-for-udevd)
- ;; Wait until someone's listening on udevd's control
- ;; socket.
- (let ((sock (socket AF_UNIX SOCK_SEQPACKET 0)))
- (let try ()
- (catch 'system-error
- (lambda ()
- (connect sock PF_UNIX "/run/udev/control")
- (close-port sock))
- (lambda args
- (format #t "waiting for udevd...~%")
- (usleep 500000)
- (try))))))
-
- ;; Allow udev to find the modules.
- (setenv "LINUX_MODULE_DIRECTORY"
- "/run/booted-system/kernel/lib/modules")
-
- (let* ((kernel-release
- (utsname:release (uname)))
- (linux-module-directory
- (getenv "LINUX_MODULE_DIRECTORY"))
- (directory
- (string-append linux-module-directory "/"
- kernel-release))
- (old-umask (umask #o022)))
- ;; If we're in a container, DIRECTORY might not exist,
- ;; for instance because the host runs a different
- ;; kernel. In that case, skip it; we'll just miss a few
- ;; nodes like /dev/fuse.
- (when (file-exists? directory)
- (make-static-device-nodes directory))
- (umask old-umask))
-
- (let ((pid (fork+exec-command
- (list udevd)
- #:environment-variables
- (cons*
- ;; The first one is for udev, the second one for
- ;; eudev.
- "UDEV_CONFIG_FILE=/etc/udev/udev.conf"
- "EUDEV_RULES_DIRECTORY=/etc/udev/rules.d"
- (string-append "LINUX_MODULE_DIRECTORY="
- (getenv "LINUX_MODULE_DIRECTORY"))
- (default-environment-variables)))))
- ;; Wait until udevd is up and running. This appears to
- ;; be needed so that the events triggered below are
- ;; actually handled.
- (wait-for-udevd)
-
- ;; Trigger device node creation.
- (system* #$(file-append udev "/bin/udevadm")
- "trigger" "--action=add")
-
- ;; Wait for things to settle down.
- (system* #$(file-append udev "/bin/udevadm")
- "settle")
- pid))))
- (stop #~(make-kill-destructor))
-
- ;; When halting the system, 'udev' is actually killed by
- ;; 'user-processes', i.e., before its own 'stop' method was called.
- ;; Thus, make sure it is not respawned.
- (respawn? #f)
- ;; We need additional modules.
- (modules `((gnu build linux-boot) ;'make-static-device-nodes'
- ,@%default-modules)))))))
+ (let ((udev (udev-configuration-udev config)))
+ (list
+ (shepherd-service
+ (provision '(udev))
+
+ ;; Udev needs /dev to be a 'devtmpfs' mount so that new device nodes can
+ ;; be added: see
+ ;; <http://www.linuxfromscratch.org/lfs/view/development/chapter07/udev.html>.
+ (requirement '(root-file-system))
+
+ (documentation "Populate the /dev directory, dynamically.")
+ (start
+ (with-imported-modules (source-module-closure
+ '((gnu build linux-boot)))
+ #~(lambda ()
+ (define udevd
+ ;; 'udevd' from eudev.
+ #$(file-append udev "/sbin/udevd"))
+
+ (define (wait-for-udevd)
+ ;; Wait until someone's listening on udevd's control
+ ;; socket.
+ (let ((sock (socket AF_UNIX SOCK_SEQPACKET 0)))
+ (let try ()
+ (catch 'system-error
+ (lambda ()
+ (connect sock PF_UNIX "/run/udev/control")
+ (close-port sock))
+ (lambda args
+ (format #t "waiting for udevd...~%")
+ (usleep 500000)
+ (try))))))
+
+ ;; Allow udev to find the modules.
+ (setenv "LINUX_MODULE_DIRECTORY"
+ "/run/booted-system/kernel/lib/modules")
+
+ (let* ((kernel-release
+ (utsname:release (uname)))
+ (linux-module-directory
+ (getenv "LINUX_MODULE_DIRECTORY"))
+ (directory
+ (string-append linux-module-directory "/"
+ kernel-release))
+ (old-umask (umask #o022)))
+ ;; If we're in a container, DIRECTORY might not exist,
+ ;; for instance because the host runs a different
+ ;; kernel. In that case, skip it; we'll just miss a few
+ ;; nodes like /dev/fuse.
+ (when (file-exists? directory)
+ (make-static-device-nodes directory))
+ (umask old-umask))
+
+ (let ((pid (fork+exec-command
+ (list udevd)
+ #:environment-variables
+ (cons*
+ ;; The first one is for udev, the second one for
+ ;; eudev.
+ "UDEV_CONFIG_FILE=/etc/udev/udev.conf"
+ "EUDEV_RULES_DIRECTORY=/etc/udev/rules.d"
+ (string-append "LINUX_MODULE_DIRECTORY="
+ (getenv "LINUX_MODULE_DIRECTORY"))
+ (default-environment-variables)))))
+ ;; Wait until udevd is up and running. This appears to
+ ;; be needed so that the events triggered below are
+ ;; actually handled.
+ (wait-for-udevd)
+
+ ;; Trigger device node creation.
+ (system* #$(file-append udev "/bin/udevadm")
+ "trigger" "--action=add")
+
+ ;; Wait for things to settle down.
+ (system* #$(file-append udev "/bin/udevadm")
+ "settle")
+ pid))))
+ (stop #~(make-kill-destructor))
+
+ ;; When halting the system, 'udev' is actually killed by
+ ;; 'user-processes', i.e., before its own 'stop' method was called.
+ ;; Thus, make sure it is not respawned.
+ (respawn? #f)
+ ;; We need additional modules.
+ (modules `((gnu build linux-boot) ;'make-static-device-nodes'
+ ,@%default-modules))))))
(define udev.conf
(computed-file "udev.conf"
@@ -2226,14 +2224,15 @@ item of @var{packages}."
(lambda (port)
(format port "udev_rules=\"/etc/udev/rules.d\"~%")))))
-(define udev-etc
- (match-lambda
- (($ <udev-configuration> udev rules)
- `(("udev"
- ,(file-union
- "udev" `(("udev.conf" ,udev.conf)
- ("rules.d" ,(udev-rules-union (cons* udev kvm-udev-rule
- rules))))))))))
+(define (udev-etc config)
+ (match-record config <udev-configuration>
+ (udev rules)
+ `(("udev"
+ ,(file-union "udev"
+ `(("udev.conf" ,udev.conf)
+ ("rules.d"
+ ,(udev-rules-union (cons* udev kvm-udev-rule
+ rules)))))))))
(define udev-service-type
(service-type (name 'udev)
@@ -2243,11 +2242,11 @@ item of @var{packages}."
(service-extension etc-service-type udev-etc)))
(compose concatenate) ;concatenate the list of rules
(extend (lambda (config rules)
- (match config
- (($ <udev-configuration> udev initial-rules)
- (udev-configuration
- (udev udev)
- (rules (append initial-rules rules)))))))
+ (let ((initial-rules
+ (udev-configuration-rules config)))
+ (udev-configuration
+ (inherit config)
+ (rules (append initial-rules rules))))))
(default-value (udev-configuration))
(description
"Run @command{udev}, which populates the @file{/dev}
@@ -2385,23 +2384,23 @@ instance."
(options gpm-configuration-options ;list of strings
(default %default-gpm-options)))
-(define gpm-shepherd-service
- (match-lambda
- (($ <gpm-configuration> gpm options)
- (list (shepherd-service
- (requirement '(udev))
- (provision '(gpm))
- ;; 'gpm' runs in the background and sets a PID file.
- ;; Note that it requires running as "root".
- (start #~(make-forkexec-constructor
- (list #$(file-append gpm "/sbin/gpm")
- #$@options)
- #:pid-file "/var/run/gpm.pid"
- #:pid-file-timeout 3))
- (stop #~(lambda (_)
- ;; Return #f if successfully stopped.
- (not (zero? (system* #$(file-append gpm "/sbin/gpm")
- "-k"))))))))))
+(define (gpm-shepherd-service config)
+ (match-record config <gpm-configuration>
+ (gpm options)
+ (list (shepherd-service
+ (requirement '(udev))
+ (provision '(gpm))
+ ;; 'gpm' runs in the background and sets a PID file.
+ ;; Note that it requires running as "root".
+ (start #~(make-forkexec-constructor
+ (list #$(file-append gpm "/sbin/gpm")
+ #$@options)
+ #:pid-file "/var/run/gpm.pid"
+ #:pid-file-timeout 3))
+ (stop #~(lambda (_)
+ ;; Return #f if successfully stopped.
+ (not (zero? (system* #$(file-append gpm "/sbin/gpm")
+ "-k")))))))))
(define gpm-service-type
(service-type (name 'gpm)
@@ -2654,32 +2653,64 @@ to CONFIG."
"/servers/socket/2")
#f))))
-(define network-set-up/linux
- (match-lambda
- (($ <static-networking> addresses links routes)
- (scheme-file "set-up-network"
- (with-extensions (list guile-netlink)
- #~(begin
- (use-modules (ip addr) (ip link) (ip route))
-
- #$@(map (lambda (address)
- #~(begin
- (addr-add #$(network-address-device address)
- #$(network-address-value address)
- #:ipv6?
- #$(network-address-ipv6? address))
- ;; FIXME: loopback?
- (link-set #$(network-address-device address)
- #:multicast-on #t
- #:up #t)))
- addresses)
- #$@(map (match-lambda
- (($ <network-link> name type arguments)
- #~(link-add #$name #$type
- #:type-args '#$arguments)))
- links)
- #$@(map (lambda (route)
- #~(route-add #$(network-route-destination route)
+(define (network-set-up/linux config)
+ (match-record config <static-networking>
+ (addresses links routes)
+ (scheme-file "set-up-network"
+ (with-extensions (list guile-netlink)
+ #~(begin
+ (use-modules (ip addr) (ip link) (ip route))
+
+ #$@(map (lambda (address)
+ #~(begin
+ (addr-add #$(network-address-device address)
+ #$(network-address-value address)
+ #:ipv6?
+ #$(network-address-ipv6? address))
+ ;; FIXME: loopback?
+ (link-set #$(network-address-device address)
+ #:multicast-on #t
+ #:up #t)))
+ addresses)
+ #$@(map (match-lambda
+ (($ <network-link> name type arguments)
+ #~(link-add #$name #$type
+ #:type-args '#$arguments)))
+ links)
+ #$@(map (lambda (route)
+ #~(route-add #$(network-route-destination route)
+ #:device
+ #$(network-route-device route)
+ #:ipv6?
+ #$(network-route-ipv6? route)
+ #:via
+ #$(network-route-gateway route)
+ #:src
+ #$(network-route-source route)))
+ routes)
+ #t)))))
+
+(define (network-tear-down/linux config)
+ (match-record config <static-networking>
+ (addresses links routes)
+ (scheme-file "tear-down-network"
+ (with-extensions (list guile-netlink)
+ #~(begin
+ (use-modules (ip addr) (ip link) (ip route)
+ (netlink error)
+ (srfi srfi-34))
+
+ (define-syntax-rule (false-if-netlink-error exp)
+ (guard (c ((netlink-error? c) #f))
+ exp))
+
+ ;; Wrap calls in 'false-if-netlink-error' so this
+ ;; script goes as far as possible undoing the effects
+ ;; of "set-up-network".
+
+ #$@(map (lambda (route)
+ #~(false-if-netlink-error
+ (route-del #$(network-route-destination route)
#:device
#$(network-route-device route)
#:ipv6?
@@ -2687,80 +2718,47 @@ to CONFIG."
#:via
#$(network-route-gateway route)
#:src
- #$(network-route-source route)))
- routes)
- #t))))))
-
-(define network-tear-down/linux
- (match-lambda
- (($ <static-networking> addresses links routes)
- (scheme-file "tear-down-network"
- (with-extensions (list guile-netlink)
- #~(begin
- (use-modules (ip addr) (ip link) (ip route)
- (netlink error)
- (srfi srfi-34))
-
- (define-syntax-rule (false-if-netlink-error exp)
- (guard (c ((netlink-error? c) #f))
- exp))
-
- ;; Wrap calls in 'false-if-netlink-error' so this
- ;; script goes as far as possible undoing the effects
- ;; of "set-up-network".
-
- #$@(map (lambda (route)
- #~(false-if-netlink-error
- (route-del #$(network-route-destination route)
- #:device
- #$(network-route-device route)
- #:ipv6?
- #$(network-route-ipv6? route)
- #:via
- #$(network-route-gateway route)
- #:src
- #$(network-route-source route))))
- routes)
- #$@(map (match-lambda
- (($ <network-link> name type arguments)
- #~(false-if-netlink-error
- (link-del #$name))))
- links)
- #$@(map (lambda (address)
+ #$(network-route-source route))))
+ routes)
+ #$@(map (match-lambda
+ (($ <network-link> name type arguments)
#~(false-if-netlink-error
- (addr-del #$(network-address-device
- address)
- #$(network-address-value address)
- #:ipv6?
- #$(network-address-ipv6? address))))
- addresses)
- #f))))))
+ (link-del #$name))))
+ links)
+ #$@(map (lambda (address)
+ #~(false-if-netlink-error
+ (addr-del #$(network-address-device
+ address)
+ #$(network-address-value address)
+ #:ipv6?
+ #$(network-address-ipv6? address))))
+ addresses)
+ #f)))))
(define (static-networking-shepherd-service config)
- (match config
- (($ <static-networking> addresses links routes
- provision requirement name-servers)
- (let ((loopback? (and provision (memq 'loopback provision))))
- (shepherd-service
+ (match-record config <static-networking>
+ (addresses links routes provision requirement name-servers)
+ (let ((loopback? (and provision (memq 'loopback provision))))
+ (shepherd-service
- (documentation
- "Bring up the networking interface using a static IP address.")
- (requirement requirement)
- (provision provision)
+ (documentation
+ "Bring up the networking interface using a static IP address.")
+ (requirement requirement)
+ (provision provision)
- (start #~(lambda _
- ;; Return #t if successfully started.
- (load #$(let-system (system target)
- (if (string-contains (or target system) "-linux")
- (network-set-up/linux config)
- (network-set-up/hurd config))))))
- (stop #~(lambda _
- ;; Return #f is successfully stopped.
+ (start #~(lambda _
+ ;; Return #t if successfully started.
(load #$(let-system (system target)
(if (string-contains (or target system) "-linux")
- (network-tear-down/linux config)
- (network-tear-down/hurd config))))))
- (respawn? #f))))))
+ (network-set-up/linux config)
+ (network-set-up/hurd config))))))
+ (stop #~(lambda _
+ ;; Return #f is successfully stopped.
+ (load #$(let-system (system target)
+ (if (string-contains (or target system) "-linux")
+ (network-tear-down/linux config)
+ (network-tear-down/hurd config))))))
+ (respawn? #f)))))
(define (static-networking-shepherd-services networks)
(map static-networking-shepherd-service networks))
@@ -2873,33 +2871,33 @@ to handle."
(extra-env greetd-agreety-extra-env (default '()))
(xdg-env? greetd-agreety-xdg-env? (default #t)))
-(define greetd-agreety-tty-session-command
- (match-lambda
- (($ <greetd-agreety-session> _ command args extra-env)
- (program-file
- "agreety-tty-session-command"
- #~(begin
- (use-modules (ice-9 match))
- (for-each (match-lambda ((var . val) (setenv var val)))
- (quote (#$@extra-env)))
- (apply execl #$command #$command (list #$@args)))))))
-
-(define greetd-agreety-tty-xdg-session-command
- (match-lambda
- (($ <greetd-agreety-session> _ command args extra-env)
- (program-file
- "agreety-tty-xdg-session-command"
- #~(begin
- (use-modules (ice-9 match))
- (let*
- ((username (getenv "USER"))
- (useruid (passwd:uid (getpwuid username)))
- (useruid (number->string useruid)))
- (setenv "XDG_SESSION_TYPE" "tty")
- (setenv "XDG_RUNTIME_DIR" (string-append "/run/user/" useruid)))
- (for-each (match-lambda ((var . val) (setenv var val)))
- (quote (#$@extra-env)))
- (apply execl #$command #$command (list #$@args)))))))
+(define (greetd-agreety-tty-session-command config)
+ (match-record config <greetd-agreety-session>
+ (command command-args extra-env)
+ (program-file
+ "agreety-tty-session-command"
+ #~(begin
+ (use-modules (ice-9 match))
+ (for-each (match-lambda ((var . val) (setenv var val)))
+ (quote (#$@extra-env)))
+ (apply execl #$command #$command (list #$@command-args))))))
+
+(define (greetd-agreety-tty-xdg-session-command config)
+ (match-record config <greetd-agreety-session>
+ (command command-args extra-env)
+ (program-file
+ "agreety-tty-xdg-session-command"
+ #~(begin
+ (use-modules (ice-9 match))
+ (let*
+ ((username (getenv "USER"))
+ (useruid (passwd:uid (getpwuid username)))
+ (useruid (number->string useruid)))
+ (setenv "XDG_SESSION_TYPE" "tty")
+ (setenv "XDG_RUNTIME_DIR" (string-append "/run/user/" useruid)))
+ (for-each (match-lambda ((var . val) (setenv var val)))
+ (quote (#$@extra-env)))
+ (apply execl #$command #$command (list #$@command-args))))))
(define-gexp-compiler (greetd-agreety-session-compiler
(session <greetd-agreety-session>)
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index 52de5ca7c0..d7c6ab9877 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -125,7 +125,7 @@
(let ((cuirass (cuirass-configuration-cuirass config))
(cache-directory (cuirass-configuration-cache-directory config))
(web-log-file (cuirass-configuration-web-log-file config))
- (log-file (cuirass-configuration-log-file config))
+ (main-log-file (cuirass-configuration-log-file config))
(user (cuirass-configuration-user config))
(group (cuirass-configuration-group config))
(interval (cuirass-configuration-interval config))
@@ -169,7 +169,7 @@
#:user #$user
#:group #$group
- #:log-file #$log-file))
+ #:log-file #$main-log-file))
(stop #~(make-kill-destructor)))
,(shepherd-service
(documentation "Run Cuirass web interface.")
diff --git a/gnu/services/getmail.scm b/gnu/services/getmail.scm
index fb82d054ca..19faea782f 100644
--- a/gnu/services/getmail.scm
+++ b/gnu/services/getmail.scm
@@ -215,17 +215,6 @@ lines.")
(parameter-alist '())
"Extra options to include."))
-(define (serialize-getmail-configuration-file field-name val)
- (match-record val <getmail-configuration-file>
- (retriever destination options)
- #~(string-append
- "[retriever]\n"
- #$(serialize-getmail-retriever-configuration #f retriever)
- "\n[destination]\n"
- #$(serialize-getmail-destination-configuration #f destination)
- "\n[options]\n"
- #$(serialize-getmail-options-configuration #f options))))
-
(define-configuration getmail-configuration-file
(retriever
(getmail-retriever-configuration (getmail-retriever-configuration))
@@ -237,6 +226,17 @@ lines.")
(getmail-options-configuration (getmail-options-configuration))
"Configure getmail."))
+(define (serialize-getmail-configuration-file field-name val)
+ (match-record val <getmail-configuration-file>
+ (retriever destination options)
+ #~(string-append
+ "[retriever]\n"
+ #$(serialize-getmail-retriever-configuration #f retriever)
+ "\n[destination]\n"
+ #$(serialize-getmail-destination-configuration #f destination)
+ "\n[options]\n"
+ #$(serialize-getmail-options-configuration #f options))))
+
(define (serialize-symbol field-name val) "")
(define (serialize-getmail-configuration field-name val) "")
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index de02f16a34..702404bc6c 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2021 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Andrew Tropin <andrew@trop.in>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -277,8 +278,10 @@ fe80::1%lo0 apps.facebook.com\n")
(define dhcp-client-shepherd-service
(match-lambda
- (($ <dhcp-client-configuration> package interfaces)
- (let ((pid-file "/var/run/dhclient.pid"))
+ ((? dhcp-client-configuration? config)
+ (let ((package (dhcp-client-configuration-package config))
+ (interfaces (dhcp-client-configuration-interfaces config))
+ (pid-file "/var/run/dhclient.pid"))
(list (shepherd-service
(documentation "Set up networking via DHCP.")
(requirement '(user-processes udev))
@@ -359,46 +362,46 @@ Protocol (DHCP) client, on all the non-loopback network interfaces.")))
(interfaces dhcpd-configuration-interfaces
(default '())))
-(define dhcpd-shepherd-service
- (match-lambda
- (($ <dhcpd-configuration> package config-file version run-directory
- lease-file pid-file interfaces)
- (unless config-file
- (error "Must supply a config-file"))
- (list (shepherd-service
- ;; Allow users to easily run multiple versions simultaneously.
- (provision (list (string->symbol
- (string-append "dhcpv" version "-daemon"))))
- (documentation (string-append "Run the DHCPv" version " daemon"))
- (requirement '(networking))
- (start #~(make-forkexec-constructor
- '(#$(file-append package "/sbin/dhcpd")
- #$(string-append "-" version)
- "-lf" #$lease-file
- "-pf" #$pid-file
- "-cf" #$config-file
- #$@interfaces)
- #:pid-file #$pid-file))
- (stop #~(make-kill-destructor)))))))
-
-(define dhcpd-activation
- (match-lambda
- (($ <dhcpd-configuration> package config-file version run-directory
- lease-file pid-file interfaces)
- (with-imported-modules '((guix build utils))
- #~(begin
- (unless (file-exists? #$run-directory)
- (mkdir #$run-directory))
- ;; According to the DHCP manual (man dhcpd.leases), the lease
- ;; database must be present for dhcpd to start successfully.
- (unless (file-exists? #$lease-file)
- (with-output-to-file #$lease-file
- (lambda _ (display ""))))
- ;; Validate the config.
- (invoke/quiet
- #$(file-append package "/sbin/dhcpd")
- #$(string-append "-" version)
- "-t" "-cf" #$config-file))))))
+(define (dhcpd-shepherd-service config)
+ (match-record config <dhcpd-configuration>
+ (package config-file version run-directory
+ lease-file pid-file interfaces)
+ (unless config-file
+ (error "Must supply a config-file"))
+ (list (shepherd-service
+ ;; Allow users to easily run multiple versions simultaneously.
+ (provision (list (string->symbol
+ (string-append "dhcpv" version "-daemon"))))
+ (documentation (string-append "Run the DHCPv" version " daemon"))
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ '(#$(file-append package "/sbin/dhcpd")
+ #$(string-append "-" version)
+ "-lf" #$lease-file
+ "-pf" #$pid-file
+ "-cf" #$config-file
+ #$@interfaces)
+ #:pid-file #$pid-file))
+ (stop #~(make-kill-destructor))))))
+
+(define (dhcpd-activation config)
+ (match-record config <dhcpd-configuration>
+ (package config-file version run-directory
+ lease-file pid-file interfaces)
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (unless (file-exists? #$run-directory)
+ (mkdir #$run-directory))
+ ;; According to the DHCP manual (man dhcpd.leases), the lease
+ ;; database must be present for dhcpd to start successfully.
+ (unless (file-exists? #$lease-file)
+ (with-output-to-file #$lease-file
+ (lambda _ (display ""))))
+ ;; Validate the config.
+ (invoke/quiet
+ #$(file-append package "/sbin/dhcpd")
+ #$(string-append "-" version)
+ "-t" "-cf" #$config-file)))))
(define dhcpd-service-type
(service-type
@@ -449,16 +452,16 @@ daemon is responsible for allocating IP addresses to its client.")))
(fold loop res x)
(cons (format #f "~a" x) res)))))
- (match ntp-server
- (($ <ntp-server> type address options)
- ;; XXX: It'd be neater if fields were validated at the syntax level (for
- ;; static ones at least). Perhaps the Guix record type could support a
- ;; predicate property on a field?
- (unless (enum-set-member? type ntp-server-types)
- (error "Invalid NTP server type" type))
- (string-join (cons* (symbol->string type)
- address
- (flatten options))))))
+ (match-record ntp-server <ntp-server>
+ (type address options)
+ ;; XXX: It'd be neater if fields were validated at the syntax level (for
+ ;; static ones at least). Perhaps the Guix record type could support a
+ ;; predicate property on a field?
+ (unless (enum-set-member? type ntp-server-types)
+ (error "Invalid NTP server type" type))
+ (string-join (cons* (symbol->string type)
+ address
+ (flatten options)))))
(define %ntp-servers
;; Default set of NTP servers. These URLs are managed by the NTP Pool project.
@@ -497,17 +500,16 @@ deprecated. Please use <ntp-server> records instead.\n")
((($ <ntp-server>) ($ <ntp-server>) ...)
ntp-servers))))
-(define ntp-shepherd-service
- (lambda (config)
- (match config
- (($ <ntp-configuration> ntp servers allow-large-adjustment?)
- (let ((servers (ntp-configuration-servers config)))
- ;; TODO: Add authentication support.
- (define config
- (string-append "driftfile /var/run/ntpd/ntp.drift\n"
- (string-join (map ntp-server->string servers)
- "\n")
- "
+(define (ntp-shepherd-service config)
+ (match-record config <ntp-configuration>
+ (ntp servers allow-large-adjustment?)
+ (let ((servers (ntp-configuration-servers config)))
+ ;; TODO: Add authentication support.
+ (define config
+ (string-append "driftfile /var/run/ntpd/ntp.drift\n"
+ (string-join (map ntp-server->string servers)
+ "\n")
+ "
# Disable status queries as a workaround for CVE-2013-5211:
# <http://support.ntp.org/bin/view/Main/SecurityNotice#DRDoS_Amplification_Attack_using>.
restrict default kod nomodify notrap nopeer noquery limited
@@ -521,21 +523,21 @@ restrict -6 ::1
# option by default, as documented in the 'ntp.conf' manual.
restrict source notrap nomodify noquery\n"))
- (define ntpd.conf
- (plain-file "ntpd.conf" config))
-
- (list (shepherd-service
- (provision '(ntpd))
- (documentation "Run the Network Time Protocol (NTP) daemon.")
- (requirement '(user-processes networking))
- (start #~(make-forkexec-constructor
- (list (string-append #$ntp "/bin/ntpd") "-n"
- "-c" #$ntpd.conf "-u" "ntpd"
- #$@(if allow-large-adjustment?
- '("-g")
- '()))
- #:log-file "/var/log/ntpd.log"))
- (stop #~(make-kill-destructor)))))))))
+ (define ntpd.conf
+ (plain-file "ntpd.conf" config))
+
+ (list (shepherd-service
+ (provision '(ntpd))
+ (documentation "Run the Network Time Protocol (NTP) daemon.")
+ (requirement '(user-processes networking))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$ntp "/bin/ntpd") "-n"
+ "-c" #$ntpd.conf "-u" "ntpd"
+ #$@(if allow-large-adjustment?
+ '("-g")
+ '()))
+ #:log-file "/var/log/ntpd.log"))
+ (stop #~(make-kill-destructor)))))))
(define %ntp-accounts
(list (user-account
@@ -742,19 +744,19 @@ daemon will keep the system clock synchronized with that of the given servers.")
" ") "\n")))
entries)))
-(define inetd-shepherd-service
- (match-lambda
- (($ <inetd-configuration> program ()) '()) ; empty list of entries -> do nothing
- (($ <inetd-configuration> program entries)
- (list
- (shepherd-service
- (documentation "Run inetd.")
- (provision '(inetd))
- (requirement '(user-processes networking syslogd))
- (start #~(make-forkexec-constructor
- (list #$program #$(inetd-config-file entries))
- #:pid-file "/var/run/inetd.pid"))
- (stop #~(make-kill-destructor)))))))
+(define (inetd-shepherd-service config)
+ (let ((entries (inetd-configuration-entries config)))
+ (if (null? entries)
+ '() ;do nothing
+ (let ((program (inetd-configuration-program config)))
+ (list (shepherd-service
+ (documentation "Run inetd.")
+ (provision '(inetd))
+ (requirement '(user-processes networking syslogd))
+ (start #~(make-forkexec-constructor
+ (list #$program #$(inetd-config-file entries))
+ #:pid-file "/var/run/inetd.pid"))
+ (stop #~(make-kill-destructor))))))))
(define-public inetd-service-type
(service-type
@@ -938,97 +940,94 @@ applications in communication. It is used by Jami, for example.")))
(define (tor-configuration->torrc config)
"Return a 'torrc' file for CONFIG."
- (match config
- (($ <tor-configuration> tor config-file services
- socks-socket-type control-socket?)
- (computed-file
- "torrc"
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils)
- (ice-9 match))
-
- (call-with-output-file #$output
- (lambda (port)
- (display "\
+ (match-record config <tor-configuration>
+ (tor config-file hidden-services socks-socket-type control-socket?)
+ (computed-file
+ "torrc"
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils)
+ (ice-9 match))
+
+ (call-with-output-file #$output
+ (lambda (port)
+ (display "\
### These lines were generated from your system configuration:
DataDirectory /var/lib/tor
Log notice syslog\n" port)
- (when (eq? 'unix '#$socks-socket-type)
- (display "\
+ (when (eq? 'unix '#$socks-socket-type)
+ (display "\
SocksPort unix:/var/run/tor/socks-sock
UnixSocksGroupWritable 1\n" port))
- (when #$control-socket?
- (display "\
+ (when #$control-socket?
+ (display "\
ControlSocket unix:/var/run/tor/control-sock GroupWritable RelaxDirModeCheck
ControlSocketsGroupWritable 1\n"
- port))
+ port))
- (for-each (match-lambda
- ((service (ports hosts) ...)
- (format port "\
+ (for-each (match-lambda
+ ((service (ports hosts) ...)
+ (format port "\
HiddenServiceDir /var/lib/tor/hidden-services/~a~%"
- service)
- (for-each (lambda (tcp-port host)
- (format port "\
+ service)
+ (for-each (lambda (tcp-port host)
+ (format port "\
HiddenServicePort ~a ~a~%"
- tcp-port host))
- ports hosts)))
- '#$(map (match-lambda
- (($ <hidden-service> name mapping)
- (cons name mapping)))
- services))
-
- (display "\
+ tcp-port host))
+ ports hosts)))
+ '#$(map (match-lambda
+ (($ <hidden-service> name mapping)
+ (cons name mapping)))
+ hidden-services))
+
+ (display "\
### End of automatically generated lines.\n\n" port)
- ;; Append the user's config file.
- (call-with-input-file #$config-file
- (lambda (input)
- (dump-port input port)))
- #t))))))))
+ ;; Append the user's config file.
+ (call-with-input-file #$config-file
+ (lambda (input)
+ (dump-port input port)))
+ #t)))))))
(define (tor-shepherd-service config)
"Return a <shepherd-service> running Tor."
- (match config
- (($ <tor-configuration> tor)
- (let* ((torrc (tor-configuration->torrc config))
- (tor (least-authority-wrapper
- (file-append tor "/bin/tor")
- #:name "tor"
- #:mappings (list (file-system-mapping
- (source "/var/lib/tor")
- (target source)
- (writable? #t))
- (file-system-mapping
- (source "/dev/log") ;for syslog
- (target source))
- (file-system-mapping
- (source "/var/run/tor")
- (target source)
- (writable? #t))
- (file-system-mapping
- (source torrc)
- (target source)))
- #:namespaces (delq 'net %namespaces))))
- (list (shepherd-service
- (provision '(tor))
-
- ;; Tor needs at least one network interface to be up, hence the
- ;; dependency on 'loopback'.
- (requirement '(user-processes loopback syslogd))
-
- ;; XXX: #:pid-file won't work because the wrapped 'tor'
- ;; program would print its PID within the user namespace
- ;; instead of its actual PID outside. There's no inetd or
- ;; systemd socket activation support either (there's
- ;; 'sd_notify' though), so we're stuck with that.
- (start #~(make-forkexec-constructor
- (list #$tor "-f" #$torrc)
- #:user "tor" #:group "tor"))
- (stop #~(make-kill-destructor))
- (actions (list (shepherd-configuration-action torrc)))
- (documentation "Run the Tor anonymous network overlay.")))))))
+ (let* ((torrc (tor-configuration->torrc config))
+ (tor (least-authority-wrapper
+ (file-append (tor-configuration-tor config) "/bin/tor")
+ #:name "tor"
+ #:mappings (list (file-system-mapping
+ (source "/var/lib/tor")
+ (target source)
+ (writable? #t))
+ (file-system-mapping
+ (source "/dev/log") ;for syslog
+ (target source))
+ (file-system-mapping
+ (source "/var/run/tor")
+ (target source)
+ (writable? #t))
+ (file-system-mapping
+ (source torrc)
+ (target source)))
+ #:namespaces (delq 'net %namespaces))))
+ (list (shepherd-service
+ (provision '(tor))
+
+ ;; Tor needs at least one network interface to be up, hence the
+ ;; dependency on 'loopback'.
+ (requirement '(user-processes loopback syslogd))
+
+ ;; XXX: #:pid-file won't work because the wrapped 'tor'
+ ;; program would print its PID within the user namespace
+ ;; instead of its actual PID outside. There's no inetd or
+ ;; systemd socket activation support either (there's
+ ;; 'sd_notify' though), so we're stuck with that.
+ (start #~(make-forkexec-constructor
+ (list #$tor "-f" #$torrc)
+ #:user "tor" #:group "tor"))
+ (stop #~(make-kill-destructor))
+ (actions (list (shepherd-configuration-action torrc)))
+ (documentation "Run the Tor anonymous network overlay.")))))
(define (tor-activation config)
"Set up directories for Tor and its hidden services, if any."
@@ -1143,19 +1142,20 @@ project's documentation} for more information."
(dns network-manager-configuration-dns
(default "default"))
(vpn-plugins network-manager-configuration-vpn-plugins ;list of file-like
- (default '())))
+ (default '()))
+ (iwd? network-manager-configuration-iwd? (default #f)))
-(define network-manager-activation
+(define (network-manager-activation config)
;; Activation gexp for NetworkManager
- (match-lambda
- (($ <network-manager-configuration> network-manager dns vpn-plugins)
- #~(begin
- (use-modules (guix build utils))
- (mkdir-p "/etc/NetworkManager/system-connections")
- #$@(if (equal? dns "dnsmasq")
- ;; create directory to store dnsmasq lease file
- '((mkdir-p "/var/lib/misc"))
- '())))))
+ (match-record config <network-manager-configuration>
+ (network-manager dns vpn-plugins)
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/etc/NetworkManager/system-connections")
+ #$@(if (equal? dns "dnsmasq")
+ ;; create directory to store dnsmasq lease file
+ '((mkdir-p "/var/lib/misc"))
+ '()))))
(define (vpn-plugin-directory plugins)
"Return a directory containing PLUGINS, the NM VPN plugins."
@@ -1188,44 +1188,47 @@ project's documentation} for more information."
(cons (user-group (name "network-manager") (system? #t))
accounts))))
-(define network-manager-environment
- (match-lambda
- (($ <network-manager-configuration> network-manager dns vpn-plugins)
- ;; Define this variable in the global environment such that
- ;; "nmcli connection import type openvpn file foo.ovpn" works.
- `(("NM_VPN_PLUGIN_DIR"
- . ,(file-append (vpn-plugin-directory vpn-plugins)
- "/lib/NetworkManager/VPN"))))))
-
-(define network-manager-shepherd-service
- (match-lambda
- (($ <network-manager-configuration> network-manager dns vpn-plugins)
- (let ((conf (plain-file "NetworkManager.conf"
- (string-append "[main]\ndns=" dns "\n")))
- (vpn (vpn-plugin-directory vpn-plugins)))
- (list (shepherd-service
- (documentation "Run the NetworkManager.")
- (provision '(networking))
- (requirement '(user-processes dbus-system wpa-supplicant loopback))
- (start #~(make-forkexec-constructor
- (list (string-append #$network-manager
- "/sbin/NetworkManager")
- (string-append "--config=" #$conf)
- "--no-daemon")
- #:environment-variables
- (list (string-append "NM_VPN_PLUGIN_DIR=" #$vpn
- "/lib/NetworkManager/VPN")
- ;; Override non-existent default users
- "NM_OPENVPN_USER="
- "NM_OPENVPN_GROUP=")))
- (stop #~(make-kill-destructor))))))))
+(define (network-manager-environment config)
+ (match-record config <network-manager-configuration>
+ (network-manager dns vpn-plugins)
+ ;; Define this variable in the global environment such that
+ ;; "nmcli connection import type openvpn file foo.ovpn" works.
+ `(("NM_VPN_PLUGIN_DIR"
+ . ,(file-append (vpn-plugin-directory vpn-plugins)
+ "/lib/NetworkManager/VPN")))))
+
+(define (network-manager-shepherd-service config)
+ (match-record config <network-manager-configuration>
+ (network-manager dns vpn-plugins iwd?)
+ (let ((conf (plain-file "NetworkManager.conf"
+ (string-append
+ "[main]\ndns=" dns "\n"
+ (if iwd? "[device]\nwifi.backend=iwd\n" ""))))
+ (vpn (vpn-plugin-directory vpn-plugins)))
+ (list (shepherd-service
+ (documentation "Run the NetworkManager.")
+ (provision '(networking))
+ (requirement (append '(user-processes dbus-system loopback)
+ (if iwd? '(iwd) '(wpa-supplicant))))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$network-manager
+ "/sbin/NetworkManager")
+ (string-append "--config=" #$conf)
+ "--no-daemon")
+ #:environment-variables
+ (list (string-append "NM_VPN_PLUGIN_DIR=" #$vpn
+ "/lib/NetworkManager/VPN")
+ ;; Override non-existent default users
+ "NM_OPENVPN_USER="
+ "NM_OPENVPN_GROUP=")))
+ (stop #~(make-kill-destructor)))))))
(define network-manager-service-type
- (let
- ((config->packages
- (match-lambda
- (($ <network-manager-configuration> network-manager _ vpn-plugins)
- `(,network-manager ,@vpn-plugins)))))
+ (let ((config->packages
+ (lambda (config)
+ (match-record config <network-manager-configuration>
+ (network-manager vpn-plugins)
+ `(,network-manager ,@vpn-plugins)))))
(service-type
(name 'network-manager)
@@ -1332,9 +1335,8 @@ a network connection manager."))))
(define modem-manager-service-type
(let ((config->package
- (match-lambda
- (($ <modem-manager-configuration> modem-manager)
- (list modem-manager)))))
+ (lambda (config)
+ (list (modem-manager-configuration-modem-manager config)))))
(service-type (name 'modem-manager)
(extensions
(list (service-extension dbus-root-service-type
@@ -1405,24 +1407,25 @@ device is detected."
usb-modeswitch package specified in CONFIG. The rules file will invoke
usb_modeswitch.sh from the usb-modeswitch package, modified to pass the right
config file."
- (match config
- (($ <usb-modeswitch-configuration> usb-modeswitch data config-file)
- (computed-file
- "usb_modeswitch.rules"
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
- (let ((in (string-append #$data "/udev/40-usb_modeswitch.rules"))
- (out (string-append #$output "/lib/udev/rules.d"))
- (script #$(usb-modeswitch-sh usb-modeswitch config-file)))
- (mkdir-p out)
- (chdir out)
- (install-file in out)
- (substitute* "40-usb_modeswitch.rules"
- (("PROGRAM=\"usb_modeswitch")
- (string-append "PROGRAM=\"" script "/usb_modeswitch"))
- (("RUN\\+=\"usb_modeswitch")
- (string-append "RUN+=\"" script "/usb_modeswitch"))))))))))
+ (match-record config <usb-modeswitch-configuration>
+ (usb-modeswitch usb-modeswitch-data config-file)
+ (computed-file
+ "usb_modeswitch.rules"
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (let ((in (string-append #$usb-modeswitch-data
+ "/udev/40-usb_modeswitch.rules"))
+ (out (string-append #$output "/lib/udev/rules.d"))
+ (script #$(usb-modeswitch-sh usb-modeswitch config-file)))
+ (mkdir-p out)
+ (chdir out)
+ (install-file in out)
+ (substitute* "40-usb_modeswitch.rules"
+ (("PROGRAM=\"usb_modeswitch")
+ (string-append "PROGRAM=\"" script "/usb_modeswitch"))
+ (("RUN\\+=\"usb_modeswitch")
+ (string-append "RUN+=\"" script "/usb_modeswitch")))))))))
(define usb-modeswitch-service-type
(service-type
@@ -1466,40 +1469,39 @@ whatever the thing is supposed to do).")))
(extra-options wpa-supplicant-configuration-extra-options ;list of strings
(default '())))
-(define wpa-supplicant-shepherd-service
- (match-lambda
- (($ <wpa-supplicant-configuration> wpa-supplicant requirement pid-file dbus?
- interface config-file extra-options)
- (list (shepherd-service
- (documentation "Run the WPA supplicant daemon")
- (provision '(wpa-supplicant))
- (requirement (if dbus?
- (cons 'dbus-system requirement)
- requirement))
- (start #~(make-forkexec-constructor
- (list (string-append #$wpa-supplicant
- "/sbin/wpa_supplicant")
- (string-append "-P" #$pid-file)
- "-B" ;run in background
- "-s" ;log to syslogd
- #$@(if dbus?
- #~("-u")
- #~())
- #$@(if interface
- #~((string-append "-i" #$interface))
- #~())
- #$@(if config-file
- #~((string-append "-c" #$config-file))
- #~())
- #$@extra-options)
- #:pid-file #$pid-file))
- (stop #~(make-kill-destructor)))))))
+(define (wpa-supplicant-shepherd-service config)
+ (match-record config <wpa-supplicant-configuration>
+ (wpa-supplicant requirement pid-file dbus?
+ interface config-file extra-options)
+ (list (shepherd-service
+ (documentation "Run the WPA supplicant daemon")
+ (provision '(wpa-supplicant))
+ (requirement (if dbus?
+ (cons 'dbus-system requirement)
+ requirement))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$wpa-supplicant
+ "/sbin/wpa_supplicant")
+ (string-append "-P" #$pid-file)
+ "-B" ;run in background
+ "-s" ;log to syslogd
+ #$@(if dbus?
+ #~("-u")
+ #~())
+ #$@(if interface
+ #~((string-append "-i" #$interface))
+ #~())
+ #$@(if config-file
+ #~((string-append "-c" #$config-file))
+ #~())
+ #$@extra-options)
+ #:pid-file #$pid-file))
+ (stop #~(make-kill-destructor))))))
(define wpa-supplicant-service-type
(let ((config->package
- (match-lambda
- (($ <wpa-supplicant-configuration> wpa-supplicant)
- (list wpa-supplicant)))))
+ (lambda (config)
+ (list (wpa-supplicant-configuration-wpa-supplicant config)))))
(service-type (name 'wpa-supplicant)
(extensions
(list (service-extension shepherd-root-service-type
@@ -1621,41 +1623,38 @@ simulation."
(package openvswitch-configuration-package
(default openvswitch)))
-(define openvswitch-activation
- (match-lambda
- (($ <openvswitch-configuration> package)
- (let ((ovsdb-tool (file-append package "/bin/ovsdb-tool")))
- (with-imported-modules '((guix build utils))
- #~(begin
- (use-modules (guix build utils))
- (mkdir-p "/var/run/openvswitch")
- (mkdir-p "/var/lib/openvswitch")
- (let ((conf.db "/var/lib/openvswitch/conf.db"))
- (unless (file-exists? conf.db)
- (system* #$ovsdb-tool "create" conf.db)))))))))
-
-(define openvswitch-shepherd-service
- (match-lambda
- (($ <openvswitch-configuration> package)
- (let ((ovsdb-server (file-append package "/sbin/ovsdb-server"))
- (ovs-vswitchd (file-append package "/sbin/ovs-vswitchd")))
- (list
- (shepherd-service
- (provision '(ovsdb))
- (documentation "Run the Open vSwitch database server.")
- (start #~(make-forkexec-constructor
- (list #$ovsdb-server "--pidfile"
- "--remote=punix:/var/run/openvswitch/db.sock")
- #:pid-file "/var/run/openvswitch/ovsdb-server.pid"))
- (stop #~(make-kill-destructor)))
- (shepherd-service
- (provision '(vswitchd))
- (requirement '(ovsdb))
- (documentation "Run the Open vSwitch daemon.")
- (start #~(make-forkexec-constructor
- (list #$ovs-vswitchd "--pidfile")
- #:pid-file "/var/run/openvswitch/ovs-vswitchd.pid"))
- (stop #~(make-kill-destructor))))))))
+(define (openvswitch-activation config)
+ (let ((ovsdb-tool (file-append (openvswitch-configuration-package config)
+ "/bin/ovsdb-tool")))
+ (with-imported-modules '((guix build utils))
+ #~(begin
+ (use-modules (guix build utils))
+ (mkdir-p "/var/run/openvswitch")
+ (mkdir-p "/var/lib/openvswitch")
+ (let ((conf.db "/var/lib/openvswitch/conf.db"))
+ (unless (file-exists? conf.db)
+ (system* #$ovsdb-tool "create" conf.db)))))))
+
+(define (openvswitch-shepherd-service config)
+ (let* ((package (openvswitch-configuration-package config))
+ (ovsdb-server (file-append package "/sbin/ovsdb-server"))
+ (ovs-vswitchd (file-append package "/sbin/ovs-vswitchd")))
+ (list (shepherd-service
+ (provision '(ovsdb))
+ (documentation "Run the Open vSwitch database server.")
+ (start #~(make-forkexec-constructor
+ (list #$ovsdb-server "--pidfile"
+ "--remote=punix:/var/run/openvswitch/db.sock")
+ #:pid-file "/var/run/openvswitch/ovsdb-server.pid"))
+ (stop #~(make-kill-destructor)))
+ (shepherd-service
+ (provision '(vswitchd))
+ (requirement '(ovsdb))
+ (documentation "Run the Open vSwitch daemon.")
+ (start #~(make-forkexec-constructor
+ (list #$ovs-vswitchd "--pidfile")
+ #:pid-file "/var/run/openvswitch/ovs-vswitchd.pid"))
+ (stop #~(make-kill-destructor))))))
(define openvswitch-service-type
(service-type
@@ -1695,20 +1694,20 @@ COMMIT
(ipv6-rules iptables-configuration-ipv6-rules
(default %iptables-accept-all-rules)))
-(define iptables-shepherd-service
- (match-lambda
- (($ <iptables-configuration> iptables ipv4-rules ipv6-rules)
- (let ((iptables-restore (file-append iptables "/sbin/iptables-restore"))
- (ip6tables-restore (file-append iptables "/sbin/ip6tables-restore")))
- (shepherd-service
- (documentation "Packet filtering framework")
- (provision '(iptables))
- (start #~(lambda _
- (invoke #$iptables-restore #$ipv4-rules)
- (invoke #$ip6tables-restore #$ipv6-rules)))
- (stop #~(lambda _
- (invoke #$iptables-restore #$%iptables-accept-all-rules)
- (invoke #$ip6tables-restore #$%iptables-accept-all-rules))))))))
+(define (iptables-shepherd-service config)
+ (match-record config <iptables-configuration>
+ (iptables ipv4-rules ipv6-rules)
+ (let ((iptables-restore (file-append iptables "/sbin/iptables-restore"))
+ (ip6tables-restore (file-append iptables "/sbin/ip6tables-restore")))
+ (shepherd-service
+ (documentation "Packet filtering framework")
+ (provision '(iptables))
+ (start #~(lambda _
+ (invoke #$iptables-restore #$ipv4-rules)
+ (invoke #$ip6tables-restore #$ipv6-rules)))
+ (stop #~(lambda _
+ (invoke #$iptables-restore #$%iptables-accept-all-rules)
+ (invoke #$ip6tables-restore #$%iptables-accept-all-rules)))))))
(define iptables-service-type
(service-type
@@ -1767,17 +1766,17 @@ table inet filter {
(ruleset nftables-configuration-ruleset ; file-like object
(default %default-nftables-ruleset)))
-(define nftables-shepherd-service
- (match-lambda
- (($ <nftables-configuration> package ruleset)
- (let ((nft (file-append package "/sbin/nft")))
- (shepherd-service
- (documentation "Packet filtering and classification")
- (provision '(nftables))
- (start #~(lambda _
- (invoke #$nft "--file" #$ruleset)))
- (stop #~(lambda _
- (invoke #$nft "flush" "ruleset"))))))))
+(define (nftables-shepherd-service config)
+ (match-record config <nftables-configuration>
+ (package ruleset)
+ (let ((nft (file-append package "/sbin/nft")))
+ (shepherd-service
+ (documentation "Packet filtering and classification")
+ (provision '(nftables))
+ (start #~(lambda _
+ (invoke #$nft "--file" #$ruleset)))
+ (stop #~(lambda _
+ (invoke #$nft "flush" "ruleset")))))))
(define nftables-service-type
(service-type
@@ -2150,23 +2149,22 @@ of the IPFS peer-to-peer storage network.")))
(config-file keepalived-configuration-config-file ;file-like
(default #f)))
-(define keepalived-shepherd-service
- (match-lambda
- (($ <keepalived-configuration> keepalived config-file)
- (list
- (shepherd-service
- (provision '(keepalived))
- (documentation "Run keepalived.")
- (requirement '(loopback))
- (start #~(make-forkexec-constructor
- (list (string-append #$keepalived "/sbin/keepalived")
- "--dont-fork" "--log-console" "--log-detail"
- "--pid=/var/run/keepalived.pid"
- (string-append "--use-file=" #$config-file))
- #:pid-file "/var/run/keepalived.pid"
- #:log-file "/var/log/keepalived.log"))
- (respawn? #f)
- (stop #~(make-kill-destructor)))))))
+(define (keepalived-shepherd-service config)
+ (match-record config <keepalived-configuration>
+ (keepalived config-file)
+ (list (shepherd-service
+ (provision '(keepalived))
+ (documentation "Run keepalived.")
+ (requirement '(loopback))
+ (start #~(make-forkexec-constructor
+ (list (string-append #$keepalived "/sbin/keepalived")
+ "--dont-fork" "--log-console" "--log-detail"
+ "--pid=/var/run/keepalived.pid"
+ (string-append "--use-file=" #$config-file))
+ #:pid-file "/var/run/keepalived.pid"
+ #:log-file "/var/log/keepalived.log"))
+ (respawn? #f)
+ (stop #~(make-kill-destructor))))))
(define %keepalived-log-rotation
(list (log-rotation
diff --git a/gnu/system/examples/raspberry-pi-64-nfs-root.tmpl b/gnu/system/examples/raspberry-pi-64-nfs-root.tmpl
new file mode 100644
index 0000000000..7bcac8ded0
--- /dev/null
+++ b/gnu/system/examples/raspberry-pi-64-nfs-root.tmpl
@@ -0,0 +1,75 @@
+;; This is an operating-system configuration template of a
+;; 64-bit minimal system for a Raspberry Pi with an NFS root file-system.
+
+;; It neither installs firmware nor device-tree files for the Raspberry Pi.
+;; It just assumes them to be existing in boot/efi in the same way that some
+;; UEFI firmware with ACPI data is usually assumed to be existing on PCs.
+
+;; It expects the boot/efi directory to be served via TFTP and the root
+;; file-system to be served via NFS. See the grub-efi-netboot-bootloader
+;; description in the manual for more details.
+
+(use-modules (gnu)
+ (gnu artwork)
+ (gnu system nss))
+(use-service-modules admin
+ avahi
+ networking
+ ssh)
+(use-package-modules certs
+ linux
+ raspberry-pi
+ ssh)
+
+(define %my-public-key
+ (local-file (string-append (getenv "HOME") "/.ssh/id_ecdsa.pub")))
+
+(define-public raspberry-pi-64-nfs-root
+ (operating-system
+ (host-name "raspberrypi-guix")
+ (timezone "Europe/Berlin")
+ (bootloader (bootloader-configuration
+ (bootloader grub-efi-bootloader-chain-raspi-64)
+ (targets (list "/boot/efi"))
+ (theme (grub-theme
+ (resolution '(1920 . 1080))
+ (image (file-append
+ %artwork-repository
+ "/grub/GuixSD-fully-black-16-9.svg"))))))
+ (kernel-arguments '("ip=dhcp"))
+ (kernel (customize-linux #:linux linux-libre-arm64-generic
+ #:extra-version "arm64-generic-netboot"
+ #:configs '("CONFIG_NFS_SWAP=y"
+ "CONFIG_USB_USBNET=y"
+ "CONFIG_USB_LAN78XX=y"
+ "CONFIG_USB_NET_SMSC95XX=y")))
+ (initrd-modules '())
+ (file-systems (cons* (file-system
+ (mount-point "/")
+ (type "nfs")
+ (device ":/export/raspberrypi/guix")
+ (options "addr=10.20.30.40,vers=4.1"))
+ %base-file-systems))
+ (swap-devices (list (swap-space
+ (target "/run/swapfile"))))
+ (users (cons* (user-account
+ (name "pi")
+ (group "users")
+ (supplementary-groups '("wheel" "netdev" "audio" "video"))
+ (home-directory "/home/pi"))
+ %base-user-accounts))
+ (packages (cons* nss-certs
+ openssh
+ %base-packages))
+ (services (cons* (service avahi-service-type)
+ (service dhcp-client-service-type)
+ (service ntp-service-type)
+ (service openssh-service-type
+ (openssh-configuration
+ (x11-forwarding? #t)
+ (authorized-keys
+ `(("pi" ,%my-public-key)))))
+ %base-services))
+ (name-service-switch %mdns-host-lookup-nss)))
+
+raspberry-pi-64-nfs-root
diff --git a/gnu/system/examples/raspberry-pi-64.tmpl b/gnu/system/examples/raspberry-pi-64.tmpl
new file mode 100644
index 0000000000..7d2638dd80
--- /dev/null
+++ b/gnu/system/examples/raspberry-pi-64.tmpl
@@ -0,0 +1,79 @@
+;; This is an operating-system configuration template of a
+;; 64-bit minimal system for a Raspberry Pi with local storage.
+
+;; It neither installs firmware nor device-tree files for the Raspberry Pi.
+;; It just assumes them to be existing in boot/efi in the same way that some
+;; UEFI firmware with ACPI data is usually assumed to be existing on PCs.
+
+;; It expects the boot-partition to be mounted as boot/efi in the same way
+;; as it is usually expeted on PCs with UEFI firmware.
+
+(use-modules (gnu)
+ (gnu artwork)
+ (gnu system nss))
+(use-service-modules admin
+ avahi
+ networking
+ ssh)
+(use-package-modules certs
+ linux
+ raspberry-pi
+ ssh)
+
+(define %my-public-key
+ (local-file (string-append (getenv "HOME") "/.ssh/id_ecdsa.pub")))
+
+(define-public raspberry-pi-64
+ (operating-system
+ (host-name "raspberrypi-guix")
+ (timezone "Europe/Berlin")
+ (bootloader (bootloader-configuration
+ (bootloader grub-efi-bootloader-chain-raspi-64)
+ (targets (list "/boot/efi"))
+ (theme (grub-theme
+ (resolution '(1920 . 1080))
+ (image (file-append
+ %artwork-repository
+ "/grub/GuixSD-fully-black-16-9.svg"))))))
+ (kernel (customize-linux #:linux linux-libre-arm64-generic
+ ;; It is possible to use a specific defconfig
+ ;; file, for example the "bcmrpi3_defconfig" with
+ ;; the variable shown below. Unfortunately the
+ ;; kernel built from the linux-libre sources with
+ ;; this defconfig file does not boot.
+ ;;#:extra-version "gnu-bcmrpi3"
+ ;;#:defconfig %bcmrpi3-defconfig
+ ))
+ (initrd-modules '())
+ (file-systems (cons* (file-system
+ (mount-point "/")
+ (type "ext4")
+ (device (file-system-label "Guix")))
+ (file-system
+ (mount-point "/boot/efi")
+ (type "vfat")
+ (device (file-system-label "EFI")))
+ %base-file-systems))
+ (swap-devices (list (swap-space
+ (target "/run/swapfile"))))
+ (users (cons* (user-account
+ (name "pi")
+ (group "users")
+ (supplementary-groups '("wheel" "netdev" "audio" "video"))
+ (home-directory "/home/pi"))
+ %base-user-accounts))
+ (packages (cons* nss-certs
+ openssh
+ %base-packages))
+ (services (cons* (service avahi-service-type)
+ (service dhcp-client-service-type)
+ (service ntp-service-type)
+ (service openssh-service-type
+ (openssh-configuration
+ (x11-forwarding? #t)
+ (authorized-keys
+ `(("pi" ,%my-public-key)))))
+ %base-services))
+ (name-service-switch %mdns-host-lookup-nss)))
+
+raspberry-pi-64
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 4bc32d9bd1..24fc6dbcae 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -75,28 +75,30 @@
info-reader))
(define %base-services/hurd
- (list (service hurd-console-service-type
- (hurd-console-configuration (hurd hurd)))
- (service hurd-getty-service-type (hurd-getty-configuration
- (tty "tty1")))
- (service hurd-getty-service-type (hurd-getty-configuration
- (tty "tty2")))
- (service static-networking-service-type
- (list %loopback-static-networking
+ (append (list (service hurd-console-service-type
+ (hurd-console-configuration (hurd hurd)))
+ (service static-networking-service-type
+ (list %loopback-static-networking
- ;; QEMU user-mode networking. To get "eth0", you need
- ;; QEMU to emulate a device for which Mach has an
- ;; in-kernel driver, for instance with:
- ;; --device rtl8139,netdev=net0 --netdev user,id=net0
- %qemu-static-networking))
- (syslog-service)
- (service guix-service-type
- (guix-configuration
- (extra-options '("--disable-chroot"
- "--disable-deduplication"))))
- (service special-files-service-type
- `(("/bin/sh" ,(file-append bash "/bin/sh"))
- ("/usr/bin/env" ,(file-append coreutils "/bin/env"))))))
+ ;; QEMU user-mode networking. To get "eth0", you need
+ ;; QEMU to emulate a device for which Mach has an
+ ;; in-kernel driver, for instance with:
+ ;; --device rtl8139,netdev=net0 --netdev user,id=net0
+ %qemu-static-networking))
+ (service guix-service-type
+ (guix-configuration
+ (extra-options '("--disable-chroot"
+ "--disable-deduplication"))))
+ (service special-files-service-type
+ `(("/bin/sh" ,(file-append bash "/bin/sh"))
+ ("/usr/bin/env" ,(file-append coreutils
+ "/bin/env"))))
+ (syslog-service))
+ (map (lambda (n)
+ (service hurd-getty-service-type
+ (hurd-getty-configuration
+ (tty (string-append "tty" (number->string n))))))
+ (iota 6 1))))
(define %setuid-programs/hurd
;; Default set of setuid-root programs.
diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm
index 69080bcacb..c2fd55d48e 100644
--- a/gnu/system/linux-container.scm
+++ b/gnu/system/linux-container.scm
@@ -121,9 +121,7 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS."
;; different configs that are better suited to containers.
(append (list console-font-service-type
mingetty-service-type
- agetty-service-type
- ;; Reinstantiated below with smaller caches.
- nscd-service-type)
+ agetty-service-type)
(if shared-network?
;; Replace these with dummy-networking-service-type below.
(list
@@ -134,17 +132,13 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS."
(list))))
(define services-to-add
- (append
- ;; Many Guix services depend on a 'networking' shepherd
- ;; service, so make sure to provide a dummy 'networking'
- ;; service when we are sure that networking is already set up
- ;; in the host and can be used. That prevents double setup.
- (if shared-network?
- (list (service dummy-networking-service-type))
- '())
- (list
- (nscd-service (nscd-configuration
- (caches %nscd-container-caches))))))
+ ;; Many Guix services depend on a 'networking' shepherd
+ ;; service, so make sure to provide a dummy 'networking'
+ ;; service when we are sure that networking is already set up
+ ;; in the host and can be used. That prevents double setup.
+ (if shared-network?
+ (list (service dummy-networking-service-type))
+ '()))
(operating-system
(inherit os)
@@ -155,7 +149,11 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS."
(services (append (remove (lambda (service)
(memq (service-kind service)
services-to-drop))
- (operating-system-user-services os))
+ (modify-services (operating-system-user-services os)
+ (nscd-service-type
+ config => (nscd-configuration
+ (inherit config)
+ (caches %nscd-container-caches)))))
services-to-add))
(file-systems (append (map mapping->fs
(if shared-network?