summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am3
-rw-r--r--doc/guix.texi83
-rw-r--r--etc/news.scm22
-rw-r--r--etc/snippets/yas/log-edit-mode/guix-vc-commit-message-add-package9
-rw-r--r--etc/snippets/yas/log-edit-mode/guix-vc-commit-message-remove-package9
-rw-r--r--etc/snippets/yas/log-edit-mode/guix-vc-commit-message-rename-package14
-rw-r--r--etc/snippets/yas/log-edit-mode/guix-vc-commit-message-update-package12
-rw-r--r--etc/snippets/yas/log-edit-mode/guix-vc-commit-message-use-https-home-page9
-rw-r--r--etc/teams.scm.in12
-rw-r--r--gnu/bootloader.scm105
-rw-r--r--gnu/bootloader/grub.scm222
-rw-r--r--gnu/build/hurd-boot.scm50
-rw-r--r--gnu/build/image.scm5
-rw-r--r--gnu/home/services/xdg.scm16
-rw-r--r--gnu/local.mk11
-rw-r--r--gnu/packages/admin.scm41
-rw-r--r--gnu/packages/apparmor.scm202
-rw-r--r--gnu/packages/assembly.scm6
-rw-r--r--gnu/packages/astronomy.scm112
-rw-r--r--gnu/packages/audio.scm16
-rw-r--r--gnu/packages/backup.scm4
-rw-r--r--gnu/packages/bioconductor.scm89
-rw-r--r--gnu/packages/bioinformatics.scm248
-rw-r--r--gnu/packages/bootloaders.scm851
-rw-r--r--gnu/packages/build-tools.scm89
-rw-r--r--gnu/packages/cdrom.scm2
-rw-r--r--gnu/packages/check.scm45
-rw-r--r--gnu/packages/chromium.scm49
-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-graphics.scm54
-rw-r--r--gnu/packages/crates-gtk.scm25
-rw-r--r--gnu/packages/crates-io.scm3360
-rw-r--r--gnu/packages/cross-base.scm170
-rw-r--r--gnu/packages/cups.scm10
-rw-r--r--gnu/packages/curl.scm5
-rw-r--r--gnu/packages/databases.scm4
-rw-r--r--gnu/packages/dav.scm39
-rw-r--r--gnu/packages/debug.scm29
-rw-r--r--gnu/packages/digest.scm12
-rw-r--r--gnu/packages/disk.scm10
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/documentation.scm27
-rw-r--r--gnu/packages/emacs-xyz.scm415
-rw-r--r--gnu/packages/embedded.scm71
-rw-r--r--gnu/packages/emulators.scm4
-rw-r--r--gnu/packages/engineering.scm49
-rw-r--r--gnu/packages/enlightenment.scm4
-rw-r--r--gnu/packages/finance.scm21
-rw-r--r--gnu/packages/freedesktop.scm11
-rw-r--r--gnu/packages/ftp.scm2
-rw-r--r--gnu/packages/game-development.scm28
-rw-r--r--gnu/packages/games.scm81
-rw-r--r--gnu/packages/geo.scm2
-rw-r--r--gnu/packages/gnome-xyz.scm10
-rw-r--r--gnu/packages/gnome.scm61
-rw-r--r--gnu/packages/gnupg.scm4
-rw-r--r--gnu/packages/gnuzilla.scm157
-rw-r--r--gnu/packages/golang.scm15
-rw-r--r--gnu/packages/graphics.scm4
-rw-r--r--gnu/packages/gstreamer.scm2
-rw-r--r--gnu/packages/gtk.scm14
-rw-r--r--gnu/packages/guile-xyz.scm43
-rw-r--r--gnu/packages/guile.scm10
-rw-r--r--gnu/packages/hardware.scm23
-rw-r--r--gnu/packages/i2p.scm4
-rw-r--r--gnu/packages/image-viewers.scm12
-rw-r--r--gnu/packages/image.scm13
-rw-r--r--gnu/packages/jami.scm2
-rw-r--r--gnu/packages/julia-xyz.scm213
-rw-r--r--gnu/packages/julia.scm265
-rw-r--r--gnu/packages/kde.scm4
-rw-r--r--gnu/packages/libevent.scm11
-rw-r--r--gnu/packages/libreoffice.scm22
-rw-r--r--gnu/packages/linux.scm311
-rw-r--r--gnu/packages/lisp-xyz.scm140
-rw-r--r--gnu/packages/lisp.scm11
-rw-r--r--gnu/packages/llvm.scm133
-rw-r--r--gnu/packages/loko.scm75
-rw-r--r--gnu/packages/machine-learning.scm117
-rw-r--r--gnu/packages/mail.scm23
-rw-r--r--gnu/packages/mastodon.scm11
-rw-r--r--gnu/packages/maths.scm44
-rw-r--r--gnu/packages/mes.scm2
-rw-r--r--gnu/packages/messaging.scm8
-rw-r--r--gnu/packages/minetest.scm23
-rw-r--r--gnu/packages/monitoring.scm31
-rw-r--r--gnu/packages/music.scm62
-rw-r--r--gnu/packages/networking.scm34
-rw-r--r--gnu/packages/onc-rpc.scm2
-rw-r--r--gnu/packages/parallel.scm16
-rw-r--r--gnu/packages/patches/jami-sip-contacts.patch38
-rw-r--r--gnu/packages/patches/jami-sipaccount-segfault.patch30
-rw-r--r--gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch5
-rw-r--r--gnu/packages/patches/julia-allow-parallel-build.patch32
-rw-r--r--gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch40
-rw-r--r--gnu/packages/patches/python-seaborn-2690.patch268
-rw-r--r--gnu/packages/patches/python-seaborn-kde-test.patch36
-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/patches/u-boot-allow-disabling-openssl.patch66
-rw-r--r--gnu/packages/perl.scm34
-rw-r--r--gnu/packages/photo.scm67
-rw-r--r--gnu/packages/protobuf.scm13
-rw-r--r--gnu/packages/python-check.scm29
-rw-r--r--gnu/packages/python-science.scm24
-rw-r--r--gnu/packages/python-web.scm61
-rw-r--r--gnu/packages/python-xyz.scm360
-rw-r--r--gnu/packages/qt.scm285
-rw-r--r--gnu/packages/raspberry-pi.scm136
-rw-r--r--gnu/packages/ruby.scm4
-rw-r--r--gnu/packages/rust-apps.scm328
-rw-r--r--gnu/packages/rust.scm17
-rw-r--r--gnu/packages/shells.scm4
-rw-r--r--gnu/packages/sqlite.scm5
-rw-r--r--gnu/packages/sssd.scm9
-rw-r--r--gnu/packages/statistics.scm844
-rw-r--r--gnu/packages/telephony.scm104
-rw-r--r--gnu/packages/texinfo.scm6
-rw-r--r--gnu/packages/text-editors.scm6
-rw-r--r--gnu/packages/textutils.scm10
-rw-r--r--gnu/packages/tls.scm38
-rw-r--r--gnu/packages/video.scm41
-rw-r--r--gnu/packages/web.scm108
-rw-r--r--gnu/packages/wm.scm86
-rw-r--r--gnu/packages/wxwidgets.scm232
-rw-r--r--gnu/packages/xdisorg.scm14
-rw-r--r--gnu/services/base.scm4
-rw-r--r--gnu/services/configuration.scm6
-rw-r--r--gnu/services/cuirass.scm24
-rw-r--r--gnu/services/monitoring.scm32
-rw-r--r--gnu/services/networking.scm684
-rw-r--r--gnu/services/vpn.scm4
-rw-r--r--gnu/system/examples/raspberry-pi-64-nfs-root.tmpl70
-rw-r--r--gnu/system/examples/raspberry-pi-64.tmpl74
-rw-r--r--gnu/system/hurd.scm44
-rw-r--r--gnu/system/images/pine64.scm21
-rw-r--r--gnu/system/linux-container.scm28
-rw-r--r--gnu/tests/gdm.scm127
-rw-r--r--guix/build-system/linux-module.scm2
-rw-r--r--guix/build/kconfig.scm183
-rw-r--r--guix/gnu-maintenance.scm4
-rw-r--r--guix/import/cran.scm1
-rw-r--r--guix/packages.scm2
-rw-r--r--guix/pki.scm8
-rwxr-xr-xguix/scripts/substitute.scm2
-rw-r--r--tests/guix-system.sh4
-rw-r--r--tests/pki.scm6
151 files changed, 9658 insertions, 5082 deletions
diff --git a/Makefile.am b/Makefile.am
index 28546be18c..b54288c0fc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -237,6 +237,7 @@ MODULES = \
guix/build/waf-build-system.scm \
guix/build/haskell-build-system.scm \
guix/build/julia-build-system.scm \
+ guix/build/kconfig.scm \
guix/build/linux-module-build-system.scm \
guix/build/store-copy.scm \
guix/build/json.scm \
@@ -440,6 +441,8 @@ EXAMPLES = \
gnu/system/examples/desktop.tmpl \
gnu/system/examples/lightweight-desktop.tmpl \
gnu/system/examples/docker-image.tmpl \
+ gnu/system/examples/raspberry-pi-64.tmpl \
+ gnu/system/examples/raspberry-pi-64-nfs-root.tmpl \
gnu/system/examples/vm-image.tmpl
GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go $(dist_noinst_DATA:%.scm=%.go)
diff --git a/doc/guix.texi b/doc/guix.texi
index e547d469f4..aacf748838 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18409,9 +18409,6 @@ udev rules can be provided as a list of files through the @var{rules}
variable. The procedures @code{udev-rule}, @code{udev-rules-service}
and @code{file->udev-rule} from @code{(gnu services base)} simplify the
creation of such rule files.
-
-The @command{herd rules udev} command, as root, returns the name of the
-directory containing all the active udev rules.
@end deffn
@deffn {Scheme Procedure} udev-rule [@var{file-name} @var{contents}]
@@ -18940,9 +18937,8 @@ gexps to introduce job definitions that are passed to mcron
;; job's action as a Scheme procedure.
#~(job '(next-hour '(3))
(lambda ()
- (execl (string-append #$findutils "/bin/updatedb")
- "updatedb"
- "--prunepaths=/tmp /var/tmp /gnu/store"))
+ (system* (string-append #$findutils "/bin/updatedb")
+ "--prunepaths=/tmp /var/tmp /gnu/store"))
"updatedb"))
(define garbage-collector-job
@@ -18980,6 +18976,12 @@ the job would appear as ``Lambda function'' in the output of
@command{herd schedule mcron}, which is not nearly descriptive enough!
@end quotation
+@quotation Tip
+Avoid calling the Guile procedures @code{execl}, @code{execle} or
+@code{execlp} inside a job specification, else mcron won't be able to
+output the completion status of the job.
+@end quotation
+
For more complex jobs defined in Scheme where you need control over the top
level, for instance to introduce a @code{use-modules} form, you can move your
code to a separate program using the @code{program-file} procedure of the
@@ -19581,6 +19583,10 @@ This is the list of available plugins for virtual private networks
(VPNs). An example of this is the @code{network-manager-openvpn}
package, which allows NetworkManager to manage VPNs @i{via} OpenVPN.
+@item @code{iwd?} (default: @code{#f})
+NetworkManager will use iwd as a backend for wireless networking if this
+option is set to @code{#t}, otherwise it will use wpa-supplicant.
+
@end table
@end deftp
@@ -28120,7 +28126,7 @@ The zabbix-server package.
@item @code{user} (default: @code{"zabbix"}) (type: string)
User who will run the Zabbix server.
-@item @code{group} (default: @code{"zabbix"}) (type: group)
+@item @code{group} (default: @code{"zabbix"}) (type: string)
Group who will run the Zabbix server.
@item @code{db-host} (default: @code{"127.0.0.1"}) (type: string)
@@ -28206,7 +28212,7 @@ The zabbix-agent package.
@item @code{user} (default: @code{"zabbix"}) (type: string)
User who will run the Zabbix agent.
-@item @code{group} (default: @code{"zabbix"}) (type: group)
+@item @code{group} (default: @code{"zabbix"}) (type: string)
Group who will run the Zabbix agent.
@item @code{hostname} (default: @code{""}) (type: string)
@@ -37991,8 +37997,9 @@ The type of a bootloader configuration declaration.
@cindex BIOS, bootloader
The bootloader to use, as a @code{bootloader} object. For now
@code{grub-bootloader}, @code{grub-efi-bootloader},
-@code{grub-efi-netboot-bootloader}, @code{grub-efi-removable-bootloader},
-@code{extlinux-bootloader} and @code{u-boot-bootloader} are supported.
+@code{grub-efi-removable-bootloader}, @code{grub-efi-netboot-bootloader},
+@code{grub-efi-netboot-removable-bootloader}, @code{extlinux-bootloader}
+and @code{u-boot-bootloader} are supported.
@cindex ARM, bootloaders
@cindex AArch64, bootloaders
@@ -38001,15 +38008,29 @@ modules. In particular, @code{(gnu bootloader u-boot)} contains definitions
of bootloaders for a wide range of ARM and AArch64 systems, using the
@uref{https://www.denx.de/wiki/U-Boot/, U-Boot bootloader}.
+@vindex grub-bootloader
+@code{grub-bootloader} allows you to boot in particular Intel-based machines
+in ``legacy'' BIOS mode.
+
@vindex grub-efi-bootloader
@code{grub-efi-bootloader} allows to boot on modern systems using the
@dfn{Unified Extensible Firmware Interface} (UEFI). This is what you should
use if the installation image contains a @file{/sys/firmware/efi} directory
when you boot it on your system.
-@vindex grub-bootloader
-@code{grub-bootloader} allows you to boot in particular Intel-based machines
-in ``legacy'' BIOS mode.
+@vindex grub-efi-removable-bootloader
+@code{grub-efi-removable-bootloader} allows you to boot your system from
+removable media by writing the GRUB file to the UEFI-specification location of
+@file{/EFI/BOOT/BOOTX64.efi} of the boot directory, usually @file{/boot/efi}.
+This is also useful for some UEFI firmwares that ``forget'' their configuration
+from their non-volatile storage. Like @code{grub-efi-bootloader}, this can only
+be used if the @file{/sys/firmware/efi} directory is available.
+
+@quotation Note
+This @emph{will} overwrite the GRUB file from any other operating systems that
+also place their GRUB file in the UEFI-specification location; making them
+unbootable.
+@end quotation
@vindex grub-efi-netboot-bootloader
@code{grub-efi-netboot-bootloader} allows you to boot your system over network
@@ -38018,9 +38039,10 @@ build a diskless Guix system.
The installation of the @code{grub-efi-netboot-bootloader} generates the
content of the TFTP root directory at @code{targets} (@pxref{Bootloader
-Configuration, @code{targets}}), to be served by a TFTP server. You may
-want to mount your TFTP server directories onto the @code{targets} to
-move the required files to the TFTP server automatically.
+Configuration, @code{targets}}) below the sub-directory @file{efi/Guix}, to be
+served by a TFTP server. You may want to mount your TFTP server directories
+onto the @code{targets} to move the required files to the TFTP server
+automatically during installation.
If you plan to use an NFS root file system as well (actually if you mount the
store from an NFS share), then the TFTP server needs to serve the file
@@ -38049,25 +38071,34 @@ this constellation the symlinks will work.
For other constellations you will have to program your own bootloader
installer, which then takes care to make necessary files from the store
accessible through TFTP, for example by copying them into the TFTP root
-directory to your @code{targets}.
+directory for your @code{targets}.
It is important to note that symlinks pointing outside the TFTP root directory
may need to be allowed in the configuration of your TFTP server. Further the
store link exposes the whole store through TFTP@. Both points need to be
-considered carefully for security aspects.
+considered carefully for security aspects. It is advised to disable any TFTP
+write access!
+
+Please note, that this bootloader will not modify the ‘UEFI Boot Manager’ of
+the system.
Beside the @code{grub-efi-netboot-bootloader}, the already mentioned TFTP and
NFS servers, you also need a properly configured DHCP server to make the booting
over netboot possible. For all this we can currently only recommend you to look
for instructions about @acronym{PXE, Preboot eXecution Environment}.
-@vindex grub-efi-removable-bootloader
-@code{grub-efi-removable-bootloader} allows you to boot your system from
-removable media by writing the GRUB file to the UEFI-specification location of
-@file{/EFI/BOOT/BOOTX64.efi} of the boot directory, usually @file{/boot/efi}.
-This is also useful for some UEFI firmwares that ``forget'' their configuration
-from their non-volatile storage. Like @code{grub-efi-bootloader}, this can only
-be used if the @file{/sys/firmware/efi} directory is available.
+If a local EFI System Partition (ESP) or a similar partition with a FAT
+file system is mounted in @code{targets}, then symlinks cannot be
+created. In this case everything will be prepared for booting from
+local storage, matching the behavior of @code{grub-efi-bootloader}, with
+the difference that all GRUB binaries are copied to @code{targets},
+necessary for booting over the network.
+
+@vindex grub-efi-netboot-removable-bootloader
+@code{grub-efi-netboot-removable-bootloader} is identical to
+@code{grub-efi-netboot-bootloader} with the exception that the
+sub-directory @file{efi/boot} will be used instead of @file{efi/Guix} to
+comply with the UEFI specification for removable media.
@quotation Note
This @emph{will} overwrite the GRUB file from any other operating systems that
@@ -43141,7 +43172,7 @@ bootstrap stack, working towards a Full Source Bootstrap. Also ongoing
is work to bring these bootstraps to the @code{arm-linux} and
@code{aarch64-linux} architectures and to the Hurd.
-If you are interested, join us on @samp{#bootstrappable} on the Freenode
+If you are interested, join us on @samp{#bootstrappable} on the Libera.Chat
IRC network or discuss on @email{bug-mes@@gnu.org} or
@email{gash-devel@@nongnu.org}.
diff --git a/etc/news.scm b/etc/news.scm
index a64572dfea..86451495fd 100644
--- a/etc/news.scm
+++ b/etc/news.scm
@@ -26,6 +26,28 @@
(channel-news
(version 0)
+ (entry (commit "dfc6957a5af7d179d4618eb19d4f555c519bc6f2")
+ (title
+ (en "New @code{customize-linux} procedure")
+ (de "Neue Prozedur @code{customize-linux}")
+ (fr "Nouvelle procédure @code{customize-linux}"))
+ (body
+ (en "The @code{(gnu packages linux)} module includes a new
+@code{customize-linux} procedure, which should now be used instead of
+replacing the @samp{\"kconfig\"} native input of a @code{linux-libre}-derived
+package, as the kernel config file is no longer provided as a native
+input.")
+ (de "Das Modul @code{(gnu packages linux)} enthält eine neue Prozedur
+@code{customize-linux}, die von nun an für angepasste Linux-Pakete benutzt
+werden sollte. Die native Eingabe @samp{\"kconfig\"} eines von
+@code{linux-libre} abgeleiteten Pakets zu ersetzen, funktioniert nicht mehr,
+weil die Kernel-Konfigurationsdatei nicht mehr als native Eingabe vorliegt.")
+ (fr "Le module @code{(gnu packages linux)} inclut une nouvelle
+procédure @code{customize-linux}, qui devrait maintenant être utilisée au lieu
+de remplacer l'entrée native @samp{\"kconfig\"} d'un paquet dérivé de
+@code{linux-libre}, car le fichier de configuration du noyau n'est plus fourni
+en tant qu'entrée native.")))
+
(entry (commit "788602b37ff42f730d4b7b569b0fb51465f147da")
(title
(en "New @option{--symlink} option for @command{guix shell}")
diff --git a/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-add-package b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-add-package
new file mode 100644
index 0000000000..cc2dddb1e0
--- /dev/null
+++ b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-add-package
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: guix-vc-commit-message-add-package
+# key: add
+# --
+gnu: Add ${1:`(when (string-match "\\+(define-public \\(\\S-+\\)" vc-patch-string)
+ (match-string-no-properties 1 vc-patch-string))`}.
+
+* `(car (log-edit-files))` ($1): New variable.
+`(mapconcat (lambda (file) (concat "* " file)) (cdr (log-edit-files)) "\n")`
diff --git a/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-remove-package b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-remove-package
new file mode 100644
index 0000000000..9ab4ce6156
--- /dev/null
+++ b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-remove-package
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: guix-vc-commit-message-remove-package
+# key: remove
+# --
+gnu: Remove ${1:`(when (string-match "\\-(define-public \\(\\S-+\\)" vc-patch-string)
+ (match-string-no-properties 1 vc-patch-string))`}.
+
+* `(car (log-edit-files))` ($1): Delete variable.
+`(mapconcat (lambda (file) (concat "* " file)) (cdr (log-edit-files)) "\n")`
diff --git a/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-rename-package b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-rename-package
new file mode 100644
index 0000000000..89c85f8016
--- /dev/null
+++ b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-rename-package
@@ -0,0 +1,14 @@
+# -*- mode: snippet -*-
+# name: guix-vc-commit-message-rename-package
+# key: rename
+# --
+gnu: ${1:`(when (string-match "\\-(define-public \\(\\S-+\\)" vc-patch-string)
+ (match-string-no-properties 1 vc-patch-string))
+ `}: Rename package to ${2:`
+ (when (string-match "\\+(define-public \\(\\S-+\\)" vc-patch-string)
+ (match-string-no-properties 1 vc-patch-string))`}.
+
+* `(car (log-edit-files))` ($1): Define in terms of
+'deprecated-package'.
+($2): New variable, formerly known as "$1".
+`(mapconcat (lambda (file) (concat "* " file)) (cdr (log-edit-files)) "\n")`
diff --git a/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-update-package b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-update-package
new file mode 100644
index 0000000000..b5e41709f5
--- /dev/null
+++ b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-update-package
@@ -0,0 +1,12 @@
+# -*- mode: snippet -*-
+# name: guix-vc-commit-message-update-package
+# key: update
+# --
+
+gnu: ${1:`(when (string-match "^[ ]*(define-public \\(\\S-+\\)" vc-patch-string)
+ (match-string-no-properties 1 vc-patch-string))`}: Update to ${2:`
+ (when (string-match "^\\+[ ]*(version \"\\(.*\\)\"" vc-patch-string)
+ (match-string-no-properties 1 vc-patch-string))`}.
+
+* `(car (log-edit-files))` ($1): Update to $2.$0
+`(mapconcat (lambda (file) (concat "* " file)) (cdr (log-edit-files)) "\n")`
diff --git a/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-use-https-home-page b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-use-https-home-page
new file mode 100644
index 0000000000..e0f170b015
--- /dev/null
+++ b/etc/snippets/yas/log-edit-mode/guix-vc-commit-message-use-https-home-page
@@ -0,0 +1,9 @@
+# -*- mode: snippet -*-
+# name: guix-vc-commit-message-use-https-home-page
+# key: https
+# --
+gnu: ${1:`(when (string-match "^[ ]*(define-public \\(\\S-+\\)" vc-patch-string)
+ (match-string-no-properties 1 vc-patch-string))`}: Use HTTPS home page URI.
+
+* `(car (log-edit-files))` ($1)[home-page]: Use HTTPS URI.
+`(mapconcat (lambda (file) (concat "* " file)) (cdr (log-edit-files)) "\n")`
diff --git a/etc/teams.scm.in b/etc/teams.scm.in
index c458b14e3b..57d4357900 100644
--- a/etc/teams.scm.in
+++ b/etc/teams.scm.in
@@ -187,7 +187,14 @@ and the maven-build-system."
(define-team science
(team 'science
- #:name "Science team"))
+ #:name "Science team"
+ #:description "The main science disciplines and fields related
+packages (e.g. Astronomy, Chemistry, Math, Physics etc.)"
+ #:scope (list "gnu/packages/algebra.scm"
+ "gnu/packages/astronomy.scm"
+ "gnu/packages/geo.scm"
+ "gnu/packages/chemestry.scm"
+ "gnu/packages/maths.scm")))
(define-team emacs
(team 'emacs
@@ -393,7 +400,8 @@ and Thunderbird."
"The Racket language and Racket-based languages, Racket packages,
Racket's variant of Chez Scheme, and development of a Racket build system and
importer."
- #:scope (list "gnu/packages/racket.scm")))
+ #:scope (list "gnu/packages/chez.scm"
+ "gnu/packages/racket.scm")))
(define-member (person "Thiago Jung Bauermann"
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..ecd44e7f3c 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))
@@ -391,7 +392,7 @@ when booting a root file system on a Btrfs subvolume."
;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
;; separate partition.
- ;; When BTRFS-SUBVOLUME-FILE-NAME is defined, prepend it the linux and
+ ;; When STORE-DIRECTORY-PREFIX is defined, prepend it the linux and
;; initrd paths, to allow booting from a Btrfs subvolume.
#~(format port "menuentry ~s {
~a
@@ -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/build/image.scm b/gnu/build/image.scm
index 2327cfbb45..65a0373980 100644
--- a/gnu/build/image.scm
+++ b/gnu/build/image.scm
@@ -111,7 +111,10 @@ turn doesn't take any constant overhead into account, force a 1-MiB minimum."
(if (eq? size 'guess)
(estimate-partition-size root)
size))
- (if (member 'esp flags) (list "-S" "1024") '()))
+ ;; u-boot in particular needs the formatted block
+ ;; size and the physical block size to be equal.
+ ;; TODO: What about 4k blocks?
+ (if (member 'esp flags) (list "-S" "512") '()))
(for-each (lambda (file)
(unless (member file '("." ".."))
(invoke "mcopy" "-bsp" "-i" target
diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm
index 3c6cb773ad..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
diff --git a/gnu/local.mk b/gnu/local.mk
index 7278c50e4f..6e12f9cdb1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -116,6 +116,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/anthy.scm \
%D%/packages/antivirus.scm \
%D%/packages/apl.scm \
+ %D%/packages/apparmor.scm \
%D%/packages/apr.scm \
%D%/packages/arcan.scm \
%D%/packages/aspell.scm \
@@ -759,6 +760,7 @@ GNU_SYSTEM_MODULES = \
%D%/tests/docker.scm \
%D%/tests/file-sharing.scm \
%D%/tests/ganeti.scm \
+ %D%/tests/gdm.scm \
%D%/tests/guix.scm \
%D%/tests/monitoring.scm \
%D%/tests/nfs.scm \
@@ -1345,6 +1347,8 @@ 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-sipaccount-segfault.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 \
@@ -1373,7 +1377,6 @@ dist_patch_DATA = \
%D%/packages/patches/jsoncpp-pkg-config-version.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/julia-tracker-16-compat.patch \
- %D%/packages/patches/julia-allow-parallel-build.patch \
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
%D%/packages/patches/libffi-float128-powerpc64le.patch \
%D%/packages/patches/libobjc2-unbundle-robin-map.patch \
@@ -1463,7 +1466,6 @@ dist_patch_DATA = \
%D%/packages/patches/libtirpc-hurd.patch \
%D%/packages/patches/libtommath-fix-linkage.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
- %D%/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
%D%/packages/patches/libusb-for-axoloti.patch \
%D%/packages/patches/libutils-add-includes.patch \
@@ -1757,8 +1759,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-robotframework-atest.patch \
%D%/packages/patches/python-robotframework-source-date-epoch.patch \
%D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
- %D%/packages/patches/python-seaborn-kde-test.patch \
- %D%/packages/patches/python-seaborn-2690.patch \
%D%/packages/patches/python-unittest2-python3-compat.patch \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-versioneer-guix-support.patch \
@@ -1823,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 \
@@ -1837,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 \
@@ -1868,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..79f91d530d 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
@@ -5714,3 +5714,40 @@ file or files to several hosts.")
(description
"@code{doctl} provides a unified command line interface to the DigitalOcean API.")
(license license:asl2.0)))
+
+(define-public du-dust
+ (package
+ (name "du-dust")
+ (version "0.8.3")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "du-dust" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1daif13rdd7wb8m5fbp6zif5b8znqcvmkxrjpp2w2famsp36sahx"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-ansi-term" ,rust-ansi-term-0.12)
+ ("rust-clap" ,rust-clap-3)
+ ("rust-clap" ,rust-clap-3)
+ ("rust-clap-complete" ,rust-clap-complete-3)
+ ("rust-config-file" ,rust-config-file-0.2)
+ ("rust-directories" ,rust-directories-4)
+ ("rust-lscolors" ,rust-lscolors-0.7)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-stfu8" ,rust-stfu8-0.2)
+ ("rust-sysinfo" ,rust-sysinfo-0.15)
+ ("rust-terminal-size" ,rust-terminal-size-0.1)
+ ("rust-thousands" ,rust-thousands-0.2)
+ ("rust-unicode-width" ,rust-unicode-width-0.1)
+ ("rust-winapi-util" ,rust-winapi-util-0.1))
+ #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (home-page "https://github.com/bootandy/dust")
+ (synopsis "Graphical disk usage analyzer")
+ (description "This package provides a graphical disk usage analyzer in
+text mode.")
+ (license license:asl2.0)))
diff --git a/gnu/packages/apparmor.scm b/gnu/packages/apparmor.scm
new file mode 100644
index 0000000000..ddbd9eb7a9
--- /dev/null
+++ b/gnu/packages/apparmor.scm
@@ -0,0 +1,202 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages apparmor)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bison)
+ #:use-module (gnu packages dejagnu)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages gawk)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages python-xyz)
+ #:use-module (gnu packages ruby)
+ #:use-module (gnu packages swig)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix utils))
+
+(define-public libapparmor
+ (package
+ (name "libapparmor")
+ (version "3.1.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/apparmor/apparmor")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h77a7ww0rxfv5nsi1iy4fffklxdr2vq6r7kdsqm15yysglhbjyi"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
+ "--with-perl" "--with-python" "--with-ruby")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each patch-shebang
+ '("common/list_af_names.sh"
+ "common/list_capabilities.sh"))
+ (for-each (lambda (file)
+ (substitute* file
+ (("/usr") "")
+ (("/bin/\\<(pod2man|pod2html|podchecker|prove)\\>" path)
+ (search-input-file inputs path))
+ (("/include/linux/capability.h" path)
+ (search-input-file inputs path))))
+ '("common/Make-po.rules"
+ "common/Make.rules"
+ "binutils/Makefile"
+ "parser/Makefile"
+ "parser/tst/Makefile"
+ "profiles/Makefile"
+ "utils/Makefile"
+ "utils/python-tools-setup.py"
+ "utils/vim/Makefile"))))
+ (add-after 'fix-paths 'change-directory
+ (lambda _
+ (chdir "libraries/libapparmor"))))))
+ (native-inputs
+ (list autoconf
+ automake
+ bison
+ dejagnu
+ flex
+ libtool
+ perl
+ python-minimal
+ ruby
+ swig
+ which))
+ (home-page "https://apparmor.net")
+ (synopsis "Linux kernel security module")
+ (description
+ "AppArmor is an effective and easy-to-use Linux application security
+system.
+
+AppArmor proactively protects the operating system and applications from
+external or internal threats, even zero-day attacks, by enforcing good
+behavior and preventing both known and unknown application flaws from being
+exploited.
+
+AppArmor supplements the traditional Unix discretionary access control (DAC)
+model by providing mandatory access control (MAC). It has been included in
+the mainline Linux kernel since version 2.6.36 and its development has been
+supported by Canonical since 2009.")
+ (license license:lgpl2.1)
+ (supported-systems (filter (lambda (system)
+ (string-suffix? "-linux" system))
+ %supported-systems))))
+
+(define-public apparmor
+ (let ((base libapparmor))
+ (package
+ (inherit base)
+ (name "apparmor")
+ (arguments
+ (append
+ (list #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "DESTDIR=" #$output)
+ "USE_SYSTEM=1"
+ ;; No need to run the linter
+ "PYFLAKES=true"))
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'configure)
+ ;; apparmor-binutils
+ (replace 'change-directory
+ (lambda _
+ (chdir "binutils")))
+
+ ;; apparmor-parser
+ (add-after 'install 'chdir-parser
+ (lambda _
+ (chdir "../parser")))
+ (add-after 'chdir-parser 'patch-source-shebangs-parser
+ (assoc-ref %standard-phases 'patch-source-shebangs))
+ (add-after 'patch-source-shebangs-parser 'build-parser
+ (assoc-ref %standard-phases 'build))
+ (add-after 'build-parser 'check-parser
+ (assoc-ref %standard-phases 'check))
+ (add-after 'check-parser 'install-parser
+ (assoc-ref %standard-phases 'install))
+
+ ;; apparmor-utils
+ ;; FIXME: Tests required Python library from this package
+ ;; (itself).
+ (add-after 'install-parser 'chdir-utils
+ (lambda _
+ (chdir "../utils")
+ ;; Fix paths to installed policygroups and templates for
+ ;; easyprof.
+ (substitute* "easyprof/easyprof.conf"
+ (("/usr") #$output))))
+ (add-after 'chdir-utils 'build-utils
+ (assoc-ref %standard-phases 'build))
+ (add-after 'build-utils 'install-utils
+ (assoc-ref %standard-phases 'install))
+
+ ;; apparmor-profiles
+ ;; FIXME: Tests need an AppArmor-enabled system.
+ (add-after 'install-utils 'chdir-profiles
+ (lambda _
+ (chdir "../profiles")))
+ (add-after 'chdir-profiles 'build-profiles
+ (assoc-ref %standard-phases 'build))
+ (add-after 'check-build 'install-profiles
+ (assoc-ref %standard-phases 'install)))))))
+ (propagated-inputs
+ (list libapparmor))
+ ;; Python module `readline' needed
+ (native-inputs
+ (list bison flex gettext-minimal perl python which))
+ (license license:gpl2))))
+
+(define-public pam-apparmor
+ (let ((base apparmor))
+ (package
+ (inherit base)
+ (name "pam-apparmor")
+ (arguments
+ (append
+ (list #:tests? #f) ;no tests
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (delete 'chdir-parser)
+ (delete 'chdir-utils)
+ (delete 'chdir-profiles)
+ (replace 'change-directory
+ (lambda _
+ (chdir "changehat/pam_apparmor"))))))))
+ (native-inputs (list pkg-config perl which))
+ (inputs (list libapparmor linux-pam))
+ (license license:bsd-3))))
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..c59f4d02a4 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"))
@@ -1412,6 +1464,35 @@ re-gridding of images from one world coordinate system to another e.g.
changing the pixel resolution, orientation, coordinate system.")
(license license:bsd-3)))
+(define-public python-sgp4
+ (package
+ (name "python-sgp4")
+ (version "2.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sgp4" version))
+ (sha256
+ (base32 "1vzcrlrlzmhbycdz16m8v241l8zx49vsy81wcd0yjxs80isvhyb1"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ (list python-numpy))
+ (home-page "https://github.com/brandon-rhodes/python-sgp4")
+ (synopsis "Track earth satellite TLE orbits using SGP4")
+ (description
+ "This package provides a Python implementation for computations of the
+position and velocity of an earth-orbiting satellite, given the satellite’s
+@acronym{TLE, Two-line element set} orbital elements from a source like
+@url{CelesTrak, https://celestrak.org/}.
+
+It implements the most recent version of @acronym{SGP4, Simplified General
+Perturbation models}, and is regularly run against the SGP4 test suite to make
+sure that its satellite position predictions agree to within 0.1 mm with the
+predictions of the standard distribution of the algorithm. This error is far
+less than the 1–3 km/day by which satellites themselves deviate from the ideal
+orbits described in TLE files.")
+ (license license:expat)))
+
(define-public python-sunpy
(package
(name "python-sunpy")
@@ -1810,12 +1891,12 @@ provide you with detailed information about each pass.")
(license license:gpl2+)))
(define-public sgp4
- ;; No tagged releases, use commit directly.
- (let ((commit "ca9d4d97af4ee62461de6f13e0c85d1dc6000040")
- (revision "1"))
+ ;; Version tag v1.0 is dated to <2021-01-11>, use the lates commit instead.
+ (let ((commit "6a448b4850e5fbf8c1ca03bb5f6013a9fdc1fd91")
+ (revision "2"))
(package
(name "sgp4")
- (version (git-version "0.0.0" revision commit))
+ (version (git-version "1.0" revision commit))
(source
(origin
(method git-fetch)
@@ -1824,17 +1905,20 @@ provide you with detailed information about each pass.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1xwfa6papmd2qz5w0hwzvijmzvp9np8dlw3q3qz4bmsippzjv8p7"))))
+ (base32 "15q8sain87cbppmzq66y6gp6bvm3kdd1bcchrl59rcvjp0w51wl1"))))
(build-system cmake-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- ;; Tests fails, probably because of a few "(e <= -0.001)" errors.
- ;; Or maybe this is not the right way to run the tests?
- ;; (invoke "runtest/runtest")
- #t)))))
+ (list
+ ;; FIXME: Tests evaluated via runtest binary, but it's failing even
+ ;; when SGP4-VER.TLE file was copied next to it during install phase.
+ ;;
+ ;; There are 2 more binaries are created after build phase -
+ ;; passpredict and sattrack which are failing to execute after
+ ;; install, strace output:
+ ;;
+ ;; strace: exec: Exec format error
+ ;;
+ #:tests? #f))
(home-page "https://github.com/dnwrnr/sgp4")
(synopsis "Simplified perturbations models library")
(description
@@ -1873,7 +1957,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 ead5ce5963..e480ce9e58 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
@@ -4828,7 +4828,7 @@ representations.")
(define-public cava
(package
(name "cava")
- (version "0.7.4")
+ (version "0.8.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4837,15 +4837,7 @@ representations.")
(file-name (git-file-name name version))
(sha256
(base32
- "1mziklmqifhnb4kg9ia2r56r8wjn6xp40bkpf484hsgqvnrccl86"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- (delete-file-recursively "iniparser")
- (substitute* "configure.ac"
- (("AC_CONFIG_FILES\\(iniparser/Makefile\\)") ""))
- (substitute* "Makefile.am"
- (("SUBDIRS = iniparser") ""))))))
+ "0v0l6al3ygj6lq224ddffb1f10yv4218k7l82hbba8d7dj2rc67b"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool))
(inputs (list fftw ncurses pulseaudio iniparser))
@@ -4875,7 +4867,7 @@ representations.")
(string-append #$output
"/share/doc/examples")))
(find-files "example_files")))))))
- (home-page "https://karlstav.github.io/cava/")
+ (home-page "https://github.com/karlstav/cava")
(synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio")
(description "C.A.V.A. is a bar audio spectrum visualizer for the terminal
using ALSA, MPD, PulseAudio, or a FIFO buffer as its input.")
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..207f3c3d28 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)
@@ -846,7 +847,7 @@ intended to behave exactly the same as the original BWK awk.")
(define-public python-cellbender
(package
(name "python-cellbender")
- (version "0.2.1")
+ (version "0.2.2")
(source
(origin
(method git-fetch)
@@ -856,8 +857,8 @@ intended to behave exactly the same as the original BWK awk.")
(file-name (git-file-name name version))
(sha256
(base32
- "1zav2q8nnss80i25y06fccagkvrqsy7lpylsl4dxv4qkj8p4fnv3"))))
- (build-system python-build-system)
+ "12q22va7rbc3sx9ygc6p6hh6xw9wbqjmhba5h5gb836p5xplj5fa"))))
+ (build-system pyproject-build-system)
(arguments
(list #:tests? #false)) ;there are none
(propagated-inputs
@@ -884,14 +885,14 @@ from high-throughput single-cell RNA sequencing (scRNA-seq) data.")
(define-public python-htsget
(package
(name "python-htsget")
- (version "0.2.5")
+ (version "0.2.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "htsget" version))
(sha256
(base32
- "0ic07q85vhw9djf23k57b21my7i5xp400m8gfqgr5gcryqvdr0yk"))))
- (build-system python-build-system)
+ "111q4pzkav26aa3hkgh948wqlyrq7dq6sjml9z63n3blw8s6b0c4"))))
+ (build-system pyproject-build-system)
(native-inputs
(list python-setuptools-scm))
(propagated-inputs
@@ -913,11 +914,12 @@ servers supporting the protocol.")
(sha256
(base32
"18rhzk08d3rpxhi5xh6pqg64x6v5q3daw6y3v54k85v4swncjrwj"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
`(#:modules ((srfi srfi-26)
(guix build utils)
- (guix build python-build-system))
+ (guix build python-build-system)
+ (guix build pyproject-build-system))
;; See https://github.com/daler/pybedtools/issues/192
#:phases
(modify-phases %standard-phases
@@ -977,7 +979,7 @@ which are widely used for genomic interval manipulation or \"genome algebra\".
pybedtools extends BEDTools by offering feature-level manipulations from with
Python.")
;; pypi lists GPLv2 in the PKG-INFO and website, but was relicensed in
- ;; version 0.9.0 and the LICENSE.txt is consistant with the source code.
+ ;; version 0.9.0 and the LICENSE.txt is consistent with the source code.
;;
;; pybedtools/include/gzstream.cpp and pybedtools/include/gzstream.h are
;; licensed lgpl2.1+
@@ -1031,7 +1033,7 @@ use-case, we encourage users to compose functions to achieve their goals.")
(define-public python-biom-format
(package
(name "python-biom-format")
- (version "2.1.10")
+ (version "2.1.12")
(source
(origin
(method git-fetch)
@@ -1043,25 +1045,22 @@ use-case, we encourage users to compose functions to achieve their goals.")
(file-name (git-file-name name version))
(sha256
(base32
- "0i62j6ksmp78ap2dnl969gq6vprc3q87zc8ksj9if8g2603iq6i8"))
+ "06x2d8fv80jp86kd66fm3ragmxrpa2j0lzsbm337ziqjnpsdwc0f"))
(modules '((guix build utils)))
;; Delete generated C files.
(snippet
'(for-each delete-file (find-files "." "\\.c")))))
(build-system python-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
+ (list
+ #:phases
+ '(modify-phases %standard-phases
(add-after 'unpack 'use-cython
(lambda _ (setenv "USE_CYTHON" "1")))
- (add-after 'unpack 'relax
- (lambda _
- (substitute* "setup.py"
- (("pytest < 5.3.4") "pytest"))))
(add-after 'unpack 'disable-broken-tests
(lambda _
- (substitute* "biom/tests/test_cli/test_validate_table.py"
- (("^(.+)def test_invalid_hdf5" m indent)
+ (substitute* "biom/tests/test_util.py"
+ (("^(.+)def test_biom_open_hdf5_no_h5py" m indent)
(string-append indent
"@npt.dec.skipif(True, msg='Guix')\n"
m)))
@@ -1072,13 +1071,14 @@ use-case, we encourage users to compose functions to achieve their goals.")
m))))))))
(propagated-inputs
(list python-anndata
- python-numpy
- python-scipy
+ python-click
python-flake8
python-future
- python-click
python-h5py
- python-pandas))
+ python-numpy
+ python-pandas
+ python-scikit-bio
+ python-scipy))
(native-inputs
(list python-cython python-pytest python-pytest-cov python-nose))
(home-page "http://www.biom-format.org")
@@ -1093,42 +1093,45 @@ e.g. microbiome samples, genomes, metagenomes.")
(define-public python-pairtools
(package
(name "python-pairtools")
- (version "0.3.0")
+ (version "1.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/mirnylab/pairtools")
+ (url "https://github.com/open2c/pairtools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0gr8y13q7sd6yai6df4aavl2470n1f9s3cib6r473z4hr8hcbwmc"))))
+ "0xn4cg4jq3rfn42h8rfwg0k6xkvihjrv32gwldb9y0jp05lzw9cs"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-references
(lambda _
- (substitute* '("pairtools/pairtools_merge.py"
- "pairtools/pairtools_sort.py")
- (("/bin/bash") (which "bash")))
- #t))
+ (substitute* '("pairtools/cli/header.py"
+ "pairtools/cli/merge.py"
+ "pairtools/cli/sort.py")
+ (("/bin/bash") (which "bash")))))
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (with-directory-excursion "/tmp"
- (invoke "pytest" "-v")))))))
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "/tmp"
+ (invoke "pytest" "-v"))))))))
(native-inputs
- (list python-cython python-nose python-pytest))
- (inputs
- `(("python" ,python-wrapper)))
+ (list python-cython python-pytest))
(propagated-inputs
(list htslib ; for bgzip, looked up in PATH
samtools ; looked up in PATH
lz4 ; for lz4c
+ python-bioframe
python-click
- python-numpy))
- (home-page "https://github.com/mirnylab/pairtools")
+ python-numpy
+ python-pandas
+ python-pysam
+ python-pyyaml
+ python-scipy))
+ (home-page "https://github.com/open2c/pairtools")
(synopsis "Process mapped Hi-C data")
(description "Pairtools is a simple and fast command-line framework to
process sequencing data from a Hi-C experiment. Process pair-end sequence
@@ -1173,8 +1176,7 @@ alignments and perform the following operations:
(package-inputs this-package)))))))
`(#:phases
(modify-phases %standard-phases
- (add-after
- 'install 'wrap-programs
+ (add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure all executables in "bin" find the required Perl
;; modules at runtime. As the PERL5LIB variable contains also
@@ -1191,8 +1193,7 @@ alignments and perform the following operations:
(for-each (lambda (file)
(wrap-program file
`("PERL5LIB" ":" prefix (,path))))
- (find-files bin "\\.pl$"))
- #t)))))))
+ (find-files bin "\\.pl$")))))))))
(inputs
(list perl-module-build perl-data-stag perl-libwww perl-uri))
(native-inputs
@@ -2973,6 +2974,71 @@ generation, and transformation to RDF. Salad provides a bridge between document
and record oriented data modeling and the Semantic Web.")
(license license:asl2.0)))
+(define-public python-scikit-bio
+ (package
+ (name "python-scikit-bio")
+ (version "0.5.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "scikit-bio" version))
+ (sha256
+ (base32
+ "1a8xbp3vrw8wfpm3pa2nb4rcar0643iqnb043ifwqbqyc86clhv3"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ ;; See https://github.com/biocore/scikit-bio/pull/1826
+ (add-after 'unpack 'compatibility
+ (lambda _
+ (substitute* "skbio/sequence/tests/test_sequence.py"
+ (("def test_concat_strict_many")
+ "def _do_not_test_concat_strict_many"))
+ (substitute* "skbio/stats/distance/_mantel.py"
+ (("from scipy.stats import PearsonRConstantInputWarning")
+ "from scipy.stats import ConstantInputWarning")
+ (("from scipy.stats import PearsonRNearConstantInputWarning")
+ "from scipy.stats import NearConstantInputWarning")
+ (("from scipy.stats import SpearmanRConstantInputWarning") "")
+ (("warnings.warn\\(PearsonRConstantInputWarning\\(\\)\\)")
+ "warnings.warn(ConstantInputWarning())")
+ (("warnings.warn\\(PearsonRNearConstantInputWarning\\(\\)\\)")
+ "warnings.warn(NearConstantInputWarning())")
+ (("warnings.warn\\(SpearmanRConstantInputWarning\\(\\)\\)")
+ "warnings.warn(ConstantInputWarning())"))
+ (substitute* "skbio/diversity/alpha/tests/test_base.py"
+ (("self.assertEqual\\(pielou_e")
+ "self.assertAlmostEqual(pielou_e"))))
+ (add-before 'check 'build-extensions
+ (lambda _
+ ;; Cython extensions have to be built before running the tests.
+ (invoke "python3" "setup.py" "build_ext" "--inplace")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests? (invoke "python3" "-m" "skbio.test")))))))
+ (propagated-inputs
+ (list python-cachecontrol
+ python-decorator
+ python-h5py
+ python-hdmedians
+ python-ipython
+ python-lockfile
+ python-matplotlib
+ python-natsort
+ python-numpy
+ python-pandas
+ python-scikit-learn
+ python-scipy))
+ (native-inputs
+ (list python-coverage python-pytest))
+ (home-page "https://scikit-bio.org")
+ (synopsis "Data structures, algorithms and educational resources for bioinformatics")
+ (description
+ "This package provides data structures, algorithms and educational
+resources for bioinformatics.")
+ (license license:bsd-3)))
+
(define-public cwltool
(package
(name "cwltool")
@@ -10601,6 +10667,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..0917095627 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
@@ -543,9 +631,9 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
- (version "2022.04")
+ (version "2022.10")
(source (origin
- (patches
+ (patches
(list %u-boot-rockchip-inno-usb-patch
%u-boot-allow-disabling-openssl-patch
%u-boot-sifive-prevent-relocating-initrd-fdt
@@ -556,23 +644,23 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
- "1l5w13dznj0z1ibqv2d6ljx2ma1gnf5x5ay3dqkqwxr6750nbq38"))))
- (native-inputs
- `(("bc" ,bc)
- ("bison" ,bison)
- ("dtc" ,dtc)
- ("gnutls" ,gnutls)
- ("flex" ,flex)
- ("lz4" ,lz4)
- ("tinfo" ,ncurses/tinfo)
- ("perl" ,perl)
- ("python" ,python)
- ("python-coverage" ,python-coverage)
- ("python-pycryptodomex" ,python-pycryptodomex)
- ("python-pytest" ,python-pytest)
- ("swig" ,swig)
- ("libuuid" ,util-linux "lib")))
+ "1y5x8vxdgsqdqlsvq01mn8lmw53fqairkhvhhjx83hjva0m4id2h"))))
(build-system gnu-build-system)
+ (native-inputs
+ (list bc
+ bison
+ dtc
+ gnutls
+ flex
+ lz4
+ ncurses/tinfo
+ perl
+ python
+ python-coverage
+ python-pycryptodomex
+ python-pytest
+ swig
+ (list util-linux "lib")))
(home-page "https://www.denx.de/wiki/U-Boot/")
(synopsis "ARM bootloader")
(description "U-Boot is a bootloader used mostly for ARM boards. It
@@ -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 8cf106b5e4..b544f0e59d 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -515,7 +515,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/check.scm b/gnu/packages/check.scm
index c900a055d5..9dd41e832b 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -657,6 +657,51 @@ normally do not detect. The goal is to detect only real errors in the code
(i.e. have zero false positives).")
(license license:gpl3+)))
+(define-public cukinia
+ (package
+ (name "cukinia")
+ (version "0.6.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/savoirfairelinux/cukinia")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1i92b37w8kb0rzkazlnnhjjbh1l1nmk2yrjvar7rpl97i9gn212m"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ ;; The test suite assumes the host system runs systemd, has a root user,
+ ;; among other things (see:
+ ;; https://github.com/savoirfairelinux/cukinia/issues/51).
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ;no configure script
+ (delete 'build) ;no build system
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "./cukinia" "tests/testcases.conf"))))
+ (replace 'install
+ (lambda _
+ (install-file "cukinia" (string-append #$output "/bin")))))))
+ (home-page "https://github.com/savoirfairelinux/cukinia")
+ (synopsis "Simple on-target system test framework")
+ (description "Cukinia is designed to help GNU/Linux-based embedded
+firmware developers run simple system-level validation tests on their
+firmware. Cukinia integrates well with embedded firmware generation
+frameworks such as Buildroot and Yocto, and can be run manually or by your
+favourite continuous integration framework. Among Cukinia features are:
+@itemize
+@item simple to use
+@item no dependencies other than BusyBox or GNU Coreutils
+@item easy integration with CI/CD pipelines.
+@end itemize")
+ (license (list license:gpl3+ license:asl2.0)))) ;dual license
+
(define-public cxxtest
(package
(name "cxxtest")
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index e0a9f5fbad..983a754215 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.98")
(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"))))
+ "16rc15qsndrsj52p56ma3hg94jslkfy2f91ryr3qss73r2rkjf8j"))))
(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)
@@ -481,12 +482,7 @@
(define-public ungoogled-chromium
(package
(name "ungoogled-chromium")
- (version (if (string-prefix? %chromium-version %ungoogled-revision)
- %ungoogled-revision
- ;; ungoogled-chromium version tags always have a "-1" suffix,
- ;; so we can hijack "-0" in cases where the Chromium source
- ;; is newer than the latest available tag.
- (string-append %chromium-version "-0")))
+ (version %ungoogled-revision)
(synopsis "Graphical web browser")
(source (origin
(method url-fetch)
@@ -495,7 +491,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
- "12z0fhgxcsdkf6shnsg9maj3v901226cjcy8y2x8m88maw2apc0j"))
+ "07jnhd5y7k4zp2ipz052isw7llagxn8l8rbz8x3jkjz3f5wi7dk0"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@@ -561,7 +557,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 +609,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 +907,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-graphics.scm b/gnu/packages/crates-graphics.scm
index 4ea7033790..a1b29a4022 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -726,30 +726,6 @@ EUI-64, also known as MAC-48 media access control addresses.")
(description "This package is a core library of Gfx-rs.")
(license license:asl2.0)))
-(define-public rust-gfx-gl-0.6
- (package
- (name "rust-gfx-gl")
- (version "0.6.1")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "gfx_gl" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0ppzj4bgjawdqz3fvnscqk8lnmgh95pwzh0v96vwy809cxj83lzj"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-gl-generator" ,rust-gl-generator-0.14))))
- (home-page "https://github.com/gfx-rs/gfx_gl")
- (synopsis "OpenGL bindings for gfx, based on gl-rs")
- (description
- "This package provides OpenGL bindings for gfx, based on gl-rs.")
- (license license:asl2.0)))
-
(define-public rust-gif-0.11
(package
(name "rust-gif")
@@ -795,8 +771,31 @@ EUI-64, also known as MAC-48 media access control addresses.")
#:cargo-development-inputs
(("rust-glob" ,rust-glob-0.3))))))
+(define-public rust-gl-0.14
+ (package
+ (name "rust-gl")
+ (version "0.14.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "gl" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "015lgy3qpzdw7mnh59a4y4hdjq1fhv7nkqlmh1h6fzc212qxlkm9"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-development-inputs
+ (("rust-glutin" ,rust-glutin-0.21))
+ #:cargo-inputs
+ (("rust-gl-generator" ,rust-gl-generator-0.14))))
+ (home-page "https://github.com/brendanzab/gl-rs/")
+ (synopsis "OpenGL bindings for rust")
+ (description "This package provides OpenGL bindings for rust.")
+ (license license:asl2.0)))
+
(define-public rust-gl-0.11
(package
+ (inherit rust-gl-0.14)
(name "rust-gl")
(version "0.11.0")
(source
@@ -808,15 +807,10 @@ EUI-64, also known as MAC-48 media access control addresses.")
(sha256
(base32
"1wcqpyhck0xriffkmgmldy33lwk2044hb4l02d44vm4fbvicin6p"))))
- (build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
- (("rust-gl-generator" ,rust-gl-generator-0.10))))
- (home-page "https://github.com/brendanzab/gl-rs/")
- (synopsis "OpenGL bindings for rust")
- (description "This package provides OpenGL bindings for rust.")
- (license license:asl2.0)))
+ (("rust-gl-generator" ,rust-gl-generator-0.10))))))
(define-public rust-gl-generator-0.14
(package
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 14ac194fc6..403c1f2aef 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1160,31 +1160,6 @@
#:cargo-development-inputs
(("rust-tempfile" ,rust-tempfile-3))))))
-(define-public rust-glib-0.8
- (package
- (inherit rust-glib-0.9)
- (name "rust-glib")
- (version "0.8.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "glib" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0ysy87zrwyzhfpf3d8rkyyr3amwj85wky05fsl7kx95s84l269xy"))))
- (arguments
- `(#:cargo-inputs
- (("rust-bitflags" ,rust-bitflags-1)
- ("rust-futures-preview" ,rust-futures-preview-0.3)
- ("rust-glib-sys" ,rust-glib-sys-0.9)
- ("rust-gobject-sys" ,rust-gobject-sys-0.9)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-libc" ,rust-libc-0.2))
- #:cargo-development-inputs
- (("rust-tempfile" ,rust-tempfile-3))))))
-
(define-public rust-glib-macros-0.15
(package
(name "rust-glib-macros")
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 792779a28f..24c6207d8d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -29,6 +29,7 @@
;;; Copyright © 2022 Evgenii Lepikhin <e.lepikhin@corp.mail.ru>
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2022 ( <paren@disroot.org>
+;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -3536,117 +3537,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 +4670,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
@@ -4885,6 +4951,29 @@ methods.")
(description "This package provides a safe abstraction around AtomicPtr.")
(license license:asl2.0)))
+(define-public rust-atomic-0.5
+ (package
+ (name "rust-atomic")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "atomic" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0k135q1qfmxxyzrlhr47r0j38r5fnd4163rgl552qxyagrk853dq"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1))))
+ (home-page "https://github.com/Amanieu/atomic-rs")
+ (synopsis "Generic @code{Atomic<T>} wrapper type")
+ (description
+ "This package provides a generic @code{Atomic<T>} type for all
+@code{T: Copy} types, unlike the standard library which only provides a few
+fixed atomic types.")
+ ;; The user can choose either license.
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-atomic-polyfill-1
(package
(name "rust-atomic-polyfill")
@@ -4998,22 +5087,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
@@ -7378,24 +7464,6 @@ extension of blocks.")
(("rust-arrayref" ,rust-arrayref-0.3)
("rust-byte-tools" ,rust-byte-tools-0.2))))))
-(define-public rust-block-buffer-0.2
- (package
- (inherit rust-block-buffer-0.9)
- (name "rust-block-buffer")
- (version "0.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "block-buffer" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "055q90a6vk80j85i3fixjd5ci0dznrm9lkdd6xbjk7sx5w2a2f8k"))))
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-byte-tools" ,rust-byte-tools-0.2)
- ("rust-generic-array" ,rust-generic-array-0.8))))))
-
(define-public rust-block-cipher-0.7
(package
(name "rust-block-cipher")
@@ -9870,29 +9938,6 @@ reduced-round ChaCha8Poly1305 and ChaCha12Poly1305 lightweight variants.")
macros.")
(license (list license:asl2.0 license:expat))))
-(define-public rust-chalk-derive-0.68
- (package
- (inherit rust-chalk-derive-0.75)
- (name "rust-chalk-derive")
- (version "0.68.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "chalk-derive" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0ss18zx2ddp50mvbwffs5jmmcs7a0pkiq1g62xa7z1bacvkm45ga"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-proc-macro2" ,rust-proc-macro2-1)
- ("rust-quote" ,rust-quote-1)
- ("rust-syn" ,rust-syn-1)
- ("rust-synstructure" ,rust-synstructure-0.12))))))
-
(define-public rust-chalk-ir-0.75
(package
(name "rust-chalk-ir")
@@ -9921,28 +9966,6 @@ macros.")
clauses.")
(license (list license:asl2.0 license:expat))))
-(define-public rust-chalk-ir-0.68
- (package
- (inherit rust-chalk-ir-0.75)
- (name "rust-chalk-ir")
- (version "0.68.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "chalk-ir" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0riyv4fjmxys8gsyrikn9in34cjcgwgj55qyaj9w9fld8kqxbmqr"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-bitflags" ,rust-bitflags-1)
- ("rust-chalk-derive" ,rust-chalk-derive-0.68)
- ("rust-lazy-static" ,rust-lazy-static-1))))))
-
(define-public rust-chalk-recursive-0.75
(package
(name "rust-chalk-recursive")
@@ -10455,70 +10478,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 +10616,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 +11588,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 +11596,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 +11692,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")
@@ -11735,6 +11911,32 @@ applications.")
("rust-toml" ,rust-toml-0.5)
("rust-yaml-rust" ,rust-yaml-rust-0.4))))))
+(define-public rust-config-file-0.2
+ (package
+ (name "rust-config-file")
+ (version "0.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "config-file" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yys2088y6lnc959k1k78y0amjkp6a00pjybsk3x50872lnfflfz"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs (("rust-serde" ,rust-serde-1)
+ ("rust-serde-xml-rs" ,rust-serde-xml-rs-0.5)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-serde-yaml" ,rust-serde-yaml-0.8)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-toml" ,rust-toml-0.5))))
+ (home-page "https://github.com/Keruspe/config-file")
+ (synopsis "Read and parse configuration files")
+ (description "This package provides ability to read and parse
+configuration files.")
+ (license license:bsd-2)))
+
(define-public rust-configparser-2
(package
(name "rust-configparser")
@@ -13738,38 +13940,6 @@ abstractions around common WinAPI calls.")
#:cargo-inputs
(("rust-winapi" ,rust-winapi-0.3))))))
-(define-public rust-crossterm-winapi-0.6
- (package
- (inherit rust-crossterm-winapi-0.7)
- (name "rust-crossterm-winapi")
- (version "0.6.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "crossterm_winapi" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1nqhjp979c6iv092dbxl6hpncwgwjciafyj1nvcpa008iqzmq9n2"))))
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-winapi" ,rust-winapi-0.3))))))
-
-(define-public rust-crossterm-winapi-0.4
- (package
- (inherit rust-crossterm-winapi-0.7)
- (name "rust-crossterm-winapi")
- (version "0.4.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "crossterm-winapi" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1j3av8bba3f5y4n4w1vgn0iz28vdajxrli6lqxnvpddbphskmph2"))))
- (arguments
- `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3))))))
-
(define-public rust-crunchy-0.2
(package
(name "rust-crunchy")
@@ -13825,33 +13995,31 @@ 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-rust-crypto-0.2
+(define-public rust-rt-format-0.3
(package
- (name "rust-rust-crypto")
- (version "0.2.36")
+ (name "rust-rt-format")
+ (version "0.3.1")
(source
(origin
(method url-fetch)
- (uri (crate-uri "rust-crypto" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
+ (uri (crate-uri "rt-format" version))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "0aias7gh2ypj4skmh6hfsjli4fhnvcvf9s1ljjpz9m9zk79havgp"))))
+ (base32 "1qjjwh9ny95xck1kp99gi6hfm9glrx54jx8npnj6yccxc7p7q225"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
- (("rust-gcc" ,rust-gcc-0.3)
- ("rust-libc" ,rust-libc-0.2)
- ("rust-rand" ,rust-rand-0.3)
- ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
- ("rust-time" ,rust-time-0.1))))
- (home-page "https://github.com/DaGenix/rust-crypto/")
- (synopsis "Mostly pure-Rust implementation of various cryptographic algorithms")
- (description
- "This package provides a (mostly) pure-Rust implementation of various
-common cryptographic algorithms.")
- (license (list license:expat license:asl2.0))))
+ (("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-rusticata-macros-4
(package
@@ -14468,23 +14636,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
@@ -16907,7 +17073,7 @@ diff.")
(define-public rust-digest-0.10
(package
(name "rust-digest")
- (version "0.10.1")
+ (version "0.10.6")
(source
(origin
(method url-fetch)
@@ -16916,7 +17082,7 @@ diff.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "16wpqnwlzx0lbnwccwikns7dq8fblcc6kma2l7xz8anlh5hdd5xn"))))
+ "0vz74785s96g727vg37iwkjvbkcfzp093j49ihhyf8sh9s7kfs41"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
@@ -18781,6 +18947,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 +19457,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
@@ -19526,31 +19710,6 @@ decoding.")
(description "This Rust library implements the Ethereum bloom filter.")
(license (list license:expat license:asl2.0))))
-(define-public rust-ethbloom-0.5
- (package
- (inherit rust-ethbloom-0.11)
- (name "rust-ethbloom")
- (version "0.5.3")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "ethbloom" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0q2kix0p067rrfffhbfra453dw51s4cfgs0lhirslsv4callsad6"))))
- (arguments
- `(#:tests? #f ; The tests fail.
- #:cargo-inputs
- (("rust-crunchy" ,rust-crunchy-0.1)
- ("rust-ethereum-types-serialize" ,rust-ethereum-types-serialize-0.2)
- ("rust-fixed-hash" ,rust-fixed-hash-0.2)
- ("rust-serde" ,rust-serde-1)
- ("rust-tiny-keccak" ,rust-tiny-keccak-1))
- #:cargo-development-inputs
- (("rust-hex-literal" ,rust-hex-literal-0.1)
- ("rust-rand" ,rust-rand-0.4)
- ("rust-rustc-hex" ,rust-rustc-hex-1))))))
-
(define-public rust-ethereum-types-0.12
(package
(name "rust-ethereum-types")
@@ -19573,21 +19732,6 @@ decoding.")
ecosystem.")
(license (list license:expat license:asl2.0))))
-(define-public rust-ethereum-types-0.9
- (package
- (inherit rust-ethereum-types-0.12)
- (name "rust-ethereum-types")
- (version "0.9.2")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "ethereum-types" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1c1l2sg6li301izl4nzkkfrpc8snafxwnr81vfwygn3bd3zyqfj7"))))))
-
(define-public rust-ethereum-types-serialize-0.2
(package
(name "rust-ethereum-types-serialize")
@@ -21419,6 +21563,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")
@@ -22672,30 +22840,6 @@ archive to be linked into Rustcode.")
API library @code{gdi32}.")
(license license:expat)))
-(define-public rust-generational-arena-0.2
- (package
- (name "rust-generational-arena")
- (version "0.2.8")
- (source (origin
- (method url-fetch)
- (uri (crate-uri "generational-arena" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "00gn1g6nlky883qkacvsbp19yzl5ay8avq6f902jvxkl2mvkn7cf"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-cfg-if" ,rust-cfg-if-0.1)
- ("rust-serde" ,rust-serde-1))))
- (home-page "https://github.com/fitzgen/generational-arena")
- (synopsis "Safe arena allocator that supports deletion")
- (description
- "This package provides a safe arena allocator that supports deletion without
-suffering from the ABA problem by using generational indices.")
- (license license:mpl2.0)))
-
(define-public rust-generator-0.7
(package
(name "rust-generator")
@@ -23404,28 +23548,6 @@ permitted in ordinary Rust.")
debugging format.")
(license (list license:asl2.0 license:expat))))
-(define-public rust-gimli-0.23
- (package
- (inherit rust-gimli-0.26)
- (name "rust-gimli")
- (version "0.23.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "gimli" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1km657nwcrb0pnv7v0ldhgl9y8s889y2j9jckmws8k2i8bhkyl7n"))))
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-compiler-builtins" ,rust-compiler-builtins-0.1)
- ("rust-fallible-iterator" ,rust-fallible-iterator-0.2)
- ("rust-indexmap" ,rust-indexmap-1)
- ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1)
- ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)
- ("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))))
-
(define-public rust-git-version-0.3
(package
(name "rust-git-version")
@@ -24112,33 +24234,6 @@ libraries GMP, MPFR, and MPC.")
and loading crate.")
(license license:expat)))
-(define-public rust-goblin-0.0
- (package
- (name "rust-goblin")
- (version "0.0.23")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "goblin" version))
- (file-name
- (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "1g92bl76dgc3v3rins61l811pkwsl3jif1x35h2jx33b7dsv8mmc"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t
- #:cargo-inputs
- (("rust-log" ,rust-log-0.4)
- ("rust-plain" ,rust-plain-0.2)
- ("rust-scroll" ,rust-scroll-0.9))))
- (home-page "https://github.com/m4b/goblin")
- (synopsis "Binary parsing and loading")
- (description
- "An impish, cross-platform, ELF, Mach-o, and PE binary parsing and
-loading crate.")
- (license license:expat)))
-
(define-public rust-greetd-ipc-0.8
(package
(name "rust-greetd-ipc")
@@ -25955,6 +26050,31 @@ Hash-based Message Authentication Code algorithm} for SHA1.")
(description "This library provides Rust bindings to HTSlib.")
(license license:expat)))
+(define-public rust-kuchiki-0.8
+ (package
+ (name "rust-kuchiki")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "kuchiki" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0n53hhscgf4az58nnbjfxlqz9k96h3f02c7fhbzpqdriw33fka0y"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-cssparser" ,rust-cssparser-0.27)
+ ("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-matches" ,rust-matches-0.1)
+ ("rust-selectors" ,rust-selectors-0.22))))
+ (home-page "https://github.com/SimonSapin/kuchiki")
+ (synopsis "HTML/XML tree manipulation library")
+ (description "A library for parsing and serializing HTML and XML documents
+and traversing, manipulating, and querying the document tree.")
+ (license license:expat)))
+
(define-public rust-http-0.2
(package
(name "rust-http")
@@ -26873,6 +26993,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 +27266,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 +27436,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 +27911,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")
@@ -28812,6 +29150,35 @@ kernel32.")
"This package provides a Log macro for log's kv-unstable backend.")
(license (list license:expat license:asl2.0))))
+(define-public rust-k9-0.11
+ (package
+ (name "rust-k9")
+ (version "0.11.6")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "k9" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1a8pxz6fygqzknxdlb4l835kqxgjk7snm4bjhhhn783r025vbp9j"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-colored" ,rust-colored-1)
+ ("rust-diff" ,rust-diff-0.1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-term-size" ,rust-term-size-0.3))))
+ (home-page "https://github.com/aaronabramov/k9")
+ (synopsis "Testing library")
+ (description
+ "This package contains helper macros for writing unit tests.")
+ (license license:expat)))
+
(define-public rust-language-tags-0.3
(package
(name "rust-language-tags")
@@ -29390,18 +29757,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 +30851,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")
@@ -31846,8 +32240,33 @@ parallelize and optimize.")
"This package provides MaybeUninit for friends of backwards compatibility.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-md-5-0.10
+ (package
+ (name "rust-md-5")
+ (version "0.10.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "md-5" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jmrykh705dfclkgxwjysj5y8l1nyrn1gddw5xpgyjyla1l50rb3"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-digest" ,rust-digest-0.10)
+ ("rust-md5-asm" ,rust-md5-asm-0.5))))
+ (home-page "https://github.com/RustCrypto/hashes")
+ (synopsis "MD5 hash function")
+ (description
+ "This library provides a MD5 hash function for Rust.")
+ ;; The user can choose either license.
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-md-5-0.9
(package
+ (inherit rust-md-5-0.10)
(name "rust-md-5")
(version "0.9.1")
(source
@@ -31859,7 +32278,6 @@ parallelize and optimize.")
(sha256
(base32
"059ajjacz1q3cms7vl6cvhdqs4qdw2nnwj9dq99ryzv0p6djfnkv"))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-block-buffer" ,rust-block-buffer-0.9)
@@ -31868,11 +32286,7 @@ parallelize and optimize.")
("rust-opaque-debug" ,rust-opaque-debug-0.3))
#:cargo-development-inputs
(("rust-digest" ,rust-digest-0.9)
- ("rust-hex-literal" ,rust-hex-literal-0.2))))
- (home-page "https://github.com/RustCrypto/hashes")
- (synopsis "MD5 hash function")
- (description "MD5 hash function.")
- (license (list license:expat license:asl2.0))))
+ ("rust-hex-literal" ,rust-hex-literal-0.2))))))
(define-public rust-md-5-0.8
(package
@@ -31946,8 +32360,31 @@ parallelize and optimize.")
(base32
"0j2s8aqdkhwhy7awga2bmv5n8qq8bgy8672iha9f3y871dm6vibr"))))))
+(define-public rust-md5-asm-0.5
+ (package
+ (name "rust-md5-asm")
+ (version "0.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "md5-asm" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ixmkg8j7sqy9zln6pz9xi2dl2d9zpm8pz6p49za47n1bvradfbk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-cc" ,rust-cc-1))))
+ (home-page "https://github.com/RustCrypto/asm-hashes")
+ (synopsis "Assembly implementation of MD5 compression function")
+ (description
+ "This package contains an assembly implementation of the MD5
+compression function.")
+ (supported-systems '("x86_64-linux" "i686-linux"))
+ (license license:expat)))
+
(define-public rust-md5-asm-0.4
(package
+ (inherit rust-md5-asm-0.5)
(name "rust-md5-asm")
(version "0.4.3")
(source
@@ -31959,16 +32396,9 @@ parallelize and optimize.")
(sha256
(base32
"0gpk5647js1k084jc7pg2gji0cvl6hjkkbfia6lnpk8y4shyairv"))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
- (("rust-cc" ,rust-cc-1))))
- (home-page "https://github.com/RustCrypto/asm-hashes")
- (synopsis "Assembly implementation of MD5 compression function")
- (description "This package contains an assembly implementation of MD5
-compression function.")
- (supported-systems '("x86_64-linux" "i686-linux"))
- (license license:expat)))
+ (("rust-cc" ,rust-cc-1))))))
(define-public rust-measureme-0.7
(package
@@ -32192,24 +32622,23 @@ file IO.")
(sha256
(base32 "0nmymqy9q62x577ydja0ysfyir7h5qa0n5fwcnvchfhhlsi0rdyr"))))))
-(define-public rust-memoffset-0.6
+(define-public rust-memoffset-0.7
(package
(name "rust-memoffset")
- (version "0.6.4")
+ (version "0.7.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "memoffset" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1yfx2v8kmkhr2d4gwk8ghihdwg73vapn3vvp0im06f0kgx8crb2r"))))
+ (base32 "1x2zv8hv9c9bvgmhsjvr9bymqwyxvgbca12cm8xkhpyy5k1r7s2x"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-autocfg" ,rust-autocfg-1))
#:cargo-development-inputs
(("rust-doc-comment" ,rust-doc-comment-0.3))))
- (inputs (list rust-autocfg-1))
(home-page "https://github.com/Gilnaa/memoffset")
(synopsis "C-like offset_of functionality for Rust structs")
(description
@@ -32217,6 +32646,27 @@ file IO.")
for Rust structs.")
(license license:expat)))
+(define-public rust-memoffset-0.6
+ (package
+ (inherit rust-memoffset-0.7)
+ (name "rust-memoffset")
+ (version "0.6.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "memoffset" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1kkrzll58a3ayn5zdyy9i1f1v3mx0xgl29x0chq614zazba638ss"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-autocfg" ,rust-autocfg-1))
+ #:cargo-development-inputs
+ (("rust-doc-comment" ,rust-doc-comment-0.3))))
+ (inputs (list rust-autocfg-1))))
+
(define-public rust-memoffset-0.5
(package
(inherit rust-memoffset-0.6)
@@ -32229,8 +32679,7 @@ for Rust structs.")
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
- (base32
- "1fblqzc25hfaym8m0pj112s66pqq87avvaqm5hp5rskib2w9w63m"))))
+ (base32 "1fblqzc25hfaym8m0pj112s66pqq87avvaqm5hp5rskib2w9w63m"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
@@ -32442,6 +32891,25 @@ based on Rustls and Ring.")
(description "This package provides Rust bindings for Metal.")
(license (list license:expat license:asl2.0))))
+(define-public rust-thousands-0.2
+ (package
+ (name "rust-thousands")
+ (version "0.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "thousands" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0848gnkn7ah51lrx15z9zmn701ipn6gc4xbk4kfdlfahkypkpxiv"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t))
+ (home-page "https://github.com/tov/thousands-rs")
+ (synopsis "Adds digit separators to numerals, configurably.")
+ (description "This package provides thousand separators for numerals.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-tls-parser-0.10
(package
(name "rust-tls-parser")
@@ -32938,25 +33406,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 +35359,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 +35386,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 +38476,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 +38752,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 +38778,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 +39468,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 +42774,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 +47178,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
- "rstest uses procedural macros to help you on writing fixtures and
-table-based tests.")
+ "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
+ "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 +48296,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 +48516,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")
@@ -51139,6 +51838,30 @@ the application/x-www-form-urlencoded format.")
for later processing.")
(license license:expat)))
+(define-public rust-serde-xml-rs-0.5
+ (package
+ (name "rust-serde-xml-rs")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "serde-xml-rs" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ypdy4cry8y6jbia0l0cqvkxkdvl7vplzfzb44s6lbxyb682w5k5"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs (("rust-log" ,rust-log-0.4)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-thiserror" ,rust-thiserror-1)
+ ("rust-xml-rs" ,rust-xml-rs-0.8))))
+ (home-page "https://github.com/RReverser/serde-xml-rs")
+ (synopsis "xml-rs based deserializer for Serde")
+ (description "This package provies a xml-rs based deserializer for Serde
+(compatible with 0.9+)")
+ (license license:expat)))
+
(define-public rust-serde-yaml-0.8
(package
(name "rust-serde-yaml")
@@ -51589,6 +52312,28 @@ functionality and without weak references.")
(base32
"1i1i8viy6y30mv9v5hwhg9w6b722qkyh9c6n8bn4d27jpv14pg0s"))))))
+(define-public rust-sha1-smol-1
+ (package
+ (name "rust-sha1-smol")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "sha1_smol" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04nhbhvsk5ms1zbshs80iq5r1vjszp2xnm9f0ivj38q3dhc4f6mf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs (("rust-serde" ,rust-serde-1))))
+ (home-page "https://github.com/mitsuhiko/sha1-smol")
+ (synopsis "Dependency free SHA1 implementation")
+ (description
+ "This package provides a minimal dependency free implementation of
+SHA1 for Rust.")
+ (license license:bsd-3)))
+
(define-public rust-sha1collisiondetection-0.2
(package
(name "rust-sha1collisiondetection")
@@ -53619,21 +54364,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 +56468,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 +56589,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 +56628,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")
@@ -56315,6 +57198,36 @@ no_std compatible by default, only relying on alloc.")
("rust-errno" ,rust-errno-0.2)
("rust-libc" ,rust-libc-0.2))))))
+(define-public rust-sysinfo-0.15
+ (package
+ (name "rust-sysinfo")
+ (version "0.15.11")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "sysinfo" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0n713rhayp28z8j4pviqcg4blcp1yfvniwa1ipinp75hyv7lq0nx"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs (("rust-cc" ,rust-cc-1)
+ ("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8)
+ ("rust-doc-comment" ,rust-doc-comment-0.3)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-ntapi" ,rust-ntapi-0.3)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-winapi" ,rust-winapi-0.3))))
+ (home-page "https://github.com/GuillaumeGomez/sysinfo")
+ (synopsis "System handler to interact with processes")
+ (description
+ "This package is a library to get system information such as processes,
+processors, disks, components and networks.")
+ (license license:expat)))
+
(define-public rust-sysinfo-0.23
(package
(name "rust-sysinfo")
@@ -57728,8 +58641,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 +58675,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 +58706,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 +58745,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 +58934,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 +58966,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 +59055,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 +59081,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 +59967,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 +64052,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 +64224,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 +64274,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 +64371,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 +65817,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 +66724,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 +67692,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")
@@ -66954,8 +68026,31 @@ for locating fonts.")
(description "This package provides an implementation of zbase32.")
(license license:lgpl3+)))
+(define-public rust-zerocopy-0.6
+ (package
+ (name "rust-zerocopy")
+ (version "0.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "zerocopy" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0dpj4nd9v56wy93ahjkp95znjzj91waqvidqch8gxwdwq661hbrk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-byteorder" ,rust-byteorder-1)
+ ("rust-zerocopy-derive" ,rust-zerocopy-derive-0.3))))
+ (home-page "https://github.com/google/zerocopy")
+ (synopsis "Utilities for zero-copy parsing and serialization")
+ (description "Utilities for zero-copy parsing and serialization")
+ (license license:bsd-2)))
+
(define-public rust-zerocopy-0.3
(package
+ (inherit rust-zerocopy-0.6)
(name "rust-zerocopy")
(version "0.3.1")
(source
@@ -66965,21 +68060,41 @@ for locating fonts.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "00nbb6yal8f74bkpn7msjcnhisimw8s5777a63206rfnn3br45zh"))))
- (build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-byteorder" ,rust-byteorder-1)
("rust-zerocopy-derive" ,rust-zerocopy-derive-0.2))))
- (home-page "https://fuchsia.googlesource.com/fuchsia/+/HEAD/src/lib/zerocopy")
- (synopsis "Utilities for zero-copy parsing and serialization")
- (description
- "This package provides utilities for zero-copy parsing and
-serialization.")
(license license:bsd-3)))
+(define-public rust-zerocopy-derive-0.3
+ (package
+ (name "rust-zerocopy-derive")
+ (version "0.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "zerocopy-derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "18qr7dqlj89v1xl1g58l2xd6jidv0sbccscgl131gpppba0yc1b5"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-syn" ,rust-syn-1)
+ ("rust-synstructure" ,rust-synstructure-0.12))))
+ (home-page "https://github.com/google/zerocopy")
+ (synopsis "Custom derive for traits from the zerocopy Rust crate")
+ (description
+ "This package provides custom derive for traits from the zerocopy Rust
+crate.")
+ (license license:bsd-2)))
+
(define-public rust-zerocopy-derive-0.2
(package
+ (inherit rust-zerocopy-derive-0.3)
(name "rust-zerocopy-derive")
(version "0.2.1")
(source
@@ -66989,18 +68104,12 @@ serialization.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1594sf9wwgpbavl1hb1avyz6n7km9apm8afc03x9y8h3spk3k76w"))))
- (build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-syn" ,rust-syn-1)
("rust-synstructure" ,rust-synstructure-0.12))))
- (home-page "https://fuchsia.googlesource.com/fuchsia/+/HEAD/src/lib/zerocopy/zerocopy-derive")
- (synopsis "Custom derive for traits from the zerocopy Rust crate")
- (description
- "This package provides custom derive for traits from the zerocopy Rust
-crate.")
(license license:bsd-3)))
(define-public rust-zeroize-1
@@ -67454,300 +68563,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))))
+ "1hpk0n2z0jzzvwlvs98b75sa4q920953nqfc119rv19nwm0mlsaj"))))))
-(define-public rust-windows-i686-msvc-0.28
+(define-public rust-windows-i686-gnu-0.42
(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))))
-
-(define-public rust-windows-i686-msvc-0.36
- (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 +68783,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 +68813,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 +68846,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 +68914,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")
- (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.")
+ "This package provides code gen support for the windows crate.")
(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/cross-base.scm b/gnu/packages/cross-base.scm
index 0a368d3879..44c1bb0ef2 100644
--- a/gnu/packages/cross-base.scm
+++ b/gnu/packages/cross-base.scm
@@ -76,7 +76,8 @@
(define* (cross-binutils target #:optional (binutils binutils))
"Return a cross-Binutils for TARGET using BINUTILS."
- (let ((binutils (package (inherit binutils)
+ (let ((binutils (package
+ (inherit binutils)
(arguments
(substitute-keyword-arguments (package-arguments
binutils)
@@ -128,71 +129,71 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
;; for instance.
(let ((args `(#:strip-binaries? #f
,@(package-arguments xgcc))))
- (substitute-keyword-arguments args
- ((#:configure-flags flags)
- `(append (list ,(string-append "--target=" target)
- ,@(if libc
- `( ;; Disable libcilkrts because it is not
+ (substitute-keyword-arguments args
+ ((#:configure-flags flags)
+ `(append (list ,(string-append "--target=" target)
+ ,@(if libc
+ `( ;; Disable libcilkrts because it is not
;; ported to GNU/Hurd.
- "--disable-libcilkrts"
- ;; When building a cross compiler, --with-sysroot is
- ;; implicitly set to "$gcc_tooldir/sys-root". This does
- ;; not work for us, because --with-native-system-header-dir
- ;; is searched for relative to this location. Thus, we set
- ;; it to "/" so GCC is able to find the target libc headers.
- ;; This is safe because in practice GCC uses CROSS_CPATH
- ;; & co to separate target and host libraries.
- "--with-sysroot=/")
- `( ;; Disable features not needed at this stage.
- "--disable-shared" "--enable-static"
- "--enable-languages=c,c++"
-
- ;; libstdc++ cannot be built at this stage
- ;; ("Link tests are not allowed after
- ;; GCC_NO_EXECUTABLES.").
- "--disable-libstdc++-v3"
-
- "--disable-threads" ;libgcc, would need libc
- "--disable-libatomic"
- "--disable-libmudflap"
- "--disable-libgomp"
- "--disable-libmpx"
- "--disable-libssp"
- "--disable-libquadmath"
- "--disable-decimal-float" ;would need libc
- "--disable-libcilkrts"
-
- ;; When target is any OS other than 'none' these
- ;; libraries will fail if there is no libc
- ;; present. See
- ;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html>
- "--disable-libitm"
- "--disable-libvtv"
- "--disable-libsanitizer"
+ "--disable-libcilkrts"
+ ;; When building a cross compiler, --with-sysroot is
+ ;; implicitly set to "$gcc_tooldir/sys-root". This does
+ ;; not work for us, because --with-native-system-header-dir
+ ;; is searched for relative to this location. Thus, we set
+ ;; it to "/" so GCC is able to find the target libc headers.
+ ;; This is safe because in practice GCC uses CROSS_CPATH
+ ;; & co to separate target and host libraries.
+ "--with-sysroot=/")
+ `( ;; Disable features not needed at this stage.
+ "--disable-shared" "--enable-static"
+ "--enable-languages=c,c++"
+
+ ;; libstdc++ cannot be built at this stage
+ ;; ("Link tests are not allowed after
+ ;; GCC_NO_EXECUTABLES.").
+ "--disable-libstdc++-v3"
+
+ "--disable-threads" ;libgcc, would need libc
+ "--disable-libatomic"
+ "--disable-libmudflap"
+ "--disable-libgomp"
+ "--disable-libmpx"
+ "--disable-libssp"
+ "--disable-libquadmath"
+ "--disable-decimal-float" ;would need libc
+ "--disable-libcilkrts"
+
+ ;; When target is any OS other than 'none' these
+ ;; libraries will fail if there is no libc
+ ;; present. See
+ ;; <https://lists.gnu.org/archive/html/guix-devel/2016-02/msg01311.html>
+ "--disable-libitm"
+ "--disable-libvtv"
+ "--disable-libsanitizer"
))
- ;; Install cross-built libraries such as libgcc_s.so in
- ;; the "lib" output.
- ,@(if libc
- `((string-append "--with-toolexeclibdir="
- (assoc-ref %outputs "lib")
- "/" ,target "/lib"))
- '()))
-
- ,(if libc
- flags
- `(remove (cut string-match "--enable-languages.*" <>)
- ,flags))))
- ((#:make-flags flags)
- (if libc
- `(let ((libc (assoc-ref %build-inputs "libc")))
- ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
- ;; the -Bxxx for the startfiles.
- (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
- ,flags))
- flags))
- ((#:phases phases)
- `(cross-gcc-build-phases ,target ,phases))))))
+ ;; Install cross-built libraries such as libgcc_s.so in
+ ;; the "lib" output.
+ ,@(if libc
+ `((string-append "--with-toolexeclibdir="
+ (assoc-ref %outputs "lib")
+ "/" ,target "/lib"))
+ '()))
+
+ ,(if libc
+ flags
+ `(remove (cut string-match "--enable-languages.*" <>)
+ ,flags))))
+ ((#:make-flags flags)
+ (if libc
+ `(let ((libc (assoc-ref %build-inputs "libc")))
+ ;; FLAGS_FOR_TARGET are needed for the target libraries to receive
+ ;; the -Bxxx for the startfiles.
+ (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib")
+ ,flags))
+ flags))
+ ((#:phases phases)
+ `(cross-gcc-build-phases ,target ,phases))))))
(define (cross-gcc-patches xgcc target)
"Return GCC patches needed for XGCC and TARGET."
@@ -203,7 +204,7 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
(append (search-patches "gcc-4.9.3-mingw-gthr-default.patch")
(if (version>=? (package-version xgcc) "7.0")
(search-patches "gcc-7-cross-mingw.patch")
- '())))
+ '())))
(else '())))
(define (cross-gcc-snippet target)
@@ -231,13 +232,15 @@ base compiler and using LIBC (which may be either a libc package or #f.)"
XGCC as the base compiler. Use XBINUTILS as the associated cross-Binutils.
If LIBC is false, then build a GCC that does not target a libc; otherwise,
target that libc."
- (package (inherit xgcc)
+ (package
+ (inherit xgcc)
(name (string-append "gcc-cross-"
(if libc "" "sans-libc-")
target))
(source
(origin
- (inherit (package-source xgcc))
+ (inherit
+ (package-source xgcc))
(patches
(append
(origin-patches (package-source xgcc))
@@ -304,7 +307,7 @@ target that libc."
`(,@inputs
("libc" ,libc)
("libc:static" ,libc "static")
- ("xkernel-headers" ;the target headers
+ ("xkernel-headers" ;the target headers
,@(assoc-ref (package-propagated-inputs libc)
"kernel-headers"))))
(else inputs)))))
@@ -338,7 +341,8 @@ target that libc."
"Return headers depending on TARGET."
(define xlinux-headers
- (package (inherit linux-headers)
+ (package
+ (inherit linux-headers)
(name (string-append (package-name linux-headers)
"-cross-" target))
(arguments
@@ -364,7 +368,8 @@ target that libc."
,@(package-native-inputs linux-headers)))))
(define xgnumach-headers
- (package (inherit gnumach-headers)
+ (package
+ (inherit gnumach-headers)
(name (string-append (package-name gnumach-headers)
"-cross-" target))
@@ -373,7 +378,8 @@ target that libc."
,@(package-native-inputs gnumach-headers)))))
(define xmig
- (package (inherit mig)
+ (package
+ (inherit mig)
(name (string-append "mig-cross"))
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -396,7 +402,8 @@ target that libc."
,@(package-native-inputs mig)))))
(define xhurd-headers
- (package (inherit hurd-headers)
+ (package
+ (inherit hurd-headers)
(name (string-append (package-name hurd-headers)
"-cross-" target))
@@ -405,8 +412,9 @@ target that libc."
("cross-mig" ,xmig)
,@(alist-delete "mig"(package-native-inputs hurd-headers))))))
- (define xglibc/hurd-headers
- (package (inherit glibc/hurd-headers)
+ (define xglibc/hurd-headers
+ (package
+ (inherit glibc/hurd-headers)
(name (string-append (package-name glibc/hurd-headers)
"-cross-" target))
@@ -437,15 +445,16 @@ target that libc."
,@(alist-delete "mig"(package-native-inputs glibc/hurd-headers))))))
(define xhurd-minimal
- (package (inherit hurd-minimal)
+ (package
+ (inherit hurd-minimal)
(name (string-append (package-name hurd-minimal)
"-cross-" target))
(arguments
(substitute-keyword-arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-26))
- ,@(package-arguments hurd-minimal))
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ ,@(package-arguments hurd-minimal))
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'set-cross-headers-path
@@ -464,7 +473,8 @@ target that libc."
,@(alist-delete "mig"(package-native-inputs hurd-minimal))))))
(define xhurd-core-headers
- (package (inherit hurd-core-headers)
+ (package
+ (inherit hurd-core-headers)
(name (string-append (package-name hurd-core-headers)
"-cross-" target))
@@ -551,7 +561,7 @@ and the cross tool chain."
,@(assoc-ref (package-native-inputs xheaders)
"cross-mig")))
'())
- ,@(package-inputs libc) ;FIXME: static-bash
+ ,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc))))))
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/databases.scm b/gnu/packages/databases.scm
index 862d8bfd62..b74762789a 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -4187,7 +4187,7 @@ the SQL language using a syntax that reflects the resulting query.")
(define-public apache-arrow
(package
(name "apache-arrow")
- (version "10.0.0")
+ (version "10.0.1")
(source
(origin
(method git-fetch)
@@ -4197,7 +4197,7 @@ the SQL language using a syntax that reflects the resulting query.")
(file-name (git-file-name name version))
(sha256
(base32
- "1mx2siffbggz26c8j2xma7cwa65khj8nswy04ajczgwvj32rg1ah"))))
+ "0skw6x888i804pg35xaxqwkkb36z9hj966zs3ckhkbp4mcll9q9v"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm
index 9a336b381e..317b5bf474 100644
--- a/gnu/packages/dav.scm
+++ b/gnu/packages/dav.scm
@@ -122,14 +122,13 @@ efficient syncing
(define-public vdirsyncer
(package
(name "vdirsyncer")
- ;; When updating, check whether python-click-5 can be removed entirely.
- (version "0.18.0")
+ (version "0.19.0")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
- "00f2bw1a2jbbd1sbci0swnd67kylr341aa9rpbxkajbp3zakxg17"))))
+ "0995bavlv8s9j0127ncq3yzy5p72lam9qgpswyjfanc6l01q87lf"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; The test suite is very flakey.
@@ -141,38 +140,30 @@ efficient syncing
(setenv "DAV_SERVER" "radicale")
(setenv "REMOTESTORAGE_SERVER" "skip")
(if tests?
- (invoke "make" "test")
- #t)))
+ (invoke "make" "test"))))
(add-after 'unpack 'patch-version-call
(lambda _
(substitute* "docs/conf.py"
- (("^release.*") (string-append "release = '" ,version "'\n")))
- #t))
- (add-after 'install 'manpage
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (invoke "make" "--directory=docs/" "man")
- (install-file
- "docs/_build/man/vdirsyncer.1"
- (string-append
- (assoc-ref outputs "out")
- "/share/man/man1"))
- #t)))))
+ (("^release.*") (string-append "release = '" ,version "'\n"))))))))
(native-inputs
(list python-setuptools-scm
python-sphinx
;; Required for testing
+ python-aioresponses
python-hypothesis
+ python-trustme
python-pytest
- python-pytest-localserver
- python-pytest-subtesthack
- python-urllib3
- python-wsgi-intercept
+ python-pytest-asyncio
+ python-pytest-cov
+ python-pytest-httpserver
radicale))
(inputs
- (list ;; XXX https://github.com/mitsuhiko/click/issues/200
- python-click-5))
- (propagated-inputs
- (list python-atomicwrites python-click-log python-click-threading
+ (list python-aiohttp
+ python-aiostream
+ python-atomicwrites
+ python-click
+ python-click-log
+ python-requests
python-requests-toolbelt))
(synopsis "Synchronize calendars and contacts")
(description "Vdirsyncer synchronizes your calendars and addressbooks
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index e69d1ce83b..1c4f570fe4 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,6 +35,8 @@
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system go)
+ #:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
@@ -856,3 +859,29 @@ engineering.")
(home-page "https://github.com/epasveer/seer")
;; Note: Some icons in src/resources are creative commons 3.0 and/or 4.0.
(license license:gpl3+)))
+
+(define-public delve
+ (package
+ (name "delve")
+ (version "1.9.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/go-delve/delve")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07jch3yd1pgqviyy18amn23gazbzi7l51f210c3vmc707v3vbbqr"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/go-delve/delve/cmd/dlv"
+ #:unpack-path "github.com/go-delve/delve"
+ #:install-source? #f
+ #:phases #~(modify-phases %standard-phases (delete 'check))))
+ (propagated-inputs (list go))
+ (home-page "https://github.com/go-delve/delve")
+ (synopsis "Debugger for the Go programming language")
+ (description "Delve is a debugger for the Go programming language.")
+ (license license:expat)))
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..7491a2588a 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -589,11 +589,10 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
;; as ‘/dev/disk/by-id/’.
`(#:tests? #f))
(inputs
- (list `(,util-linux "lib") parted glib gtkmm-3 libxml2))
+ (list `(,util-linux "lib") parted glib gtkmm-3 lvm2 libxml2))
(native-inputs
(list intltool
itstool
- lvm2 ; for tests
yelp-tools
pkg-config))
(home-page "https://gparted.org/")
@@ -1021,7 +1020,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 +1028,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 +1141,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 +1155,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/documentation.scm b/gnu/packages/documentation.scm
index 585a295fb4..3ded8e1cac 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -36,6 +36,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system qt)
#:use-module (guix deprecation)
@@ -262,6 +263,32 @@ browsing. The documentation is extracted directly from the C/C++/IDL source
or Java class files.")
(license gpl2+)))
+(define-public pod2pdf
+ (package
+ (name "pod2pdf")
+ (version "0.42")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/J/JO/JONALLEN/pod2pdf-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "0w5p7yy01vph74nfr9qzjb18p1avmhhcpza0qz9r88fmb0blbiyv"))))
+ (build-system perl-build-system)
+ (propagated-inputs
+ (list perl-getopt-argvfile
+ perl-pdf-api2
+ perl-pod-parser))
+ (home-page "https://metacpan.org/release/pod2pdf")
+ (synopsis "Convert Pod to PDF format")
+ (description "pod2pdf converts documents written in Perl's @acronym{POD, Plain Old
+Documentation} format to PDF files. It also supports some extensions to the POD
+format, and supports the file types JPG, GIF, TIFF, PNG, and PNM for embedded
+objects.")
+ (license artistic2.0)))
+
(define-public python-docrepr
(package
(name "python-docrepr")
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 9013e37a54..18d1989124 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
@@ -915,13 +915,13 @@ buffer.")
(define-public emacs-project
(package
(name "emacs-project")
- (version "0.8.3")
+ (version "0.9.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar"))
(sha256
- (base32 "15x6nbvyy592fwn36syxi9719sknvrm4bwnpyc16z9jn2xm62q3p"))))
+ (base32 "0g4cnh771jjwjqhja0kwsv0162ff2xidpk8b6s3r5rzjc9inpcq7"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-xref))
(home-page "https://elpa.gnu.org/packages/project.html")
@@ -1351,6 +1351,29 @@ this one is much simpler and much more consistent. When using this package,
then only the color of the mode line changes when a window becomes in-/active.")
(license license:gpl3+)))
+(define-public emacs-acme-theme
+ (let ((commit "7c408d111c5e451ecb8fdd5f76cf7d8074aec793")
+ (revision "0"))
+ (package
+ (name "emacs-acme-theme")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/ianyepan/acme-emacs-theme")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16qxspzlf0bvw36ff4qnrn5p7mc5sf923ba0ar04cr87bfqgyak4"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/ianyepan/acme-emacs-theme")
+ (synopsis "Emacs theme inspired by Plan 9's Acme and Sam Editor")
+ (description "Acme theme is an Emacs theme with an old-school vibe
+inspired by Plan 9 Acme and the Sam text editor.")
+ (license license:gpl3+))))
+
(define-public emacs-theme-magic
;; No tagged release upstream, but the commit below correspond to the 0.2.3
;; release.
@@ -2977,6 +3000,31 @@ defined in RFC 2425 and RFC 2426 to/from The Insidious Big Brother Database
shine on top of your cursor so you know where it is.")
(license license:gpl3+)))
+(define-public emacs-carp
+ (let ((commit "17d3d84963434233997626850195f205882bf0df")
+ (revision "0"))
+ (package
+ (name "emacs-carp")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (uri (git-reference
+ (url "https://github.com/carp-lang/carp-emacs")
+ (commit commit)))
+ (method git-fetch)
+ (sha256
+ (base32 "0mn4mg94hzzwb54kikg4c6hvf9ka15f2nz95g0clmn8r0mvkj4d5"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-clojure-mode emacs-flycheck))
+ (home-page "https://github.com/carp-lang/carp-emacs")
+ (synopsis "Emacs support for Carp")
+ (description
+ "This package provides syntax highlighting, a minor mode for
+listing type errors via Flycheck, as well as REPL support for Carp.")
+ (license license:asl2.0))))
+
(define-public emacs-counsel-bbdb
(package
(name "emacs-counsel-bbdb")
@@ -3553,7 +3601,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
- (version "0.33")
+ (version "0.34")
(source
(origin
(method git-fetch)
@@ -3562,7 +3610,7 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0c353k6f4i96gajfw1zvidhlwr2brnhhdr39503hpa5wnp69wak7"))))
+ (base32 "0cv0hcgsw4l8lk3gqwqlw91m4kc2dd80ndx06rg6czd22qdrd68m"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@@ -4158,7 +4206,7 @@ during idle time, while Emacs is doing nothing else.")
(define-public emacs-pdf-tools
(package
(name "emacs-pdf-tools")
- (version "0.91")
+ (version "1.0.0")
(source
(origin
(method git-fetch)
@@ -4167,7 +4215,7 @@ during idle time, while Emacs is doing nothing else.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "07ixspgn4s1jg66w7m2f3sh43giakz9srhp7rpw389z32g57i1rx"))))
+ (base32 "1idazz46zx2q84di4p73770l4bcnai2a03q95psg827ykdnmjwij"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
@@ -5306,27 +5354,30 @@ intended to be.")
(license license:gpl3+)))
(define-public emacs-ef-themes
- (package
- (name "emacs-ef-themes")
- (version "0.9.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.sr.ht/~protesilaos/ef-themes")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1h1xlcbcay8wlmhzv7b5h6vrvwdwkzc171aa0rfja2xds4ry9k0m"))))
- (build-system emacs-build-system)
- (home-page "https://git.sr.ht/~protesilaos/ef-themes")
- (synopsis "Colorful and legible themes")
- (description
- "The Ef themes are a collection of light and dark themes for GNU Emacs
+ ;; XXX: Upstream did not tag last release. The commit below matches version
+ ;; bump.
+ (let ((commit "35201e49e8c3f5d1a2d6c17cb1697a9e18529a9a"))
+ (package
+ (name "emacs-ef-themes")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~protesilaos/ef-themes")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0c3gly6d5037dvvznf1mzihrfrcrrjmnsd2dda5k4frfyrc25rmn"))))
+ (build-system emacs-build-system)
+ (home-page "https://git.sr.ht/~protesilaos/ef-themes")
+ (synopsis "Colorful and legible themes")
+ (description
+ "The Ef themes are a collection of light and dark themes for GNU Emacs
whose goal is to provide colorful yet legible options for users who want
something with a bit more flair than the Modus themes.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-espuds
(package
@@ -7253,14 +7304,14 @@ user.")
(define-public emacs-subed
(package
(name "emacs-subed")
- (version "1.0.24")
+ (version "1.0.26")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
version ".tar"))
(sha256
(base32
- "1x9w858pgyhd7hlvn85h379f8sfvf8ly3a9596q4jkqbcp9riymq"))))
+ "1vssgrchjgf36qxm6bm574wvvcjxmcfhlpziwilzixkxw48hh0ym"))))
(arguments
(list
#:tests? #t
@@ -7894,7 +7945,7 @@ features:
(define-public emacs-company-math
(package
(name "emacs-company-math")
- (version "1.4")
+ (version "1.5")
(source
(origin
(method git-fetch)
@@ -7903,7 +7954,7 @@ features:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1y1fw926insgdl7ib9ynxjrxf3p6wfjkfxvf5vgdca7267cvcll1"))))
+ (base32 "010p3rhb7win6ndx3ilz2lcg69d2qyxfvpi0hcid2srzxffpwn3i"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-math-symbol-lists emacs-company))
@@ -9872,25 +9923,28 @@ them easier to distinguish from other, less important buffers.")
(license license:expat)))
(define-public emacs-embark
- (package
- (name "emacs-embark")
- (version "0.17")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/oantolin/embark")
- (commit version)))
- (sha256
- (base32 "1s0ssf4q9kg4c5w87h2ypyvrhi31mz3s6k4h7pxi9a47lkccq8n1"))
- (file-name (git-file-name name version))))
- (build-system emacs-build-system)
- (propagated-inputs
- (list emacs-avy emacs-consult))
- (home-page "https://github.com/oantolin/embark")
- (synopsis "Emacs mini-buffer actions rooted in keymaps")
- (description
- "This package provides a sort of right-click contextual menu for Emacs
+ ;; XXX: Upstream did not tag last release. Use commit matching version
+ ;; bump.
+ (let ((commit "09da327d43793f0b30114ee80d82ef587124462a"))
+ (package
+ (name "emacs-embark")
+ (version "0.18")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oantolin/embark")
+ (commit commit)))
+ (sha256
+ (base32 "0drzsa9rzjy0548pa161cf1d71lnyjri31rkwyjray9gy2adbnhv"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-avy emacs-consult))
+ (home-page "https://github.com/oantolin/embark")
+ (synopsis "Emacs mini-buffer actions rooted in keymaps")
+ (description
+ "This package provides a sort of right-click contextual menu for Emacs
offering you relevant @emph{actions} to use on a @emph{target} determined by
the context.
@@ -9904,7 +9958,7 @@ get offered actions like deleting, copying, renaming, visiting in another
window, running a shell command on the file, etc. For buffers the actions
include switching to or killing the buffer. For package names the actions
include installing, removing or visiting the homepage.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-prescient
(package
@@ -9956,43 +10010,44 @@ interface.")
(license license:expat)))
(define-public emacs-orderless
- (package
- (name "emacs-orderless")
- (version "0.7")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/oantolin/orderless")
- (commit version)))
- (sha256
- (base32 "0m9nyz80j0qnn14drbgk8vn5yr7sv0z6yiz8w95ahcw2qwlgyjs7"))
- (file-name (git-file-name name version))))
- (build-system emacs-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'makeinfo
- (lambda* (#:key outputs #:allow-other-keys)
- (invoke "makeinfo" "orderless.texi")
- (install-file "orderless.info"
- (string-append (assoc-ref outputs "out")
- "/share/info")))))))
- (native-inputs
- (list texinfo))
- (home-page "https://github.com/oantolin/orderless")
- (synopsis "Emacs completion style that matches multiple regexps in any order")
- (description "This package provides an orderless completion style that
+ (let ((commit "004cee6b8e01f8eb0cb1c683d0a637b14890600f"))
+ (package
+ (name "emacs-orderless")
+ (version "0.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oantolin/orderless")
+ (commit commit)))
+ (sha256
+ (base32 "115bwqi2yc44bgvcl7lha8p2s6jgh5hksn4wa9s0kpfxhi14jwmy"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'makeinfo
+ (lambda _
+ (invoke "makeinfo" "orderless.texi")
+ (install-file "orderless.info"
+ (string-append #$output "/share/info")))))))
+ (native-inputs
+ (list texinfo))
+ (home-page "https://github.com/oantolin/orderless")
+ (synopsis "Emacs completion style that matches multiple regexps in any order")
+ (description "This package provides an orderless completion style that
divides the pattern into space-separated components, and matches candidates
that match all of the components in any order. Each component can match in
any one of several ways: literally, as a regexp, as an initialism, in the flex
style, or as multiple word prefixes.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public emacs-consult
(package
(name "emacs-consult")
- (version "0.20")
+ (version "0.29")
(source
(origin
(method git-fetch)
@@ -10000,7 +10055,7 @@ style, or as multiple word prefixes.")
(url "https://github.com/minad/consult")
(commit version)))
(sha256
- (base32 "1rm53sqfl8hnb1l1fr0s8kxgp03prc2ggywqs5ssiqx87vhyn70w"))
+ (base32 "11wk1511hj8m9rmccgq4fb8x7vlr9pi00a9h285lxwj1bdmy9dlz"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat))
@@ -11163,7 +11218,7 @@ state and will work even without lispy being enabled.")
(file-name (git-file-name name version))
(sha256
(base32
- "1vxrjy6k030hcbclblgcaaw7h6k17kl3n9zla08527525c0gma01"))))
+ "1j92ll2afvcp891fxra3sawxg000cs3ra01wxksiil2dg5zpzzkn"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-ivy))
(home-page "https://github.com/abo-abo/function-args")
@@ -11189,7 +11244,7 @@ the C/C++ function at point.")
(file-name (git-file-name name version))
(sha256
(base32
- "1j92ll2afvcp891fxra3sawxg000cs3ra01wxksiil2dg5zpzzkn"))))
+ "18kx2mfmxy8s8csnp0iaiirl2z9baicq9f2w7rxlgkxww5511v7d"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-function-args emacs-lispy emacs-zoutline))
@@ -13493,7 +13548,7 @@ Lua programming language}.")
(define-public emacs-ebuild-mode
(package
(name "emacs-ebuild-mode")
- (version "1.60")
+ (version "1.61")
(source
(origin
(method url-fetch)
@@ -13502,7 +13557,7 @@ Lua programming language}.")
"ebuild-mode-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
- (base32 "1n7knzssvz0yyhnn6m37lz8d9v2840skcbm0ipqjpqyzawnr3psw"))))
+ (base32 "02fkmzh9rdl061n1p9lgf5mgkm67vxcbd8sj0f1dicb9vyry0zgy"))))
(build-system emacs-build-system)
(arguments
(list
@@ -13960,7 +14015,7 @@ pasting into and from @code{tmux} paste buffers.")
(define-public emacs-evil-nerd-commenter
(package
(name "emacs-evil-nerd-commenter")
- (version "3.5.8")
+ (version "3.6.0")
(source
(origin
(method git-fetch)
@@ -13970,7 +14025,7 @@ pasting into and from @code{tmux} paste buffers.")
(file-name (git-file-name name version))
(sha256
(base32
- "0xrbmz9mx4aclqgjyjaq7vj9xf4291rw4nxaz2nvqblv8yylqbr0"))))
+ "1v2iwci0yc1sld1sidrwdnqriyhs78ba3gp4d9az0af48grl7x1w"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-evil))
(home-page "https://github.com/redguardtoo/evil-nerd-commenter")
@@ -14142,51 +14197,72 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
- (version "9.5.5")
+ (version "9.6")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://git.savannah.gnu.org/git/emacs/org-mode.git")
+ (url "https://git.savannah.gnu.org/git/emacs/org-mode")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0bswysz5laiya9pm689v4rpxjlfqg21azyh1jal9jq80iwjwi2p8"))))
+ (base32 "1pi9kkcbvsrvw009lf6q2l68n9jyjks94xjqyn36zq1vqcvmg33d"))))
(build-system emacs-build-system)
(arguments
- `(#:tests? #t
- #:test-command '("make" "test-dirty")
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'make
- (lambda _
- (invoke "make" (string-append "ORGVERSION=" ,version))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "local.mk"
- (("^prefix.*")
- (string-append "prefix = " (assoc-ref outputs "out")))
- (("^lispdir.*")
- (string-append "lispdir = "
- (elpa-directory (assoc-ref outputs "out")))))
- ;; The dependent targets for install perform cleanup that
- ;; partially undoes our make phase
- (substitute* "lisp/Makefile"
- (("^install:.*") "install:\n"))
- (invoke "make" "install")))
- (add-after 'unpack 'fix-tests
- (lambda* (#:key inputs #:allow-other-keys)
- ;; These files are modified during testing
- (with-directory-excursion "testing/examples"
- (for-each make-file-writable
- '("babel.org"
- "ob-awk-test.org"
- "ob-sed-test.org"
- "ob-shell-test.org"))
- ;; Specify where sh is
- (substitute* "babel.org"
- (("/bin/sh" sh)
- (string-append (assoc-ref inputs "bash") sh)))))))))
+ (list
+ #:tests? #t
+ #:test-command #~(list "make" "test-dirty")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'expand-load-path
+ ;; Make sure `load-path' includes "lisp" directory, otherwise
+ ;; byte-compilation fails.
+ (lambda args
+ (with-directory-excursion "lisp"
+ (apply (assoc-ref %standard-phases 'expand-load-path) args))))
+ (add-after 'expand-load-path 'bootstrap
+ ;; XXX: Generate "org-loaddefs.el".
+ (lambda _
+ (invoke "make" "autoloads")))
+ (add-before 'check 'fix-tests
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; XXX: Running tests updates ID locations. The process expects
+ ;; a file to be writeable in "~/.emacs.d/".
+ (setenv "HOME" (getcwd))
+ (mkdir-p ".emacs.d")
+ ;; These files are modified during testing.
+ (with-directory-excursion "testing/examples"
+ (for-each make-file-writable
+ '("babel.org"
+ "ob-awk-test.org"
+ "ob-sed-test.org"
+ "ob-shell-test.org"))
+ ;; Specify where sh executable is.
+ (let ((sh (search-input-file inputs "/bin/sh")))
+ (substitute* "babel.org"
+ (("/bin/sh") sh))))
+ ;; XXX: Skip failing tests.
+ (substitute* "testing/lisp/test-ob-shell.el"
+ (("ob-shell/remote-with-stdin-or-cmdline .*" all)
+ (string-append all " (skip-unless nil)\n")))
+ (substitute* "testing/lisp/test-org.el"
+ (("test-org/org-(encode-time|time-string-to-time) .*" all)
+ (string-append all " (skip-unless nil)\n")))))
+ (replace 'install
+ (lambda _
+ (let ((elpa (elpa-directory #$output))
+ (info (string-append #$output "/share/info")))
+ (substitute* "local.mk"
+ (("^lispdir.*") (string-append "lispdir = " elpa))
+ (("^datadir.*") (string-append "datadir = " elpa "/etc"))
+ (("^infodir.*") (string-append "infodir = " info))))
+ (invoke "make" "install" (string-append "ORGVERSION=" #$version))))
+ (add-after 'install 'install-org-news
+ ;; Install ORG-NEWS files in doc directory.
+ (lambda _
+ (install-file "etc/ORG-NEWS"
+ (string-append #$output "/share/doc/"
+ #$name "-" #$version)))))))
(native-inputs
(list texinfo))
(home-page "https://orgmode.org/")
@@ -16016,7 +16092,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)
@@ -16025,7 +16101,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")
@@ -16847,7 +16923,7 @@ one if it fails.")
(define-public emacs-jarchive
(package
(name "emacs-jarchive")
- (version "0.8.0")
+ (version "0.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -16856,7 +16932,7 @@ one if it fails.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fi3y5kmy7ginyqg12q797bma638xmam7lrk74x6yhx84xgzb4fq"))))
+ "0v1mz9z8dgxr4yj9p0wf0a748nlnvv2z0mrbkbqz7nsnw5djkimd"))))
(build-system emacs-build-system)
(home-page "https://sr.ht/~dannyfreeman/jarchive")
(synopsis "Jarchive teaches Emacs how to navigate to files inside JARs")
@@ -17615,7 +17691,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
(define-public emacs-ement
(package
(name "emacs-ement")
- (version "0.4.1")
+ (version "0.5.1")
(source
(origin
(method git-fetch)
@@ -17624,7 +17700,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1411w5i2wsw748yszi9w99mlnwf1v31bmkg8brmybl9zmc0q4gxr"))))
+ (base32 "17spz9z7anzgqgcddsv5rqr6qa6yada3yrvz81z0knbpls5qqp6a"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs)) ;need libxml support
@@ -20164,13 +20240,13 @@ temperature shifting tools and brightness adaption software.")
(define-public emacs-peg
(package
(name "emacs-peg")
- (version "1.0")
+ (version "1.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/peg-" version ".tar"))
(sha256
- (base32 "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl"))))
+ (base32 "0yxfwwwc6fck1p9smcm1dwnva42868xvavhy7j749vlxrgb3v94x"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/peg.html")
(synopsis "Parsing Expression Grammars in Elisp")
@@ -22085,7 +22161,7 @@ and doesn't require memorisation of commands.
(define-public emacs-logview
(package
(name "emacs-logview")
- (version "0.15.1")
+ (version "0.16")
(source
(origin
(method git-fetch)
@@ -22094,7 +22170,7 @@ and doesn't require memorisation of commands.
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1khri5632pjirj191x3ps94s4pyrwapf1pbrkmqqp0d26b50d3s2"))))
+ (base32 "0vw6brs76z7fkvlazakwhhgdcydjc099j150c7503kwi2hmmp0p8"))))
(propagated-inputs
(list emacs-datetime emacs-extmap))
(build-system emacs-build-system)
@@ -23993,7 +24069,7 @@ file.")
(define-public emacs-packed
(package
(name "emacs-packed")
- (version "3.0.4")
+ (version "3.1.0")
(source
(origin
(method git-fetch)
@@ -24002,8 +24078,10 @@ file.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1gpv2vaci0m48fzn0sy7iwl1mnkkqc30bf05jjrqlpn9kpbjyf1p"))))
+ (base32 "0i2j5yk6xhv4rh3317f241y9llwf4wk18a6a4lkqrvbjpvi9yvn0"))))
(build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-compat))
(home-page "https://github.com/emacscollective/packed")
(synopsis "Package manager agnostic Emacs Lisp package utilities")
(description
@@ -25608,7 +25686,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(define-public emacs-buttercup
(package
(name "emacs-buttercup")
- (version "1.28")
+ (version "1.29")
(source
(origin
(method git-fetch)
@@ -25618,7 +25696,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(file-name (git-file-name name version))
(sha256
(base32
- "1dc8m5w26gi698d31xvh1q8mwf4a3wa1xrnyhqqxrmfr8b71clpk"))))
+ "0a5wvm7nh4748wzvp2b9jll74ifqz22bicxkl5fwp4di4vrqpd47"))))
(build-system emacs-build-system)
(arguments
(list
@@ -26095,30 +26173,27 @@ chevron marks.")
(license license:gpl3+))))
(define-public emacs-nix-mode
- ;; Use the latest commit to get unreleased fixes to build with Emacs 28.1.
- (let ((commit "8fe2ccf0b01f694a77d2528e06c10f06057784f6")
- (revision "0"))
- (package
- (name "emacs-nix-mode")
- (version (git-version "1.4.5" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/NixOS/nix-mode")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "08kz9qp4gp55z1i87ig0ysq6pgqgwlgr765g1vp8gsh6lp3myh36"))))
- (build-system emacs-build-system)
- (propagated-inputs
- (list emacs-company emacs-json-mode emacs-magit emacs-mmm-mode))
- (home-page "https://github.com/NixOS/nix-mode")
- (synopsis "Emacs major mode for editing Nix expressions")
- (description "@code{nixos-mode} provides an Emacs major mode for editing
+ (package
+ (name "emacs-nix-mode")
+ (version "1.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/NixOS/nix-mode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xvrnpk7cnjm55ja6j7bdnszkzj914gmyzb12r89jh0z25r09crq"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-company emacs-json-mode emacs-magit emacs-mmm-mode))
+ (home-page "https://github.com/NixOS/nix-mode")
+ (synopsis "Emacs major mode for editing Nix expressions")
+ (description "@code{nixos-mode} provides an Emacs major mode for editing
Nix expressions. It supports syntax highlighting, indenting and refilling of
comments.")
- (license license:lgpl2.1+))))
+ (license license:lgpl2.1+)))
(define-public emacs-libmpdel
(package
@@ -28598,14 +28673,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
- (version "2.5.3.3")
+ (version "2.5.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
- (base32 "05w04qwk1lk50fzwl6fxyf6pb1jd2lx4as99zm1dpa858jab6w4a"))))
+ (base32 "1ap2niqskbj81xqhdi4lzh3646g9rwh3iw5qgyl3fw7cfq945fsl"))))
(build-system emacs-build-system)
(arguments
(list
@@ -31723,7 +31798,7 @@ variables.")
(define-public emacs-company-emoji
(package
(name "emacs-company-emoji")
- (version "2.6.1")
+ (version "2.7.0")
(source
(origin
(method git-fetch)
@@ -31732,7 +31807,7 @@ variables.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1rhf2hr345953mkn52i58aiq8j16ps2ckapd5f7jxmhkcpzxxfhk"))))
+ (base32 "1prcjdqm4djp5nr93m2axddhhdmn1s0y157px9zsk7g5yi36dn6q"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-company))
@@ -33238,16 +33313,16 @@ complementary packages.")
(define-public emacs-wisp-mode
(package
(name "emacs-wisp-mode")
- (version "0.3.0")
+ (version "1.0.8")
(source
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://hg.sr.ht/~arnebab/wisp")
- (changeset (string-append "wisp-mode-" version))))
+ (changeset (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "189baxk27rq3s6h6mh0m25sv504853rpvyxxdcwx6wdy7l88qany"))))
+ (base32 "1hqwdmx081icv516cyndjkwvgr7b41hi5qdaylkv0jran35jwjiw"))))
(build-system emacs-build-system)
(home-page "https://www.draketo.de/software/wisp")
(synopsis "Syntax highlighting and indentation support for Wisp files")
@@ -34418,7 +34493,7 @@ across sessions.")
(define-public emacs-vertico-posframe
(package
(name "emacs-vertico-posframe")
- (version "0.5.4")
+ (version "0.5.5")
(source (origin
(method url-fetch)
(uri (string-append
@@ -34426,7 +34501,7 @@ across sessions.")
".tar"))
(sha256
(base32
- "19lx6p06wkwfivxgswdljdsh9bgcd1b9zkzx426w3pwicdk0cvgg"))))
+ "1rfji5x7rb787xzm9g268z7khvrby0plvas97q8wfshl96md8svx"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-posframe emacs-vertico))
(home-page "https://github.com/tumashu/vertico-posframe")
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 0458ed5f13..87c572ba0f 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -32,6 +32,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix svn-download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -1092,6 +1093,41 @@ the Raspberry Pi chip.")
(description "This package provides @code{gcc} for VideoCore IV,
the Raspberry Pi chip."))))
+(define-public imx-usb-loader
+ ;; There are no proper releases.
+ (let ((commit "30b43d69770cd69e84c045dc9dcabb1f3e9d975a")
+ (revision "0"))
+ (package
+ (name "imx-usb-loader")
+ ;; For the version string, see IMX_LOADER_VERSION in imx_loader.h.
+ (version (git-version "0.2pre" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/boundarydevices/imx_usb_loader")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jdxbg63qascyl8x32njs9k9gzy86g209q7hc0jp74qyh0i6fwwc"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:test-target "tests"
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "prefix=" #$output))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure))))
+ (native-inputs (list pkg-config))
+ (inputs (list libusb))
+ (home-page "https://github.com/boundarydevices/imx_usb_loader")
+ (synopsis "USB and UART loader for i.MX5/6/7/8 series")
+ (description "This utility downloads and executes code on Freescale
+i.MX5/i.MX6/i.MX7 and Vybrid SoCs through the Serial Download Protocol (SDP).
+Depending on the board, there is usually some kind of recovery button to bring
+the SoC into serial download boot mode; check the documentation of your
+hardware. The utility support USB and UART as serial link.")
+ (license license:lgpl2.1+))))
+
(define-public python-libmpsse
(package
(name "python-libmpsse")
@@ -1676,3 +1712,38 @@ provides command line tools for Mbed OS to detect Mbed enabled devices
connected by USB, checkout Mbed projects and perform builds amongst other
operations.")
(license license:asl2.0)))
+
+(define-public ts4900-utils
+ ;; There are no proper release nor tag; use the latest commit.
+ (let ((revision "0")
+ (commit "e10a12f8050d1d1229e711c7cfab8a0d5d93ee58"))
+ (package
+ (name "ts4900-utils")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/embeddedTS/ts4900-utils")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vr8i425qijbwgbc10av3wr35p3x11wy6y442w0ja0yny7si8wp8"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake))
+ (home-page "https://github.com/embeddedTS/ts4900-utils")
+ (synopsis "Utilities for the TS-4900 board family")
+ (description "This package contains utilities useful for boards of the
+TS-4900 family. The included commands are:
+@itemize @code
+@item adc8390
+@item gpioctl
+@item isl12020rtc
+@item load_fpga
+@item nvramctl
+@item tshwctl
+@item tsmicroctl
+@item tsmicroupdate
+@item tssilomon
+@end itemize")
+ (license license:bsd-2))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 28d3e0ca9a..5054ae3da5 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -777,7 +777,7 @@ and Game Boy Color games.")
(define-public sameboy
(package
(name "sameboy")
- (version "0.15.6")
+ (version "0.15.8")
(source
(origin
(method git-fetch)
@@ -786,7 +786,7 @@ and Game Boy Color games.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0a2fcsnv7ykj4kk2vpq9jjn8yjrx34n5s186rqvgj3dzm8w6xijs"))))
+ (base32 "11qz5lamwxgvlh4dc95xd4m8hrypjj3bvha51zg9l454hxlvw4j8"))))
(build-system gnu-build-system)
(native-inputs
(list rgbds pkg-config))
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 43e23e30a8..ee224ad173 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)
@@ -2443,7 +2428,7 @@ comments.")))
(define-public freecad
(package
(name "freecad")
- (version "0.20.1")
+ (version "0.20.2")
(source
(origin
(method git-fetch)
@@ -2452,7 +2437,7 @@ comments.")))
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1pgkjlahisqjvi3dd7ywj1zwhsl3wn3p15sifbmrdfdmw9is3z2b"))))
+ (base32 "02976k91ypv41rqdl27jbmyhnhgx7k5bj520lcqs8qzgcdsynd03"))))
(build-system qt-build-system)
(native-inputs
(list doxygen
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 4b5e466c7d..8dae5f40d3 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -199,7 +199,7 @@ removable devices or support for multimedia.")
(define-public terminology
(package
(name "terminology")
- (version "1.12.1")
+ (version "1.13.0")
(source (origin
(method url-fetch)
(uri
@@ -207,7 +207,7 @@ removable devices or support for multimedia.")
"terminology/terminology-" version ".tar.xz"))
(sha256
(base32
- "1aasddf2343qj798b5s8qwif3lxj4pyjax6fa9sfi6if9icdkkpq"))
+ "19ad8ycg5mkk2ldqm0ysvzb7gvhw6fpw1iiyvv4kxmmvszn7z8qn"))
(modules '((guix build utils)))
;; Remove the bundled fonts.
(snippet
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index feb533eca7..cc2d417003 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -889,6 +889,23 @@ the Monero command line client and daemon.")
the Monero GUI client.")
(license license:bsd-3)))
+(define-public python-bech32
+ (package
+ (name "python-bech32")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "bech32" version))
+ (sha256
+ (base32
+ "16fq5cfy5id9hp123ylhpl55pf38xwk0hv7sziqpig838qhvhvbx"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/fiatjaf/bech32")
+ (synopsis "Reference implementation for Bech32 and Segwit addresses")
+ (description "This package provides a python reference implementation for
+Bech32 and segwit addresses.")
+ (license license:expat)))
+
(define-public python-trezor-agent
;; It is called 'libagent' in pypi; i.e. this is the library as opposed to
;; the toplevel app called trezor-agent.
@@ -2177,7 +2194,7 @@ mining.")
(define-public p2pool
(package
(name "p2pool")
- (version "2.5")
+ (version "2.6")
(source
(origin
(method git-fetch)
@@ -2186,7 +2203,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 1c510951e9..4a4bb18002 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1912,7 +1912,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)
@@ -1921,7 +1921,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
@@ -2759,7 +2759,12 @@ for xdg-desktop-portal that is using Qt/KF5.")
(string-append "execl(\"" sh "\", \"" sh "\"")))
(substitute* "src/screencast/screencast.c"
(("execvp\\(\"sh")
- (string-append "execvp(\"" sh)))))))))
+ (string-append "execvp(\"" sh))))))
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "../source/README.md"
+ (string-append (assoc-ref outputs "out")
+ "/share/doc/" ,name)))))))
(native-inputs
(list cmake pkg-config))
(inputs (list elogind
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/game-development.scm b/gnu/packages/game-development.scm
index 66d0ca316f..4a0435045b 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -736,6 +736,34 @@ to ease the development of games and multimedia applications. It is composed
of five modules: system, window, graphics, audio and network.")
(license license:zlib)))
+(define-public csfml
+ (package
+ (name "csfml")
+ (version "2.5.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SFML/CSFML")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1wj1p798myyavld2xdhvvflb5h4nf1vgxxzs6nh5qad44vj9b3kb"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:configure-flags #~(list "-DCSFML_BUILD_DOC=TRUE")
+ #:tests? #f)) ;no tests
+ (native-inputs (list doxygen))
+ (inputs (list sfml))
+ (synopsis "C bindings for the SFML multimedia library")
+ (description
+ "CSFML is the official C binding to the SFML libraries. SFML provides a
+simple interface to the various computer components, to ease the development of
+games and multimedia applications. It is composed of five modules: system,
+window, graphics, audio and network.")
+ (home-page "https://www.sfml-dev.org/download/csfml/")
+ (license license:zlib)))
+
(define-public sfxr
(package
(name "sfxr")
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9d79efbe94..d8c5a34a41 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -63,7 +63,7 @@
;;; Copyright © 2021 David Pflug <david@pflug.io>
;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
-;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
+;;; Copyright © 2021, 2022 Noisytoot <ron@noisytoot.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
@@ -445,7 +445,7 @@ physics settings to tweak as well.")
(define-public astromenace
(package
(name "astromenace")
- (version "1.4.1")
+ (version "1.4.2")
(source
(origin
(method git-fetch)
@@ -454,33 +454,30 @@ physics settings to tweak as well.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1ad6l887jxqv8xspwc2rvy8ym9sdlmkqdqhsh0pi076kjarxsyws"))))
+ (base32 "0vw94issjzz6rji0ssqv5yrll513dvj7m0d33q8lbih1gdh4alal"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ;no test
- #:configure-flags (list (string-append "-DDATADIR="
- (assoc-ref %outputs "out")
- "/share/astromenace"))
- #:phases
- (modify-phases %standard-phases
- (replace 'install
- ;; Upstream provides no install phase.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (share (string-append out "/share"))
- (apps (string-append share "/applications"))
- (data (string-append share "/astromenace"))
- (icons (string-append share "/icons/hicolor/64x64/apps")))
- (install-file "astromenace" bin)
- (install-file "gamedata.vfs" data)
- (let ((source (assoc-ref inputs "source")))
- (with-directory-excursion (string-append source "/share")
- (install-file "astromenace.desktop" apps)
- (mkdir-p icons)
- (copy-file "astromenace_64.png"
- (string-append icons "/astromenace.png")))))
- #t)))))
+ (list
+ #:tests? #f ;no tests
+ #:configure-flags
+ #~(list (string-append "-DDATADIR=" #$output "/share/astromenace"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ ;; Upstream provides no install phase.
+ (lambda _
+ (let* ((bin (string-append #$output "/bin"))
+ (share (string-append #$output "/share"))
+ (apps (string-append share "/applications"))
+ (data (string-append share "/astromenace"))
+ (icons (string-append share "/icons/hicolor/64x64/apps")))
+ (install-file "astromenace" bin)
+ (install-file "gamedata.vfs" data)
+ (with-directory-excursion (string-append #$source "/share")
+ (install-file "astromenace.desktop" apps)
+ (mkdir-p icons)
+ (copy-file "astromenace_64.png"
+ (string-append icons "/astromenace.png")))))))))
(inputs
(list freealut
freetype
@@ -1427,7 +1424,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 +1432,7 @@ real-time combat.")
"-src.tar.gz"))
(sha256
(base32
- "1j3ksnar4rdam4xiyspgyrs1pifbvxfxkrn65brkwxpx39mpgzc8"))))
+ "0pg9cp83nxc354lizgza5bqdy7z5wh36863203zw6r6s4flji4an"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
@@ -1445,17 +1442,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 +1472,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
@@ -2103,7 +2086,7 @@ done
for i in ~a/games/lib/nethackdir/*; do
ln -s $i $(basename $i)
done
-~a/games/nethack"
+~a/games/nethack \"$@\""
(assoc-ref %build-inputs "bash")
(list->search-path-as-string
(list
@@ -3970,7 +3953,7 @@ Protocol).")
(define-public extremetuxracer
(package
(name "extremetuxracer")
- (version "0.8.1")
+ (version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3978,7 +3961,7 @@ Protocol).")
version "/etr-" version ".tar.xz"))
(sha256
(base32
- "0hc3qd9hv3h9qm53yxgc7iy1v1wyajwxyvil4vqvzf9ascz9dnlj"))))
+ "0knd22lzhzqih1w92y6m7yxha376c6ydl22wy4xm6jg2x5jlk1qw"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
@@ -6151,7 +6134,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-xyz.scm b/gnu/packages/gnome-xyz.scm
index 0368ccc223..8be9c55000 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -873,7 +873,7 @@ notebooks and tiling window managers.")
(define-public gpaste
(package
(name "gpaste")
- (version "42.1")
+ (version "42.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -882,12 +882,13 @@ notebooks and tiling window managers.")
(file-name (git-file-name name version))
(sha256
(base32
- "1dlqa69zvzzdxyh21qfrx2nhpfy0fbihxpgkxqmramcgv3h5k4q3"))
+ "0qq2p19p3r3lz8yfynpnf36cipv54bzdbmq1x5zgwhyl4yl41g28"))
(patches
(search-patches "gpaste-fix-paths.patch"))))
(build-system meson-build-system)
(native-inputs
- (list gettext-minimal
+ (list gcr
+ gettext-minimal
gobject-introspection
(list glib "bin") ; for glib-compile-resources
pkg-config
@@ -913,6 +914,9 @@ notebooks and tiling window managers.")
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-introspection-install-dir
(lambda _
+ (substitute* "src/libgpaste/gpaste/gpaste-settings.c"
+ (("@gschemasCompiled@")
+ (string-append #$output "/share/glib-2.0/schemas/")))
(substitute* '("src/gnome-shell/extension.js"
"src/gnome-shell/prefs.js")
(("@typelibPath@")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index f81b44cca2..c2edd7a553 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -72,6 +72,7 @@
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
;;; Copyright © 2022 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -7292,7 +7293,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
@@ -8710,6 +8711,64 @@ Cisco's AnyConnect SSL VPN.")
;; so that 'network-manager-service-type' creates it.
(user-accounts . ("nm-openconnect"))))))
+(define-public network-manager-fortisslvpn
+ (package
+ (name "network-manager-fortisslvpn")
+ (version "1.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://gnome/sources/NetworkManager-fortisslvpn/"
+ (version-major+minor version)
+ "/NetworkManager-fortisslvpn-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1ynsqmv8xz1cffnai4hfh0ab0dmlazpv72krhlsv45mm95iy4mdh"))
+ (modules '((guix build utils)))
+ (snippet '(substitute* "Makefile.in"
+ ;; do not try to make state directory
+ (("\\$\\(DESTDIR\\)\\$\\(fortisslvpn_statedir\\)")
+ "")
+ ;; use state directory of the NetworkManager service
+ (("\\$\\(fortisslvpn_statedir\\)")
+ "/var/lib/NetworkManager")))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var"
+ "--with-gtk4=yes")
+ #:phases (modify-phases %standard-phases
+ (add-after 'configure 'patch-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((ovpn (search-input-file inputs
+ "/bin/openfortivpn"))
+ (pretty-ovpn (string-append "\"" ovpn "\"")))
+ (for-each (lambda (file)
+ (substitute* file
+ (("\"/usr/local/bin/openfortivpn\"")
+ pretty-ovpn)
+ (("\"/usr/bin/openfortivpn\"")
+ pretty-ovpn)))
+ '("src/nm-fortisslvpn-service.c"
+ "properties/nm-fortisslvpn-editor.c"))))))))
+ (native-inputs (list intltool
+ `(,glib "bin") pkg-config))
+ (inputs (list gtk+
+ gtk
+ kmod
+ libnma
+ libsecret
+ network-manager
+ openfortivpn
+ pango-next ;TODO: remove after it's the default
+ ppp))
+ (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN")
+ (synopsis "Fortinet SSLVPN plug-in for NetworkManager")
+ (description
+ "This extension of NetworkManager allows it to take care of connections
+to virtual private networks (VPNs) via Fortinet SSLVPN.")
+ (license license:gpl2+)
+ (properties `((upstream-name . "NetworkManager-fortisslvpn")))))
+
(define-public mobile-broadband-provider-info
(package
(name "mobile-broadband-provider-info")
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..ba910934be 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
@@ -1242,8 +1097,8 @@ standards of the IceCat project.")
(cpe-name . "firefox_esr")
(cpe-version . ,(first (string-split version #\-)))))))
-(define %icedove-build-id "20221115000000") ;must be of the form YYYYMMDDhhmmss
-(define %icedove-version "102.5.0")
+(define %icedove-build-id "20221201000000") ;must be of the form YYYYMMDDhhmmss
+(define %icedove-version "102.5.1")
;; Provides the "comm" folder which is inserted into the icecat source.
;; Avoids the duplication of Icecat's source tarball.
@@ -1252,11 +1107,11 @@ standards of the IceCat project.")
(method hg-fetch)
(uri (hg-reference
(url "https://hg.mozilla.org/releases/comm-esr102")
- (changeset "b6e9b5a1d1b53d26cfb7032ef2ff02203ab0486b")))
+ (changeset "bbf216e50e6a8cb4362b2b77feeb8ca4a1d78914")))
(file-name (string-append "thunderbird-" %icedove-version "-checkout"))
(sha256
(base32
- "0i2w1ibaip8rlghrk5iaih14xnz5n19ag64qcdgjxic78mhnmm04"))))
+ "06fhdzpl72mihm97g2i76knbny1jj261isl2jy8085wdmriv2f8z"))))
(define-public icedove
(package
@@ -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/graphics.scm b/gnu/packages/graphics.scm
index 60c6a979c5..efe1deede4 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2053,7 +2053,7 @@ Some feature highlights:
(define-public openxr
(package
(name "openxr")
- (version "1.0.25")
+ (version "1.0.26")
(source
(origin
(method git-fetch)
@@ -2067,7 +2067,7 @@ Some feature highlights:
;; Delete bundled jsoncpp.
(delete-file-recursively "src/external/jsoncpp")))
(sha256
- (base32 "1p8nfxswgy40zxizh925a477jcsfngbwns65qzaid5rmrvvk8c45"))))
+ (base32 "0s66xgwkdj5vn05l493hqydrxfpxxidd6mcb8l7l5awhn88cy16f"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
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/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index b1620618eb..9fc6344491 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -45,6 +45,7 @@
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
+;;; Copyright © 2022 jgart <jgart@dismail.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -707,6 +708,25 @@ is not available for Guile 2.0.")
(properties '((upstream-name . "fibers")))
(license license:lgpl3+)))
+(define-public guile-fibers-next
+ (let ((commit "0fa712ecd85c65d7d11ce0c897f068fba4e6ef3f")
+ (revision "0"))
+ (package
+ (inherit guile-fibers-1.1)
+ (name "guile-fibers-next")
+ (version (git-version (package-version guile-fibers-1.1)
+ revision
+ commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wingo/fibers")
+ (commit commit)))
+ (file-name (git-file-name "guile-fibers" version))
+ (sha256
+ (base32
+ "0vfq4dkdq2szi5f99ywm856vll397c1x42a55rpxya61rrws8s9r")))))))
+
(define-public guile-fibers
(package
(inherit guile-fibers-1.1)
@@ -3546,6 +3566,29 @@ in C using Gtk+-3 and WebKitGtk.")
perform geometrical transforms on JPEG images.")
(license license:gpl3+))))
+(define-public guile-jtd
+ (package
+ (name "guile-jtd")
+ (version "220323a")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mwette/guile-jtd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1l8fyqhvksarvpbr903i3ss3432jzvyvhgcqa15j922ngqh4ds6f"))))
+ (build-system guile-build-system)
+ (native-inputs (list guile-3.0))
+ (home-page "https://github.com/mwette/guile-jtd")
+ (synopsis "Python's @code{pdb.set_trace()} but for Guile")
+ (description
+ "The @code{(jtd)} module for Guile provides a procedure
+@code{jump-to-debugger} for escaping to the Guile REPL for the purpose of
+debugging code.")
+ (license license:lgpl2.1+)))
+
(define-public guile-png
(package
(name "guile-png")
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 322debac71..a0ed572cc0 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -432,9 +432,9 @@ without requiring the source code to be rewritten.")
; when heavily loaded)
(define-public guile-next
- (let ((version "3.0.7")
+ (let ((version "3.0.8")
(revision "0")
- (commit "d70c1dbebf9ac0fd45af4578c23983ec4a7da535"))
+ (commit "a1a85581f17dade76a598b48eac7d3d308e3a0a5"))
(package
(inherit guile-3.0)
(name "guile-next")
@@ -448,7 +448,7 @@ without requiring the source code to be rewritten.")
(file-name (git-file-name name version))
(sha256
(base32
- "05rsk9lh5kchbav3lwfwgvgybrykqqjmkkc6689fhb3mjr5m3dqj"))))
+ "1l5zkg0wpchyizq8s4615hkj0n0i029l72k3pq2hha89r3bcn8al"))))
(arguments
(substitute-keyword-arguments (package-arguments guile-3.0)
((#:phases phases '%standard-phases)
@@ -666,14 +666,14 @@ specification. These are the main features:
(package
(inherit guile-json-3)
(name "guile-json")
- (version "4.7.1")
+ (version "4.7.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-json/guile-json-"
version ".tar.gz"))
(sha256
(base32
- "0hv8jjb6wdhvfrprwdi36125sci1ip4zfflv79hqlz7nh0irld65"))))))
+ "127k2xc07w1gnyqs40z4865l8p3ra5xgpcn569dz04lxsa709fiq"))))))
(define-public guile2.2-json
(package-for-guile-2.2 guile-json-4))
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/i2p.scm b/gnu/packages/i2p.scm
index 2320250148..2e8c1d085d 100644
--- a/gnu/packages/i2p.scm
+++ b/gnu/packages/i2p.scm
@@ -32,7 +32,7 @@
(define-public i2pd
(package
(name "i2pd")
- (version "2.41.0")
+ (version "2.44.0")
(source
(origin
(method git-fetch)
@@ -41,7 +41,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0kh03lb4m8fvlfvq06d4hgwmk43pk7yp7n7y36kb2vplhrjrn2kx"))))
+ (base32 "0fwaalfxqdahgvx5rfkvdmf6gl10w328a18ddhyn5kvpmp9x7fgl"))))
(build-system cmake-build-system)
(inputs
(list boost miniupnpc openssl zlib))
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 037c141065..200b8c1cc3 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -110,7 +110,7 @@
(define-public ytfzf
(package
(name "ytfzf")
- (version "2.4.1")
+ (version "2.5.2")
(home-page "https://github.com/pystardust/ytfzf")
(source
(origin
@@ -121,7 +121,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "198qhnjklrgrjs35ygym6sgx1ibwn6qrihfiginvmx38gdavdj4x"))))
+ (base32 "138rqjjyh6ar951v0v5sl1v000ja8zznn141qqw8ymx5h2z44r6w"))))
(build-system gnu-build-system)
(arguments
(list
@@ -613,7 +613,7 @@ imaging. It supports several HDR and LDR image formats, and it can:
(define-public mcomix
(package
(name "mcomix")
- (version "2.0.1")
+ (version "2.0.2")
(source
(origin
(method url-fetch)
@@ -621,7 +621,7 @@ imaging. It supports several HDR and LDR image formats, and it can:
"mcomix-" version ".tar.gz"))
(sha256
(base32
- "187ca815vxb2in1ryvfiaf1zapi0bc9jxdac3c1bky0kr6x7xyap"))))
+ "0n0akk3njsm0paqxfbxqycwhwy6smjg0rhlcz5r7r82n7rqx0f7g"))))
(build-system python-build-system)
(inputs
(list p7zip python python-pillow python-pygobject python-pycairo gtk+))
@@ -726,14 +726,14 @@ preloading.")
(define-public chafa
(package
(name "chafa")
- (version "1.8.0")
+ (version "1.12.4")
(source (origin
(method url-fetch)
(uri (string-append "https://hpjansson.org/chafa/releases/chafa-"
version ".tar.xz"))
(sha256
(base32
- "0sr86bnrqcf6wxigrgsglv4fc79g5djmki20ih4hg8kbhcnnbzr1"))))
+ "0gsp39xnra331lk0db5pfqpdmqfhf7ii3a7yywj33sknf0dbsx4p"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 9e53b7483e..bc1f25627b 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1937,22 +1937,23 @@ lightweight animated-GIF viewer, and @command{gifdiff} compares two GIFs for
identical visual appearance.")
(license license:gpl2+)))
-;; 1.0.7 is buggy and reverted in git repository.
(define-public jp2a
(package
(name "jp2a")
- (version "1.0.6")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://debian/pool/main/j/jp2a/jp2a_"
- version ".orig.tar.gz"))
+ (uri (string-append "https://github.com/Talinx/jp2a/releases/download/v"
+ version "/jp2a-" version ".tar.gz"))
(sha256
(base32
- "076frk3pa16s4r1b10zgy81vdlz0385zh3ykbnkaij25jn5aqc09"))))
+ "10kwhh1a0ivrzagl2vcxrbqmlr2q8x29ymqwzchpiriy6xqxck8l"))))
(build-system gnu-build-system)
(inputs
- (list curl libjpeg-turbo ncurses))
+ (list curl libpng libjpeg-turbo ncurses))
+ (native-inputs
+ (list doxygen))
(home-page "https://csl.name/jp2a/")
(synopsis "Convert JPEG images to ASCII")
(description
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index a9a988ca5a..3bdcabdc17 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -99,6 +99,8 @@
"jami-fix-unit-tests-build.patch"
"jami-fix-qml-imports.patch"
"jami-no-webengine.patch"
+ "jami-sipaccount-segfault.patch"
+ "jami-sip-contacts.patch"
"jami-sip-unregister.patch"
"jami-xcb-link.patch"))))
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index ac6584825b..d2fae6a465 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -62,7 +62,7 @@ types/functions defined in AbstractFFTs.")
(define-public julia-abstracttrees
(package
(name "julia-abstracttrees")
- (version "0.3.4")
+ (version "0.4.3")
(source
(origin
(method git-fetch)
@@ -71,7 +71,7 @@ types/functions defined in AbstractFFTs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "16is5n2qa69cci34vfazxsa7ik6q0hbnnqrbrhkq8frh142f1xs8"))))
+ (base32 "04g3b6j4nvxs36rcjm743gwhy0vv0d6pvgx771agjljx109bciyr"))))
(build-system julia-build-system)
(home-page "https://juliacollections.github.io/AbstractTrees.jl/stable/")
(synopsis "Abstract Julia interfaces for working with trees")
@@ -127,7 +127,7 @@ ANSI escape codes to another format.")
(define-public julia-aqua
(package
(name "julia-aqua")
- (version "0.5.1")
+ (version "0.5.5")
(source
(origin
(method git-fetch)
@@ -136,7 +136,7 @@ ANSI escape codes to another format.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1g0kyzcdykgs247j72jpc2qqall696jwgb3hnn4cxmbi8bkf7wpk"))))
+ (base32 "12hng8czkgynsn1pshavma2wijypl6k05hhgivc3rqiyclfpi89z"))))
(build-system julia-build-system)
(arguments
(list #:parallel-tests? #f))
@@ -324,7 +324,7 @@ the entries on the bands.")
(define-public julia-benchmarktools
(package
(name "julia-benchmarktools")
- (version "1.1.1")
+ (version "1.3.2")
(source
(origin
(method git-fetch)
@@ -333,7 +333,7 @@ the entries on the bands.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1xz3kdrphp4b158pg7dwkiry49phs2fjjpdvk1hjpww5ykxacks8"))))
+ (base32 "02n2pi71jvhsnc25a888i6imimd2c1phg6iyr73b12595lrz175d"))))
(build-system julia-build-system)
(arguments
(list
@@ -365,32 +365,29 @@ benchmarks as well as comparing benchmark results.")
(license license:expat)))
(define-public julia-bfloat16s
- ;; Not tagged upstream
- (let ((commit "ef6051e4308ed0c02f10168b99d226237e0ae33c")
- (version "0.2.0"))
- (package
- (name "julia-bfloat16s")
- (version version)
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/JuliaMath/BFloat16s.jl")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "16sr578k4i47lhziri47nvspdrsni2wc1qjhs6hzffh9si6a7jfq"))))
- (build-system julia-build-system)
- (home-page "https://github.com/JuliaMath/BFloat16s.jl")
- (synopsis "Define BFloat16 data type")
- (description "This package defines the @code{BFloat16} data type. The
+ (package
+ (name "julia-bfloat16s")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaMath/BFloat16s.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "12d5dv5jy8vphczlbnks0qa6wmlz0czxq7gc48bcb94f9qvq0r1n"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/JuliaMath/BFloat16s.jl")
+ (synopsis "Define BFloat16 data type")
+ (description "This package defines the @code{BFloat16} data type. The
only currently available hardware implementation of this datatype are Google's
Cloud TPUs. As such, this package is suitable to evaluate whether using TPUs
would cause precision problems for any particular algorithm, even without
access to TPU hardware. Note that this package is designed for functionality,
not performance, so this package should be used for precision experiments
only, not performance experiments.")
- (license license:expat))))
+ (license license:expat)))
(define-public julia-bioalignments
(package
@@ -763,6 +760,15 @@ execute forward-, reverse-, and mixed-mode primitives.")
(sha256
(base32 "1866xv30h1bi7f2m993nljzf58wwmv8zlgn6ffn9j3wckch1nfpb"))))
(build-system julia-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'adjust-tests
+ (lambda _
+ (substitute* "test/differentials/composite.jl"
+ (("@test (.*construct)" _ test)
+ (string-append "@test_broken " test))))))))
(inputs ;required for tests
(list julia-benchmarktools
julia-staticarrays))
@@ -882,7 +888,7 @@ color scales for graphics.")
(define-public julia-colortypes
(package
(name "julia-colortypes")
- (version "0.11.0")
+ (version "0.11.1")
(source
(origin
(method git-fetch)
@@ -891,8 +897,17 @@ color scales for graphics.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0n7h70caqv7yd0khjhn90iax62r73mcif8qzkwj5b4q46li1r8ih"))))
+ (base32 "0cp5wbi2bhnxp4h7wpzkx341d47744f4c9a8n0w0kn016qa16m86"))))
(build-system julia-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'skip-failing-test
+ (lambda _
+ (substitute* "test/conversions.jl"
+ (("@test promote\\(RGB\\{N0f8")
+ "@test_broken promote(RGB{N0f8")))))))
(propagated-inputs
(list julia-fixedpointnumbers))
(native-inputs
@@ -989,6 +1004,14 @@ common subexpression elimination.")
(sha256
(base32 "0qzvaqi5gqgc747fnajbvvf5vqbh6cwykwky00c7glvmvdsgk3z0"))))
(build-system julia-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-shell-invocation
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "test/runtests.jl"
+ (("shcmd = `sh`") (string-append "shcmd = `" (which "sh") "`"))))))))
(home-page "https://github.com/JuliaLang/Compat.jl")
(synopsis "Compatibility across Julia versions")
(description "The Compat package is designed to ease interoperability
@@ -1246,7 +1269,7 @@ Julia from R or Python.")
(define-public julia-datastructures
(package
(name "julia-datastructures")
- (version "0.18.9")
+ (version "0.18.13")
(source
(origin
(method git-fetch)
@@ -1255,7 +1278,7 @@ Julia from R or Python.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l"))))
+ (base32 "1ikrgc4d39980nrr77yzcnr1v74wrjh9xvyi2ajfzbcim58vrcqg"))))
(propagated-inputs
(list julia-compat
julia-orderedcollections))
@@ -1384,7 +1407,7 @@ dictionaries in Julia, for improved productivity and performance.")
(define-public julia-distances
(package
(name "julia-distances")
- (version "0.10.3")
+ (version "0.10.7")
(source
(origin
(method git-fetch)
@@ -1393,7 +1416,7 @@ dictionaries in Julia, for improved productivity and performance.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1yqd9wg4z15k42mrp4y14j2x0sq7yrjhm5zpqklrw6w6j1c367ig"))))
+ (base32 "0sgrh3bzhmqqz0m28lmk66xhnl62i5r2miaiqml8nhbkaapbwc06"))))
(build-system julia-build-system)
(arguments
(list
@@ -1407,7 +1430,14 @@ dictionaries in Julia, for improved productivity and performance.")
(("test dyz ≥") "test_nowarn dyz ≥")
(("test dist\\(y, x") "test_nowarn dist(y, x")
(("test dist\\(z, x") "test_nowarn dist(z, x")
- (("test dist\\(z, y") "test_nowarn dist(z, y")))))))
+ (("test dist\\(z, y") "test_nowarn dist(z, y"))
+ #$@(if (not (target-64bit?))
+ ;; A little too much precision
+ ;; Evaluated: 1.8839055991209719 === 1.8839055991209717
+ `((substitute* "test/test_dists.jl"
+ (("@test whamming\\(a, b, w\\) === sum")
+ "@test_skip whamming(a, b, w) === sum")))
+ '()))))))
(propagated-inputs
(list julia-statsapi))
(native-inputs
@@ -1767,7 +1797,7 @@ metaprogramming on Julia Expr, the meta programming standard library for
(define-public julia-exprtools
(package
(name "julia-exprtools")
- (version "0.1.6")
+ (version "0.1.8")
(source
(origin
(method git-fetch)
@@ -1776,7 +1806,7 @@ metaprogramming on Julia Expr, the meta programming standard library for
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "058ax5d96jpym5w3g37ah1c4xq3fskwpjdhchakzax15vqzy7ab4"))))
+ (base32 "0sxrhc5dz1v53zs8sym4csfy28ki00b7x7aihm2zmkrx48if63gb"))))
(build-system julia-build-system)
(home-page "https://github.com/invenia/ExprTools.jl")
(synopsis "Light-weight expression manipulation tools")
@@ -1984,40 +2014,35 @@ using finite difference.")
(license license:expat)))
(define-public julia-fixedpointnumbers
- (package
- (name "julia-fixedpointnumbers")
- (version "0.8.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/JuliaMath/FixedPointNumbers.jl")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi"))))
- (build-system julia-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'link-depot 'disable-failing-test
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "test/fixed.jl"
- ;; A deprecation warning is not thrown
- (("@test_logs.*:warn" all) (string-append "# " all))))))))
- (propagated-inputs
- (list julia-compat))
- (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl")
- (synopsis "Fixed point types for Julia")
- (description "@code{FixedPointNumbers.jl} implements fixed-point number
+ (let ((commit "59ee94b93f2f1ee75544ef44187fc0e440cd8015")
+ (revision "1"))
+ (package
+ (name "julia-fixedpointnumbers")
+ (version (git-version "0.8.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaMath/FixedPointNumbers.jl")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ghriy7p2fj7mwdx11ssjg28jmwz8pi13c3j8p1grvwb4nvc0jnq"))))
+ (build-system julia-build-system)
+ (arguments
+ (list #:tests? #f)) ; Cycle with julia-documenter
+ (propagated-inputs
+ (list julia-compat))
+ (home-page "https://github.com/JuliaMath/FixedPointNumbers.jl")
+ (synopsis "Fixed point types for Julia")
+ (description "@code{FixedPointNumbers.jl} implements fixed-point number
types for Julia. A fixed-point number represents a fractional, or
non-integral, number. In contrast with the more widely known floating-point
numbers, with fixed-point numbers the decimal point doesn't \"float\":
fixed-point numbers are effectively integers that are interpreted as being
scaled by a constant factor. Consequently, they have a fixed number of
digits (bits) after the decimal (radix) point.")
- (license license:expat)))
+ (license license:expat))))
(define-public julia-formatting
(package
@@ -2195,7 +2220,7 @@ algebra routines written in Julia (except for optimized BLAS).")
(define-public julia-genericschur
(package
(name "julia-genericschur")
- (version "0.5.1")
+ (version "0.5.3")
(source
(origin
(method git-fetch)
@@ -2204,7 +2229,7 @@ algebra routines written in Julia (except for optimized BLAS).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "12x6lxzxm91y3k6s9dam46dq5hrby5sr0gy0fdfnp0xhjzdy2j0d"))))
+ (base32 "02f2azi6036ca8nlgyvvfagwbks8jxfz4k0d8a709ixr1n0ylwap"))))
(build-system julia-build-system)
(arguments
(list
@@ -2213,7 +2238,7 @@ algebra routines written in Julia (except for optimized BLAS).")
(add-after 'link-depot 'adjust-test-suite
(lambda _
(substitute* "test/complex.jl"
- ;; expected Array{Int32,1}, got a value of type Array{Int64,1}
+ ;; expected Vector{Int32,1}, got a value of type Vector{Int64,1}
(("A = _example") "#A = _example")
(("schurtest\\(A,20\\)") ""))
(substitute* "test/runtests.jl"
@@ -2233,7 +2258,7 @@ matrices the Schur form is often more useful.")
(define-public julia-geometrybasics
(package
(name "julia-geometrybasics")
- (version "0.4.1")
+ (version "0.4.2")
(source
(origin
(method git-fetch)
@@ -2242,7 +2267,7 @@ matrices the Schur form is often more useful.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "057j3hjpli3q5b98cqkpi4p10x2k9pyksrz62hjmv1kb5qzdvhsj"))))
+ (base32 "0kxn7gzv4sm3017qbng70iqb4wzy1k2fj5w6lkz1kn7lx7z7m33x"))))
(build-system julia-build-system)
(arguments
(list
@@ -2377,7 +2402,7 @@ library for parsing HTML.")
(define-public julia-http
(package
(name "julia-http")
- (version "0.9.12")
+ (version "0.9.17")
(source
(origin
(method git-fetch)
@@ -2386,7 +2411,7 @@ library for parsing HTML.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1jsyk3mhnwj4h19cxclx26igdqdrw51fd3k1hgav0nm67dy4cxyk"))))
+ (base32 "1ynzcl30sf5r42l75l5x1a8z0643hlck2kysyhag9795gzafxzv3"))))
(build-system julia-build-system)
(arguments
(list
@@ -2417,6 +2442,9 @@ library for parsing HTML.")
(("@testset.*Body - .*" all)
(string-append all "return\n"))
(("@testset.*Write to file.*" all)
+ (string-append all "return\n")))
+ (substitute* "test/cookies.jl"
+ (("@testset.*Set-Cookie casing.*" all)
(string-append all "return\n"))))))))
(propagated-inputs
(list julia-inifile
@@ -3082,7 +3110,7 @@ as a string together with the return value.")
(define-public julia-irtools
(package
(name "julia-irtools")
- (version "0.4.3")
+ (version "0.4.7")
(source
(origin
(method git-fetch)
@@ -3091,7 +3119,7 @@ as a string together with the return value.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "11334fcg2slpwcj0raxf457brhf7pxglgxc6cy8q58ggrpxqfqql"))))
+ (base32 "1faddim4gp9pgyadgxi7zdqpdn6qkh7acqpdy29ixpbnb0wgla5r"))))
(build-system julia-build-system)
(propagated-inputs
(list julia-macrotools))
@@ -3148,7 +3176,7 @@ extensions to the iterator interface.")
(define-public julia-jive
(package
(name "julia-jive")
- (version "0.2.20")
+ (version "0.2.27")
(source
(origin
(method git-fetch)
@@ -3157,7 +3185,7 @@ extensions to the iterator interface.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0khwsdh8472jxcfi9lqw14l49sqlbsixql1jb4irnyajxkdjrcsf"))))
+ (base32 "010dxs9p5ab97h80kw12bx5mkraf0584wi0ggk8wnhg10jf3lpam"))))
(build-system julia-build-system)
(home-page "https://github.com/wookay/Jive.jl")
(synopsis "Julia package to help with writing tests")
@@ -3918,7 +3946,11 @@ optimization of functions.")
(arguments
(list
#:julia-package-name "OptimTestProblems"
- #:julia-package-uuid "cec144fc-5a64-5bc6-99fb-dde8f63e154c"))
+ #:julia-package-uuid "cec144fc-5a64-5bc6-99fb-dde8f63e154c"
+ #:julia-package-dependencies
+ #~(list '("LinearAlgebra" . "37e2e46d-f89d-539d-b4ee-838fcccc9c8e")
+ '("SparseArrays" . "2f01184e-e22b-5df5-ae63-d93ebab69eaf")
+ '("Test" . "8dfed614-e22c-5e08-85e1-65c5234f0b40"))))
(home-page "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
(synopsis "Collection of optimization test problems")
(description "The purpose of this package is to provide test problems for
@@ -4898,7 +4930,7 @@ in @code{Gadfly}, @code{Plots} and @code{Makie} to label axes and keys.")
(define-public julia-simd
(package
(name "julia-simd")
- (version "3.4.0")
+ (version "3.4.2")
(source
(origin
(method git-fetch)
@@ -4907,7 +4939,7 @@ in @code{Gadfly}, @code{Plots} and @code{Makie} to label axes and keys.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0z7m5fykc6r4bxz4hfm6d3v1h7gg0c322l4zv8r3vrb8hrd6h263"))))
+ (base32 "02pbrg2qa20pqnckbnbg5jyic2ahydql09f3xhzd1xnxicp77lw5"))))
(build-system julia-build-system)
(home-page "https://github.com/eschnett/SIMD.jl")
(synopsis "Explicit SIMD vectorization")
@@ -5114,7 +5146,7 @@ There are multiple ways to understand @code{StackView}:
(define-public julia-static
(package
(name "julia-static")
- (version "0.3.0")
+ (version "0.8.3")
(source
(origin
(method git-fetch)
@@ -5123,7 +5155,7 @@ There are multiple ways to understand @code{StackView}:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "19k7h47zhz3zz28i0l4b3cc0r07pzp8kf35z0yammpy361b644l2"))))
+ (base32 "1ilmging187w37vjff8ilnz1f0qygyhbwl6nhq91z3b5vxyf13zr"))))
(build-system julia-build-system)
(propagated-inputs
(list julia-ifelse))
@@ -5186,7 +5218,7 @@ dependency on it.")
(define-public julia-statsbase
(package
(name "julia-statsbase")
- (version "0.33.8")
+ (version "0.33.10")
(source
(origin
(method git-fetch)
@@ -5195,7 +5227,7 @@ dependency on it.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "02y4pm5yvg713a2pn970bbcfkrn2h133rxbxk1da18svhqw3czhi"))))
+ (base32 "0pjsn531zdz3s34pa418pvyqvrx8nbcc8j0fgwfnadssihqah6g7"))))
(build-system julia-build-system)
(propagated-inputs
(list julia-dataapi
@@ -5679,7 +5711,7 @@ working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC
(define-public julia-unitful
(package
(name "julia-unitful")
- (version "1.9.0")
+ (version "1.12.2")
(source
(origin
(method git-fetch)
@@ -5688,7 +5720,7 @@ working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10qwscd15dnmvx116dwvg99m7kmwgmj5ahdkq7psiq48lcc554gq"))))
+ (base32 "1b8w6wqc7azqzg2f8zc3bmc72fb01sx0rqh6dv3k54wj01ph15p7"))))
(build-system julia-build-system)
(arguments
(list #:parallel-tests? #f))
@@ -5752,7 +5784,7 @@ allows for efficient string representation and transfer")
(define-public julia-woodburymatrices
(package
(name "julia-woodburymatrices")
- (version "0.5.3")
+ (version "0.5.5")
(source
(origin
(method git-fetch)
@@ -5761,19 +5793,8 @@ allows for efficient string representation and transfer")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04yykivi8zrbryxlmb0p5xa6lma8iq22r5s863117dnnqj5gaffd"))))
+ (base32 "1vwy8nlhvjh0ndia4ni40iq4pf2nhwy5iy3rmf4i2jff13vc6aqn"))))
(build-system julia-build-system)
- (arguments
- (list
- #:phases
- (if (target-x86-32?)
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-failing-test-i686
- (lambda _
- (substitute* "test/woodbury.jl"
- (("@test logdet\\(W\\)")
- "@test_broken logdet(W)")))))
- #~%standard-phases)))
(home-page "https://github.com/timholy/WoodburyMatrices.jl")
(synopsis "Support for the Woodbury matrix identity for Julia")
(description "This package provides support for the Woodbury matrix identity
diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm
index 9f3ef031c3..d35901eadb 100644
--- a/gnu/packages/julia.scm
+++ b/gnu/packages/julia.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2021, 2022 Jean-Baptiste Volatier <jbv@pm.me>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -61,7 +62,7 @@
(package
(inherit libunwind)
(name "libunwind-julia")
- (version "1.3.1")
+ (version "1.5.0")
(source
(origin
(method url-fetch)
@@ -69,31 +70,27 @@
version ".tar.gz"))
(sha256
(base32
- "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3"))
+ "05qhzcg1xag3l5m3c805np6k342gc0f3g087b7g16jidv59pccwh"))
(patches
- (append
- ;; Fix linker issue for i686-linux because GCC10 changed default
- ;; (see '-fno-common' option).
- (search-patches "libunwind-julia-fix-GCC10-fno-common.patch")
- (list
- (julia-patch "libunwind-prefer-extbl"
- "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1")
- (julia-patch "libunwind-static-arm"
- "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
- (julia-patch "libunwind-cfa-rsp"
- "1aswjhvysahhldbzh1afbf0hsjxrvs6xidsz2i7s1cjkjbdiia1z"))))))
+ (list
+ (julia-patch "libunwind-prefer-extbl"
+ "0pf3lsq6zxlmqn86lk4fcj1xwdan9gbxyabrwgxcb59p8jjwsl8r")
+ (julia-patch "libunwind-static-arm"
+ "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq")
+ (julia-patch "libunwind-cfa-rsp"
+ "0qs5b1h5lsr5qakkv6sddgy5ghlxpjrn2jiqcvg7bkczy24klr6j")))))
(arguments
(substitute-keyword-arguments (package-arguments libunwind)
;; Skip tests on this older and patched version of libunwind.
((#:tests? _ #t) #f)))
- (home-page "https://github.com/JuliaLang/tree/master/deps/")))
+ (home-page "https://github.com/JuliaLang/julia/tree/master/deps/")))
(define (julia-patch-url version name)
(string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version
"/deps/patches/" name ".patch"))
(define-public (julia-patch name sha)
- (let ((version "1.6.1"))
+ (let ((version "1.8.2"))
(origin (method url-fetch)
(uri (julia-patch-url version name))
(sha256 (base32 sha))
@@ -143,7 +140,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(define-public julia
(package
(name "julia")
- (version "1.6.7")
+ (version "1.8.3")
(source (origin
(method url-fetch)
(uri (string-append
@@ -151,10 +148,8 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
version "/julia-" version ".tar.gz"))
(sha256
(base32
- "0q9xgdpvdkskpzl294w215f6c15c5jk276c9dah5f5w4np3ivbvl"))
- (patches
- (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch"
- "julia-allow-parallel-build.patch"))))
+ "0jf8dr5j7y8cjnr65kn38xps5h9m2qvi8g1yd8qgiip5r87ld3ad"))
+ (patches (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -164,7 +159,8 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
;; The test suite takes many times longer than building and
;; can easily fail on smaller machines when they run out of memory.
- #:tests? ,(not (target-aarch64?))
+ #:tests? ,(not (or (%current-target-system)
+ (target-aarch64?)))
;; Do not strip binaries to keep support for full backtraces.
;; See https://github.com/JuliaLang/julia/issues/17831
@@ -187,7 +183,8 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
'("curl" "dsfmt"
"gmp" "lapack"
"libssh2" "libnghttp2" "libgit2"
- "mbedtls" "mpfr"
+ "libblastrampoline"
+ "mbedtls-apache" "mpfr"
"openblas" "openlibm" "pcre2"
"suitesparse" "gfortran:lib"))
":"))))
@@ -201,66 +198,31 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(string-append line "\n"))
(("src ui doc deps")
"src ui deps"))))
- (add-after 'unpack 'use-system-libwhich
- (lambda* (#:key inputs #:allow-other-keys)
- ;; don't build it
- (substitute* "deps/Makefile"
- (("DEP_LIBS \\+= libwhich") ""))
- ;; call our version
- (substitute* "base/Makefile"
- (("\\$\\$\\(build_depsbindir\\)/libwhich")
- (search-input-file inputs "/bin/libwhich")))))
(add-after 'unpack 'activate-gnu-source-for-loader
(lambda _
(substitute* "cli/Makefile"
(("LOADER_CFLAGS =") "LOADER_CFLAGS = -D_GNU_SOURCE"))))
- (add-after 'unpack 'change-number-of-precompile-statements
- (lambda _
- ;; Remove nss-certs drops the number of statements below 1200,
- ;; causing the build to fail prematurely.
- (substitute* "contrib/generate_precompile.jl"
- (("1200") "1100"))))
- ;; For some reason libquadmath is unavailable on this architecture.
+ ;; libquadmath is not available on all architectures.
;; https://github.com/JuliaLang/julia/issues/41613
- ,@(if (target-aarch64?)
- '((add-after 'unpack 'drop-libquadmath-on-aarch64
- (lambda _
- (substitute* '("contrib/fixup-libgfortran.sh"
- "deps/csl.mk"
- "base/Makefile")
- ((".*libquadmath.*") ""))
- (substitute* "Makefile"
- (("libquadmath ") "")))))
- '())
+ (add-after 'unpack 'make-libquadmath-optional
+ (lambda _
+ (substitute* "base/Makefile"
+ (("libquadmath,0") "libquadmath,0,ALLOW_FAILURE"))))
(add-before 'check 'set-home
;; Some tests require a home directory to be set.
(lambda _ (setenv "HOME" "/tmp")))
(add-before 'build 'fix-include-and-link-paths
(lambda* (#:key inputs #:allow-other-keys)
- ;; LIBUTF8PROC is a linker flag, not a build target. It is
- ;; included in the LIBFILES_* variable which is used as a
- ;; collection of build targets and a list of libraries to link
- ;; against.
- (substitute* "src/flisp/Makefile"
- (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)")
- "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)")
- (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)")
- "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)"))
-
;; The REPL must be linked with libuv.
(substitute* "cli/Makefile"
(("JLDFLAGS \\+= ")
(string-append "JLDFLAGS += "
- (assoc-ref %build-inputs "libuv")
- "/lib/libuv.so ")))
-
- (substitute* "base/Makefile"
- (("\\$\\(build_includedir\\)/uv/errno.h")
- (search-input-file inputs "/include/uv/errno.h")))))
+ (assoc-ref inputs "libuv")
+ "/lib/libuv.so ")))))
(add-before 'build 'replace-default-shell
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "base/client.jl"
- (("/bin/sh") (which "sh")))))
+ (("/bin/sh") (search-input-file inputs "/bin/sh")))))
(add-before 'build 'shared-objects-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((jlpath
@@ -273,8 +235,12 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(to
(lambda* (pkg libname #:optional libname_jl)
(string-append
- "const " (or libname_jl libname) "= \""
+ "const " (or libname_jl libname) " = \""
(assoc-ref inputs pkg) "/lib/" libname ".so"))))
+ (substitute* (jlpath "CompilerSupportLibraries")
+ (((from "libgfortran"))
+ (string-append "const libgfortran = string(\""
+ (search-input-file inputs "/lib/libgfortran.so"))))
(substitute* (jlpath "dSFMT")
(((from "libdSFMT")) (to "dsfmt" "libdSFMT")))
(substitute* (jlpath "GMP")
@@ -295,11 +261,9 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(substitute* (jlpath "MPFR")
(((from "libmpfr")) (to "mpfr" "libmpfr")))
(substitute* (jlpath "MbedTLS")
- ;; For the newer version of mbedtls-apache:
- (("libmbedcrypto.so.5") "libmbedcrypto.so.6")
- (((from "libmbedcrypto")) (to "mbedtls" "libmbedcrypto"))
- (((from "libmbedtls")) (to "mbedtls" "libmbedtls"))
- (((from "libmbedx509")) (to "mbedtls" "libmbedx509")))
+ (((from "libmbedcrypto")) (to "mbedtls-apache" "libmbedcrypto"))
+ (((from "libmbedtls")) (to "mbedtls-apache" "libmbedtls"))
+ (((from "libmbedx509")) (to "mbedtls-apache" "libmbedx509")))
(substitute* (jlpath "nghttp2")
(((from "libnghttp2")) (to "libnghttp2" "libnghttp2")))
(substitute* (jlpath "OpenBLAS")
@@ -307,7 +271,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(substitute* (jlpath "OpenLibm")
(((from "libopenlibm")) (to "openlibm" "libopenlibm")))
(substitute* (jlpath "PCRE2")
- (((from "libpcre2")) (to "pcre2" "libpcre2" "libpcre2_8")))
+ (((from "libpcre2_8")) (to "pcre2" "libpcre2-8" "libpcre2_8")))
(substitute* (jlpath "SuiteSparse")
(((from "libamd")) (to "suitesparse" "libamd"))
(((from "libbtf")) (to "suitesparse" "libbtf"))
@@ -324,40 +288,36 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(to "suitesparse" "libsuitesparseconfig"))
(((from "libumfpack")) (to "suitesparse" "libumfpack")))
(substitute* (jlpath "Zlib")
- (((from "libz")) (to "zlib" "libz"))))))
+ (((from "libz")) (to "zlib" "libz")))
+ (substitute* (jlpath "libblastrampoline")
+ (("libblastrampoline\\.so")
+ (search-input-file inputs "/lib/libblastrampoline.so"))))))
(add-after 'unpack 'enable-parallel-tests
(lambda* (#:key parallel-tests? #:allow-other-keys)
- (setenv "JULIA_CPU_THREADS" (if parallel-tests?
- (number->string (parallel-job-count))
- "1"))
- (format #t "JULIA_CPU_THREADS environment variable set to ~a~%"
- (getenv "JULIA_CPU_THREADS"))))
+ (when parallel-tests?
+ (setenv "JULIA_TEST_USE_MULTIPLE_WORKERS" "true"))))
(add-after 'unpack 'adjust-test-suite
(lambda* (#:key inputs #:allow-other-keys)
- (let ((pcre2 (assoc-ref inputs "pcre2"))
- (mbedtls-apache (assoc-ref inputs "mbedtls"))
- (mpfr (assoc-ref inputs "mpfr"))
- (gmp (assoc-ref inputs "gmp"))
- (nghttp2 (assoc-ref inputs "libnghttp2"))
- (zlib (assoc-ref inputs "zlib"))
- (suitesparse (assoc-ref inputs "suitesparse")))
- ;; Some tests only check to see if the input is the correct version.
- (substitute* "stdlib/PCRE2_jll/test/runtests.jl"
- (("10.40.0") ,(package-version pcre2)))
- (substitute* "stdlib/MbedTLS_jll/test/runtests.jl"
- (("2.24.0") ,(package-version mbedtls-apache)))
- (substitute* "stdlib/MPFR_jll/test/runtests.jl"
- (("4.1.0") ,(package-version mpfr)))
- (substitute* "stdlib/GMP_jll/test/runtests.jl"
- (("6.2.0") ,(package-version gmp)))
- (substitute* "stdlib/nghttp2_jll/test/runtests.jl"
- (("1.41.0") ,(package-version nghttp2)))
- (substitute* "stdlib/Zlib_jll/test/runtests.jl"
- (("1.2.12") ,(package-version zlib)))
- (substitute* "stdlib/SuiteSparse_jll/test/runtests.jl"
- (("5004") ,(string-replace-substring
- (version-major+minor
- (package-version suitesparse)) "." "0"))))))
+ (substitute* "test/spawn.jl"
+ (("shcmd = `sh`") (string-append "shcmd = `" (which "sh") "`")))
+ ;; Some tests only check to see if the input is the correct version.
+ (substitute* "stdlib/PCRE2_jll/test/runtests.jl"
+ (("10.40.0") ,(package-version (this-package-input "pcre2"))))
+ (substitute* "stdlib/MbedTLS_jll/test/runtests.jl"
+ (("2.28.0") ,(package-version (this-package-input "mbedtls-apache"))))
+ (substitute* "stdlib/MPFR_jll/test/runtests.jl"
+ (("4.1.0") ,(package-version (this-package-input "mpfr"))))
+ (substitute* "stdlib/GMP_jll/test/runtests.jl"
+ (("6.2.1") ,(package-version (this-package-input "gmp"))))
+ (substitute* "stdlib/nghttp2_jll/test/runtests.jl"
+ (("1.48.0") ,(package-version (this-package-input "libnghttp2"))))
+ (substitute* "stdlib/Zlib_jll/test/runtests.jl"
+ (("1.2.12") ,(package-version (this-package-input "zlib"))))
+ (substitute* "stdlib/SuiteSparse_jll/test/runtests.jl"
+ (("5010") ,(string-replace-substring
+ (version-major+minor
+ (package-version
+ (this-package-input "suitesparse"))) "." "0")))))
(add-before 'check 'disable-broken-tests
(lambda _
;; disabling REPL tests because they require a stdin
@@ -365,6 +325,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
;; https://github.com/JuliaLang/julia/pull/41614
;; https://github.com/JuliaLang/julia/issues/41156
(substitute* "test/choosetests.jl"
+ (("\"cmdlineargs\",") "")
(("\"precompile\",") ""))
;; Dates/io tests fail on master when networking is unavailable
;; https://github.com/JuliaLang/julia/issues/34655
@@ -376,7 +337,7 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
(("@test isfile\\(MozillaCACerts_jll.cacert\\)")
"@test_broken isfile(MozillaCACerts_jll.cacert)"))
;; since certificate is not present some tests are failing in network option
- (substitute* "usr/share/julia/stdlib/v1.6/NetworkOptions/test/runtests.jl"
+ (substitute* "usr/share/julia/stdlib/v1.8/NetworkOptions/test/runtests.jl"
(("@test isfile\\(bundled_ca_roots\\(\\)\\)")
"@test_broken isfile(bundled_ca_roots())")
(("@test ispath\\(ca_roots_path\\(\\)\\)")
@@ -395,29 +356,35 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
;; @test_broken cannot be used because if the test randomly
;; passes, then it also raises an error.
(("@test isinf\\(log1p\\(-one\\(T\\)\\)\\)")
- " "))))
- (add-before 'install 'symlink-libraries
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((link
- (lambda (pkgname dir pred)
- (map (lambda (file)
- (unless (file-exists?
- (string-append dir (basename file)))
- (symlink file (string-append dir (basename file)))))
- (find-files (string-append (assoc-ref inputs pkgname)
- "/lib") pred)))))
- (link "curl" "usr/lib/" "\\.so") ; missing libpthreads libLLVM-11jl
- (link "suitesparse" "usr/lib/julia/" "libbtf\\.so")
- (link "suitesparse" "usr/lib/julia/" "libklu\\.so")
- (link "suitesparse" "usr/lib/julia/" "libldl\\.so")
- (link "suitesparse" "usr/lib/julia/" "librbio\\.so")
- (link "gmp" "usr/lib/julia/" "libgmpxx\\.so")
- (link "libuv" "usr/lib/julia/" "libuv\\.so")
- (link "zlib" "usr/lib/julia/" "libz\\.so")
- (link "libunwind" "usr/lib/julia/" "libunwind\\.so")
- (symlink (string-append (assoc-ref inputs "p7zip") "/bin/7z")
- "usr/libexec/7z"))))
- (add-after 'install 'symlink-llvm-utf8proc
+ " "))
+
+ ;; These are new test failures for 1.8:
+ ;; This test passes on some architectures and fails on others.
+ (substitute* "stdlib/LinearAlgebra/test/lu.jl"
+ (("@test String") "@test_skip String"))
+
+ (substitute* "stdlib/InteractiveUtils/test/runtests.jl"
+ (("@test !occursin\\(\"Environment")
+ "@test_broken !occursin(\"Environment")
+ (("@test occursin\\(\"Environment")
+ "@test_broken occursin(\"Environment"))
+ (substitute* "usr/share/julia/stdlib/v1.8/Statistics/test/runtests.jl"
+ (("@test cov\\(A") "@test_skip cov(A")
+ (("@test isfinite") "@test_skip isfinite"))
+ ;; LoadError: SuiteSparse threads test failed with nthreads == 4
+ (substitute* "usr/share/julia/stdlib/v1.8/SuiteSparse/test/runtests.jl"
+ (("Base\\.USE_GPL_LIBS") "false"))
+ ;; Got exception outside of a @test
+ ;; LinearAlgebra.LAPACKException(16)
+ ;; eliminate all the test bits.
+ (substitute* "stdlib/LinearAlgebra/test/schur.jl"
+ (("f = schur\\(A, B\\)") "f = schur(A, A)")
+ (("@test f\\.Q\\*f\\.S\\*f\\.Z'.*") "\n")
+ (("@test f\\.Q\\*f\\.T\\*f\\.Z'.*") "\n"))
+ (substitute* "test/threads.jl"
+ (("@test success") "@test_broken success"))))
+ ;; Doesn't this just mean they weren't linked correctly?
+ (add-after 'install 'symlink-missing-libraries
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(link
@@ -430,8 +397,10 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
(basename file)))))
(find-files (string-append (assoc-ref inputs pkgname)
"/lib") pred)))))
- (link "llvm" "libLLVM-11jl\\.so")
- (link "utf8proc" "libutf8proc\\.so"))))
+ (link "libunwind" "libunwind\\.so")
+ (link "llvm" "libLLVM-13jl\\.so")
+ (link "utf8proc" "libutf8proc\\.so")
+ (link "zlib" "libz\\.so"))))
(add-after 'install 'make-wrapper
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -467,18 +436,19 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
"CONFIG_SHELL=bash -x" ; needed to build bundled libraries
"USE_BINARYBUILDER=0"
;; list (and order!) of "USE_SYSTEM_*" is here:
- ;; https://github.com/JuliaLang/julia/blob/v1.6.0/Make.inc
+ ;; https://github.com/JuliaLang/julia/blob/v1.8.2/Make.inc
"USE_SYSTEM_CSL=1"
"USE_SYSTEM_LLVM=1"
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_PCRE=1"
"USE_SYSTEM_OPENLIBM=1"
"USE_SYSTEM_DSFMT=1"
+ "USE_SYSTEM_LIBBLASTRAMPOLINE=1"
"USE_SYSTEM_BLAS=1"
"USE_SYSTEM_LAPACK=1"
"USE_SYSTEM_GMP=1"
"USE_SYSTEM_MPFR=1"
- "USE_SYSTEM_SUITESPARSE=1"
+ "USE_SYSTEM_LIBSUITESPARSE=1"
"USE_SYSTEM_LIBUV=1"
"USE_SYSTEM_UTF8PROC=1"
"USE_SYSTEM_MBEDTLS=1"
@@ -487,27 +457,29 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
"USE_SYSTEM_CURL=1"
"USE_SYSTEM_LIBGIT2=1"
"USE_SYSTEM_PATCHELF=1"
+ "USE_SYSTEM_LIBWHICH=1"
"USE_SYSTEM_ZLIB=1"
"USE_SYSTEM_P7ZIP=1"
+ "USE_LLVM_SHLIB=1"
+
"NO_GIT=1" ; build from release tarball.
- "USE_BLAS64=0" ; needed when USE_SYSTEM_BLAS=1
+ "USE_GPL_LIBS=1" ; proudly
+
+ ,@(if (target-aarch64?)
+ `("USE_BLAS64=0")
+ '())
+
"LIBBLAS=-lopenblas"
"LIBBLASNAME=libopenblas"
- (string-append "SUITESPARSE_INC=-I "
- (assoc-ref %build-inputs "suitesparse")
- "/include")
- "USE_GPL_LIBS=1" ; proudly
(string-append "UTF8PROC_INC="
(assoc-ref %build-inputs "utf8proc")
"/include")
- "LLVM_VER=11.0.0"
-
- "USE_LLVM_SHLIB=1"
+ ;; Make.inc expects a static library for libuv.
(string-append "LIBUV="
(assoc-ref %build-inputs "libuv")
- "/lib/libuv.so")
+ "/lib/libuv.a")
(string-append "LIBUV_INC="
(assoc-ref %build-inputs "libuv")
"/include"))))
@@ -519,20 +491,21 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
("gfortran:lib" ,gfortran "lib")
("gmp" ,gmp)
("lapack" ,lapack)
- ("libgit2" ,libgit2-1.1)
+ ("libblastrampoline" ,libblastrampoline)
+ ("libgit2" ,libgit2-1.3)
("libnghttp2" ,nghttp2 "lib")
("libssh2" ,libssh2)
("libunwind" ,libunwind-julia)
("libuv" ,libuv-julia)
("llvm" ,llvm-julia)
- ("mbedtls" ,mbedtls-apache)
+ ("mbedtls-apache" ,mbedtls-apache)
("mpfr" ,mpfr)
("openblas" ,openblas)
("openlibm" ,openlibm)
("p7zip" ,p7zip)
("pcre2" ,pcre2)
("suitesparse" ,suitesparse)
- ("utf8proc" ,utf8proc-2.6.1)
+ ("utf8proc" ,utf8proc-2.7.0)
("wget" ,wget)
("which" ,which)
("zlib" ,zlib)
@@ -545,7 +518,7 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
("perl" ,perl)
("patchelf" ,patchelf)
("pkg-config" ,pkg-config)
- ("python" ,python-2)))
+ ("python" ,python)))
(native-search-paths
(list (search-path-specification
(variable "JULIA_LOAD_PATH")
@@ -553,8 +526,8 @@ using Dates: @dateformat_str, Date, DateTime, DateFormat, Time"))
(search-path-specification
(variable "JULIA_DEPOT_PATH")
(files (list "share/julia/")))))
- ;; Julia is not officially released for ARM and MIPS.
- ;; See https://github.com/JuliaLang/julia/issues/10639
+ ;; Julia only officially supports some of our platforms:
+ ;; https://julialang.org/downloads/#supported_platforms
(supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux"))
(home-page "https://julialang.org/")
(synopsis "High-performance dynamic language for technical computing")
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index e5ae414b53..7009919a06 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -221,7 +221,7 @@ browser for easy news reading.")
(define-public kdenlive
(package
(name "kdenlive")
- (version "22.08.1")
+ (version "22.08.3")
(source
(origin
(method git-fetch)
@@ -230,7 +230,7 @@ browser for easy news reading.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0xnasi8s8zxh2s4vnn51pc8ni58q8pk70bwh9dfxp1wdmpv3zsrx"))))
+ (base32 "1016mwgrf4dwb945pc2kqm2j8vq86r01s19miq0h4wdgbfxa496c"))))
(build-system qt-build-system)
(arguments
;; XXX: there is a single test that spawns other tests and
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index 176e66cf42..f9722e4469 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -158,10 +158,10 @@ resolution, asynchronous file system operations, and threading primitives.")
(properties '((hidden? . #t)))))
(define-public libuv-julia
- (let ((commit "fb3e3364c33ae48c827f6b103e05c3f0e78b79a9")
- (revision "3"))
+ (let ((commit "e6f0e4900e195c8352f821abe2b3cffc3089547b")
+ (revision "4"))
;; When upgrading Julia, also upgrade this. Get the commit from
- ;; https://github.com/JuliaLang/julia/blob/v1.6.1/deps/libuv.version
+ ;; https://github.com/JuliaLang/julia/blob/v1.8.2/deps/libuv.version
(package
(inherit libuv)
(name "libuv-julia")
@@ -174,7 +174,10 @@ resolution, asynchronous file system operations, and threading primitives.")
(file-name (git-file-name name version))
(sha256
(base32
- "1kqpn19d20aka30h6q5h8lnzyp0vw0xzgx0wm4w2r5j6yf76m2hr"))))
+ "0ib2cprvbyviwrzm0fw6dqvlbm9akf2kj3vjzp82q3gii74cv3c9"))))
+ (arguments
+ '(#:configure-flags '("--with-pic")
+ #:tests? #f))
(home-page "https://github.com/JuliaLang/libuv")
(properties '((hidden? . #t))))))
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 2e1da21800..c476940eed 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -67,6 +67,8 @@
;;; 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>
+;;; Copyright © 2022 Demis Balbach <db@minikn.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -189,11 +191,129 @@
#: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))
+
+
+
+;;;
+;;; 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 #$defconfig guix_defconfig)))
+ (chmod guix_defconfig #o644)
+ (modify-defconfig guix_defconfig '#$configs)
+ (invoke "make" "guix_defconfig")
+ (verify-config ".config" guix_defconfig))))))))))
+
+(define (make-defconfig uri sha256-as-base32)
+ (origin (method url-fetch)
+ (uri uri)
+ (sha256 (base32 sha256-as-base32))))
+
+(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")
@@ -357,17 +477,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-6.0-version "6.0.10")
+(define-public linux-libre-6.0-version "6.0.12")
(define-public linux-libre-6.0-gnu-revision "gnu")
(define deblob-scripts-6.0
(linux-libre-deblob-scripts
linux-libre-6.0-version
linux-libre-6.0-gnu-revision
(base32 "0iwbjrgiwch5v1xpnm9wk9zqw2v6lxja0k8yj2x0amxc9ma68176")
- (base32 "06iqxkg5hakzvmz6gcz878k1sr553zbng2j1b2whgfg7zmhxkb34")))
+ (base32 "16g2bin3xay30zfss1vlb7pwcss5giaxaksp4v1gk05wn51wjrqr")))
(define-public linux-libre-6.0-pristine-source
(let ((version linux-libre-6.0-version)
- (hash (base32 "1l0xak4w7c16cg8lhracy8r18zzdl0x5s654w6ivyw6dhk6pzr9r")))
+ (hash (base32 "00ag63lnxw2gijw3b6v29lhrlv480m12954q5zh4jawlz3nk1dw9")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.0)))
@@ -375,37 +495,37 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.15-version "5.15.80")
+(define-public linux-libre-5.15-version "5.15.82")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "0vj60bra81fmbx3lz924czbhxs4dmvd4d584g9mcs80b7c4q52kg")
- (base32 "0h8a48dvgxyj3v08lp99kh5pfa93r4rks78cj0j1rwz1516xk8h3")))
+ (base32 "1m73pgx8v047xb2gck2g7j7khniis8c9akn9vhzgsdfglrf8p6fj")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
- (hash (base32 "0kgxznd3sfbmnygjvp9dzhzg5chxlaxk6kldxmh1y0njcrj1lciv")))
+ (hash (base32 "0r8v7113favmch2x6br7jk6idihza99l9qyd7ik99i5sg6xzdvpw")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
-(define-public linux-libre-5.10-version "5.10.156")
+(define-public linux-libre-5.10-version "5.10.158")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
linux-libre-5.10-gnu-revision
(base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf")
- (base32 "1m9l554w6a72mq0kf7ggm44z247m2yz6zhafwqxh96qpjpcaabpj")))
+ (base32 "0a96g4pjdgwvxn2wpz6rfc8nwdlkw138r9pp66kvfrrn08i313ii")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "08srjps110zi4ivzh0z2jf78ddyfj2wivdliffb2f03jr9j9k7k7")))
+ (hash (base32 "1rq7lyp41fydybs53rcdjhiy271arh95xch16s5s3jhhanxj82hy")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.225")
+(define-public linux-libre-5.4-version "5.4.226")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@@ -415,12 +535,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1bgblfkcnrabnr9hpdl07qgps57h6bq4v5pjrxs798vq43db66va")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1ak0qlxzfylgvkldh2whq4mzynh1rymhnnc1yif9a5s3f7v9dxar")))
+ (hash (base32 "0i4s1hl5q0ax55z7m5krzyw1zj9v03q8jcfksknb6qrg3lm5a7qc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.267")
+(define-public linux-libre-4.19-version "4.19.268")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@@ -430,12 +550,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0g1yhzxm3ixfll6n630v7lddcyvf888sg114nimh0lkvzd180s99")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "035yxx13jz5f5ig2r6ybzgivm8vjafgnvjws0jfzha4w6klf7r9l")))
+ (hash (base32 "0kr0di4gr6p57c8h6ybcli01kazq235npbh6qrpx0hpmqcdcx6r1")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.300")
+(define-public linux-libre-4.14-version "4.14.301")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@@ -445,12 +565,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "047vmh09icm45g7mnmdvyj9cam7747bcpah1s7n9dm5i2j2f906y")))
+ (hash (base32 "16zrpfadsnznpl37crbq5g1hz1ch0zfp2a75yzlqy2fs0f7fxlmc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.334")
+(define-public linux-libre-4.9-version "4.9.335")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
@@ -460,7 +580,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0sjh492mfic6llgwb957nj7gd7c0dvqnk97ngq8d50sjsyjznyk9")))
+ (hash (base32 "0agb1avdqxbmb0z751f5c4d6s7k9zb6dq04z82gx0v4zzrhxhkzd")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
@@ -502,14 +622,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(define-public linux-libre-5.15-source
(source-with-patches linux-libre-5.15-pristine-source
(list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch
- (search-patch "linux-libre-infodocs-target.patch"))))
+ %linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-5.10-source
(source-with-patches linux-libre-5.10-pristine-source
(list %boot-logo-patch
- %linux-libre-arm-export-__sync_icache_dcache-patch
- (search-patch "linux-libre-infodocs-target.patch"))))
+ %linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source
@@ -777,10 +895,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(configuration-file #f)
(defconfig "defconfig")
(extra-options %default-extra-linux-options)
- (build-doc? (doc-supported? version))
(patches
`(,%boot-logo-patch
- ,@(if build-doc?
+ ,@(if (doc-supported? version)
(list (search-patch
"linux-libre-infodocs-target.patch"))
'()))))
@@ -794,8 +911,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
#:extra-version extra-version
#:configuration-file configuration-file
#:defconfig defconfig
- #:extra-options extra-options
- #:build-doc? build-doc?))
+ #:extra-options extra-options))
(define* (make-linux-libre* version gnu-revision source supported-systems
#:key
@@ -804,10 +920,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
;; See kernel-config for an example.
(configuration-file #f)
(defconfig "defconfig")
- (extra-options %default-extra-linux-options)
- (build-doc? (doc-supported? version)))
- (when (and build-doc? (not (doc-supported? version)))
- (error "unsupported 'build-doc?' for kernels <5.10"))
+ (extra-options %default-extra-linux-options))
(package
(name (if extra-version
(string-append "linux-libre-" extra-version)
@@ -832,22 +945,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(substitute* (find-files
"." "^Makefile(\\.include)?$")
(("/bin/pwd") "pwd"))))
- #$@(if build-doc?
- #~((add-before 'configure 'build-doc
- (lambda _
- (substitute* "Documentation/Makefile"
- ;; Remove problematic environment check script.
- ((".*scripts/sphinx-pre-install.*") ""))
- (invoke "make" "infodocs")))
- (add-after 'build-doc 'install-doc
- (lambda _
- (with-directory-excursion "Documentation/output"
- (invoke "make" "-C" "texinfo" "install-info"
- (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 +962,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 +984,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.
@@ -944,19 +1044,6 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
-
- ;; For generating the documentation.
- ,@(if build-doc?
- ;; TODO: remove fontconfig after the 5.10 kernel is dropped.
- ;; Also replace python-wrapper by python at that time.
- `(("fontconfig" ,fontconfig)
- ("graphviz" ,graphviz)
- ("python" ,python-wrapper)
- ("python-sphinx" ,python-sphinx)
- ("texinfo" ,texinfo)
- ("which" ,which))
- '())
-
,@(match (let ((arch (platform-linux-architecture
(lookup-platform-by-target-or-system
(or (%current-target-system)
@@ -995,6 +1082,43 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
(define-public linux-libre-source linux-libre-6.0-source)
(define-public linux-libre linux-libre-6.0)
+(define-public linux-libre-documentation
+ (package
+ (inherit linux-libre)
+ (name "linux-libre-documentation")
+ (arguments
+ (list
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'build
+ (lambda _
+ (substitute* "Documentation/Makefile"
+ ;; Remove problematic environment check script.
+ ((".*scripts/sphinx-pre-install.*") ""))
+ (invoke "make" "infodocs")))
+ (replace 'install
+ (lambda _
+ (let* ((info-dir (string-append #$output "/share/info"))
+ (info (string-append info-dir
+ "/TheLinuxKernel.info.gz")))
+ (with-directory-excursion "Documentation/output"
+ (invoke "make" "-C" "texinfo" "install-info"
+ (string-append "infodir=" info-dir)))
+ ;; Create a symlink, for convenience.
+ (symlink info (string-append info-dir
+ "/linux.info.gz"))))))))
+ (native-inputs
+ (list graphviz
+ perl
+ python
+ python-sphinx
+ texinfo
+ which))
+ (synopsis "Documentation for the kernel Linux-Libre")
+ (description "This package provides the documentation for the kernel
+Linux-Libre, as an Info manual. To consult it, run @samp{info linux}.")))
+
(define-public linux-libre-5.15
(make-linux-libre* linux-libre-5.15-version
linux-libre-5.15-gnu-revision
@@ -1238,7 +1362,6 @@ 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 modules.
@@ -1405,6 +1528,33 @@ battery charging thresholds, keyboard backlight, fans and thermal monitors,
and the notification, WiFi, and Bluetooth LED.")
(license license:gpl2)))
+(define-public tuxedo-keyboard
+ (package
+ (name "tuxedo-keyboard")
+ (version "3.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tuxedocomputers/tuxedo-keyboard.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17n14yh55yrxx4qbx4ph9drbzx2ll4kdsfmlngrdgizhyzk7z7zv"))))
+ (build-system linux-module-build-system)
+ (arguments
+ (list #:tests? #f)) ; no test suite
+ (home-page "https://github.com/tuxedocomputers/tuxedo-keyboard")
+ (synopsis "Linux kernel modules to control keyboard on most Tuxedo computers")
+ (description
+ "This package provides the @code{tuxedo_keyboard}, @code{tuxedo_io},
+@code{clevo_wmi} @acronym{WMI, Windows Management Engine} and the
+@code{clevo_acpi} @acronym{ACPI, Advanced Configuration and Power Interface}
+kernel modules to control the keyboard on most Tuxedo computers. Only white
+backlight only models are currently not supported. The @code{tuxedo_io} module
+is also needed for the @code{tuxedo-control-center} (short tcc) package.")
+ (license license:gpl3+)))
+
(define-public ec
(package
(name "ec")
@@ -3151,7 +3301,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 +3310,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 +3329,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
@@ -9319,7 +9468,7 @@ provides user-space tools for creating EROFS file systems.")
(sha256
(base32 "0r0339mg4rc12p63iiq2kwdqn1zjakyiv014i2a2l9s8v5rjik41"))))
(native-inputs (list autoconf automake libtool))
- (inputs (list sqlite))
+ (inputs (list perl sqlite))
(arguments
`(#:configure-flags
(list "--enable-all"
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e3ddc26eac..467acc8316 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -255,6 +255,46 @@ text.")
(define-public ecl-langutils
(sbcl-package->ecl-package sbcl-langutils))
+(define-public sbcl-duologue
+ (let ((commit "ea1ada244a81da65f85b548823c9a6d7c9c145e1")
+ (revision "0"))
+ (package
+ (name "sbcl-duologue")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mmontone/duologue")
+ (commit commit)))
+ (file-name (git-file-name "cl-duologue" version))
+ (sha256
+ (base32 "1yg7f27im9h0m6jihcay1p7alfhzm9hafwm5dw5hsyacy8f2cwk2"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list sbcl-stefil))
+ (inputs
+ (list sbcl-alexandria
+ sbcl-anaphora
+ sbcl-chronicity
+ sbcl-cl-ansi-text
+ sbcl-cl-fad
+ sbcl-clavier
+ sbcl-drakma))
+ (home-page "https://github.com/mmontone/duologue/")
+ (synopsis "High level user interaction library")
+ (description
+ "Duologue is high-level interaction library for Common Lisp. It features
+coloured printing via @code{cl-ansi-text} and readline completion.")
+ (license (list license:expat
+ ;; https://github.com/mmontone/duologue/issues/9
+ license:gpl3+)))))
+
+(define-public cl-duologue
+ (sbcl-package->cl-source-package sbcl-duologue))
+
+(define-public ecl-duologue
+ (sbcl-package->ecl-package sbcl-duologue))
+
(define-public sbcl-alea
(package
(name "sbcl-alea")
@@ -454,6 +494,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 "9b1424eaad131e114a45b400784079124b5e2321")
+ (revision "1"))
+ (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 "1gjd0rhxs2x7gn3fw1hnxivmm4ca4f1wxlg0fqv8fdfabgzsvl5y"))))
+ (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"))
@@ -6526,6 +6601,37 @@ whole lot more into a single form.")
(define-public ecl-metabang-bind
(sbcl-package->ecl-package sbcl-metabang-bind))
+(define-public sbcl-fare-csv
+ (let ((commit "f877a238dcbf587a89359cccf2128919a94a348c")
+ (revision "0"))
+ (package
+ (name "sbcl-fare-csv")
+ (version (git-version "1.0.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.common-lisp.net/frideau/fare-csv")
+ (commit commit)))
+ (file-name (git-file-name "cl-fare-csv" version))
+ (sha256
+ (base32 "0k3mf968w94m4yff1k2jh7xlnpsm016qs4448bvklacjrr72vk8x"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs (list sbcl-hu.dwim.stefil))
+ (home-page "https://gitlab.common-lisp.net/frideau/fare-csv/")
+ (synopsis "Robust CSV parser and printer")
+ (description
+ "This package provides a robust CSV parser and printer that tries to
+follow the fine print of de facto standards. It can be configured to choose
+which standard exactly.")
+ (license license:expat))))
+
+(define-public cl-fare-csv
+ (sbcl-package->cl-source-package sbcl-fare-csv))
+
+(define-public ecl-fare-csv
+ (sbcl-package->ecl-package sbcl-fare-csv))
+
(define-public sbcl-fare-utils
(let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
(revision "1"))
@@ -11014,6 +11120,34 @@ code. The main target of this macro is speed.")
(define-public ecl-specialized-function
(sbcl-package->ecl-package sbcl-specialized-function))
+(define-public sbcl-conduit-packages
+ (package
+ (name "sbcl-conduit-packages")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tfeb/conduit-packages")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "cl-conduit-packages" version))
+ (sha256
+ (base32 "1n783in84mrk9lnc3nshwsgxhb8y0dk6ys9z6jlxkv0jpjxhpjjc"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments '(#:asd-systems '("org.tfeb.conduit-packages")))
+ (synopsis "Conduit packages for Common Lisp")
+ (description "This library defines a way of treating Common Lisp
+packages as conduits which can sit between one or more implementation
+packages and users of those packages.")
+ (home-page "https://github.com/tfeb/conduit-packages/")
+ (license license:expat)))
+
+(define-public cl-conduit-packages
+ (sbcl-package->cl-source-package sbcl-conduit-packages))
+
+(define-public ecl-conduit-packages
+ (sbcl-package->ecl-package sbcl-conduit-packages))
+
(define-public sbcl-constantfold
(let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4")
(revision "1"))
@@ -22678,8 +22812,8 @@ them as strings.")
(sbcl-package->ecl-package sbcl-simple-date-time))
(define-public sbcl-april
- (let ((commit "93b10042206475b9cce649d76ffaf00dcdbe498f")
- (revision "2"))
+ (let ((commit "bdd74f168ec82f28fe4ab692f2c0af39441a5701")
+ (revision "3"))
(package
(name "sbcl-april")
(version (git-version "1.0" revision commit))
@@ -22691,7 +22825,7 @@ them as strings.")
(commit commit)))
(file-name (git-file-name "cl-april" version))
(sha256
- (base32 "16az6cs13hxqn7sa2cxask077kvzp8prnrvnqm5igqq92y174n8g"))
+ (base32 "0hvlp2286z1ksa7jr7r661kdr0lpfv25n5chl72jrzq5zz70lidx"))
(modules '((guix build utils)))
(snippet '(begin
;; Remove bundled Apache-relicensed MaxPC.
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 0749a02cd7..753952152e 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"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(native-inputs
@@ -1423,7 +1420,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.")
(define-public eisl
(package
(name "eisl")
- (version "2.63")
+ (version "2.65")
(source
(origin
(method git-fetch)
@@ -1432,7 +1429,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01fwffk71c1cvq7pf50xwpl2a32rbghcymllg67wvm07yfw3gi0q"))))
+ (base32 "1cnis1v70k4wmvw1gmvj3l9qajzncaa9ka8rx67vx12bgrr0811g"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal freeglut gdbm libiconv ncurses tcl tk))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 9ffdf8761b..7de7177b77 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -62,7 +62,6 @@
#:use-module (gnu packages bootstrap) ;glibc-dynamic-linker
#:use-module (gnu packages check) ;python-lit
#:use-module (gnu packages compression)
- #:use-module (gnu packages julia) ;julia-patch
#:use-module (gnu packages libedit)
#:use-module (gnu packages libffi)
#:use-module (gnu packages lua)
@@ -2100,126 +2099,20 @@ LLVM."))))
(define-public llvm-julia
(package
- (inherit llvm-11)
- (name "llvm-julia")
- (properties `((hidden? . #t)
- ,@(package-properties llvm-11)))
- (source (origin
- (inherit (package-source llvm-11))
- ;; Those patches are inside the Julia source repo.
- ;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm)
- ;; but they are required to build Julia.
- ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628
- (patches
- (map (match-lambda
- ((name hash)
- (julia-patch name hash)))
- (list
- '("llvm-D27629-AArch64-large_model_6.0.1"
- "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z")
- '("llvm8-D34078-vectorize-fdiv"
- "19spqc3xsazn1xs9gpcgv9ldadfkv49rmc5khl7sf1dlmhgi4602")
- '("llvm-7.0-D44650"
- "1h55kkmkiisfj6sk956if2bcj9s0v6n5czn8dxb870vp5nccj3ir")
- '("llvm7-symver-jlprefix"
- "00ng32x6xhm9czczirn5r1q1mc1myad44fqhi061hwh1vb46dwgm")
- '("llvm-6.0-DISABLE_ABI_CHECKS"
- "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg")
- '("llvm9-D50010-VNCoercion-ni"
- "1s1d3sjsiq4vxg7ncy5cz56zgy5vcq6ls3iqaiqkvr23wyryqmdx")
- '("llvm7-revert-D44485"
- "0f59kq3p3mpwsbmskypbi4zn01l6ig0x7v2rjp08k2r8z8m6fa8n")
- '("llvm-11-D75072-SCEV-add-type"
- "176xi1lnbnv2rcs05ywhyb7pd0xgmibayvwzksksg44wg2dh8mbx")
- '("llvm-julia-tsan-custom-as"
- "0awh40kf6lm4wn1nsjd1bmhfwq7rqj811szanp2xkpspykw9hg9s")
- '("llvm-D80101"
- "1gsdwmgmpbignvqyxcnlprj899259p3dvdznlncd84ss445qgq3j")
- '("llvm-D84031"
- "0nks9sbk7p0r5gyr0idrmm93a5fmdai8kihz9532dx4zhcvvqbjc")
- '("llvm-10-D85553"
- "1zjq7j9q2qp56hwkc8yc8f0z7kvam3j7hj8sb7qyd77r255ff78l")
- '("llvm-10-unique_function_clang-sa"
- "1jys9w2zqk3dasnxqh0qz5ij7rxi6mkgq9pqjsclmamr5169zyan")
- ;'("llvm-D88630-clang-cmake"
- ; "0rs6s71nqnjkny7i69gqazhqj5jqfdr0bkxs2v5a55sfx8fa1k54")
- '("llvm-11-D85313-debuginfo-empty-arange"
- "1f672d5385xpgb8yrim8d3b7wg2z1l81agnshm1q61kdvjixqx32")
- '("llvm-11-D90722-rtdyld-absolute-relocs"
- "0kmnai229yyxkmpk9lxd180mcnhk2i8d87k2sg89gc8as18w10r6")
- '("llvm-invalid-addrspacecast-sink"
- "1n1b7j4s80vj7x5377aj9vyphmxx1q6bm0chhkxp6zsy3mx3g2ry")
- '("llvm-11-D92906-ppc-setjmp"
- "0cmd4dsblp7a8m03j16dqxws0ijh55zf4jzzxmj341qxa1gamdp9")
- '("llvm-11-PR48458-X86ISelDAGToDAG"
- "0vwzvlhsdazhxg4gj8g2f00a4f8qc5cgac23w575xk3pgba1jh6y")
- '("llvm-11-D93092-ppc-knownbits"
- "1748bypsc7c9lbs3fnkv0kwvch6bn85kj98j4jdaz254ig0wa6xj")
- '("llvm-11-D93154-globalisel-as"
- "1k5wd4z3pa7zj0gyjkif7viqj906dhqlbb7dc95gig40nbxv6zpj")
- '("llvm-11-ppc-half-ctr"
- "0piywisfz6cmw3133kz7vzhiqflq2y7igakqxlym0gi8pqylv7w9")
- '("llvm-11-ppc-sp-from-bp"
- "1wmg3485cx5f9pbykyl3jibk1wwv4w1x30hl4jyfndzr2yh8azf9")
- '("llvm-rGb498303066a6-gcc11-header-fix"
- "0hkd4rwhvh8g2yh13g29wiwnjpv2yd1hdyiv1ryw8izl25bz9c67")
- '("llvm-11-D94813-mergeicmps"
- "0cmy0ywkgyrdcvr9bd6pd912lyd4gcsrib4z0v05dwgcdxhk7y29")
- '("llvm-11-D94980-CTR-half"
- "1yf8cxib3z8hz7zi9n6v2g2c6vpfr4slq9hpx8m8yq8f1jbyw3fw")
- '("llvm-11-D94058-sext-atomic-ops"
- "1x6p6k6q651z5jcqxx8vj17cxnv196mka7mwn7dpp6c23lwgfdpb")
- '("llvm-11-D96283-dagcombine-half"
- "0lv4iq2f8qrcz1xyxfic3bcr5p0aqam3a7c6pp6fnw3riixm096k"))))
- (patch-flags '("-p1"))))
+ (inherit llvm-13)
(arguments
- (substitute-keyword-arguments (package-arguments llvm-11)
- ((#:phases phases)
- `(modify-phases ,phases
- (add-after 'unpack 'patch-round-two
- ;; We have to do the patching in two rounds because we can't
- ;; pass '-p1' and '-p2' in the source field.
- (lambda* (#:key inputs #:allow-other-keys)
- (map (lambda (patchname)
- (invoke "patch" patchname "-p2"))
- (list "llvm-11-AArch64-FastIsel-bug"
- "llvm-11-D97435-AArch64-movaddrreg"
- "llvm-11-D97571-AArch64-loh"
- "llvm-11-aarch64-addrspace"))))))
- ((#:build-type _) "Release")
- ((#:configure-flags flags)
- `(list
- ;; Build a native compiler and the NVPTX backend (NVIDIA) since
- ;; Julia insists on it, nothing more. This reduces build times and
- ;; disk usage.
- ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target))
- "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX"
-
- "-DLLVM_INSTALL_UTILS=ON"
- "-DLLVM_BUILD_TESTS=ON"
- "-DLLVM_ENABLE_FFI=ON"
- "-DLLVM_ENABLE_RTTI=ON"
- ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
- ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
- ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
- "-DLLVM_ENABLE_DUMP=ON"
- "-DLLVM_LINK_LLVM_DYLIB=ON"
- "-DLLVM_VERSION_SUFFIX:STRING=jl"))))
- (inputs
- (append
- (package-inputs llvm-11)
- `(("llvm-11-AArch64-FastIsel-bug"
- ,(julia-patch "llvm-11-AArch64-FastIsel-bug"
- "1m2vddj1mw4kbij8hbrx82piyy6bvr2x7wwdnlxfaqcm72ipzyh9"))
- ("llvm-11-D97435-AArch64-movaddrreg"
- ,(julia-patch "llvm-11-D97435-AArch64-movaddrreg"
- "10jnavq9ljkj7j2gqj2zd1pwqpqb5zs3zp9h96pmz0djbmxwa86y"))
- ("llvm-11-D97571-AArch64-loh"
- ,(julia-patch "llvm-11-D97571-AArch64-loh"
- "128zcbg1w1j7hngsf7z1a7alc6lig6l2rqgjp6i8nk3k3f842v6n"))
- ("llvm-11-aarch64-addrspace"
- ,(julia-patch "llvm-11-aarch64-addrspace"
- "0ckbzgfirxrf2d5bpinpngp7gnilbjrk0cbdfyl3h6f5v6i6xj6m")))))))
+ (substitute-keyword-arguments (package-arguments llvm-13)
+ ((#:configure-flags flags ''())
+ #~(cons* "-DLLVM_BUILD_LLVM_DYLIB=ON"
+ "-DLLVM_LINK_LLVM_DYLIB=ON"
+ ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX"
+ "-DLLVM_VERSION_SUFFIX:STRING=jl" ; Perhaps not needed.
+ #$(string-append "-DLLVM_TARGETS_TO_BUILD="
+ (system->llvm-target))
+ (delete "-DBUILD_SHARED_LIBS:BOOL=TRUE" #$flags)))
+ ((#:build-type _) "Release")))
+ (properties `((hidden? . #t)
+ ,@(package-properties llvm-13)))))
(define %cling-version "0.9")
diff --git a/gnu/packages/loko.scm b/gnu/packages/loko.scm
index 449c62f1f0..49dcc92d1e 100644
--- a/gnu/packages/loko.scm
+++ b/gnu/packages/loko.scm
@@ -18,6 +18,7 @@
(define-module (gnu packages loko)
#:use-module (guix packages)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
@@ -29,7 +30,7 @@
(define-public loko-scheme
(package
(name "loko-scheme")
- (version "0.7.0")
+ (version "0.12.0")
(source
(origin
(method git-fetch)
@@ -37,45 +38,47 @@
(url "https://gitlab.com/weinholt/loko")
(commit (string-append "v" version))))
(sha256
- (base32 "1441aarw3vy14zdxyab495ag2fch04v4j89krhbqnqfkz6mdi0vy"))
+ (base32 "12xp82z91qkp9q8lfp46s4sda8qgs472jic3js1kbykn4jzy7399"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(;; r7rs tests are a work in progress as of 0.7.0.
- #:tests? #f
- #:strip-binaries? #f
- #:make-flags
- (let ((out (assoc-ref %outputs "out")))
- (list
- (string-append "PREFIX=" out)
- (string-append "GDB_AUTOLOAD_PATH=" out "/share/gdb/auto-load")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'akku-fixes
- (lambda* (#:key inputs #:allow-other-keys)
- (delete-file "Akku.lock")
- (substitute* "Akku.manifest"
- (("\\(depends.*") "(depends)"))
- (invoke "akku" "install")
- (let ((dest "./.akku/lib/")
- (source "/share/guile/site/3.0/"))
- (for-each
- (lambda (name)
- ;; Symlink the scheme libraries so that Akku can find them
- (symlink (string-append (assoc-ref inputs name) source name)
- (string-append dest name)))
- '("struct" "laesare" "pfds" "machine-code")))
- (substitute* ".akku/env"
- (("/bin/sh") (which "sh")))
- #t)))))
+ (list
+ ;; r7rs tests are a work in progress as of 0.7.0.
+ #:tests? #f
+ #:strip-binaries? #f
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'akku-fixes
+ (lambda _
+ (delete-file "Akku.lock")
+ (substitute* "Akku.manifest"
+ (("\\(depends.*") "(depends)"))
+ (invoke "akku" "install")
+ (let ((dest "./.akku/lib/")
+ (source "/share/guile/site/3.0/"))
+ (for-each
+ (lambda (name prefix)
+ ;; Symlink the scheme libraries so that Akku can find them
+ (symlink (string-append prefix source name)
+ (string-append dest name)))
+ '("struct" "laesare" "pfds" "machine-code")
+ (list #$(this-package-native-input "guile-struct-pack")
+ #$(this-package-native-input "guile-laesare")
+ #$(this-package-native-input "guile-pfds")
+ #$(this-package-native-input "guile-machine-code"))))
+ (substitute* ".akku/env"
+ (("/bin/sh") (which "sh")))
+ #t)))))
(native-inputs
- `(("akku" ,akku)
- ("chez-scheme" ,(chez-scheme-for-system))
- ("struct" ,guile-struct-pack)
- ("laesare" ,guile-laesare)
- ("pfds" ,guile-pfds)
- ("machine-code" ,guile-machine-code)))
+ (list akku
+ (chez-scheme-for-system)
+ guile-struct-pack
+ guile-laesare
+ guile-pfds
+ guile-machine-code))
(home-page "https://scheme.fail")
(synopsis "Implementation of the algorithmic language Scheme")
(description
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index fbc06f96b6..fc8de01066 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -43,6 +43,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system trivial)
@@ -1180,6 +1181,52 @@ number of threads used in the threadpool-backed of common native libraries used
for scientific computing and data science (e.g. BLAS and OpenMP).")
(license license:bsd-3)))
+(define-public python-imbalanced-learn
+ (package
+ (name "python-imbalanced-learn")
+ (version "0.9.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "imbalanced-learn" version))
+ (sha256
+ (base32
+ "0qnrmysnqpc8ii1w5n8mci20gcjhmjr7khvk7f2apdbqc2pgf52f"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'unbreak-tests
+ (lambda _
+ ;; The doctests require tensorflow
+ (substitute* "setup.cfg"
+ (("--doctest-modules") ""))
+ ;; Some tests require a home directory
+ (setenv "HOME" (getcwd))
+ ;; We don't have keras
+ (delete-file "imblearn/keras/tests/test_generator.py")
+ ;; We don't have tensorflow
+ (delete-file "imblearn/tensorflow/tests/test_generator.py"))))))
+ (propagated-inputs
+ (list python-joblib
+ python-numpy
+ python-scikit-learn
+ python-scipy
+ python-threadpoolctl))
+ (native-inputs
+ (list python-black
+ python-flake8
+ python-mypy
+ python-pandas
+ python-pytest
+ python-pytest-cov))
+ (home-page "https://github.com/scikit-learn-contrib/imbalanced-learn")
+ (synopsis "Toolbox for imbalanced dataset in machine learning")
+ (description "This is a Python package offering a number of re-sampling
+techniques commonly used in datasets showing strong between-class imbalance.
+It is compatible with @code{scikit-learn}.")
+ (license license:expat)))
+
(define-public python-pynndescent
(package
(name "python-pynndescent")
@@ -1283,6 +1330,76 @@ good at identifying feature interactions that are normally overlooked by
standard feature selection algorithms.")
(license license:expat)))
+(define-public python-cleanlab
+ (package
+ (name "python-cleanlab")
+ (version "2.2.0")
+ ;; The version on pypi does not come with tests.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cleanlab/cleanlab")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00dqhxpwg781skknw943ynll2s44g4j125dx8aapk1d5d71sbzqy"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'disable-bad-tests
+ (lambda _
+ ;; XXX This requires pytest lazy_fixture
+ (delete-file "tests/test_multilabel_classification.py")
+ ;; Requires tensorflow
+ (delete-file "tests/test_frameworks.py")
+ ;; Tries to download datasets from the internet at runtime.
+ (delete-file "tests/test_dataset.py"))))))
+ (propagated-inputs
+ (list python-numpy
+ python-pandas
+ python-scikit-learn
+ python-termcolor
+ python-tqdm))
+ (native-inputs
+ (list python-pytest
+ python-pytorch
+ python-torchvision))
+ (home-page "https://cleanlab.ai")
+ (synopsis "Automatically find and fix dataset issues")
+ (description
+ "cleanlab automatically finds and fixes errors in any ML dataset. This
+data-centric AI package facilitates machine learning with messy, real-world
+data by providing clean labels during training.")
+ (license license:agpl3+)))
+
+(define-public python-cleanlab-1
+ (package
+ (inherit python-cleanlab)
+ (name "python-cleanlab")
+ (version "1.0.1")
+ ;; The version on pypi does not come with tests.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cleanlab/cleanlab")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03kw2agnhadmrq9zvrlvvlc2c37dpflga5nhmsaag8scw223gqyp"))))
+ (build-system pyproject-build-system)
+ (arguments (list))
+ (propagated-inputs
+ (list python-numpy
+ python-scikit-learn
+ python-scipy
+ python-tqdm))
+ (native-inputs
+ (list python-pytest))))
+
(define-public python-cmaes
(package
(name "python-cmaes")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index cef5fe2916..a0e6510fda 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -3813,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
@@ -3833,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
@@ -3842,7 +3848,7 @@ tools and applications:
gnutls
gpgme
gtk+
- gtksourceview
+ gtksourceview-4
gtkspell3
libassuan ; in gpgme.pc Requires
libcanberra
@@ -3862,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
@@ -4018,8 +4027,8 @@ It is a replacement for the @command{urlview} program.")
(license license:gpl2+)))
(define-public mumi
- (let ((commit "02485074c9ae3d3b0039ac4c44fa37f2e2e75eac")
- (revision "1"))
+ (let ((commit "4590e4822dda792f59f69b764824aa148d92dad0")
+ (revision "2"))
(package
(name "mumi")
(version (git-version "0.0.2" revision commit))
@@ -4031,7 +4040,7 @@ It is a replacement for the @command{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
- "1ppqz4bclbw3rqgd2fq4mj8hsrd9cfdddjzaycm5b0ffdsm8nrs3"))))
+ "16brl1dk92kppzvxx8q5hcqiywg863s4sz5wb64hz8a37xa4hkyr"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm
index d6fd1db2b6..e8c31fb168 100644
--- a/gnu/packages/mastodon.scm
+++ b/gnu/packages/mastodon.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
;;;
@@ -42,17 +42,22 @@
(define-public toot
(package
(name "toot")
- (version "0.28.0")
+ (version "0.30.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "toot" version))
(sha256
- (base32 "1wsj4160z3m1nvswgkl08n9ymihxhxdvxvrsycn9d3y5fplm00k9"))))
+ (base32 "0r9f2frlwfxkcv6c9lh36maph90v2yp6s7phynbrb3m7v35xzaxz"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-before 'check 'adjust-test-suite
+ (lambda _
+ ;; This test contains integration tests meant to run against a test
+ ;; Mastodon instance.
+ (delete-file "tests/test_integration.py")))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c0bc07977b..aee050735e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -57,6 +57,7 @@
;;; Copyright © 2022 vicvbcun <guix@ikherbers.com>
;;; Copyright © 2022 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2022 Maximilian Heisinger <mail@maxheisinger.at>
+;;; Copyright © 2022 Akira Kyle <akira@akirakyle.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4715,6 +4716,36 @@ parts of it.")
(synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)")
(license license:bsd-3)))
+(define-public libblastrampoline
+ (package
+ (name "libblastrampoline")
+ (version "5.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaLinearAlgebra/libblastrampoline")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mf79zw11kxyil72y2ly5x8bbz3ng3nsqmp0zcps16b69wvfs19c"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list "-C" "src"
+ (string-append "prefix=" (assoc-ref %outputs "out"))
+ (string-append "CC=" ,(cc-for-target)))
+ #:tests? #f ; No check target.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (home-page "https://github.com/JuliaLinearAlgebra/libblastrampoline")
+ (synopsis "PLT trampolines to provide a BLAS and LAPACK demuxing library")
+ (description
+ "This package uses PLT trampolines to provide a BLAS and LAPACK demuxing
+library.")
+ (license license:expat)))
+
(define-public blis
(package
(name "blis")
@@ -4822,7 +4853,7 @@ access to BLIS implementations via traditional BLAS routine calls.")
(define-public openlibm
(package
(name "openlibm")
- (version "0.7.4")
+ (version "0.8.1")
(source
(origin
(method git-fetch)
@@ -4831,7 +4862,7 @@ access to BLIS implementations via traditional BLAS routine calls.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1azms0lpxb7vxb3bln5lyz0wpwx6jnzbffkclclpq2v5aiw8d14i"))))
+ (base32 "1xsrcr49z0wdqpwd98jmw2xh18myzsa9xman0kp1h2i89x8mic5b"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -4946,6 +4977,15 @@ Fresnel integrals, and similar related functions as well.")
"library")
#:phases
(modify-phases %standard-phases
+ ,@(if (target-riscv64?)
+ ;; GraphBLAS FTBFS on riscv64-linux
+ `((add-after 'unpack 'skip-graphblas
+ (lambda _
+ (substitute* "Makefile"
+ ((".*cd GraphBLAS.*") "")
+ (("metisinstall gbinstall moninstall")
+ "metisinstall moninstall")))))
+ '())
(delete 'configure)))) ;no configure script
(inputs
(list tbb openblas gmp mpfr metis))
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index d4e0e1203f..4487b1b6eb 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -234,7 +234,7 @@ Guile.")
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"
"armhf-linux" "aarch64-linux"
- "riscv32-linux" "riscv64-linux"))
+ "riscv64-linux"))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:test-target "test"
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 9927c7c323..fd7cbf921d 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -1375,7 +1375,7 @@ Encryption to Gajim.")
(define-public dino
(package
(name "dino")
- (version "0.3.0")
+ (version "0.3.1")
(source
(origin
(method url-fetch)
@@ -1383,11 +1383,11 @@ Encryption to Gajim.")
(string-append "https://github.com/dino/dino/releases/download/v"
version "/dino-" version ".tar.gz"))
(sha256
- (base32 "07nw275xfamczzvzps8hsnpbhzvr4qc726fx92w8ncmdag7wlw1r"))))
+ (base32 "1rs6qpkidiww805cd91q059r2lm5lzblrkyn01zz4g1mls8ghk5a"))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
- (list #:configure-flags #~(list "-DBUILD_TESTS=true")
+ (list #:configure-flags #~(list "-DBUILD_TESTS=true" "-DUSE_SOUP3=true")
#:parallel-build? #f ; not supported
#:modules '((guix build cmake-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
@@ -1439,7 +1439,7 @@ Encryption to Gajim.")
libgee
libnice
libsignal-protocol-c
- libsoup-minimal-2
+ libsoup
libsrtp ;for calls support
pango
qrencode
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index f5671241a7..0f017217de 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -746,3 +746,26 @@ stopping before signals.
advtrains up to version 2.2.1.")
(license (list license:cc-by-sa3.0 license:agpl3+))
(properties `((upstream-name . "orwell/basic_trains")))))
+
+(define-public minetest-oneblock
+ (package
+ (name "minetest-oneblock")
+ (version "2022-09-01")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/NO411/oneblock")
+ (commit "3582c825137e61b3d2ae3d60b8b9746acd6dfe3d")))
+ (sha256
+ (base32
+ "1pkdrj99qqwmz7c86w2mh081ynyxhiwv2rl01xjm1wfpazx5zhdg"))
+ (file-name (git-file-name name version))))
+ (build-system minetest-mod-build-system)
+ (home-page "https://github.com/NO411/oneblock")
+ (synopsis "Build your island in the sky with random items!")
+ (description
+ "This package provides an extension of the Minetest game that lets you
+build your island in the sky. Every 30 seconds you will receive a random
+block or item from the oneblock to expand the island!")
+ (license license:gpl3+)
+ (properties `((upstream-name . "NO11/oneblock")))))
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 63f9906508..37b9335ac8 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -54,6 +54,7 @@
#:use-module (gnu packages gd)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome) ;libnotify
+ #:use-module (gnu packages golang)
#:use-module (gnu packages image)
#:use-module (gnu packages mail)
#:use-module (gnu packages ncurses)
@@ -171,7 +172,7 @@ etc. via a Web interface. Features include:
(define-public zabbix-agentd
(package
(name "zabbix-agentd")
- (version "6.0.9")
+ (version "6.0.12")
(source
(origin
(method url-fetch)
@@ -179,7 +180,7 @@ etc. via a Web interface. Features include:
"https://cdn.zabbix.com/zabbix/sources/stable/"
(version-major+minor version) "/zabbix-" version ".tar.gz"))
(sha256
- (base32 "0rzdlmfvyqys166zi94q1c6pbf57b0g1dygb23ixsx083gq1hh01"))
+ (base32 "04083aa63bzfg5jp958nypbqr0hlcbhj73whlinr1ri3x1z0caz7"))
(modules '((guix build utils)))
(snippet
'(substitute* '("src/zabbix_proxy/proxy.c"
@@ -209,6 +210,32 @@ solution (client-side agent)")
'((release-monitoring-url . "https://www.zabbix.com/download_sources")
(upstream-name . "zabbix")))))
+(define-public zabbix-agent2
+ (package/inherit zabbix-agentd
+ (name "zabbix-agent2")
+ (arguments
+ (list #:configure-flags
+ #~(list "--disable-agent"
+ "--enable-agent2"
+ "--enable-ipv6"
+ "--with-libpcre2"
+ ;; agent2 only supports OpenSSL.
+ (string-append "--with-openssl="
+ (dirname (dirname
+ (search-input-file
+ %build-inputs "lib/libssl.so")))))
+ #:make-flags
+ #~'("BUILD_TIME=00:00:01" "BUILD_DATE=Jan 1 1970")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-HOME
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list go pkg-config))
+ (inputs
+ (list openssl pcre2 zlib))))
+
(define-public zabbix-server
(package
(inherit zabbix-agentd)
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/networking.scm b/gnu/packages/networking.scm
index f5276e330e..751eb2b867 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -2998,6 +2998,40 @@ updates to the zebra daemon.")
(home-page "https://www.nongnu.org/quagga/")
(license license:gpl2+)))
+(define-public bgpq3
+ (package
+ (name "bgpq3")
+ (version "0.1.36.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/snar/bgpq3")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0768hihx7idmn2dk8ii21m0dm052amlnfpqq53vsfaapb60n1smc"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f)) ; no test suite
+ (native-inputs (list python-markdown))
+ (home-page "http://snar.spb.ru/prog/bgpq3/")
+ (synopsis
+ "Generate BGP filters from the @acronym{IRR, Internet Routing Registry}")
+ (description
+ "This program helps automate the creation and maintenance of @acronym{BGP,
+Border Gateway Protocol} routing filters used for peering trough Internet
+exchanges.
+
+It generates prefix lists, (extended) access lists, policy-statement terms, and
+AS paths from data in the @acronym{IRR, Internet Routing Registry}, including
+the @acronym{RADB, Routing Assets Database} operated by the Merit Network at the
+University of Michigan.
+
+The filters can be aggregated and exported in the most common formats.")
+ (license (list license:bsd-3 ; strlcpy.c, sys_queue.h
+ license:bsd-2)))) ; everything else, but missing headers
+
(define-public thc-ipv6
(let ((revision "0")
(commit "4bb72573e0950ce6f8ca2800a10748477020029e"))
diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm
index 873dc54c30..4495622191 100644
--- a/gnu/packages/onc-rpc.scm
+++ b/gnu/packages/onc-rpc.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -63,6 +64,7 @@
"tirpc/netconfig.h")
(("/etc/netconfig") (string-append (assoc-ref outputs "out")
"/etc/netconfig"))))))))
+ (native-inputs (list mit-krb5)) ;; for cross-compilation
(inputs (list mit-krb5))
(home-page "https://sourceforge.net/projects/libtirpc/")
(synopsis "Transport-independent Sun/ONC RPC implementation")
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index b269234338..410f7321e0 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -45,6 +45,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages freeipmi)
#:use-module (gnu packages linux)
@@ -63,20 +64,25 @@
(define-public parallel
(package
(name "parallel")
- (version "20221022")
+ (version "20221122")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
- (base32 "1glrgk79nvw8p7aq70x14mgw2py9zphzlsnwl41l9rzx781yfc3m"))
+ (base32 "17akk6nskyqp3ckggli2dadp49m164ij79pijgb4iwad8ci9sgda"))
(snippet
'(begin
(use-modules (guix build utils))
;; Delete pre-generated manpages and documents.
- ;; TODO: Add pod2pdf for pdfs, generate rst files.
- (for-each delete-file (find-files "src" "\\.(1|7|html)$"))))))
+ ;; TODO: generate rst files.
+ ;; parallel_cheat_bw.pdf uses libreoffice to be generated.
+ (rename-file "src/parallel_cheat_bw.pdf"
+ "src/parallel_cheat_bw.pdf-keep")
+ (for-each delete-file (find-files "src" "\\.(1|7|html|pdf)$"))
+ (rename-file "src/parallel_cheat_bw.pdf-keep"
+ "src/parallel_cheat_bw.pdf")))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -111,7 +117,7 @@
"echo"
":::" "1" "2" "3"))))))
(native-inputs
- (list perl))
+ (list perl pod2pdf))
(inputs
(list bash-minimal perl procps))
(home-page "https://www.gnu.org/software/parallel/")
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/jami-sipaccount-segfault.patch b/gnu/packages/patches/jami-sipaccount-segfault.patch
new file mode 100644
index 0000000000..1cef512124
--- /dev/null
+++ b/gnu/packages/patches/jami-sipaccount-segfault.patch
@@ -0,0 +1,30 @@
+From e5a449d60abc667d85dacd75ad6e31d4ddca5853 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
+ <sebastien.blin@savoirfairelinux.com>
+Date: Thu, 17 Nov 2022 12:02:20 -0500
+Subject: [PATCH] sipaccount: fix potential null dereference
+
+Detected by sonarqube
+
+Change-Id: I606f9cf2458dda07471d0a67af8915c7ca13d410
+---
+ src/sip/sipaccount.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/daemon/src/sip/sipaccount.cpp b/daemon/src/sip/sipaccount.cpp
+index 695b71839..e544ac31a 100644
+--- a/daemon/src/sip/sipaccount.cpp
++++ b/daemon/src/sip/sipaccount.cpp
+@@ -789,7 +789,8 @@ SIPAccount::sendRegister()
+ if (pjsip_regc_set_transport(regc, &tp_sel) != PJ_SUCCESS)
+ throw VoipLinkException("Unable to set transport");
+
+- setUpTransmissionData(tdata, tp_sel.u.transport->key.type);
++ if (tp_sel.u.transport)
++ setUpTransmissionData(tdata, tp_sel.u.transport->key.type);
+
+ // pjsip_regc_send increment the transport ref count by one,
+ if ((status = pjsip_regc_send(regc, tdata)) != PJ_SUCCESS) {
+--
+GitLab
+
diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
index b60f284923..c6ca48fff0 100644
--- a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
+++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch
@@ -8,15 +8,16 @@ Patch by Nicoló Balzarotti <nicolo@nixo.xyz>.
--- a/base/loading.jl
+++ b/base/loading.jl
-@@ -807,7 +807,10 @@
- path = normpath(joinpath(dirname(prev), _path))
+@@ -1131,7 +1131,10 @@ function _include_dependency(mod::Module, _path::AbstractString)
end
if _track_dependencies[]
+ @lock require_lock begin
- push!(_require_dependencies, (mod, path, mtime(path)))
+ push!(_require_dependencies,
+ (mod, path,
+ haskey(ENV, "SOURCE_DATE_EPOCH") ?
+ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path)))
+ end
end
return path, prev
end
diff --git a/gnu/packages/patches/julia-allow-parallel-build.patch b/gnu/packages/patches/julia-allow-parallel-build.patch
deleted file mode 100644
index cc1d42fee4..0000000000
--- a/gnu/packages/patches/julia-allow-parallel-build.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Allow parallel tests with isolated environment.
-
-See https://github.com/JuliaLang/julia/issues/43205 and
-https://github.com/JuliaLang/julia/pull/43211.
-
-diff --git a/test/runtests.jl b/test/runtests.jl
-index 2f9cd058bb..150395e78c 100644
---- a/test/runtests.jl
-+++ b/test/runtests.jl
-@@ -4,7 +4,7 @@ using Test
- using Distributed
- using Dates
- import REPL
--using Printf: @sprintf
-+using Printf: @sprintf, @printf
- using Base: Experimental
-
- include("choosetests.jl")
-@@ -83,11 +83,12 @@ prepend!(tests, linalg_tests)
- import LinearAlgebra
- cd(@__DIR__) do
- n = 1
-- if net_on
-+ if net_on || haskey(ENV, "JULIA_CPU_THREADS")
- n = min(Sys.CPU_THREADS, length(tests))
- n > 1 && addprocs_with_testenv(n)
- LinearAlgebra.BLAS.set_num_threads(1)
- end
-+ @printf("Number of threads: %i\n", n)
- skipped = 0
-
- @everywhere include("testdefs.jl")
diff --git a/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch b/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch
deleted file mode 100644
index 8ef4b111e4..0000000000
--- a/gnu/packages/patches/libunwind-julia-fix-GCC10-fno-common.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Fix compilation with -fno-common.
-
-Borrowed from upstream 29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e.
-Author: Yichao Yu <yyc1992@gmail.com>
-AuthorDate: Tue Mar 31 00:43:32 2020 -0400
-Commit: Dave Watson <dade.watson@gmail.com>
-CommitDate: Tue Mar 31 08:06:29 2020 -0700
-
-diff --git a/src/x86/Ginit.c b/src/x86/Ginit.c
-index f6b8dc2..9550efa 100644
---- a/src/x86/Ginit.c
-+++ b/src/x86/Ginit.c
-@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg)
-
- # endif /* UNW_LOCAL_ONLY */
-
--HIDDEN unw_dyn_info_list_t _U_dyn_info_list;
--
--/* XXX fix me: there is currently no way to locate the dyn-info list
-- by a remote unwinder. On ia64, this is done via a special
-- unwind-table entry. Perhaps something similar can be done with
-- DWARF2 unwind info. */
--
- static void
- put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg)
- {
-@@ -71,7 +64,12 @@ static int
- get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr,
- void *arg)
- {
-- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list;
-+#ifndef UNW_LOCAL_ONLY
-+# pragma weak _U_dyn_info_list_addr
-+ if (!_U_dyn_info_list_addr)
-+ return -UNW_ENOINFO;
-+#endif
-+ *dyn_info_list_addr = _U_dyn_info_list_addr ();
- return 0;
- }
-
diff --git a/gnu/packages/patches/python-seaborn-2690.patch b/gnu/packages/patches/python-seaborn-2690.patch
deleted file mode 100644
index 4662d19c2d..0000000000
--- a/gnu/packages/patches/python-seaborn-2690.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-This patch was adapted from the upstream pull request 2690.
-
-From ebd6812d48f5b8ed1ebb7d79bda0b2a7b9ae2812 Mon Sep 17 00:00:00 2001
-From: Michael Waskom <mwaskom@gmail.com>
-Date: Sun, 31 Oct 2021 15:09:27 -0400
-Subject: [PATCH 1/4] Update boxplot tests for mpl3.5 compatability
-
----
- seaborn/tests/test_categorical.py | 30 +++++++++++++++++++-----------
- 1 file changed, 19 insertions(+), 11 deletions(-)
-
-diff --git a/seaborn/tests/test_categorical.py b/seaborn/tests/test_categorical.py
-index d4e09b703..488fad2d6 100644
---- a/seaborn/tests/test_categorical.py
-+++ b/seaborn/tests/test_categorical.py
-@@ -110,6 +110,11 @@ class CategoricalFixture:
- df = pd.DataFrame(dict(y=y, g=g, h=h, u=u))
- x_df["W"] = g
-
-+ def get_box_artists(self, ax):
-+
-+ # Exclude labeled patches, which are for the legend
-+ return [p for p in ax.patches if not p.get_label()]
-+
-
- class TestCategoricalPlotter(CategoricalFixture):
-
-@@ -855,12 +863,12 @@ def test_hue_offsets(self):
- def test_axes_data(self):
-
- ax = cat.boxplot(x="g", y="y", data=self.df)
-- assert len(ax.artists) == 3
-+ assert len(self.get_box_artists(ax)) == 3
-
- plt.close("all")
-
- ax = cat.boxplot(x="g", y="y", hue="h", data=self.df)
-- assert len(ax.artists) == 6
-+ assert len(self.get_box_artists(ax)) == 6
-
- plt.close("all")
-
-@@ -868,14 +876,14 @@ def test_box_colors(self):
-
- ax = cat.boxplot(x="g", y="y", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=3)
-- for patch, color in zip(ax.artists, pal):
-+ for patch, color in zip(self.get_box_artists(ax), pal):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-
- ax = cat.boxplot(x="g", y="y", hue="h", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=2)
-- for patch, color in zip(ax.artists, pal * 2):
-+ for patch, color in zip(self.get_box_artists(ax), pal * 2):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-@@ -884,7 +892,7 @@ def test_draw_missing_boxes(self):
-
- ax = cat.boxplot(x="g", y="y", data=self.df,
- order=["a", "b", "c", "d"])
-- assert len(ax.artists) == 3
-+ assert len(self.get_box_artists(ax)) == 3
-
- def test_missing_data(self):
-
-@@ -894,13 +902,13 @@ def test_missing_data(self):
- y[-2:] = np.nan
-
- ax = cat.boxplot(x=x, y=y)
-- assert len(ax.artists) == 3
-+ assert len(self.get_box_artists(ax)) == 3
-
- plt.close("all")
-
- y[-1] = 0
- ax = cat.boxplot(x=x, y=y, hue=h)
-- assert len(ax.artists) == 7
-+ assert len(self.get_box_artists(ax)) == 7
-
- plt.close("all")
-
-@@ -2766,11 +2774,11 @@ def test_plot_elements(self):
-
- g = cat.catplot(x="g", y="y", data=self.df, kind="box")
- want_artists = self.g.unique().size
-- assert len(g.ax.artists) == want_artists
-+ assert len(self.get_box_artists(g.ax)) == want_artists
-
- g = cat.catplot(x="g", y="y", hue="h", data=self.df, kind="box")
- want_artists = self.g.unique().size * self.h.unique().size
-- assert len(g.ax.artists) == want_artists
-+ assert len(self.get_box_artists(g.ax)) == want_artists
-
- g = cat.catplot(x="g", y="y", data=self.df,
- kind="violin", inner=None)
-@@ -3137,14 +3145,14 @@ def test_box_colors(self):
-
- ax = cat.boxenplot(x="g", y="y", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=3)
-- for patch, color in zip(ax.artists, pal):
-+ for patch, color in zip(self.get_box_artists(ax), pal):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-
- ax = cat.boxenplot(x="g", y="y", hue="h", data=self.df, saturation=1)
- pal = palettes.color_palette(n_colors=2)
-- for patch, color in zip(ax.artists, pal * 2):
-+ for patch, color in zip(self.get_box_artists(ax), pal * 2):
- assert patch.get_facecolor()[:3] == color
-
- plt.close("all")
-
-From ff78ed38817a346e760194ab3b03b28d7ea3ba1b Mon Sep 17 00:00:00 2001
-From: Michael Waskom <mwaskom@gmail.com>
-Date: Sun, 31 Oct 2021 15:50:54 -0400
-Subject: [PATCH 2/4] Update kdeplot tests for mpl3.5 compatability
-
----
- seaborn/tests/test_distributions.py | 53 ++++++++++++++++++++---------
- 1 file changed, 37 insertions(+), 16 deletions(-)
-
-diff --git a/seaborn/tests/test_distributions.py b/seaborn/tests/test_distributions.py
-index d241fd978..466efb69e 100644
---- a/seaborn/tests/test_distributions.py
-+++ b/seaborn/tests/test_distributions.py
-@@ -39,6 +39,27 @@
- )
-
-
-+def get_contour_coords(c):
-+ """Provide compatability for change in contour artist type in mpl3.5."""
-+ # See https://github.com/matplotlib/matplotlib/issues/20906
-+ if isinstance(c, mpl.collections.LineCollection):
-+ return c.get_segments()
-+ elif isinstance(c, mpl.collections.PathCollection):
-+ return [p.vertices[:np.argmax(p.codes) + 1] for p in c.get_paths()]
-+
-+
-+def get_contour_color(c):
-+ """Provide compatability for change in contour artist type in mpl3.5."""
-+ # See https://github.com/matplotlib/matplotlib/issues/20906
-+ if isinstance(c, mpl.collections.LineCollection):
-+ return c.get_color()
-+ elif isinstance(c, mpl.collections.PathCollection):
-+ if c.get_facecolor().size:
-+ return c.get_facecolor()
-+ else:
-+ return c.get_edgecolor()
-+
-+
- class TestDistPlot(object):
-
- rs = np.random.RandomState(0)
-@@ -902,7 +923,7 @@ def test_fill_artists(self, long_df):
- f, ax = plt.subplots()
- kdeplot(data=long_df, x="x", y="y", hue="c", fill=fill)
- for c in ax.collections:
-- if fill:
-+ if fill or Version(mpl.__version__) >= Version("3.5.0b0"):
- assert isinstance(c, mpl.collections.PathCollection)
- else:
- assert isinstance(c, mpl.collections.LineCollection)
-@@ -918,8 +939,8 @@ def test_common_norm(self, rng):
- kdeplot(x=x, y=y, hue=hue, common_norm=True, ax=ax1)
- kdeplot(x=x, y=y, hue=hue, common_norm=False, ax=ax2)
-
-- n_seg_1 = sum([len(c.get_segments()) > 0 for c in ax1.collections])
-- n_seg_2 = sum([len(c.get_segments()) > 0 for c in ax2.collections])
-+ n_seg_1 = sum([len(get_contour_coords(c)) > 0 for c in ax1.collections])
-+ n_seg_2 = sum([len(get_contour_coords(c)) > 0 for c in ax2.collections])
- assert n_seg_2 > n_seg_1
-
- def test_log_scale(self, rng):
-@@ -946,7 +967,7 @@ def test_log_scale(self, rng):
- ax2.contour(10 ** xx, yy, density, levels=levels)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- assert_array_equal(c1.get_segments(), c2.get_segments())
-+ assert_array_equal(get_contour_coords(c1), get_contour_coords(c2))
-
- def test_bandwidth(self, rng):
-
-@@ -959,7 +980,7 @@ def test_bandwidth(self, rng):
- kdeplot(x=x, y=y, bw_adjust=2, ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- seg1, seg2 = c1.get_segments(), c2.get_segments()
-+ seg1, seg2 = get_contour_coords(c1), get_contour_coords(c2)
- if seg1 + seg2:
- x1 = seg1[0][:, 0]
- x2 = seg2[0][:, 0]
-@@ -980,9 +1001,9 @@ def test_weights(self, rng):
- kdeplot(x=x, y=y, hue=hue, weights=weights, ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- if c1.get_segments() and c2.get_segments():
-- seg1 = np.concatenate(c1.get_segments(), axis=0)
-- seg2 = np.concatenate(c2.get_segments(), axis=0)
-+ if get_contour_coords(c1) and get_contour_coords(c2):
-+ seg1 = np.concatenate(get_contour_coords(c1), axis=0)
-+ seg2 = np.concatenate(get_contour_coords(c2), axis=0)
- assert not np.array_equal(seg1, seg2)
-
- def test_hue_ignores_cmap(self, long_df):
-@@ -1030,7 +1051,7 @@ def test_levels_and_thresh(self, long_df):
- kdeplot(**plot_kws, levels=np.linspace(thresh, 1, n), ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- assert_array_equal(c1.get_segments(), c2.get_segments())
-+ assert_array_equal(get_contour_coords(c1), get_contour_coords(c2))
-
- with pytest.raises(ValueError):
- kdeplot(**plot_kws, levels=[0, 1, 2])
-@@ -1042,7 +1063,7 @@ def test_levels_and_thresh(self, long_df):
- kdeplot(**plot_kws, levels=n, thresh=0, ax=ax2)
-
- for c1, c2 in zip(ax1.collections, ax2.collections):
-- assert_array_equal(c1.get_segments(), c2.get_segments())
-+ assert_array_equal(get_contour_coords(c1), get_contour_coords(c2))
- for c1, c2 in zip(ax1.collections, ax2.collections):
- assert_array_equal(c1.get_facecolors(), c2.get_facecolors())
-
-@@ -2322,13 +2343,13 @@ def test_bivariate_kde_norm(self, rng):
- z = [0] * 80 + [1] * 20
-
- g = displot(x=x, y=y, col=z, kind="kde", levels=10)
-- l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
-- l2 = sum(bool(c.get_segments()) for c in g.axes.flat[1].collections)
-+ l1 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[0].collections)
-+ l2 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[1].collections)
- assert l1 > l2
-
- g = displot(x=x, y=y, col=z, kind="kde", levels=10, common_norm=False)
-- l1 = sum(bool(c.get_segments()) for c in g.axes.flat[0].collections)
-- l2 = sum(bool(c.get_segments()) for c in g.axes.flat[1].collections)
-+ l1 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[0].collections)
-+ l2 = sum(bool(get_contour_coords(c)) for c in g.axes.flat[1].collections)
- assert l1 == l2
-
- def test_bivariate_hist_norm(self, rng):
-
-From a20ce3fabeb23c97b5827d9fb0c6a96ac109ea64 Mon Sep 17 00:00:00 2001
-From: Michael Waskom <mwaskom@gmail.com>
-Date: Sun, 31 Oct 2021 16:10:47 -0400
-Subject: [PATCH 3/4] Update legend tests for mpl3.5 compatability
-
----
- seaborn/tests/test_distributions.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/seaborn/tests/test_distributions.py b/seaborn/tests/test_distributions.py
-index 466efb69e..024fe7541 100644
---- a/seaborn/tests/test_distributions.py
-+++ b/seaborn/tests/test_distributions.py
-@@ -872,7 +872,7 @@ def test_legend(self, long_df):
- for label, level in zip(legend_labels, order):
- assert label.get_text() == level
-
-- legend_artists = ax.legend_.findobj(mpl.lines.Line2D)[::2]
-+ legend_artists = ax.legend_.findobj(mpl.lines.Line2D)
- palette = color_palette()
- for artist, color in zip(legend_artists, palette):
- assert_colors_equal(artist.get_color(), color)
-
diff --git a/gnu/packages/patches/python-seaborn-kde-test.patch b/gnu/packages/patches/python-seaborn-kde-test.patch
deleted file mode 100644
index f300dffc6f..0000000000
--- a/gnu/packages/patches/python-seaborn-kde-test.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-This patch is an excerpt of this upstream commit:
-
- commit 0a24478a550132f1882e5be5f5dbc0fc446a8a6c
- Author: Michael Waskom <mwaskom@users.noreply.github.com>
- Date: Mon Dec 21 18:44:58 2020 -0500
-
- Raise minimal supported Python to 3.7 and bump requirements (#2396)
-
-It fixes the failure of 'test_weights'.
-
---- a/seaborn/tests/test_distributions.py
-+++ b/seaborn/tests/test_distributions.py
-@@ -709,21 +708,17 @@ class TestKDEPlotUnivariate:
- integral = integrate.trapz(ydata, np.log10(xdata))
- assert integral == pytest.approx(1)
-
-- @pytest.mark.skipif(
-- LooseVersion(scipy.__version__) < "1.2.0",
-- reason="Weights require scipy >= 1.2.0"
-- )
- def test_weights(self):
-
- x = [1, 2]
- weights = [2, 1]
-
-- ax = kdeplot(x=x, weights=weights)
-+ ax = kdeplot(x=x, weights=weights, bw_method=.1)
-
- xdata, ydata = ax.lines[0].get_xydata().T
-
-- y1 = ydata[np.argwhere(np.abs(xdata - 1).min())]
-- y2 = ydata[np.argwhere(np.abs(xdata - 2).min())]
-+ y1 = ydata[np.abs(xdata - 1).argmin()]
-+ y2 = ydata[np.abs(xdata - 2).argmin()]
-
- assert y1 == pytest.approx(2 * y2)
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/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
index 73e5878546..5f2856dbb4 100644
--- a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
+++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch
@@ -5,6 +5,9 @@ Subject: [PATCH] Revert "tools: kwbimage: Do not hide usage of secure header
This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac.
+Addendum 2022-12-08, Ricardo Wurmus: This patch has been updated to introduce
+CONFIG_FIT_PRELOAD to remove fit_pre_load_data, which depends on openssl.
+
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 94b7685392..eec599b0ee 100644
--- a/tools/kwbimage.c
@@ -137,3 +140,66 @@ index 94b7685392..eec599b0ee 100644
*imagesz = headersz;
+--- a/tools/image-host.c
++++ b/tools/image-host.c
+@@ -14,10 +14,12 @@
+ #include <image.h>
+ #include <version.h>
+
++#ifdef CONFIG_FIT_PRELOAD
+ #include <openssl/pem.h>
+ #include <openssl/evp.h>
+
+ #define IMAGE_PRE_LOAD_PATH "/image/pre-load/sig"
++#endif
+
+ /**
+ * fit_set_hash_value - set hash value in requested has node
+@@ -1116,6 +1118,7 @@
+ return 0;
+ }
+
++#ifdef CONFIG_FIT_PRELOAD
+ /*
+ * 0) open file (open)
+ * 1) read certificate (PEM_read_X509)
+@@ -1224,6 +1227,7 @@
+ out:
+ return ret;
+ }
++#endif
+
+ int fit_cipher_data(const char *keydir, void *keydest, void *fit,
+ const char *comment, int require_keys,
+--- a/tools/fit_image.c
++++ b/tools/fit_image.c
+@@ -59,9 +59,10 @@
+ ret = fit_set_timestamp(ptr, 0, time);
+ }
+
++#ifdef CONFIG_FIT_PRELOAD
+ if (!ret)
+ ret = fit_pre_load_data(params->keydir, dest_blob, ptr);
+-
++#endif
+ if (!ret) {
+ ret = fit_cipher_data(params->keydir, dest_blob, ptr,
+ params->comment,
+--- a/include/image.h
++++ b/include/image.h
+@@ -1090,6 +1090,7 @@
+
+ int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
+
++#ifdef CONFIG_FIT_PRELOAD
+ /**
+ * fit_pre_load_data() - add public key to fdt blob
+ *
+@@ -1104,6 +1105,7 @@
+ * < 0, on failure
+ */
+ int fit_pre_load_data(const char *keydir, void *keydest, void *fit);
++#endif
+
+ int fit_cipher_data(const char *keydir, void *keydest, void *fit,
+ const char *comment, int require_keys,
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 0e21176751..f80d84eaa5 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -32,6 +32,7 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5206,6 +5207,27 @@ Linux, fsevents on OS X, @code{kqueue} on FreeBSD, and
back to a full directory scan if none of these are available.")
(license license:perl-license)))
+(define-public perl-getopt-argvfile
+ (package
+ (name "perl-getopt-argvfile")
+ (version "1.11")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-"
+ version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "08jvhfqcjlsn013x96qa6paif0095x6y60jslp8p3zg67i8sl29p"))))
+ (build-system perl-build-system)
+ (home-page "https://metacpan.org/release/Getopt-ArgvFile")
+ (synopsis "Perl module for reading script options and parameters from files")
+ (description "This module simply interpolates option file hints in @code{@@ARGV}
+by the contents of the pointed files. This enables option reading from files instead
+of or additional to the usual reading from the command line.")
+ (license license:artistic2.0)))
+
(define-public perl-getopt-long
(package
(name "perl-getopt-long")
@@ -6248,6 +6270,18 @@ expression and a list of abbreviations (built in and given).")
(base32
"1qgap0j0ixmif309dvbqca7sy8xha9xgnj9s2lvh8qrczkc92gqi"))))
(build-system perl-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'wrap-translit
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/translit")
+ `("PERL5LIB" ":" prefix
+ (,(getenv "PERL5LIB")
+ ,(string-append out "/lib/perl5/site_perl"))))))))))
+ (inputs (list bash-minimal))
(home-page "https://metacpan.org/release/Lingua-Translit")
(synopsis "Transliterate text between writing systems")
(description "@code{Lingua::Translit} can be used to convert text from one
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index d86d4e7294..4d85611101 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -755,50 +755,51 @@ a complete panorama and stitch any series of overlapping pictures.")
(define-public rawtherapee
(package
(name "rawtherapee")
- (version "5.8")
+ (version "5.9")
(source (origin
(method url-fetch)
(uri (string-append "https://rawtherapee.com/shared/source/"
"rawtherapee-" version ".tar.xz"))
(sha256
(base32
- "0lq8qi7g0a28h3rab7bk5bbbd4gvfma42bvlz1dfn8p9mah2h19n"))))
+ "08s81mxnrj183bss2rb0hac1qyn7bmcnk3x2ymg1cp0q5322ibwf"))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f ; no test suite
- #:build-type "release"
- #:configure-flags
- (list (string-append "-DLENSFUNDBDIR="
- (assoc-ref %build-inputs "lensfun")
- "/share/lensfun")
- ;; Don't optimize the build for the host machine. See the file
- ;; 'ProcessorTargets.cmake' in the source distribution for more
- ;; information.
- "-DPROC_TARGET_NUMBER=1"
- ;; These flags are recommended by upstream for distributed packages.
- ;; See the file 'RELEASE_NOTES.txt' in the source distribution.
- "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
- "-DCMAKE_C_FLAGS=-O3 -fPIC"
- "-DCACHE_NAME_SUFFIX=\"\"")))
+ (list
+ #:tests? #f ; no test suite
+ #:build-type "release"
+ #:configure-flags
+ #~(list (string-append "-DLENSFUNDBDIR="
+ #$(this-package-input "lensfun")
+ "/share/lensfun")
+ ;; Don't optimize the build for the host machine. See the file
+ ;; 'ProcessorTargets.cmake' in the source distribution for more
+ ;; information.
+ "-DPROC_TARGET_NUMBER=1"
+ ;; These flags are recommended by upstream for distributed packages.
+ ;; See the file 'RELEASE_NOTES.txt' in the source distribution.
+ "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
+ "-DCMAKE_C_FLAGS=-O3 -fPIC"
+ "-DCACHE_NAME_SUFFIX=\"\"")))
(native-inputs
(list pkg-config))
(inputs
- `(("expat" ,expat)
- ("fftw" ,fftwf)
- ("glib" ,glib)
- ("glibmm" ,glibmm)
- ("gtk+" ,gtk+)
- ("gtkmm" ,gtkmm-3)
- ("lcms" ,lcms)
- ("lensfun" ,lensfun)
- ("libcanberra" ,libcanberra)
- ("libiptcdata" ,libiptcdata)
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("librsvg" ,librsvg)
- ("libsigc++" ,libsigc++)
- ("libtiff" ,libtiff)
- ("zlib" ,zlib)))
+ (list expat
+ fftwf
+ glib
+ glibmm
+ gtk+
+ gtkmm-3
+ lcms
+ lensfun
+ libcanberra
+ libiptcdata
+ libjpeg-turbo
+ libpng
+ librsvg
+ libsigc++
+ libtiff
+ zlib))
(home-page "https://rawtherapee.com")
(synopsis "Raw image developing and processing")
(description "RawTherapee is a raw image processing suite. It comprises a
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index f7184bd49a..b580f8b2a7 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
@@ -406,6 +406,12 @@ from protobuf specification files.")
(base32
"1ja2vpk9nklllmsirmil2s4l7ni9yfqvbvj47zz5xx17s1k1bhxd"))))
(build-system python-build-system)
+ (inputs (list protobuf))
+ (arguments
+ `(;; Favor C++ implementation from protobuf over the native Python
+ ;; implementation. The additional dependency yields significant
+ ;; performance improvements for some workloads.
+ #:configure-flags '("--cpp_implementation")))
(home-page "https://github.com/google/protobuf")
(synopsis "Protocol buffers is a data interchange format")
(description
@@ -462,9 +468,8 @@ structured data.")
(sha256
(base32
"04bqb12smlckzmgkj6vgmpbr3cby0n6726cmz33bqr7kn1vb728l"))))
- (inputs
- (cons python-six
- (package-inputs python-protobuf)))))
+ (arguments '()) ;no "--cpp_implementation" here
+ (inputs (list python-six))))
(define-public python-proto-plus
(package
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..dab044d9f7 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -290,26 +290,6 @@ logic, also known as grey logic.")
genetic variation data.")
(license license:expat)))
-(define-public python-sgp4
- (package
- (name "python-sgp4")
- (version "2.12")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sgp4" version))
- (sha256
- (base32 "0dncp9i5b6afkg7f8mj9j0qzsp008b8v73yc0qkmizhpns7mvwvx"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-numpy))
- (home-page "https://github.com/brandon-rhodes/python-sgp4")
- (synopsis "Track earth satellite TLE orbits using SGP4")
- (description
- "This package provides a Python implementation of the most recent version
-of the SGP4 satellite tracking algorithm.")
- (license license:expat)))
-
(define-public python-trimesh
(package
(name "python-trimesh")
@@ -693,14 +673,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-web.scm b/gnu/packages/python-web.scm
index 4f3a587c6a..7543e05f47 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -513,6 +513,35 @@ comes with a SOCKS proxy client.")
(base32
"1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0"))))))
+(define-public python-aiostream
+ (package
+ (name "python-aiostream")
+ (version "0.4.5")
+ (source (origin
+ ;; Tests not included in pypi release.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vxgmichel/aiostream")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0l2ijb7yk0820wiyf6zrzx8fhzf8925an7r06mcaw3in1mr6rssq"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest
+ python-pytest-asyncio
+ python-pytest-cov
+ python-pytest-runner))
+ (home-page "https://github.com/vxgmichel/aiostream")
+ (synopsis "Generator-based operators for asynchronous iteration")
+ (description "@code{aiostream} provides a collection of stream operators that can
+be combined to create asynchronous pipelines of operations. It can be seen as an
+asynchronous version of @code{itertools}, although some aspects are slightly
+different. All the provided operators return a unified interface called a stream. A
+stream is an enhanced asynchronous iterable.")
+ (license license:gpl3)))
+
(define-public python-asgiref
(package
(name "python-asgiref")
@@ -3860,6 +3889,38 @@ SlimIt also provides a library that includes a JavaScript parser, lexer,
pretty printer and a tree visitor.")
(license license:expat)))
+(define-public python-flask-jwt
+ (package
+ (name "python-flask-jwt")
+ (version "0.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Flask-JWT" version))
+ (sha256
+ (base32
+ "1bfh7cr0sf65rn4h1q67472y6ml9s8c4k0xxfhrwvwg0plpngh29"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'compatibility
+ (lambda _
+ (substitute* "setup.cfg"
+ (("\\[pytest\\]") "[tool:pytest]"))
+ (substitute* "requirements.txt"
+ (("PyJWT>=1.4.0,<1.5.0") "PyJWT>=2.0.0"))
+ (substitute* '("tests/test_jwt.py"
+ "flask_jwt/__init__.py")
+ (("access_token.decode\\('utf-8'\\)") "access_token")))))))
+ (propagated-inputs (list python-flask python-pyjwt))
+ (native-inputs (list python-pytest))
+ (home-page "https://github.com/mattupstate/flask-jwt")
+ (synopsis "JWT token authentication for Flask apps")
+ (description "This package implements JWT token authentication for Flask
+apps.")
+ (license license:expat)))
+
(define-public python-flask-restful
(package
(name "python-flask-restful")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 87963f9f19..8591423116 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)
@@ -562,6 +565,24 @@ and variables you'll need already imported and created.
(home-page "https://github.com/google/python-fire")
(license license:asl2.0)))
+(define-public python-fit-nbinom
+ (package
+ (name "python-fit-nbinom")
+ (version "1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "fit_nbinom" version))
+ (sha256
+ (base32
+ "12v8l5i35vjbpvh5i4lw29ys6vpr3z7pysyrx33hxaq09zr015mx"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-numpy python-scipy))
+ (home-page "https://github.com/joachimwolff/fit_nbinom")
+ (synopsis "Negative binomial maximum likelihood estimator")
+ (description "This package provides an implementation in Python using
+scipy and numpy of negative binomial maximum likelihood estimation.")
+ (license license:gpl3+)))
+
(define-public python-dotmap
(package
(name "python-dotmap")
@@ -898,6 +919,24 @@ template")
variables into the markdown template")
(license license:expat)))
+(define-public python-py4j
+ (package
+ (name "python-py4j")
+ (version "0.10.9.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "py4j" version))
+ (sha256
+ (base32
+ "1fwdx92cdaiviradksfyygg05g1fpc3x2lf65bv5rnispcam6vhb"))))
+ (build-system python-build-system)
+ (home-page "https://www.py4j.org/")
+ (synopsis "Dynamically access arbitrary Java objects from Python")
+ (description
+ "This package enables Python programs to dynamically access arbitrary
+Java objects.")
+ (license license:bsd-3)))
+
(define-public python-pymdown-extensions
(package
(name "python-pymdown-extensions")
@@ -921,6 +960,36 @@ variables into the markdown template")
Markdown. All extensions are found under the module namespace of pymdownx.")
(license license:expat)))
+(define-public python-pint
+ (package
+ (name "python-pint")
+ (version "0.19.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Pint" version))
+ (sha256
+ (base32
+ "1bsbiikm9i4saqc6mc3minkmrgnsgcg734agsvd7icqhyngrim71"))))
+ (build-system python-build-system)
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov
+ python-pytest-mpl
+ python-pytest-subtests
+ python-setuptools-scm
+ python-sparse
+ python-dask
+ python-xarray
+ python-distributed))
+ (home-page "https://github.com/hgrecco/pint")
+ (synopsis "Physical quantities module")
+ (description
+ "Pint is a Python package to define, operate and manipulate physical
+quantities: the product of a numerical value and a unit of measurement. It
+allows arithmetic operations between them and conversions from and to
+different units.")
+ (license license:bsd-3)))
+
(define-public python-plotille
(package
(name "python-plotille")
@@ -3008,6 +3077,29 @@ the optional C extension for speedups. Simplejson is also supported on
Python 3.3+.")
(license license:x11)))
+(define-public python-simple-rlp
+ (package
+ (name "python-simple-rlp")
+ (version "0.1.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SamuelHaidu/simple-rlp")
+ ;; Upstream doesn't tag the git repo.
+ (commit "342ea269d84da1ddc4a7630cdebc90159261391c")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1nv92sphpkyrncak4qgj50qmgkmj4ycl2szbnv9c7ihgl5df4div"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/SamuelHaidu/simple-rlp")
+ (synopsis
+ "Python implementation of RLP (Recursive Length Prefix) encoding")
+ (description
+ "@code{simple-rlp} is a python implementation of RLP (Recursive Length \
+Prefix) - Encode and decode data structures.")
+ (license license:expat)))
(define-public python-pyicu
(package
@@ -3228,6 +3320,46 @@ existing ones.")
a certain expected condition.")
(license license:expat)))
+(define-public python-pomegranate
+ (package
+ (name "python-pomegranate")
+ (version "0.14.8")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pomegranate" version))
+ (sha256
+ (base32
+ "0gb9srkbxzlkjyfizvxkw5y0bvnfcyiaxapz0hrdaba8j096b5i2"))
+ (modules '((guix build utils)))
+ ;; Delete generated Cython C files.
+ (snippet
+ '(for-each delete-file (find-files "." "\\.c$")))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "setup.py" "test")))))))
+ (propagated-inputs
+ (list python-joblib
+ python-networkx
+ python-numpy
+ python-pyyaml
+ python-scipy))
+ (native-inputs
+ (list python-cython
+ python-nose
+ python-pandas))
+ (home-page "https://pypi.python.org/pypi/pomegranate/")
+ (synopsis "Graphical models library for Python")
+ (description
+ "Pomegranate is a graphical models library for Python, implemented in
+Cython for speed.")
+ (license license:expat)))
+
(define-public python-poyo
(package
(name "python-poyo")
@@ -3668,18 +3800,6 @@ with sensible defaults out of the box.")
(base32 "06kbzd6sjfkqan3miwj9wqyddfxc2b6hi7p5s4dvqjb3gif2bdfj"))))
(arguments `())))
-(define-public python-click-5
- (package (inherit python-click)
- (name "python-click")
- (version "5.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "click" version))
- (sha256
- (base32 "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"))))
- (arguments `())))
-
(define-public python-cligj
(package
(name "python-cligj")
@@ -4634,6 +4754,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")
@@ -4831,6 +5018,23 @@ text styles of documentation.")
(description "This package installs Github custom lexers to Pygments.")
(license license:bsd-3)))
+(define-public python-pygtrie
+ (package
+ (name "python-pygtrie")
+ (version "2.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pygtrie" version))
+ (sha256
+ (base32
+ "1qm4xdmzd4q5pc9h5gjdpr5m7lg06k8dvqnjn7d07d3fhani8d90"))))
+ (build-system pyproject-build-system)
+ (home-page "https://github.com/mina86/pygtrie")
+ (synopsis "Pure Python trie data structure implementation")
+ (description
+ "This package provides a pure Python trie data structure implementation.")
+ (license license:asl2.0)))
+
(define-public python-bump2version
(package
(name "python-bump2version")
@@ -10169,40 +10373,37 @@ SVG, EPS, PNG and terminal output.")
(define-public python-seaborn
(package
(name "python-seaborn")
- (version "0.11.2")
+ (version "0.12.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "seaborn" version))
(sha256
(base32
- "1xpl3zb945sihsiwm9q1yyx84sakk1phcg0fprj6i0j0dllfjifg"))
- (patches (search-patches "python-seaborn-kde-test.patch"
- "python-seaborn-2690.patch"))))
- (build-system python-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch-more-tests
- (lambda _
- (substitute* "seaborn/tests/test_distributions.py"
- (("get_contour_color\\(ax\\.collections\\[0\\]\\)")
- "get_contour_color(ax.collections[0])")
- (("c\\.get_color\\(\\)") "get_contour_color(c)")
- (("def test_hue_ignores_cmap")
- "def skip_test_hue_ignores_cmap")
- (("def test_fill_artists")
- "def skip_test_fill_artists")
- (("def test_with_rug") "def skip_test_with_rug"))))
- (add-before 'check 'start-xserver
- (lambda _
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "seaborn")))))))
+ "08vvnp4ps86857imxz2l5xi2vir5xdcdp3apq4badb4b5llifgw9"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:modules '((guix build python-build-system)
+ (guix build utils)
+ (ice-9 match))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel"
+ "--no-isolation" ".")))
+ (replace 'install
+ (lambda _
+ (match (find-files "dist" "\\.whl$")
+ ((wheel _ ...)
+ (invoke "python" "-m" "pip" "install"
+ (string-append "--prefix=" #$output)
+ wheel)))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
(propagated-inputs (list python-pandas python-matplotlib python-numpy
python-scipy))
- (native-inputs (list python-pytest xorg-server-for-tests))
+ (native-inputs (list python-flit-core python-pypa-build python-pytest))
(home-page "https://seaborn.pydata.org/")
(synopsis "Statistical data visualization")
(description
@@ -14709,7 +14910,7 @@ with a new public API, and RPython support.")
(define-public python-hy
(package
(name "python-hy")
- (version "0.24.0")
+ (version "0.25.0")
(source
(origin
(method git-fetch) ; no tests in PyPI release
@@ -14718,7 +14919,7 @@ with a new public API, and RPython support.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1s458ymd9g3s8k2ccc300jr4w66c7q3vhmhs9z3d3a4qg0xdhs9y"))))
+ (base32 "1am6z9m0s9svysj0wrfz069rpvbqqimphqll3912q4bvdlz6vrjp"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -20831,6 +21032,34 @@ while only declaring the test-specific fields.")
as Swagger.")
(license license:expat)))
+(define-public python-apispec-webframeworks
+ (package
+ (name "python-apispec-webframeworks")
+ (version "0.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "apispec-webframeworks" version))
+ (sha256
+ (base32
+ "1wyw30402xq2a8icrsjmy9v43jyvawcjd85ccb2zicqlg4k5pcqd"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-apispec))
+ (native-inputs
+ (list python-bottle
+ python-flake8
+ python-flake8-bugbear
+ python-flask
+ python-mock
+ python-pre-commit
+ python-pytest
+ python-tornado
+ python-tox))
+ (home-page "https://github.com/marshmallow-code/apispec-webframeworks")
+ (synopsis "Web framework plugins for apispec")
+ (description "This package provides plugins for using @code{apispec} with
+web frameworks.")
+ (license license:expat)))
+
(define-public python-flasgger
(package
(name "python-flasgger")
@@ -22364,6 +22593,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 +23330,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")
@@ -25429,7 +25703,7 @@ scripts to load entry points more quickly.")
(define-public python-funcparserlib
(package
(name "python-funcparserlib")
- (version "1.0.0")
+ (version "1.0.1")
(source
(origin
;; Source tarball on PyPi lacks tests.
@@ -25439,7 +25713,7 @@ scripts to load entry points more quickly.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "00pswdys5c4hpqpvfcy5zqv30gyjvjvagi12811jizw57hxrm1cs"))))
+ (base32 "0dw3i4fyf3j9h1l7xfgs99fc2w2axk6xqk0sdag43k444ss4hkrc"))))
(build-system pyproject-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index a0ced6451b..519a7d1548 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,16 +2728,39 @@ 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/ffmpeg"
+ "third_party/fdlibm"
+ "third_party/ffmpeg/libavcodec/avcodec.h"
+ "third_party/ffmpeg/libavcodec/packet.h"
+ "third_party/ffmpeg/libavformat/avformat.h"
+ "third_party/ffmpeg/libavformat/avio.h"
+ "third_party/ffmpeg/libavutil/avutil.h"
+ "third_party/ffmpeg/libavutil/imgutils.h"
+ "third_party/ffmpeg/libavutil/log.h"
+ "third_party/ffmpeg/libavutil/mathematics.h"
+ "third_party/ffmpeg/libavutil/opt.h"
+ "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"
+ "third_party/icu" ;TODO: make pdfium use system version
"third_party/inspector_protocol"
"third_party/jinja2"
"third_party/jsoncpp"
@@ -2730,19 +2768,35 @@ 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/libpng"
+ "third_party/libjxl"
+ "third_party/libpng" ;TODO: make pdfium use system version
"third_party/libsrtp"
"third_party/libsync"
"third_party/libudev"
+ "third_party/liburlpattern"
"third_party/libvpx"
"third_party/libwebm"
- "third_party/libwebp"
- "third_party/libxml"
- "third_party/libxslt"
+ "third_party/libwebp/src/webp/decode.h"
+ "third_party/libwebp/src/webp/demux.h"
+ "third_party/libwebp/src/webp/encode.h"
+ "third_party/libwebp/src/webp/format_constants.h"
+ "third_party/libwebp/src/webp/mux.h"
+ "third_party/libwebp/src/webp/mux_types.h"
+ "third_party/libwebp/src/webp/types.h"
+ "third_party/libx11"
+ "third_party/libxcb-keysyms"
+ "third_party/libxml/chromium"
"third_party/libyuv"
+ "third_party/lottie"
"third_party/lss"
"third_party/mako"
"third_party/markupsafe"
@@ -2750,18 +2804,27 @@ 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/opus"
+ "third_party/openh264"
+ "third_party/opus/src/include/opus.h"
+ "third_party/opus/src/include/opus_custom.h"
+ "third_party/opus/src/include/opus_defines.h"
+ "third_party/opus/src/include/opus_multistream.h"
+ "third_party/opus/src/include/opus_types.h"
"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 +2840,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 +2865,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/zlib"
+ "third_party/wuffs"
+ "third_party/x11proto"
+ "third_party/zlib" ;TODO: make pdfium use system version
"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 +2881,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*
@@ -2910,15 +2931,29 @@ linux/libcurl_wrapper.h"
"-DQT_FEATURE_webengine_printing_and_pdf=OFF"
"-DQT_FEATURE_webengine_pepper_plugins=OFF" ;widevine
"-DQT_FEATURE_system_ffmpeg=ON"
+
;; Do not artificially limit codec support; video decoding is
;; done by ffmpeg.
"-DQT_FEATURE_webengine_proprietary_codecs=ON"
+
+ ;; Use system libraries where possible (see src/core/CMakeLists.txt).
"-DQT_FEATURE_webengine_system_alsa=ON"
+ "-DQT_FEATURE_webengine_system_ffmpeg=ON"
+ "-DQT_FEATURE_webengine_system_freetype=ON"
+ "-DQT_FEATURE_webengine_system_harfbuzz=ON"
"-DQT_FEATURE_webengine_system_icu=ON"
- "-DQT_FEATURE_webengine_system_libxml=ON"
+ "-DQT_FEATURE_webengine_system_lcms2=ON"
+ "-DQT_FEATURE_webengine_system_libevent=ON"
+ "-DQT_FEATURE_webengine_system_libjpeg=ON"
"-DQT_FEATURE_webengine_system_libpci=ON"
"-DQT_FEATURE_webengine_system_libpng=ON"
+ "-DQT_FEATURE_webengine_system_libwebp=ON"
+ "-DQT_FEATURE_webengine_system_libxml=ON"
+ "-DQT_FEATURE_webengine_system_libxslt=ON"
+ "-DQT_FEATURE_webengine_system_minizip=ON"
+ "-DQT_FEATURE_webengine_system_opus=ON"
"-DQT_FEATURE_webengine_system_pulseaudio=ON"
+ "-DQT_FEATURE_webengine_system_re2=ON"
"-DQT_FEATURE_webengine_system_zlib=ON")
#:phases
#~(modify-phases %standard-phases
@@ -2980,10 +3015,12 @@ linux/libcurl_wrapper.h"
(append clang-14
lld-as-ld-wrapper
python-wrapper
+ python-beautifulsoup4
python-html5lib)))
(inputs
(modify-inputs (package-inputs qtwebengine-5)
(replace "qtmultimedia" qtmultimedia)
+ (replace "harfbuzz" harfbuzz-5)
(append libxkbfile xkeyboard-config)))
(propagated-inputs
(modify-inputs (package-propagated-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/ruby.scm b/gnu/packages/ruby.scm
index 9cf57a325a..c0eae1d57a 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -225,7 +225,7 @@ a focus on simplicity and productivity.")
(define-public ruby-3.1
(package
(inherit ruby-3.0)
- (version "3.1.2")
+ (version "3.1.3")
(source
(origin
(method url-fetch)
@@ -234,7 +234,7 @@ a focus on simplicity and productivity.")
"/ruby-" version ".tar.xz"))
(sha256
(base32
- "0amzqczgvr51ilcqfgw0n41hrfanzi0wh8k6am3x5dm1z0bx046a"))))))
+ "06ipqz45qcs0y1273gk2gwslxwd7jgighz3mzbddzg16k29n3qaf"))))))
(define-public ruby ruby-2.7)
diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm
index 693489264d..20a1ebd4aa 100644
--- a/gnu/packages/rust-apps.scm
+++ b/gnu/packages/rust-apps.scm
@@ -20,6 +20,9 @@
;;; 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>
+;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,11 +40,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 +1032,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 +1922,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 +2105,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 +2271,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
@@ -2062,3 +2326,27 @@ It will then write @code{fixup!} commits for each of those changes.")
track of the directories you use most frequently, and uses a ranking algorithm
to navigate to the best match.")
(license license:expat)))
+
+(define-public htmlq
+ (package
+ (name "htmlq")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "htmlq" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0912cdkz5xji1hzfj1cf42zh1kd860b52xmwwhb7q2jhp6qk25jh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-clap" ,rust-clap-2)
+ ("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-kuchiki" ,rust-kuchiki-0.8)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-url" ,rust-url-2))))
+ (home-page "https://github.com/mgdm/htmlq")
+ (synopsis "Like jq, but for HTML")
+ (description "Extract content from HTML files using CSS selectors.")
+ (license license:expat)))
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/shells.scm b/gnu/packages/shells.scm
index cc34f0a0a0..b607060716 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -540,14 +540,14 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
- (version "0.13.3")
+ (version "0.13.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32
- "154s4lbda3n8kamiyblfrv8isn3hnqyxw2k99qicyfll02chpjzl"))
+ "19r1g8i8k6ds7ncvqdh58vkm4m5hz4w9zbglmg1mi7xcdqp4ax8h"))
(modules '((guix build utils)))
(snippet
#~(begin
diff --git a/gnu/packages/sqlite.scm b/gnu/packages/sqlite.scm
index 7e8d444b7d..71cc923a3a 100644
--- a/gnu/packages/sqlite.scm
+++ b/gnu/packages/sqlite.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -113,10 +114,10 @@ is in the public domain.")
(define-public sqlite-next
(package
(inherit sqlite)
- (version "3.39.3")
+ (version "3.40.0")
(source (origin
(method url-fetch)
(uri (sqlite-uri version 2022))
(sha256
(base32
- "1f922kq16g7f4h3gpzim78lvrp5xw9nvlvqw97s2qgxyh8qgns3q"))))))
+ "1rw0i63822pdkb3a16sqj4jdcp5zg0ffjmi26mshqw6jfqh5acq3"))))))
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..4c7609683b 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -45,6 +45,7 @@
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
@@ -486,14 +487,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 +656,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 +826,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 +1079,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 +1138,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 +1430,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 +1516,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 +1560,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 +1969,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
@@ -2010,6 +2011,36 @@ and fast file reading.")
"This package provides tools to export R data as LaTeX and HTML tables.")
(license license:gpl2+)))
+(define-public python-hdmedians
+ (package
+ (name "python-hdmedians")
+ (version "0.14.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "hdmedians" version))
+ (sha256
+ (base32
+ "1mn2k8srnmfy451l7zvb2l4hn9701bc5awjm6q3vmqbicyqyqyml"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-before 'check 'build-extensions
+ (lambda _
+ ;; Cython extensions have to be built before running the tests.
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+ (propagated-inputs (list python-cython python-numpy))
+ (native-inputs (list python-nose))
+ (home-page "http://github.com/daleroberts/hdmedians")
+ (synopsis "High-dimensional medians")
+ (description "Various definitions for a high-dimensional median exist and
+this Python package provides a number of fast implementations of these
+definitions. Medians are extremely useful due to their high breakdown
+point (up to 50% contamination) and have a number of nice applications in
+machine learning, computer vision, and high-dimensional statistics.")
+ (license license:asl2.0)))
+
(define-public python-patsy
(package
(name "python-patsy")
@@ -2111,14 +2142,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 +2437,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 +2760,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 +2852,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 +2969,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 +3162,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 +3318,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 +3707,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 +3716,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 +3791,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 +3938,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 +4051,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 +4152,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 +4342,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 +4411,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 +4648,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 +4755,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 +4774,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 +5578,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 +5621,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 +5748,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 +6076,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 +6797,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/telephony.scm b/gnu/packages/telephony.scm
index 13feedbb2e..302b351fbb 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -67,6 +67,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libcanberra)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages linphone)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
@@ -79,6 +80,8 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages samba)
+ #:use-module (gnu packages security-token)
#:use-module (gnu packages serialization)
#:use-module (gnu packages speech)
#:use-module (gnu packages tls)
@@ -926,3 +929,104 @@ gateway. It implements the STUN (Session Traversal Utilities for NAT) and
TURN (Traversal Using Relays around NAT) server protocols.")
(home-page "https://github.com/coturn/coturn")
(license license:bsd-3)))
+
+(define-public libosmocore
+ (package
+ (name "libosmocore")
+ (version "1.7.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitea.osmocom.org/osmocom/libosmocore.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "147ld3xwb9k6vb56hk8q8jkcb5ahxl66v87vdhazb6rxj3frsjqf"))))
+ (arguments
+ (list #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-bin-sh
+ (lambda _
+ (substitute* '("git-version-gen" "src/exec.c")
+ (("/bin/sh")
+ (which "sh"))))))))
+ (inputs (list gnutls
+ libmnl
+ libusb
+ lksctp-tools
+ pcsc-lite
+ talloc))
+ (native-inputs (list autoconf
+ automake
+ coreutils
+ doxygen
+ libtool
+ pkg-config
+ python))
+ (build-system gnu-build-system)
+ (synopsis "Libraries for sharing common code between osmocom projects")
+ (description
+ "Libosmocore includes several libraries:
+@itemize
+@item libosmocore: general-purpose functions
+@item libosmovty: interactive VTY command-line interface
+@item libosmogsm: definitions and helper code related to GSM protocols
+@item libosmoctrl: shared implementation of the Osmocom control interface
+@item libosmogb: implementation of the Gb interface with its NS/BSSGP protocols
+@item libosmocodec: implementation of GSM voice codecs
+@item libosmocoding: implementation of GSM 05.03 burst transcoding functions
+@item libosmosim: infrastructure to interface with SIM/UICC/USIM cards
+@end itemize")
+ (home-page "https://osmocom.org/projects/libosmocore/wiki/Libosmocore")
+ (license license:gpl2+)))
+
+(define-public xgoldmon
+ ;; There are no releases nor tags.
+ (let ((revision "1")
+ (commit "f2d5372acee4e492f31f6ba8b850cfb48fbbe478"))
+ (package
+ (name "xgoldmon")
+ (version (git-version "1.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/2b-as/xgoldmon")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dvgagqsbwq1sd5qjzk0hd9rxnv2vnmhazvv5mz4pj7v467amgdz"))))
+ (arguments
+ (list #:tests? #f ;no tests
+ #:make-flags #~(list (string-append "CC="
+ #$(cc-for-target)))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (let ((bin (string-append #$output "/bin"))
+ (doc (string-append #$output "/share/doc")))
+ (install-file "xgoldmon" bin)
+ (install-file "README" doc)
+ (install-file
+ "screenshot-mtsms-while-in-a-call.png" doc)))))))
+ (inputs (list libosmocore lksctp-tools talloc))
+ (native-inputs (list pkg-config))
+ (build-system gnu-build-system)
+ (synopsis "Displays cellular network protocol traces in Wireshark")
+ (description
+ "xgoldmon is an utility that converts the USB logging mode
+messages that various Intel/Infineon XGold modems send to the USB port to
+gsmtap. It then then sends them to a given IP address to enable users
+to view cellular network protocol traces in Wireshark.
+
+It supports the following smartphones:
+@itemize
+@item Samsung Galaxy S4, GT-I9500 variant
+@item Samsung Galaxy SIII, GT-I9300 variant
+@item Samsung Galaxy Nexus, GT-I9250 variant
+@item Samsung Galaxy SII, GT-I9100 variant
+@item Samsung Galaxy Note II, GT-N7100 variant
+@end itemize")
+ (home-page "https://github.com/2b-as/xgoldmon")
+ (license license:gpl2+))))
diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm
index 7108d1e067..1dd6d47fdd 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>
@@ -103,14 +103,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/textutils.scm b/gnu/packages/textutils.scm
index 2264e3ccb6..151add964e 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -210,11 +210,11 @@ normalization, case-folding, and other operations for data in the UTF-8
encoding, supporting Unicode version 9.0.0.")
(license license:expat)))
-(define-public utf8proc-2.6.1
+(define-public utf8proc-2.7.0
(package
(inherit utf8proc)
(name "utf8proc")
- (version "2.6.1")
+ (version "2.7.0")
(source
(origin
(method git-fetch)
@@ -223,7 +223,7 @@ encoding, supporting Unicode version 9.0.0.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1zqc6airkzkssbjxanx5v8blfk90180gc9id0dx8ncs54f1ib8w7"))))
+ (base32 "1wrsmnaigal94gc3xbzdrrm080zjhihjfdla5admllq2w5dladjj"))))
(arguments
(substitute-keyword-arguments (package-arguments utf8proc)
((#:phases phases)
@@ -239,14 +239,14 @@ encoding, supporting Unicode version 9.0.0.")
(native-inputs
(append
(package-native-inputs utf8proc)
- (let ((UNICODE_VERSION "13.0.0"))
+ (let ((UNICODE_VERSION "14.0.0"))
`(("DerivedCoreProperties.txt"
,(origin
(method url-fetch)
(uri (string-append "https://www.unicode.org/Public/"
UNICODE_VERSION "/ucd/DerivedCoreProperties.txt"))
(sha256
- (base32 "0j12x112cd8fpgazkc8izxnhhpia44p1m36ff8yapslxndcmzm55"))))
+ (base32 "1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3"))))
;; For tests
("ruby" ,ruby)))))))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index f1e844b608..1f40537b6a 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -1002,25 +1002,16 @@ number generator")
(name "mbedtls-apache")
;; XXX Check whether ‘-Wformat-signedness’ still breaks mbedtls-for-hiawatha
;; when updating.
- (version "2.26.0")
+ (version "2.28.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ARMmbed/mbedtls")
(commit (string-append "mbedtls-" version))))
- (sha256
- (base32 "0scwpmrgvg6q7rvqkc352d2fqlsx0aylcbyibcp1f1rsn8iiif2m"))
(file-name (git-file-name name version))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Can be removed with the next version.
- ;; Reduce level of format truncation warnings due to false positives.
- ;; https://github.com/ARMmbed/mbedtls/commit/2065a8d8af27c6cb1e40c9462b5933336dca7434
- (substitute* "CMakeLists.txt"
- (("Wformat-truncation=2") "Wformat-truncation"))
- #t))))
+ (sha256
+ (base32 "0s37dsi29v7146fi9k4frvx5rz2snxdm6c3rwq2fvnca2r80hfjl"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -1030,8 +1021,7 @@ number generator")
(modify-phases %standard-phases
(add-after 'unpack 'make-source-writable
(lambda _
- (for-each make-file-writable (find-files "."))
- #t)))))
+ (for-each make-file-writable (find-files ".")))))))
(native-inputs
(list perl python))
(synopsis "Small TLS library")
@@ -1048,6 +1038,26 @@ coding footprint.")
(hidden-package
(package
(inherit mbedtls-apache)
+ (name "mbedtls-apache")
+ (version "2.26.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ARMmbed/mbedtls")
+ (commit (string-append "mbedtls-" version))))
+ (sha256
+ (base32 "0scwpmrgvg6q7rvqkc352d2fqlsx0aylcbyibcp1f1rsn8iiif2m"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Can be removed with the next version.
+ ;; Reduce level of format truncation warnings due to false positives.
+ ;; https://github.com/ARMmbed/mbedtls/commit/2065a8d8af27c6cb1e40c9462b5933336dca7434
+ (substitute* "CMakeLists.txt"
+ (("Wformat-truncation=2") "Wformat-truncation"))
+ #t))))
(arguments
(substitute-keyword-arguments (package-arguments mbedtls-apache)
((#:phases phases)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 70a9cd4033..5a6d6827b9 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3198,7 +3198,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt
(package
(name "mlt")
- (version "7.8.0")
+ (version "7.12.0")
(source
(origin
(method git-fetch)
@@ -3207,7 +3207,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01589xpx1vgx1l1zjg553nbjks5wy31rdvyq1sjnbp9w7p7nzjdg"))))
+ (base32 "182i6fgn9aiskj62kj10cxf5wh233a241n7qvh0l95il01zmpfb3"))))
(build-system cmake-build-system)
(arguments
(list
@@ -4857,7 +4857,7 @@ transitions, and effects and then export your film to many common formats.")
(define-public shotcut
(package
(name "shotcut")
- (version "22.10.25")
+ (version "22.11.25")
(source
(origin
(method git-fetch)
@@ -4866,7 +4866,7 @@ transitions, and effects and then export your film to many common formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "12n179d1ymmzvlx5rzwmd89gwaa731b4y66nfl8wlr88wss4mncm"))))
+ (base32 "01qv0lb57kgmi5shcnhjwf47vqvbyjndxx6v7ha3sh4x5r8x0mrn"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ;there are no tests
@@ -5120,7 +5120,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)
@@ -5129,10 +5129,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.
@@ -5150,7 +5148,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)))
@@ -5606,3 +5605,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 61e1d1f1bc..c1e9e943c0 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -189,6 +189,7 @@
#:use-module (gnu packages video)
#:use-module (gnu packages vim)
#:use-module (gnu packages wget)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module ((srfi srfi-1) #:select (delete-duplicates)))
@@ -4896,6 +4897,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"))
@@ -7701,6 +7765,46 @@ bookmarks directly. It can also present them in a web interface with
@command{bukuserver}.")
(license license:gpl3+)))
+(define-public buku-run
+ (package
+ (name "buku-run")
+ (version "0.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/carnager/buku_run")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1zyjjf3b8g3dnymcrg683rbnc6qrvx8ravfm833n7kjrqky3bczn"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:tests? #f ;no tests
+ #:make-flags
+ #~(list (string-append "DESTDIR=" #$output)
+ "PREFIX=")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'fixpath
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "buku_run"
+ ((" \\<(rofi)\\>" all cmd)
+ (string-append " " (search-input-file inputs "/bin/rofi")))
+ (("\\<(buku)\\> " all cmd)
+ (string-append (search-input-file inputs "/bin/buku") " "))
+ (("\\<(awk|gawk)\\>" cmd)
+ (search-input-file inputs "/bin/awk"))
+ (("/etc/buku_run.config" path)
+ (string-append #$output path))))))))
+ (inputs (list buku rofi))
+ (home-page "https://github.com/carnager/buku_run")
+ (synopsis "rofi frontend for buku bookmarks manager")
+ (description
+ "This package provides a rofi frontend for the buku bookmark manager.")
+ (license license:gpl3+)))
+
(define-public anonip
(package
(name "anonip")
@@ -7849,7 +7953,7 @@ solution for any project's interface needs:
(define-public gmid
(package
(name "gmid")
- (version "1.8.5")
+ (version "1.8.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -7857,7 +7961,7 @@ solution for any project's interface needs:
version "/gmid-" version ".tar.gz"))
(sha256
(base32
- "0p3wr3ic4c50wxi7sr1hi8m8izmmjnazcmyqvxaf56yx58b3gpxv"))))
+ "1j0bgnixffz2lv5xgp5c88hl146c1vyk1988gyd70mhgyl9700jy"))))
(build-system gnu-build-system)
(arguments
(list #:test-target "regress"
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index cf0dc63a38..d3a7716c23 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1055,7 +1055,7 @@ experience.")
(define-public fnott
(package
(name "fnott")
- (version "1.2.1")
+ (version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1064,7 +1064,7 @@ experience.")
(file-name (git-file-name name version))
(sha256
(base32
- "1770p5hfswbaa15zmjh10n7fskch00d3y03ij3gfb1v4q314nb9n"))))
+ "00zg03nz79kqcsnwmm22friawhvl05f93yxpvqmy5wvggx9hrlz8"))))
(build-system meson-build-system)
(arguments `(#:build-type "release"))
(native-inputs
@@ -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,81 @@ 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))))
+
+(define-public velox
+ (let ((commit "fcc041265539befd907a64ee3a536cb2489ffb99")
+ (revision "1"))
+ (package
+ (name "velox")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/michaelforney/velox")
+ (commit commit)))
+ (sha256
+ (base32
+ "0d11bmag5zwmas3rf1b7x5hjla7wpxq70nr86dz3x9r7cal04mym"))
+ (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 libinput libxkbcommon wayland wld))
+ (propagated-inputs (list swc))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/michaelforney/velox")
+ (synopsis "Simple window manager based on swc")
+ (description "velox is a simple window manager for Wayland based on swc.
+It is inspired by dwm and xmonad.")
+ (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/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 9cc7cc652a..5c4fd79091 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -3169,14 +3169,16 @@ if there's more than one.")
(define-public xkbset
(package
(name "xkbset")
- (version "0.6")
+ (version "0.8")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://faculty.missouri.edu/~stephen/software/"
- name "/" name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stephenmontgomerysmith/xkbset")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "199mlm127zk1lr8nrq22n68l2l8cjwc4cgwd67rg1i6497n2y0xc"))))
+ (base32 "1xa6sgvnwynl2qrjnsppvb2vg4p5v1pisrfhrmnlymw1fzhh6s9p"))))
(build-system gnu-build-system)
(inputs
(list libx11 perl perl-tk))
@@ -3209,7 +3211,7 @@ if there's more than one.")
(string-append (assoc-ref outputs "out")
"/share/doc/" ,name "-" ,version))
#t)))))
- (home-page "https://faculty.missouri.edu/~stephen/software/")
+ (home-page "https://stephenmontgomerysmith.github.io/software/#xkbset")
(synopsis "User-preference utility for XKB extensions for X")
(description
"This is a program to help manage many of the XKB features of the X Window
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 2b1974d77e..4908af8edd 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -2023,7 +2023,9 @@ raise a deprecation warning if the 'compression-level' field was used."
(define %guix-publish-log-rotations
(list (log-rotation
- (files (list "/var/log/guix-publish.log")))))
+ (files (list "/var/log/guix-publish.log"))
+ (options `("rotate 4" ;don't keep too many of them
+ ,@%default-log-rotation-options)))))
(define (guix-publish-activation config)
(let ((cache (guix-publish-configuration-cache config)))
diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm
index 2b3bd4c1f4..10cb933ed1 100644
--- a/gnu/services/configuration.scm
+++ b/gnu/services/configuration.scm
@@ -436,7 +436,11 @@ the list result in @code{#t} when applying PRED? on them."
(define list-of-strings?
(list-of string?))
-(define alist? list?)
+(define alist?
+ (match-lambda
+ (() #t)
+ ((head . tail) (and (pair? head) (alist? tail)))
+ (_ #f)))
(define serialize-file-like empty-serializer)
diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm
index d7c6ab9877..43b0e0946e 100644
--- a/gnu/services/cuirass.scm
+++ b/gnu/services/cuirass.scm
@@ -302,8 +302,13 @@
(define (cuirass-log-rotations config)
"Return the list of log rotations that corresponds to CONFIG."
(list (log-rotation
- (files (list (cuirass-configuration-log-file config)
- (cuirass-configuration-web-log-file config)))
+ (files (append (list (cuirass-configuration-log-file config)
+ (cuirass-configuration-web-log-file config))
+ (let ((server
+ (cuirass-configuration-remote-server config)))
+ (if server
+ (list (cuirass-remote-server-log-file server))
+ '()))))
(frequency 'weekly)
(options `("rotate 40" ;worth keeping
,@%default-log-rotation-options)))))
@@ -394,12 +399,21 @@ CONFIG."
#:log-file #$log-file))
(stop #~(make-kill-destructor))))))
+(define (cuirass-remote-worker-log-rotations config)
+ "Return the list of log rotations that corresponds to CONFIG."
+ (list (log-rotation
+ (files (list (cuirass-remote-worker-log-file config)))
+ (frequency 'weekly)
+ (options `("rotate 4" ;don't keep too many of them
+ ,@%default-log-rotation-options)))))
+
(define cuirass-remote-worker-service-type
(service-type
(name 'cuirass-remote-worker)
(extensions
- (list
- (service-extension shepherd-root-service-type
- cuirass-remote-worker-shepherd-service)))
+ (list (service-extension shepherd-root-service-type
+ cuirass-remote-worker-shepherd-service)
+ (service-extension rottlog-service-type
+ cuirass-remote-worker-log-rotations)))
(description
"Run the Cuirass remote build worker service.")))
diff --git a/gnu/services/monitoring.scm b/gnu/services/monitoring.scm
index d6dc2c1e03..9a88351566 100644
--- a/gnu/services/monitoring.scm
+++ b/gnu/services/monitoring.scm
@@ -224,15 +224,12 @@ Prometheus.")
(define (serialize-string field-name val)
- (if (and (string? val) (string=? val ""))
+ (if (or (eq? 'user field-name)
+ (eq? 'group field-name)
+ (and (string? val) (string=? val "")))
""
(serialize-field field-name val)))
-(define group? string?)
-
-(define serialize-group
- (const ""))
-
(define include-files? list?)
(define (serialize-include-files field-name val)
@@ -256,8 +253,8 @@ Prometheus.")
(user
(string "zabbix")
"User who will run the Zabbix server.")
- (group ;for zabbix-server-account procedure
- (group "zabbix")
+ (group
+ (string "zabbix")
"Group who will run the Zabbix server.")
(db-host
(string "127.0.0.1")
@@ -438,7 +435,7 @@ results in a Web interface.")))
(string "zabbix")
"User who will run the Zabbix agent.")
(group
- (group "zabbix")
+ (string "zabbix")
"Group who will run the Zabbix agent.")
(hostname
(string "")
@@ -516,6 +513,18 @@ configuration file."))
(format port #$(serialize-configuration
config zabbix-agent-configuration-fields)))))))
+(define (zabbix-agent-arguments config)
+ #~(let* ((config-file #$(zabbix-agent-config-file config))
+ (agent #$(zabbix-agent-configuration-zabbix-agent config))
+ (agent2? (file-exists? (string-append agent "/sbin/zabbix_agent2"))))
+ (if agent2?
+ (list (string-append agent "/sbin/zabbix_agent2")
+ "-config" config-file
+ "-foreground")
+ (list (string-append agent "/sbin/zabbix_agentd")
+ "--config" config-file
+ "--foreground"))))
+
(define (zabbix-agent-shepherd-service config)
"Return a <shepherd-service> for Zabbix agent with CONFIG."
(list (shepherd-service
@@ -523,10 +532,7 @@ configuration file."))
(requirement '(user-processes))
(documentation "Run Zabbix agent daemon.")
(start #~(make-forkexec-constructor
- (list #$(file-append (zabbix-agent-configuration-zabbix-agent config)
- "/sbin/zabbix_agentd")
- "--config" #$(zabbix-agent-config-file config)
- "--foreground")
+ #$(zabbix-agent-arguments config)
#:user #$(zabbix-agent-configuration-user config)
#:group #$(zabbix-agent-configuration-group config)
#:pid-file #$(zabbix-agent-configuration-pid-file config)
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/services/vpn.scm b/gnu/services/vpn.scm
index def381987b..7b3bb8903c 100644
--- a/gnu/services/vpn.scm
+++ b/gnu/services/vpn.scm
@@ -833,7 +833,7 @@ PostUp = ~a set %i private-key ~a
(define (wireguard-activation config)
(match-record config <wireguard-configuration>
- (private-key)
+ (private-key wireguard)
#~(begin
(use-modules (guix build utils)
(ice-9 popen)
@@ -842,7 +842,7 @@ PostUp = ~a set %i private-key ~a
(unless (file-exists? #$private-key)
(let* ((pipe
(open-input-pipe (string-append
- #$(file-append wireguard-tools "/bin/wg")
+ #$(file-append wireguard "/bin/wg")
" genkey")))
(key (read-line pipe)))
(call-with-output-file #$private-key
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..8c47c650f6
--- /dev/null
+++ b/gnu/system/examples/raspberry-pi-64-nfs-root.tmpl
@@ -0,0 +1,70 @@
+;; 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-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)))
+ %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..3ad588207c
--- /dev/null
+++ b/gnu/system/examples/raspberry-pi-64.tmpl
@@ -0,0 +1,74 @@
+;; 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-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)))
+ %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/images/pine64.scm b/gnu/system/images/pine64.scm
index a2d471b802..3feb69764d 100644
--- a/gnu/system/images/pine64.scm
+++ b/gnu/system/images/pine64.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2022 Gabriel Wicki <gabriel@erlikon.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,9 +22,11 @@
#:use-module (gnu bootloader u-boot)
#:use-module (gnu image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages certs)
#:use-module (guix platforms arm)
#:use-module (gnu services)
#:use-module (gnu services base)
+ #:use-module (gnu services networking)
#:use-module (gnu system)
#:use-module (gnu system file-systems)
#:use-module (gnu system image)
@@ -47,13 +50,17 @@
(mount-point "/")
(type "ext4"))
%base-file-systems))
- (services (cons (service agetty-service-type
- (agetty-configuration
- (extra-options '("-L")) ; no carrier detect
- (baud-rate "115200")
- (term "vt100")
- (tty "ttyS0")))
- %base-services))))
+ (services (cons*
+ (service agetty-service-type
+ (agetty-configuration
+ (extra-options '("-L")) ; no carrier detect
+ (baud-rate "115200")
+ (term "vt100")
+ (tty "ttyS0")))
+ (service dhcp-client-service-type)
+ (service ntp-service-type)
+ %base-services))
+ (packages (cons nss-certs %base-packages))))
(define pine64-image-type
(image-type
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?
diff --git a/gnu/tests/gdm.scm b/gnu/tests/gdm.scm
new file mode 100644
index 0000000000..70a86b9065
--- /dev/null
+++ b/gnu/tests/gdm.scm
@@ -0,0 +1,127 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 Bruno Victal <mirai@makinata.eu>.
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu tests gdm)
+ #:use-module (gnu tests)
+ #:use-module (gnu packages freedesktop)
+ #:use-module (gnu services)
+ #:use-module (gnu services desktop)
+ #:use-module (gnu services xorg)
+ #:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system vm)
+ #:use-module (guix gexp)
+ #:use-module (ice-9 format)
+ #:export (%test-gdm-x11
+ %test-gdm-wayland
+ %test-gdm-wayland-tmpfs))
+
+(define* (make-os #:key wayland? tmp-tmpfs?)
+ (operating-system
+ (inherit %simple-os)
+ (services
+ (modify-services %desktop-services
+ (gdm-service-type config => (gdm-configuration
+ (inherit config)
+ (wayland? wayland?)))))
+ (file-systems (if tmp-tmpfs? (cons (file-system
+ (mount-point "/tmp")
+ (device "none")
+ (type "tmpfs")
+ (flags '(no-dev no-suid))
+ (check? #f))
+ %base-file-systems)
+ %base-file-systems))))
+
+(define* (run-gdm-test #:key wayland? tmp-tmpfs?)
+ "Run tests in a vm which has gdm running."
+ (define os
+ (marionette-operating-system
+ (make-os #:wayland? wayland? #:tmp-tmpfs? tmp-tmpfs?)
+ #:imported-modules '((gnu services herd))))
+
+ (define vm
+ (virtual-machine
+ (operating-system os)
+ (memory-size 1024)))
+
+ (define name (format #f "gdm-~:[x11~;wayland~]~:[~;-tmpfs~]" wayland? tmp-tmpfs?))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (gnu build marionette)
+ (ice-9 format)
+ (srfi srfi-64))
+
+ (let* ((marionette (make-marionette (list #$vm)))
+ (expected-session-type #$(if wayland? "wayland" "x11")))
+
+ (test-runner-current (system-test-runner #$output))
+ (test-begin #$name)
+
+ ;; service for gdm is called xorg-server
+ (test-assert "service is running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'xorg-server))
+ marionette))
+
+ (test-assert "gdm ready"
+ (wait-for-file "/var/run/gdm/gdm.pid" marionette))
+
+ (test-equal (string-append "session-type is " expected-session-type)
+ expected-session-type
+ (marionette-eval
+ '(begin
+ (use-modules (ice-9 popen)
+ (ice-9 rdelim))
+
+ (let* ((loginctl #$(file-append elogind "/bin/loginctl"))
+ (get-session-cmd (string-join `(,loginctl "show-user" "gdm"
+ "--property Display" "--value")))
+ (session (call-with-port (open-input-pipe get-session-cmd) read-line))
+ (get-type-cmd (string-join `(,loginctl "show-session" ,session
+ "--property Type" "--value")))
+ (type (call-with-port (open-input-pipe get-type-cmd) read-line)))
+ type))
+ marionette))
+
+ (test-end)))))
+
+ (gexp->derivation (string-append name "-test") test))
+
+(define %test-gdm-x11
+ (system-test
+ (name "gdm-x11")
+ (description "Basic tests for the GDM service. (X11)")
+ (value (run-gdm-test))))
+
+(define %test-gdm-wayland
+ (system-test
+ (name "gdm-wayland")
+ (description "Basic tests for the GDM service. (Wayland)")
+ (value (run-gdm-test #:wayland? #t))))
+
+(define %test-gdm-wayland-tmpfs
+ (system-test
+ ;; See <https://issues.guix.gnu.org/57589>.
+ (name "gdm-wayland-tmpfs")
+ (description "Basic tests for the GDM service. (Wayland, /tmp as tmpfs)")
+ (value (run-gdm-test #:wayland? #t #:tmp-tmpfs? #t))))
diff --git a/guix/build-system/linux-module.scm b/guix/build-system/linux-module.scm
index d6c369d65d..e46195b53c 100644
--- a/guix/build-system/linux-module.scm
+++ b/guix/build-system/linux-module.scm
@@ -66,7 +66,7 @@
(replace 'build
(lambda _
(invoke "make" "modules_prepare")))
- (delete 'strip) ; faster
+ (delete 'strip) ;faster
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let ((out-lib-build (string-append #$output "/lib/modules/build")))
diff --git a/guix/build/kconfig.scm b/guix/build/kconfig.scm
new file mode 100644
index 0000000000..d0189f558f
--- /dev/null
+++ b/guix/build/kconfig.scm
@@ -0,0 +1,183 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (guix build kconfig)
+ #:use-module (ice-9 rdelim)
+ #:use-module (ice-9 regex)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
+ #:export (modify-defconfig
+ verify-config))
+
+;; Commentary:
+;;
+;; Builder-side code to modify configurations for the Kconfig build system as
+;; used by Linux and U-Boot.
+;;
+;; Code:
+
+(define (config-string->pair config-string)
+ "Parse a configuration string like \"CONFIG_EXAMPLE=m\" into a key-value pair.
+An error is thrown for invalid configurations.
+
+\"CONFIG_A=y\" -> '(\"CONFIG_A\" . \"y\")
+\"CONFIG_B=\\\"\\\"\" -> '(\"CONFIG_B\" . \"\\\"\\\"\")
+\"CONFIG_C=\" -> '(\"CONFIG_C\" . \"\")
+\"# CONFIG_E is not set\" -> '(\"CONFIG_E\" . #f)
+\"CONFIG_D\" -> '(\"CONFIG_D\" . #f)
+\"# Any comment\" -> '(#f . \"# Any comment\")
+\"\" -> '(#f . \"\")
+\"# CONFIG_E=y\" -> (error \"Invalid configuration\")
+\"CONFIG_E is not set\" -> (error \"Invalid configuration\")
+\"Anything else\" -> (error \"Invalid configuration\")"
+ (define config-regexp
+ (make-regexp
+ ;; (match:substring (string-match "=(.*)" "=") 1) returns "", but the
+ ;; pattern "=(.+)?" makes it return #f instead. From a "CONFIG_A=" we like
+ ;; to get "", which later emits "CONFIG_A=" again.
+ (string-append "^ *(#[\\t ]*)?(CONFIG_[a-zA-Z0-9_]+)([\\t ]*="
+ "[\\t ]*(.*)|([\\t ]+is[\\t ]+not[\\t ]+set))?$")))
+
+ (define config-comment-regexp
+ (make-regexp "^([\\t ]*(#.*)?)$"))
+
+ (let ((match (regexp-exec config-regexp (string-trim-right config-string))))
+ (if match
+ (let* ((comment (match:substring match 1))
+ (key (match:substring match 2))
+ (unset (match:substring match 5))
+ (value (and (not comment)
+ (not unset)
+ (match:substring match 4))))
+ (if (eq? (not comment) (not unset))
+ ;; The key is uncommented and set or commented and unset.
+ (cons key value)
+ ;; The key is set or unset ambigiously.
+ (error (format #f "invalid configuration, did you mean \"~a\"?"
+ (pair->config-string (cons key #f)))
+ config-string)))
+ ;; This is not a valid or ambigious config-string, but maybe a
+ ;; comment.
+ (if (regexp-exec config-comment-regexp config-string)
+ (cons #f config-string) ;keep valid comments
+ (error "Invalid configuration" config-string)))))
+
+(define (pair->config-string pair)
+ "Convert a PAIR back to a config-string."
+ (let* ((key (first pair))
+ (value (cdr pair)))
+ (if (string? key)
+ (if (string? value)
+ (string-append key "=" value)
+ (string-append "# " key " is not set"))
+ value)))
+
+(define (defconfig->alist defconfig)
+ "Convert the content of a DEFCONFIG (or .config) file into an alist."
+ (with-input-from-file defconfig
+ (lambda ()
+ (let loop ((alist '())
+ (line (read-line)))
+ (if (eof-object? line)
+ ;; Building the alist is done, now check for duplicates.
+ ;; Note: the filter invocation is used to remove comments.
+ (let loop ((keys (map first (filter first alist)))
+ (duplicates '()))
+ (if (null? keys)
+ ;; The search for duplicates is done.
+ ;; Return the alist or throw an error on duplicates.
+ (if (null? duplicates)
+ alist
+ (error
+ (format #f "duplicate configurations in ~a" defconfig)
+ duplicates))
+ ;; Continue the search for duplicates.
+ (loop (cdr keys)
+ (if (member (first keys) (cdr keys))
+ (cons (first keys) duplicates)
+ duplicates))))
+ ;; Build the alist.
+ (loop (cons (config-string->pair line) alist)
+ (read-line)))))))
+
+(define (modify-defconfig defconfig configs)
+ "This function can modify a given DEFCONFIG (or .config) file by adding,
+changing or removing the list of strings in CONFIGS. This allows customization
+of Kconfig based projects like the kernel Linux or the bootloader 'Das U-Boot'.
+
+These are examples for CONFIGS to add, change or remove configurations to/from
+DEFCONFIG:
+
+'(\"CONFIG_A=\\\"a\\\"\"
+ \"CONFIG_B=0\"
+ \"CONFIG_C=y\"
+ \"CONFIG_D=m\"
+ \"CONFIG_E=\"
+ \"# CONFIG_G is not set\"
+ ;; For convenience this abbrevation can be used for not set configurations.
+ \"CONFIG_F\")
+
+Instead of a list, CONFIGS can be a string with one configuration per line."
+ (let* (;; Split the configs into a list of single configurations. Both a
+ ;; string and or a list of strings is supported, each with newlines
+ ;; to separate configurations.
+ (config-pairs (map config-string->pair
+ (append-map (cut string-split <> #\newline)
+ (if (string? configs)
+ (list configs)
+ configs))))
+ ;; Generate a blocklist from all valid keys in config-pairs.
+ (blocklist (delete #f (map first config-pairs)))
+ ;; Generate an alist from the defconfig without the keys in blocklist.
+ (filtered-defconfig-pairs (remove (lambda (pair)
+ (member (first pair) blocklist))
+ (defconfig->alist defconfig))))
+ (with-output-to-file defconfig
+ (lambda ()
+ (for-each (lambda (pair)
+ (display (pair->config-string pair))
+ (newline))
+ (append filtered-defconfig-pairs config-pairs))))))
+
+(define (verify-config config defconfig)
+ "Verify that the CONFIG file contains all configurations from the DEFCONFIG
+file. When the verification fails, raise an error with the mismatching keys
+and their values."
+ (let* ((config-pairs (defconfig->alist config))
+ (defconfig-pairs (defconfig->alist defconfig))
+ (mismatching-pairs
+ (remove (lambda (pair)
+ ;; Remove all configurations, whose values are #f and
+ ;; whose keys are not in config-pairs, as not in
+ ;; config-pairs means unset, ...
+ (and (not (cdr pair))
+ (not (assoc-ref config-pairs (first pair)))))
+ ;; ... from the defconfig-pairs different to config-pairs.
+ (lset-difference equal?
+ ;; Remove comments by filtering with first.
+ (filter first defconfig-pairs)
+ config-pairs))))
+ (unless (null? mismatching-pairs)
+ (error (format #f "Mismatching configurations in ~a and ~a"
+ config defconfig)
+ (map (lambda (mismatching-pair)
+ (let* ((key (first mismatching-pair))
+ (defconfig-value (cdr mismatching-pair))
+ (config-value (assoc-ref config-pairs key)))
+ (cons key (list (list config-value defconfig-value)))))
+ mismatching-pairs)))))
diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index 1142c53d3d..2881a6be43 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2010-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
@@ -837,7 +837,7 @@ the directory containing its source tarball."
;; Return false and move on upon connection failures and bogus HTTP
;; servers.
(unless (memq key '(gnutls-error tls-certificate-error
- system-error
+ system-error getaddrinfo-error
bad-header bad-header-component))
(apply throw key args))
#f))))
diff --git a/guix/import/cran.scm b/guix/import/cran.scm
index 286a4c21b9..a02e746417 100644
--- a/guix/import/cran.scm
+++ b/guix/import/cran.scm
@@ -410,6 +410,7 @@ empty list when the FIELD cannot be found."
("tcl/tk" "tcl")
("booktabs" "texlive-booktabs")
("freetype2" "freetype")
+ ("sqlite3" "sqlite")
(_ sysname)))
(define cran-guix-name (cut guix-name "r-" <>))
diff --git a/guix/packages.scm b/guix/packages.scm
index 502df7fdd1..8f119d9fa7 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -423,7 +423,7 @@ from forcing GEXP-PROMISE."
(define %hurd-systems
;; The GNU/Hurd systems for which support is being developed.
- '("i586-gnu" "i686-gnu"))
+ '("i586-gnu"))
(define %cuirass-supported-systems
;; This is the list of system types for which build machines are available.
diff --git a/guix/pki.scm b/guix/pki.scm
index 6326e065e9..c5b2fb9634 100644
--- a/guix/pki.scm
+++ b/guix/pki.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2016, 2022 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +21,7 @@
#:use-module (gcrypt pk-crypto)
#:use-module ((guix utils) #:select (with-atomic-file-output))
#:use-module ((guix build utils) #:select (mkdir-p))
+ #:autoload (srfi srfi-1) (delete-duplicates)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 binary-ports)
@@ -61,9 +62,10 @@ element in KEYS must be a canonical sexp with type 'public-key'."
;; want to have name certificates and to use subject names instead of
;; complete keys.
`(acl ,@(map (lambda (key)
- `(entry ,(canonical-sexp->sexp key)
+ `(entry ,key
(tag (guix import))))
- keys)))
+ (delete-duplicates
+ (map canonical-sexp->sexp keys)))))
(define %acl-file
(string-append %config-directory "/acl"))
diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index cf59db4315..0efa61b0d7 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -366,7 +366,7 @@ authorized substitutes."
When FRESH? is true, delete any cached connections for URI and open a new one.
Return #f if URI's scheme is 'file' or #f.
-When true, TIMEOUT is the maximum number of milliseconds to wait for
+When true, TIMEOUT is the maximum number of seconds to wait for
connection establishment. When VERIFY-CERTIFICATE? is true, verify HTTPS
server certificates."
(define host (uri-host uri))
diff --git a/tests/guix-system.sh b/tests/guix-system.sh
index a59bd9a6b9..16c02e6e4c 100644
--- a/tests/guix-system.sh
+++ b/tests/guix-system.sh
@@ -342,6 +342,10 @@ for example in gnu/system/examples/*.tmpl; do
# 'asus-c201.tmpl' uses 'linux-libre-arm-generic', which is an
# ARM-only package.
options="--system=armhf-linux";;
+ *raspberry*)
+ # The Raspberry Pi templates 'linux-libre-arm64-generic', which is
+ # an ARM-only package.
+ options="--system=aarch64-linux";;
*vm-image*)
# The VM image tries to build 'current-guix' as per 'guix pull'.
# Skip it.
diff --git a/tests/pki.scm b/tests/pki.scm
index d6a6b476c7..86daff8ddf 100644
--- a/tests/pki.scm
+++ b/tests/pki.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2022 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -66,6 +66,10 @@
(test-assert "authorized-key? public-key singleton"
(authorized-key? %public-key (public-keys->acl (list %public-key))))
+(test-equal "public-keys->acl deduplication"
+ (public-keys->acl (list %public-key))
+ (public-keys->acl (make-list 10 %public-key)))
+
(test-assert "signature-case valid-signature"
(let* ((hash (sha256 #vu8(1 2 3)))
(data (bytevector->hash-data hash #:key-type (key-type %public-key)))