diff options
Diffstat (limited to 'gnu')
316 files changed, 25040 insertions, 14495 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index f69bf8ed4d..611580a350 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2019 Miguel Ángel Arruga Vivas <rosen644835@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de> ;;; @@ -23,14 +24,17 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu bootloader grub) + #:use-module (guix build union) #:use-module (guix records) - #:use-module ((guix utils) #:select (%current-system)) + #:use-module (guix store) + #:use-module (guix utils) #:use-module (guix gexp) #:use-module (gnu artwork) #:use-module (gnu bootloader) #:use-module (gnu system uuid) #:use-module (gnu system file-systems) #:use-module (gnu system keyboard) + #:use-module (gnu system locale) #:use-module (gnu packages bootloaders) #:autoload (gnu packages gtk) (guile-cairo guile-rsvg) #:autoload (gnu packages xorg) (xkeyboard-config) @@ -46,8 +50,11 @@ grub-theme-color-highlight grub-theme-gfxmode + install-grub-efi-netboot + grub-bootloader grub-efi-bootloader + grub-efi-netboot-bootloader grub-mkrescue-bootloader grub-minimal-bootloader @@ -297,9 +304,11 @@ code." (file-system-label->string label))) ((? (lambda (device) (and (string? device) (string-contains device ":/"))) nfs-uri) - ;; This assumes that if your root file system is on NFS, then - ;; you also want to load your grub extra files, kernel and initrd - ;; from there. + ;; If the device is an NFS share, then we assume that the expected + ;; file on that device (e.g. the GRUB background image or the kernel) + ;; has to be loaded over the network. Otherwise we would need an + ;; additional device information for some local disk to look for that + ;; file, which we do not have. ;; ;; We explicitly set "root=(tftp)" here even though if grub.cfg ;; had been loaded via TFTP, Grub would have set "root=(tftp)" @@ -327,6 +336,7 @@ code." (define* (grub-configuration-file config entries #:key + (locale #f) (system (%current-system)) (old-entries '()) store-directory-prefix) @@ -391,6 +401,20 @@ menuentry ~s { #:store-directory-prefix store-directory-prefix #:port #~port))) + (define locale-config + #~(let ((locale #$(and locale + (locale-definition-source + (locale-name->definition locale))))) + (when locale + (format port "\ +# Localization configuration. +if search --file --set boot_partition /grub/grub.cfg; then + set locale_dir=(${boot_partition})/grub/locale +else + set locale_dir=/boot/grub/locale +fi +set lang=~a~%" locale)))) + (define keyboard-layout-config (let* ((layout (bootloader-configuration-keyboard-layout config)) (grub (bootloader-package @@ -415,6 +439,7 @@ keymap ~a~%" #$keymap)))) # will be lost upon reconfiguration. ") #$(sugar) + #$locale-config #$keyboard-layout-config (format port " set default=~a @@ -528,6 +553,99 @@ fi~%")))) "--bootloader-id=Guix" "--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. + +MOUNT-POINT is the last argument in 'guix system init /etc/config.scm mnt/point' +or '/' for other 'guix system' commands. + +TARGET is the target argument given to the bootloader-configuration in + +(operating-system + (bootloader (bootloader-configuration + (target \"/boot\") + …)) + …) + +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. + +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 +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. + +It is important to note that these symlinks need to be relativ, as the absolute +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)))))) + ;;; @@ -560,6 +678,12 @@ fi~%")))) (name 'grub-efi) (package grub-efi))) +(define grub-efi-netboot-bootloader + (bootloader + (inherit grub-efi-bootloader) + (name 'grub-efi-netboot-bootloader) + (installer (install-grub-efi-netboot "efi/Guix")))) + (define grub-mkrescue-bootloader (bootloader (inherit grub-efi-bootloader) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 1da9d04eb2..c57d4964c8 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -45,7 +45,7 @@ u-boot-wandboard-bootloader)) (define install-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (if bootloader (error "Failed to install U-Boot")))) @@ -56,74 +56,74 @@ ;; the MLO and is expected at 0x60000. Write both first stage ("MLO") and ;; second stage ("u-boot.img") images, read in BOOTLOADER directory, to the ;; specified DEVICE. - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((mlo (string-append bootloader "/libexec/MLO")) (u-boot (string-append bootloader "/libexec/u-boot.img"))) (write-file-on-device mlo (* 256 512) - device (* 256 512)) + image (* 256 512)) (write-file-on-device u-boot (* 1024 512) - device (* 768 512))))) + image (* 768 512))))) (define install-allwinner-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((u-boot (string-append bootloader "/libexec/u-boot-sunxi-with-spl.bin"))) (write-file-on-device u-boot (stat:size (stat u-boot)) - device (* 8 1024))))) + image (* 8 1024))))) (define install-allwinner64-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((spl (string-append bootloader "/libexec/spl/sunxi-spl.bin")) (u-boot (string-append bootloader "/libexec/u-boot.itb"))) (write-file-on-device spl (stat:size (stat spl)) - device (* 8 1024)) + image (* 8 1024)) (write-file-on-device u-boot (stat:size (stat u-boot)) - device (* 40 1024))))) + image (* 40 1024))))) (define install-imx-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((spl (string-append bootloader "/libexec/SPL")) (u-boot (string-append bootloader "/libexec/u-boot.img"))) (write-file-on-device spl (stat:size (stat spl)) - device (* 1 1024)) + image (* 1 1024)) (write-file-on-device u-boot (stat:size (stat u-boot)) - device (* 69 1024))))) + image (* 69 1024))))) (define install-puma-rk3399-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((spl (string-append bootloader "/libexec/u-boot-spl.rksd")) (u-boot (string-append bootloader "/libexec/u-boot.itb"))) (write-file-on-device spl (stat:size (stat spl)) - device (* 64 512)) + image (* 64 512)) (write-file-on-device u-boot (stat:size (stat u-boot)) - device (* 512 512))))) + image (* 512 512))))) (define install-firefly-rk3399-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((idb (string-append bootloader "/libexec/idbloader.img")) (u-boot (string-append bootloader "/libexec/u-boot.itb"))) (write-file-on-device idb (stat:size (stat idb)) - device (* 64 512)) + image (* 64 512)) (write-file-on-device u-boot (stat:size (stat u-boot)) - device (* 16384 512))))) + image (* 16384 512))))) (define install-rock64-rk3328-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((idb (string-append bootloader "/libexec/idbloader.img")) (u-boot (string-append bootloader "/libexec/u-boot.itb"))) (write-file-on-device idb (stat:size (stat idb)) - device (* 64 512)) + image (* 64 512)) (write-file-on-device u-boot (stat:size (stat u-boot)) - device (* 16384 512))))) + image (* 16384 512))))) (define install-rockpro64-rk3399-u-boot - #~(lambda (bootloader device mount-point) + #~(lambda (bootloader root-index image) (let ((idb (string-append bootloader "/libexec/idbloader.img")) (u-boot (string-append bootloader "/libexec/u-boot.itb"))) (write-file-on-device idb (stat:size (stat idb)) - device (* 64 512)) + image (* 64 512)) (write-file-on-device u-boot (stat:size (stat u-boot)) - device (* 16384 512))))) + image (* 16384 512))))) (define install-pinebook-pro-rk3399-u-boot install-rockpro64-rk3399-u-boot) @@ -138,28 +138,29 @@ (inherit extlinux-bootloader) (name 'u-boot) (package #f) - (installer install-u-boot))) + (installer #f) + (disk-image-installer install-u-boot))) (define u-boot-beaglebone-black-bootloader (bootloader (inherit u-boot-bootloader) (package u-boot-am335x-boneblack) - (installer install-beaglebone-black-u-boot))) + (disk-image-installer install-beaglebone-black-u-boot))) (define u-boot-allwinner-bootloader (bootloader (inherit u-boot-bootloader) - (installer install-allwinner-u-boot))) + (disk-image-installer install-allwinner-u-boot))) (define u-boot-allwinner64-bootloader (bootloader (inherit u-boot-bootloader) - (installer install-allwinner64-u-boot))) + (disk-image-installer install-allwinner64-u-boot))) (define u-boot-imx-bootloader (bootloader (inherit u-boot-bootloader) - (installer install-imx-u-boot))) + (disk-image-installer install-imx-u-boot))) (define u-boot-nintendo-nes-classic-edition-bootloader (bootloader @@ -196,7 +197,7 @@ (bootloader (inherit u-boot-bootloader) (package u-boot-firefly-rk3399) - (installer install-firefly-rk3399-u-boot))) + (disk-image-installer install-firefly-rk3399-u-boot))) (define u-boot-mx6cuboxi-bootloader (bootloader @@ -232,25 +233,25 @@ (bootloader (inherit u-boot-bootloader) (package u-boot-puma-rk3399) - (installer install-puma-rk3399-u-boot))) + (disk-image-installer install-puma-rk3399-u-boot))) (define u-boot-rock64-rk3328-bootloader ;; SD and eMMC use the same format (bootloader (inherit u-boot-bootloader) (package u-boot-rock64-rk3328) - (installer install-rock64-rk3328-u-boot))) + (disk-image-installer install-rock64-rk3328-u-boot))) (define u-boot-rockpro64-rk3399-bootloader ;; SD and eMMC use the same format (bootloader (inherit u-boot-bootloader) (package u-boot-rockpro64-rk3399) - (installer install-rockpro64-rk3399-u-boot))) + (disk-image-installer install-rockpro64-rk3399-u-boot))) (define u-boot-pinebook-pro-rk3399-bootloader ;; SD and eMMC use the same format (bootloader (inherit u-boot-bootloader) (package u-boot-pinebook-pro-rk3399) - (installer install-pinebook-pro-rk3399-u-boot))) + (disk-image-installer install-pinebook-pro-rk3399-u-boot))) diff --git a/gnu/build/bootloader.scm b/gnu/build/bootloader.scm index 498022f6db..5ec839f902 100644 --- a/gnu/build/bootloader.scm +++ b/gnu/build/bootloader.scm @@ -22,6 +22,8 @@ #:use-module (guix utils) #:use-module (ice-9 binary-ports) #:use-module (ice-9 format) + #:use-module (rnrs io ports) + #:use-module (rnrs io simple) #:export (write-file-on-device install-efi-loader)) @@ -35,11 +37,14 @@ (call-with-input-file file (lambda (input) (let ((bv (get-bytevector-n input size))) - (call-with-output-file device - (lambda (output) - (seek output offset SEEK_SET) - (put-bytevector output bv)) - #:binary #t))))) + (call-with-port + (open-file-output-port device + (file-options no-truncate no-create) + (buffer-mode block) + (native-transcoder)) + (lambda (output) + (seek output offset SEEK_SET) + (put-bytevector output bv))))))) ;;; diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm index adc8b4ce16..e66d4d1ba8 100644 --- a/gnu/build/hurd-boot.scm +++ b/gnu/build/hurd-boot.scm @@ -211,6 +211,9 @@ set." ("dev/vcs" ("/hurd/console")) ("dev/tty" ("/hurd/magic" "tty") #o666) + ;; '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") @@ -240,10 +243,10 @@ set." (for-each scope-set-translator devices) (false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom"))) - (mkdir* "dev/fd") (false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin"))) (false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout"))) (false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr"))) + (false-if-EEXIST (symlink "crash-dump-core" (scope "servers/crash"))) ;; Make sure /etc/mtab is a symlink to /proc/mounts. (false-if-exception (delete-file (scope "etc/mtab"))) diff --git a/gnu/build/image.scm b/gnu/build/image.scm index b6bf259f1b..ff63039c16 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -37,6 +37,7 @@ #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:export (make-partition-image + convert-disk-image genimage initialize-efi-partition initialize-root-partition @@ -120,13 +121,22 @@ ROOT directory to populate the image." (format (current-error-port) "Unsupported partition type~%."))))) -(define* (genimage config target) +(define (convert-disk-image image format output) + "Convert IMAGE to OUTPUT according to the given FORMAT." + (case format + ((compressed-qcow2) + (begin + (invoke "qemu-img" "convert" "-c" "-f" "raw" + "-O" "qcow2" image output))) + (else + (copy-file image output)))) + +(define* (genimage config) "Use genimage to generate in TARGET directory, the image described in the given CONFIG file." ;; genimage needs a 'root' directory. (mkdir "root") - (invoke "genimage" "--config" config - "--outputpath" target)) + (invoke "genimage" "--config" config)) (define* (register-closure prefix closure #:key diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm index 2d4de788df..4a8bed5a9a 100644 --- a/gnu/build/linux-container.scm +++ b/gnu/build/linux-container.scm @@ -170,7 +170,8 @@ for the process." (pivot-root root put-old) (chdir "/") (umount "real-root" MNT_DETACH) - (rmdir "real-root"))) + (rmdir "real-root") + (chmod "/" #o755))) (define* (initialize-user-namespace pid host-uids #:key (guest-uid 0) (guest-gid 0)) diff --git a/gnu/build/secret-service.scm b/gnu/build/secret-service.scm index 781651e90d..46dcf1b9c3 100644 --- a/gnu/build/secret-service.scm +++ b/gnu/build/secret-service.scm @@ -35,44 +35,86 @@ ;;; ;;; Code: -(define* (secret-service-send-secrets port secret-root #:key (retry 60)) - "Copy all files under SECRET-ROOT using TCP to secret-service listening at -local PORT. If connect fails, sleep 1s and retry RETRY times." +(define-syntax log + (lambda (s) + "Log the given message." + (syntax-case s () + ((_ fmt args ...) + (with-syntax ((fmt (string-append "secret service: " + (syntax->datum #'fmt)))) + ;; Log to the current output port. That way, when + ;; 'secret-service-send-secrets' is called from shepherd, output goes + ;; to syslog. + #'(format (current-output-port) fmt args ...)))))) +(define* (secret-service-send-secrets port secret-root + #:key (retry 60) + (handshake-timeout 120)) + "Copy all files under SECRET-ROOT using TCP to secret-service listening at +local PORT. If connect fails, sleep 1s and retry RETRY times; once connected, +wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return +#f on failure." (define (file->file+size+mode file-name) (let ((stat (stat file-name)) (target (substring file-name (string-length secret-root)))) (list target (stat:size stat) (stat:mode stat)))) - (format (current-error-port) "sending secrets to ~a~%" port) + (define (send-files sock) + (let* ((files (if secret-root (find-files secret-root) '())) + (files-sizes-modes (map file->file+size+mode files)) + (secrets `(secrets + (version 0) + (files ,files-sizes-modes)))) + (write secrets sock) + (for-each (lambda (file) + (call-with-input-file file + (lambda (input) + (dump-port input sock)))) + files))) + + (log "sending secrets to ~a~%" port) (let ((sock (socket AF_INET SOCK_STREAM 0)) (addr (make-socket-address AF_INET INADDR_LOOPBACK port))) - ;; connect to wait for port + ;; Connect to QEMU on the forwarded port. The 'connect' call succeeds as + ;; soon as QEMU is ready, even if there's no server listening on the + ;; forward port inside the guest. (let loop ((retry retry)) (catch 'system-error (cute connect sock addr) (lambda (key . args) (when (zero? retry) (apply throw key args)) - (format (current-error-port) "retrying connection~%") + (log "retrying connection [~a attempts left]~%" + (- retry 1)) (sleep 1) (loop (1- retry))))) - (format (current-error-port) "connected! sending files in ~s %~" - secret-root) - (let* ((files (if secret-root (find-files secret-root) '())) - (files-sizes-modes (map file->file+size+mode files)) - (secrets `(secrets - (version 0) - (files ,files-sizes-modes)))) - (write secrets sock) - (for-each (compose (cute dump-port <> sock) - (cute open-input-file <>)) - files)))) + (log "connected; waiting for handshake...~%") + + ;; Wait for "hello" message from the server. This is the only way to know + ;; that we're really connected to the server inside the guest. + (match (select (list sock) '() '() handshake-timeout) + (((_) () ()) + (match (read sock) + (('secret-service-server ('version version ...)) + (log "sending files from ~s...~%" secret-root) + (send-files sock) + (log "done sending files to port ~a~%" port) + (close-port sock) + secret-root) + (x + (log "invalid handshake ~s~%" x) + (close-port sock) + #f))) + ((() () ()) ;timeout + (log "timeout while sending files to ~a~%" port) + (close-port sock) + #f)))) (define (secret-service-receive-secrets port) "Listen to local PORT and wait for a secret service client to send secrets. -Write them to the file system." +Write them to the file system. Return the list of files installed on success, +and #f otherwise." (define (wait-for-client port) ;; Wait for a TCP connection on PORT. Note: We cannot use the @@ -81,16 +123,26 @@ Write them to the file system." (let ((sock (socket AF_INET SOCK_STREAM 0))) (bind sock AF_INET INADDR_ANY port) (listen sock 1) - (format (current-error-port) - "waiting for secrets on port ~a...~%" - port) - (match (accept sock) - ((client . address) - (format (current-error-port) "client connection from ~a~%" + (log "waiting for secrets on port ~a...~%" port) + (match (select (list sock) '() '() 60) + (((_) () ()) + (match (accept sock) + ((client . address) + (log "client connection from ~a~%" (inet-ntop (sockaddr:fam address) (sockaddr:addr address))) + + ;; Send a "hello" message. This allows the client running on the + ;; host to know that it's now actually connected to server running + ;; in the guest. + (write '(secret-service-server (version 0)) client) + (force-output client) + (close-port sock) + client))) + ((() () ()) + (log "did not receive any secrets; time out~%") (close-port sock) - client)))) + #f)))) ;; TODO: Remove when (@ (guix build utils) dump-port) has a 'size' ;; parameter. @@ -115,23 +167,24 @@ Write them to the file system." (('secrets ('version 0) ('files ((files sizes modes) ...))) (for-each (lambda (file size mode) - (format (current-error-port) - "installing file '~a' (~a bytes)...~%" - file size) + (log "installing file '~a' (~a bytes)...~%" + file size) (mkdir-p (dirname file)) (call-with-output-file file (lambda (output) (dump port output size) (chmod file mode)))) - files sizes modes)) + files sizes modes) + (log "received ~a secret files~%" (length files)) + files) (_ - (format (current-error-port) - "invalid secrets received~%") + (log "invalid secrets received~%") #f))) - (let* ((port (wait-for-client port)) - (result (read-secrets port))) - (close-port port) + (let* ((port (wait-for-client port)) + (result (and=> port read-secrets))) + (when port + (close-port port)) result)) ;;; secret-service.scm ends here diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm index 65141bd60f..91646288d5 100644 --- a/gnu/build/shepherd.scm +++ b/gnu/build/shepherd.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -196,11 +197,16 @@ namespace, in addition to essential bind-mounts such /proc." #:allow-other-keys #:rest args) "This is a variant of 'fork+exec-command' procedure, that joins the -namespaces of process PID beforehand." - (container-excursion* pid - (lambda () - (apply fork+exec-command command - (strip-keyword-arguments '(#:pid) args))))) +namespaces of process PID beforehand. If there is no support for containers, +on Hurd systems for instance, fallback to direct forking." + (let ((container-support? + (file-exists? "/proc/self/ns")) + (fork-proc (lambda () + (apply fork+exec-command command + (strip-keyword-arguments '(#:pid) args))))) + (if container-support? + (container-excursion* pid fork-proc) + (fork-proc)))) ;; Local Variables: ;; eval: (put 'container-excursion* 'scheme-indent-function 1) diff --git a/gnu/ci.scm b/gnu/ci.scm index 0ce32ef8d8..bf9952a450 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; @@ -56,6 +56,7 @@ #:use-module (gnu system vm) #:use-module (gnu system install) #:use-module (gnu system images hurd) + #:use-module (gnu system images pine64) #:use-module (gnu tests) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) @@ -75,28 +76,36 @@ #:optional (package-derivation package-derivation)) "Convert PACKAGE to an alist suitable for Hydra." (parameterize ((%graft? #f)) - `((derivation . ,(derivation-file-name - (package-derivation store package system - #:graft? #f))) - (description . ,(package-synopsis package)) - (long-description . ,(package-description package)) - - ;; XXX: Hydra ignores licenses that are not a <license> structure or a - ;; list thereof. - (license . ,(let loop ((license (package-license package))) - (match license - ((? license?) - (license-name license)) - ((lst ...) - (map loop license))))) - - (home-page . ,(package-home-page package)) - (maintainers . ("bug-guix@gnu.org")) - (max-silent-time . ,(or (assoc-ref (package-properties package) - 'max-silent-time) - 3600)) ;1 hour by default - (timeout . ,(or (assoc-ref (package-properties package) 'timeout) - 72000))))) ;20 hours by default + (let ((drv (package-derivation store package system + #:graft? #f))) + `((derivation . ,(derivation-file-name drv)) + (log . ,(log-file store (derivation-file-name drv))) + (outputs . ,(filter-map (lambda (res) + (match res + ((name . path) + `(,name . ,path)))) + (derivation->output-paths drv))) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) + (description . ,(package-synopsis package)) + (long-description . ,(package-description package)) + + ;; XXX: Hydra ignores licenses that are not a <license> structure or a + ;; list thereof. + (license . ,(let loop ((license (package-license package))) + (match license + ((? license?) + (license-name license)) + ((lst ...) + (map loop license))))) + + (home-page . ,(package-home-page package)) + (maintainers . ("bug-guix@gnu.org")) + (max-silent-time . ,(or (assoc-ref (package-properties package) + 'max-silent-time) + 3600)) ;1 hour by default + (timeout . ,(or (assoc-ref (package-properties package) 'timeout) + 72000)))))) ;20 hours by default (define (package-job store job-name package system) "Return a job called JOB-NAME that builds PACKAGE on SYSTEM." @@ -195,12 +204,21 @@ SYSTEM." '("x86_64-linux" "i686-linux")) (define %guix-system-images - (list hurd-barebones-disk-image)) + (list hurd-barebones-qcow2-image + pine64-barebones-raw-image)) (define (image-jobs store system) "Return a list of jobs that build images for SYSTEM." (define (->alist drv) `((derivation . ,(derivation-file-name drv)) + (log . ,(log-file store (derivation-file-name drv))) + (outputs . ,(filter-map (lambda (res) + (match res + ((name . path) + `(,name . ,path)))) + (derivation->output-paths drv))) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) (description . "Stand-alone image of the GNU system") (long-description . "This is a demo stand-alone image of the GNU system.") @@ -304,6 +322,14 @@ system.") (system-test-value test)))) `((derivation . ,(derivation-file-name drv)) + (log . ,(log-file store (derivation-file-name drv))) + (outputs . ,(filter-map (lambda (res) + (match res + ((name . path) + `(,name . ,path)))) + (derivation->output-paths drv))) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) (description . ,(format #f "Guix '~a' system test" (system-test-name test))) (long-description . ,(system-test-description test)) @@ -333,6 +359,14 @@ system.") "Return Hydra jobs to build the self-contained Guix binary tarball." (define (->alist drv) `((derivation . ,(derivation-file-name drv)) + (log . ,(log-file store (derivation-file-name drv))) + (outputs . ,(filter-map (lambda (res) + (match res + ((name . path) + `(,name . ,path)))) + (derivation->output-paths drv))) + (nix-name . ,(derivation-name drv)) + (system . ,(derivation-system drv)) (description . "Stand-alone binary Guix tarball") (long-description . "This is a tarball containing binaries of Guix and all its dependencies, and ready to be installed on \"foreign\" distributions.") @@ -511,20 +545,16 @@ Return #f if no such checkout is found." (cross-jobs store system))) ((hello) ;; Build hello package only. - (if (string=? system (%current-system)) - (let ((hello (specification->package "hello"))) - (list (package-job store (job-name hello) hello system))) - '())) + (let ((hello (specification->package "hello"))) + (list (package-job store (job-name hello) hello system)))) ((list) ;; Build selected list of packages only. - (if (string=? system (%current-system)) - (let* ((names (assoc-ref arguments 'subset)) - (packages (map specification->package names))) - (map (lambda (package) - (package-job store (job-name package) - package system)) - packages)) - '())) + (let* ((names (assoc-ref arguments 'subset)) + (packages (map specification->package names))) + (map (lambda (package) + (package-job store (job-name package) + package system)) + packages))) ((manifests) ;; Build packages in the list of manifests. (let* ((manifests (arguments->manifests arguments)) diff --git a/gnu/image.scm b/gnu/image.scm index dc66f2c533..a60d83b175 100644 --- a/gnu/image.scm +++ b/gnu/image.scm @@ -39,7 +39,14 @@ image-partitions image-compression? image-volatile-root? - image-substitutable?)) + image-substitutable? + + image-type + image-type? + image-type-name + image-type-constructor + + os->image)) ;;; @@ -84,3 +91,23 @@ (default #t)) (substitutable? image-substitutable? ;boolean (default #t))) + + +;;; +;;; Image type. +;;; + +(define-record-type* <image-type> + image-type make-image-type + image-type? + (name image-type-name) ;symbol + (constructor image-type-constructor)) ;<operating-system> -> <image> + + +;;; +;;; Image creation. +;;; + +(define* (os->image os #:key type) + (let ((constructor (image-type-constructor type))) + (constructor os))) diff --git a/gnu/installer.scm b/gnu/installer.scm index 5c3192d7a6..f401b242f8 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -71,7 +71,7 @@ (_ #f))) (define* (build-compiled-file name locale-builder) - "Return a file-like object that evalutes the gexp LOCALE-BUILDER and store + "Return a file-like object that evaluates the gexp LOCALE-BUILDER and store its result in the scheme file NAME. The derivation will also build a compiled version of this file." (define set-utf8-locale @@ -308,7 +308,8 @@ selected keymap." ;; translated. #~(begin (bindtextdomain "guix" (string-append #$guix "/share/locale")) - (textdomain "guix"))) + (textdomain "guix") + (setlocale LC_ALL ""))) (define set-installer-path ;; Add the specified binary to PATH for later use by the installer. diff --git a/gnu/installer/connman.scm b/gnu/installer/connman.scm index 386f431ced..2f33b58453 100644 --- a/gnu/installer/connman.scm +++ b/gnu/installer/connman.scm @@ -180,7 +180,7 @@ Return the corresponding association list of '((KEY . VALUE) (KEY2 . VALUE2) (define (connman-state) "Return the state of connman. The nominal states are 'offline, 'idle, 'ready, 'oneline. If an unexpected state is read, 'unknown is -returned. Finally, an error is raised if the comman output could not be +returned. Finally, an error is raised if the connman output could not be parsed, usually because the connman daemon is not responding." (let* ((output (connman "state")) (state-keys (parse-keys output))) diff --git a/gnu/installer/newt.scm b/gnu/installer/newt.scm index a24a152984..fdab721b2f 100644 --- a/gnu/installer/newt.scm +++ b/gnu/installer/newt.scm @@ -107,7 +107,7 @@ problem. The backtrace is displayed below. Please report it by email to \ (run-user-page)) (define (partition-page) - (run-partioning-page)) + (run-partitioning-page)) (define (services-page) (run-services-page)) diff --git a/gnu/installer/newt/locale.scm b/gnu/installer/newt/locale.scm index 7108e2960b..bfd89aca2c 100644 --- a/gnu/installer/newt/locale.scm +++ b/gnu/installer/newt/locale.scm @@ -106,7 +106,7 @@ symbol.") territory, codeset and modifier. Use SUPPORTED-LOCALES as the list of glibc available locales. ISO639-LANGUAGES is an association list associating a locale code to a locale name. ISO3166-TERRITORIES is an association list -associating a territory code with a territory name. The formated locale, under +associating a territory code with a territory name. The formatted locale, under glibc format is returned." (define (break-on-locale-found locales) diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index 54d595f54e..ed38287fe8 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -32,7 +32,7 @@ #:use-module (srfi srfi-35) #:use-module (newt) #:use-module (parted) - #:export (run-partioning-page)) + #:export (run-partitioning-page)) (define (button-exit-action) "Raise the &installer-step-abort condition." @@ -725,7 +725,7 @@ by pressing the Exit button.~%~%"))) (run-disk-page result-disks new-user-partitions #:guided? guided?))))) -(define (run-partioning-page) +(define (run-partitioning-page) "Run a page asking the user for a partitioning method." (define (run-page devices) (let* ((items diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index 4f32d9077b..6d431cb4bb 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,7 +41,7 @@ choose the one to use on the log-in screen.") #:items items #:selection (map system-service-recommended? items) #:item->text system-service-name ;no i18n for DE names - #:checkbox-tree-height 8 + #:checkbox-tree-height 9 #:exit-button-callback-procedure (lambda () (raise diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index ff5f6afd19..b0c73b837e 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -1201,13 +1201,13 @@ the FS-TYPE field set to 'swap, return the empty list if none found." user-partitions)) (define (start-swapping user-partitions) - "Start swaping on <user-partition> records with FS-TYPE equal to 'swap." + "Start swapping on <user-partition> records with FS-TYPE equal to 'swap." (let* ((swap-user-partitions (find-swap-user-partitions user-partitions)) (swap-devices (map user-partition-file-name swap-user-partitions))) (for-each swapon swap-devices))) (define (stop-swapping user-partitions) - "Stop swaping on <user-partition> records with FS-TYPE equal to 'swap." + "Stop swapping on <user-partition> records with FS-TYPE equal to 'swap." (let* ((swap-user-partitions (find-swap-user-partitions user-partitions)) (swap-devices (map user-partition-file-name swap-user-partitions))) (for-each swapoff swap-devices))) diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm index dbac79196d..ec5ea30594 100644 --- a/gnu/installer/services.scm +++ b/gnu/installer/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,11 @@ (name "ratpoison") (packages '((specification->package "ratpoison") (specification->package "xterm")))) + (desktop-environment + (name "Emacs EXWM") + (packages '((specification->package "emacs") + (specification->package "emacs-exwm") + (specification->package "emacs-desktop-environment")))) ;; Networking. (system-service diff --git a/gnu/installer/steps.scm b/gnu/installer/steps.scm index 0b6d8e4649..16d74c207f 100644 --- a/gnu/installer/steps.scm +++ b/gnu/installer/steps.scm @@ -88,7 +88,7 @@ (rewind-strategy 'previous) (menu-proc (const #f))) "Run the COMPUTE procedure of all <installer-step> records in STEPS -sequencially. If the &installer-step-abort condition is raised, fallback to a +sequentially. If the &installer-step-abort condition is raised, fallback to a previous install-step, accordingly to the specified REWIND-STRATEGY. REWIND-STRATEGY possible values are 'previous, 'menu and 'start. If 'previous diff --git a/gnu/local.mk b/gnu/local.mk index a5f9039e9e..922c1c518b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -144,6 +144,8 @@ GNU_SYSTEM_MODULES = \ %D%/packages/cppi.scm \ %D%/packages/cran.scm \ %D%/packages/crates-io.scm \ + %D%/packages/crates-graphics.scm \ + %D%/packages/crates-gtk.scm \ %D%/packages/cross-base.scm \ %D%/packages/crypto.scm \ %D%/packages/cryptsetup.scm \ @@ -646,6 +648,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/vm.scm \ \ %D%/system/images/hurd.scm \ + %D%/system/images/pine64.scm \ \ %D%/machine.scm \ \ @@ -858,6 +861,7 @@ dist_patch_DATA = \ %D%/packages/patches/clang-7.0-libc-search-path.patch \ %D%/packages/patches/clang-9.0-libc-search-path.patch \ %D%/packages/patches/clang-10.0-libc-search-path.patch \ + %D%/packages/patches/clang-11.0-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ %D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \ @@ -894,7 +898,6 @@ dist_patch_DATA = \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \ - %D%/packages/patches/dconf-meson-0.52.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ %D%/packages/patches/dee-vapi.patch \ @@ -969,6 +972,7 @@ dist_patch_DATA = \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/fontconfig-hurd-path-max.patch \ %D%/packages/patches/fpc-reproducibility.patch \ + %D%/packages/patches/fplll-std-fenv.patch \ %D%/packages/patches/freedink-engine-fix-sdl-hints.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ @@ -1069,6 +1073,7 @@ dist_patch_DATA = \ %D%/packages/patches/gmp-faulty-test.patch \ %D%/packages/patches/gnome-shell-theme.patch \ %D%/packages/patches/gnome-shell-disable-test.patch \ + %D%/packages/patches/gnome-settings-daemon-gc.patch \ %D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \ @@ -1084,6 +1089,7 @@ dist_patch_DATA = \ %D%/packages/patches/gpsbabel-qstring.patch \ %D%/packages/patches/grantlee-merge-theme-dirs.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ + %D%/packages/patches/grim-revert-output-rotation.patch \ %D%/packages/patches/grocsvs-dont-use-admiral.patch \ %D%/packages/patches/gromacs-tinyxml2.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ @@ -1132,6 +1138,7 @@ dist_patch_DATA = \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-cross.patch \ %D%/packages/patches/hurd-xattr.patch \ + %D%/packages/patches/hplip-fix-bug-1898438.patch \ %D%/packages/patches/hplip-remove-imageprocessor.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-makeicecat.patch \ @@ -1155,8 +1162,14 @@ dist_patch_DATA = \ %D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \ %D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \ %D%/packages/patches/jacal-fix-texinfo.patch \ + %D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \ + %D%/packages/patches/jamvm-1.5.1-armv7-support.patch \ + %D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \ %D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \ - %D%/packages/patches/jamvm-arm.patch \ + %D%/packages/patches/jamvm-2.0.0-opcode-guard.patch \ + %D%/packages/patches/java-antlr4-Add-standalone-generator.patch \ + %D%/packages/patches/java-antlr4-fix-code-too-large.java \ + %D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \ %D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ @@ -1198,7 +1211,6 @@ dist_patch_DATA = \ %D%/packages/patches/kodi-increase-test-timeout.patch \ %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ - %D%/packages/patches/konversation-Fix-build-with-Qt-5.11.patch \ %D%/packages/patches/laby-make-install.patch \ %D%/packages/patches/lcalc-default-parameters-1.patch \ %D%/packages/patches/lcalc-default-parameters-2.patch \ @@ -1219,14 +1231,14 @@ dist_patch_DATA = \ %D%/packages/patches/libbase-use-own-logging.patch \ %D%/packages/patches/libbonobo-activation-test-race.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ - %D%/packages/patches/libdrm-realpath-virtio.patch \ + %D%/packages/patches/libcanberra-wayland-crash.patch \ + %D%/packages/patches/libcyaml-libyaml-compat.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ %D%/packages/patches/libgnome-encoding.patch \ %D%/packages/patches/libgnomeui-utf8.patch \ %D%/packages/patches/libjxr-fix-function-signature.patch \ %D%/packages/patches/libjxr-fix-typos.patch \ - %D%/packages/patches/liblouisutdml-fix-tests.patch \ %D%/packages/patches/libofa-ftbfs-1.diff \ %D%/packages/patches/libofa-curl.diff \ %D%/packages/patches/libofa-ftbfs-2.diff \ @@ -1244,10 +1256,6 @@ dist_patch_DATA = \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ %D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \ %D%/packages/patches/libquicktime-ffmpeg.patch \ - %D%/packages/patches/libsndfile-armhf-type-checks.patch \ - %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ - %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ - %D%/packages/patches/libsndfile-CVE-2017-12562.patch \ %D%/packages/patches/libtar-CVE-2013-4420.patch \ %D%/packages/patches/libtgvoip-disable-sse2.patch \ %D%/packages/patches/libtgvoip-disable-webrtc.patch \ @@ -1283,6 +1291,7 @@ dist_patch_DATA = \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lrzip-CVE-2017-8842.patch \ + %D%/packages/patches/lsh-fix-x11-forwarding.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ %D%/packages/patches/lua-pkgconfig.patch \ %D%/packages/patches/lua51-liblua-so.patch \ @@ -1291,8 +1300,8 @@ dist_patch_DATA = \ %D%/packages/patches/luajit-no_ldconfig.patch \ %D%/packages/patches/luit-posix.patch \ %D%/packages/patches/lvm2-static-link.patch \ + %D%/packages/patches/mailutils-fix-uninitialized-variable.patch \ %D%/packages/patches/make-impure-dirs.patch \ - %D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mars-install.patch \ %D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/maxima-defsystem-mkdir.patch \ @@ -1351,9 +1360,10 @@ dist_patch_DATA = \ %D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/network-manager-plugin-path.patch \ + %D%/packages/patches/nginx-socket-cloexec.patch \ %D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ - %D%/packages/patches/nss-pkgconfig.patch \ + %D%/packages/patches/nss-3.56-pkgconfig.patch \ %D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \ %D%/packages/patches/nvi-assume-preserve-path.patch \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ @@ -1400,6 +1410,7 @@ dist_patch_DATA = \ %D%/packages/patches/pango-skip-libthai-test.patch \ %D%/packages/patches/pciutils-hurd-configure.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ + %D%/packages/patches/samba-fix-fcntl-hint-detection.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ @@ -1407,6 +1418,7 @@ dist_patch_DATA = \ %D%/packages/patches/sdl-pango-matrix_declarations.patch \ %D%/packages/patches/sdl-pango-sans-serif.patch \ %D%/packages/patches/sqlite-hurd.patch \ + %D%/packages/patches/sunxi-tools-remove-sys-io.patch \ %D%/packages/patches/patchutils-test-perms.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ @@ -1421,6 +1433,7 @@ dist_patch_DATA = \ %D%/packages/patches/perl-module-pluggable-search.patch \ %D%/packages/patches/perl-reproducible-build-date.patch \ %D%/packages/patches/perl-www-curl-remove-symbol.patch \ + %D%/packages/patches/picard-fix-id3-rename-test.patch \ %D%/packages/patches/picprog-non-intel-support.patch \ %D%/packages/patches/pidgin-add-search-path.patch \ %D%/packages/patches/pidgin-libnm.patch \ @@ -1481,7 +1494,6 @@ dist_patch_DATA = \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ - %D%/packages/patches/python-gst-fix-build-with-python-3.8.patch \ %D%/packages/patches/python-keras-integration-test.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ @@ -1506,6 +1518,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/pypy3-7.3.1-fix-tests.patch \ + %D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \ %D%/packages/patches/qrcodegen-cpp-make-install.patch \ %D%/packages/patches/qt4-ldflags.patch \ @@ -1555,7 +1568,6 @@ dist_patch_DATA = \ %D%/packages/patches/rust-reproducible-builds.patch \ %D%/packages/patches/rust-openssl-sys-no-vendor.patch \ %D%/packages/patches/rxvt-unicode-escape-sequences.patch \ - %D%/packages/patches/sbcl-graph-asdf-definitions.patch \ %D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \ %D%/packages/patches/scheme48-tests.patch \ %D%/packages/patches/scotch-build-parallelism.patch \ @@ -1625,6 +1637,7 @@ dist_patch_DATA = \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/ungoogled-chromium-system-nspr.patch \ + %D%/packages/patches/unison-fix-ocaml-4.08.patch \ %D%/packages/patches/unknown-horizons-python-3.8-distro.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \ @@ -1688,6 +1701,7 @@ dist_patch_DATA = \ %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \ %D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \ %D%/packages/patches/xpra-4.0.1-systemd-run.patch \ + %D%/packages/patches/xpra-4.0.4-norequests.patch \ %D%/packages/patches/xsane-fix-memory-leak.patch \ %D%/packages/patches/xsane-fix-pdf-floats.patch \ %D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \ diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm index 35b42add48..5020bd362f 100644 --- a/gnu/machine/ssh.scm +++ b/gnu/machine/ssh.scm @@ -480,6 +480,8 @@ an environment type of 'managed-host." (raise roll-back-failure))) (entries -> (map boot-parameters->menu-entry (list (second boot-parameters)))) + (locale -> (boot-parameters-locale + (second boot-parameters))) (old-entries -> (map boot-parameters->menu-entry (drop boot-parameters 2))) (bootloader -> (operating-system-bootloader @@ -489,6 +491,7 @@ an environment type of 'managed-host." (bootloader-configuration-bootloader bootloader)) bootloader entries + #:locale locale #:old-entries old-entries))) (remote-result (machine-remote-eval machine remote-exp))) (when (eqv? 'error remote-result) diff --git a/gnu/packages/abduco.scm b/gnu/packages/abduco.scm index 37d2f37773..19671d14c9 100644 --- a/gnu/packages/abduco.scm +++ b/gnu/packages/abduco.scm @@ -19,6 +19,7 @@ (define-module (gnu packages abduco) #:use-module (guix build-system gnu) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix licenses) #:use-module (guix packages)) @@ -37,7 +38,7 @@ "1x1m58ckwsprljgmdy93mvgjyg9x3cqrzdf3mysp0mx97zhhj2f9")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc" + `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure) diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm index 14ce805aef..5180f88bae 100644 --- a/gnu/packages/accessibility.scm +++ b/gnu/packages/accessibility.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -272,7 +273,7 @@ available to help to click.") `(("hidapi" ,hidapi))) (arguments `(#:tests? #f ; no tests - #:make-flags (list "CC=gcc") + #:make-flags (list (string-append "CC=" ,(cc-for-target))) #:phases (modify-phases %standard-phases (delete 'configure) ;; Install target in the Makefile does not work for Guix @@ -308,7 +309,7 @@ devices have vendorId:productId = 0c45:7403 or 0c45:7404.") (arguments `(#:tests? #f ; none included #:make-flags - (list "CC=gcc" + (list (string-append "CC=" ,(cc-for-target)) (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases diff --git a/gnu/packages/acl.scm b/gnu/packages/acl.scm index bcab125164..4e90703d81 100644 --- a/gnu/packages/acl.scm +++ b/gnu/packages/acl.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ #:use-module (guix licenses) #:use-module (gnu packages attr) #:use-module (gnu packages base) + #:use-module (gnu packages hurd) #:use-module (gnu packages gettext) #:use-module (gnu packages perl) #:use-module (guix packages) @@ -49,6 +51,7 @@ `(#:modules ((ice-9 ftw) ,@%gnu-build-system-modules) #:configure-flags '("--disable-static") + #:tests? ,(not (hurd-target?)) #:phases (modify-phases %standard-phases ;; XXX After repacking the sources the timestamps are reset to the diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index a6aaeba1ea..81ddeaca77 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Peter Feigl <peter.feigl@nexoid.at> ;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> @@ -443,7 +443,7 @@ graphs and can export its output to different formats.") (define-public facter (package (name "facter") - (version "4.0.35") + (version "4.0.43") (source (origin (method git-fetch) (uri (git-reference @@ -452,7 +452,7 @@ graphs and can export its output to different formats.") (file-name (git-file-name name version)) (sha256 (base32 - "1f203g2hp96cp8w4x1myhqdj5j09z9s23kylwkrxr69fjhn0vhnb")))) + "0ppzr7vsl6iw8x82c4g60mx1vz06nzwcy8byablhg0n0g6qa3pb0")))) (build-system ruby-build-system) (arguments `(#:phases @@ -514,7 +514,7 @@ or via the @code{facter} Ruby library.") (define-public htop (package (name "htop") - (version "3.0.1") + (version "3.0.2") (source (origin (method git-fetch) @@ -522,7 +522,7 @@ or via the @code{facter} Ruby library.") (url "https://github.com/htop-dev/htop") (commit version))) (sha256 - (base32 "0kjlphdvwwbj91kk91s4ksc954d3c2bznddzx2223jmb1bn9rcsa")) + (base32 "1qmqhbnc5yw4brd24yrp85k09770c1c00nl03mkv5pdz2bvqivk7")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs @@ -834,7 +834,7 @@ would need and has several interesting built-in capabilities.") (define-public netcat-openbsd (package (name "netcat-openbsd") - (version "1.217-1") + (version "1.217-2") (source (origin (method git-fetch) (uri (git-reference @@ -843,12 +843,12 @@ would need and has several interesting built-in capabilities.") (file-name (git-file-name name version)) (sha256 (base32 - "0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan")))) + "19sr52ix14w344pv13ppb0c1wyg5dxhic1fw2q0s3qfmx57b9hhp")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite #:make-flags - (list "CC=gcc") + (list (string-append "CC=" ,(cc-for-target))) #:phases (modify-phases %standard-phases (delete 'configure) @@ -1404,7 +1404,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.2") + (version "1.9.3p1") (source (origin (method url-fetch) (uri @@ -1414,25 +1414,19 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "05432672iilb7s52j9l9xzrlambb1wg3k7qvf5973i41y40x563w")) + "17mldsg5d08s23cskmjxfa81ibnqw3slgf3l4023j72ywi9xxffw")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "lib/zlib") #t)))) (build-system gnu-build-system) - (outputs (list "out" "python")) + (outputs (list "out")) (arguments `(#:configure-flags (list (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/" ,name "-" ,version) - ;; XXX: Disable Python support when cross-compiling because - ;; 'configure' tries to run 'python', which fails. - ,(if (%current-target-system) - "--disable-python" - "--enable-python") ; for plug-ins written in ~ - "--with-logpath=/var/log/sudo.log" "--with-rundir=/var/run/sudo" ; must be cleaned up at boot time "--with-vardir=/var/db/sudo" @@ -1479,34 +1473,19 @@ system administrator.") (substitute* "plugins/sudoers/Makefile.in" (("^pre-install:" match) (string-append match "\ndisabled-" match))) - #t)) - (add-after 'install 'separate-python-output - (lambda* (#:key target outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (out:python (assoc-ref outputs "python"))) - (if target - (mkdir-p (string-append out:python "/empty")) - (for-each - (lambda (file) - (let ((old (string-append out "/" file)) - (new (string-append out:python "/" file))) - (mkdir-p (dirname new)) - (rename-file old new))) - (list "libexec/sudo/python_plugin.so" - "libexec/sudo/python_plugin.la"))) - #t)))) + #t))) ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but ;; the chroot's /etc/passwd doesn't have it. Turn off the tests. #:tests? #f)) (native-inputs - `(("groff" ,groff))) + ;; XXX TODO: Remove on next rebuild cycle. + (if (hurd-target?) + '() + `(("groff" ,groff)))) (inputs `(("coreutils" ,coreutils) ("linux-pam" ,linux-pam) - ,@(if (%current-target-system) - '() - `(("python" ,python))) ("zlib" ,zlib))) (home-page "https://www.sudo.ws/") (synopsis "Run commands as root") @@ -1837,21 +1816,24 @@ network, which causes enabled computers to power on.") (define-public dmidecode (package (name "dmidecode") - (version "3.2") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://savannah/dmidecode/dmidecode-" - version ".tar.xz")) - (sha256 - (base32 - "1pcfhcgs2ifdjwp7amnsr3lq95pgxpr150bjhdinvl505px0cw07")))) + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/dmidecode/dmidecode-" + version ".tar.xz")) + (sha256 + (base32 "0m8lzg9rf1qssasiix672bxk5qwms90561g8hfkkhk31h2kkgiw2")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases (delete 'configure)) - #:tests? #f ; no 'check' target - #:make-flags (list (string-append "prefix=" - (assoc-ref %outputs "out"))))) + `(#:tests? #f ; no 'check' target + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" + (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ; no configure script (home-page "https://www.nongnu.org/dmidecode/") (synopsis "Read hardware information from the BIOS") (description @@ -2613,14 +2595,14 @@ done with the @code{auditctl} utility.") (define-public nmap (package (name "nmap") - (version "7.80") + (version "7.91") (source (origin (method url-fetch) (uri (string-append "https://nmap.org/dist/nmap-" version ".tar.bz2")) (sha256 (base32 - "1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw")) + "001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q")) (modules '((guix build utils))) (snippet '(begin @@ -2698,7 +2680,7 @@ advanced netcat implementation (ncat), a utility for comparing scan results (ndiff), and a packet generation and response analysis tool (nping).") ;; This package uses nmap's bundled versions of libdnet and liblinear, which ;; both use a 3-clause BSD license. - (license (list license:nmap license:bsd-3)))) + (license (list license:npsl license:bsd-3)))) (define-public dstat (package @@ -2718,9 +2700,8 @@ results (ndiff), and a packet generation and response analysis tool (nping).") (build-system gnu-build-system) (arguments `(#:tests? #f ; no make check - #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list (string-append "DESTDIR=" out) - "prefix=/")) + #:make-flags + (list (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-python3-DeprecationWarning @@ -2952,6 +2933,8 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.") (commit (string-append "v" version)))) (sha256 (base32 "04f3jqg8ww4jxsf9c6ddcdgy2xbhkyp0b3l5f1hvvbv94p81rjxd")) + (patches + (search-patches "sunxi-tools-remove-sys-io.patch")) (modules '((guix build utils))) (snippet ;; Remove binaries contained in the tarball which are only for the @@ -3595,7 +3578,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.1.06-1") + (version "3.1.07-1") (source (origin (method git-fetch) @@ -3604,7 +3587,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "0h65n03q9kdsv0i1q5f88i11iv79ca7fqq97rdkzkmiqb4whhnm2")))) + (base32 "0hs4m2vmfc6srscaz72r6zpkn6n7msgzlps376ks38gj1l103xfn")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) @@ -4105,3 +4088,44 @@ the system configuration; hosts only works when using the Guix package manager on a foreign distro. @command{hosts} works with existing hosts files and entries, providing commands to add, remove, comment, and search.") (license license:expat))) + +(define-public nmrpflash + (package + (name "nmrpflash") + (version "0.9.14") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/jclehner/nmrpflash.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libnl" ,libnl) + ("libpcap" ,libpcap))) + (arguments + `(#:tests? #f ; None exist + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'install 'prepare-install + (lambda* (#:key outputs #:allow-other-keys) + (mkdir-p (string-append (assoc-ref outputs "out") "/bin")) + #t))))) + (home-page "https://github.com/jclehner/nmrpflash") + (synopsis "Netgear unbrick utility") + (description "This package provides a utility to flash a new firmware +image to a Netgear device. It has been tested on Netgear EX2700, EX6120, +EX6150v2, DNG3700v2, R6100, R6220, R7000, D7000, WNR3500, R6400, R6800, +R8000, R8500, WNDR3800, but is likely to be compatible with many other +Netgear devices.") + (license license:gpl3+))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 318d653618..b712d3a869 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ocaml) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) @@ -123,15 +124,15 @@ greatest common divisor operations.") (define-public cm (package (name "cm") - (version "0.3") + (version "0.3.1") (source (origin (method url-fetch) (uri (string-append - "http://www.multiprecision.org/cm/download/cm-" + "http://www.multiprecision.org/downloads/cm-" version ".tar.gz")) (sha256 (base32 - "1nf5kr0nqmhbzrsrinky18z0ighjpsmb5cr8zyg8jf04bfbyrfmc")))) + "0qq6b1kwb1byj8ws33ya5awq0ilkpm32037pi1l4cf2737fg9m42")))) (build-system gnu-build-system) (propagated-inputs `(("mpfrcx" ,mpfrcx) @@ -151,12 +152,7 @@ line applications.") (define-public fplll (package (name "fplll") - ;; The most recent version 5.3.3 fails in the configure phase: - ;; ./configure: line 12956: syntax error near unexpected token `LIBQD,' - ;; ./configure: line 12956: ` PKG_CHECK_MODULES(LIBQD, qd, have_libqd="yes",' - ;; The error disappears when adding qd as an input; but this is - ;; supposed to be an optional input. - (version "5.3.2") + (version "5.3.3") (source (origin (method git-fetch) (uri (git-reference @@ -165,13 +161,15 @@ line applications.") (file-name (git-file-name name version)) (sha256 (base32 - "00iyz218ywspizjiimrjdcqvdqmrsb2367zyy3vkmypnf9i9l680")))) + "06nyfidagp8pc2kfcw88ldgb2b1xm0a8z31n0sln7j72ihlmd8zj")) + (patches (search-patches "fplll-std-fenv.patch")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("libtool" ,libtool))) - (inputs + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (propagated-inputs ; header files pulled in by fplll/defs.h `(("gmp" ,gmp) ("mpfr" ,mpfr))) (home-page "https://github.com/fplll/fplll") @@ -357,7 +355,7 @@ precision.") (define-public giac (package (name "giac") - (version "1.6.0-7") + (version "1.6.0-25") (source (origin (method url-fetch) @@ -369,7 +367,7 @@ precision.") "~parisse/debian/dists/stable/main/source/" "giac_" version ".tar.gz")) (sha256 - (base32 "1pvgp137zcl0rbhdn1j41xxfml7fp771a7x4ph8qrhhlx0hxzn3p")))) + (base32 "11kik2csdg9wy0npiih21kaag0nc89i9ldgk7ak7gvf9ycddm6mh")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -380,7 +378,8 @@ precision.") (add-after 'unpack 'patch-bin-cp ;; Some Makefiles contain hard-coded "/bin/cp". (lambda _ - (substitute* (find-files "doc" "^Makefile") + (substitute* (cons "micropython-1.12/xcas/Makefile" + (find-files "doc" "^Makefile")) (("/bin/cp") (which "cp"))) #t)) (add-after 'unpack 'disable-failing-test @@ -409,7 +408,7 @@ precision.") (delete-file (string-append out "/bin/xcasnew")) #t)))))) (inputs -;;; TODO: Add libnauty. + ;; TODO: Add libnauty, unbundle "libmicropython.a". `(("fltk" ,fltk) ("glpk" ,glpk) ("gmp" ,gmp) @@ -433,6 +432,8 @@ precision.") (native-inputs `(("bison" ,bison) ("flex" ,flex) + ("hevea" ,hevea) + ("python" ,python-wrapper) ("readline" ,readline) ("texlive" ,texlive-tiny))) (home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html") @@ -1554,7 +1555,7 @@ structure constants of Schubert polynomials.") "0akwhhz9b40bz6lrfxpamp7r7wkk48p455qbn04mfnl9a1l6db8x")))) (build-system gnu-build-system) (inputs - `(("gmp", gmp) + `(("gmp" ,gmp) ("cblas" ,openblas))) ; or any other BLAS library; the documentation ; mentions ATLAS in particular (arguments diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm index c7bf911ae7..fa62173572 100644 --- a/gnu/packages/antivirus.scm +++ b/gnu/packages/antivirus.scm @@ -44,14 +44,14 @@ (define-public clamav (package (name "clamav") - (version "0.102.4") + (version "0.103.0") (source (origin (method url-fetch) (uri (string-append "https://www.clamav.net/downloads/production/" "clamav-" version ".tar.gz")) (sha256 (base32 - "06rrzyrhnr0rswryijpbbzywr6387rv8qjq8sb8cl3h2d1m45ggf")) + "0ih5x1rscg2m64y0z20njj7435q8k7ss575cfw7aipdzfx979a9j")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index daefbd01bd..7d3c2ef1c3 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -9,6 +9,8 @@ ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> +;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,7 +35,9 @@ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (ice-9 match)) @@ -457,3 +461,50 @@ under permissive licensing terms. See the 'Copyright' file.")))) (define-word-list-dictionary hunspell-dict-en-us "en_US" (synopsis "Hunspell dictionary for United States English")) + +(define-public ispell + (package + (name "ispell") + (version "3.4.00") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.cs.hmc.edu/~geoff/tars/ispell-" + version ".tar.gz")) + (sha256 + (base32 + "1hmfnz55qzfpz7lz0r3m4kkv31smir92ks9s5l1iiwimhr2jxi2x")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-build? #f + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Based on local.h.linux + (let* ((grep (assoc-ref inputs "grep")) + (out (assoc-ref outputs "out"))) + (call-with-output-file "local.h" + (lambda (port) + (format port "#define MINIMENU~%") + (format port "#define USG~%") + (format port "#define HAS_RENAME~%") + (format port "#define CC \"gcc\"~%") + (format port "#define POUNDBANG \"#!~a\"~%" (which "sh")) + (format port "#define EGREPCMD \"~a/bin/grep -Ei\"~%" grep) + (format port "#define BINDIR \"~a/bin\"~%" out) + (format port "#define LIBDIR \"~a/lib/ispell\"~%" out) + (format port "#define MAN1DIR \"~a/share/man/man1\"~%" out) + (format port "#define MAN45DIR \"~a/share/man/man5\"~%" out)))) + #t))))) + (inputs + `(("grep" ,grep) + ("ncurses" ,ncurses))) + (native-inputs + `(("bison" ,bison))) + (synopsis "Interactive spell-checking tool for Unix") + (description "Ispell is an interactive spell-checking tool supporting many +European languages.") + (home-page "https://www.cs.hmc.edu/~geoff/ispell.html") + (license bsd-3))) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 785d281887..18ed96f7fd 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -159,7 +159,7 @@ programs for the manipulation and analysis of astronomical data.") (define-public stellarium (package (name "stellarium") - (version "0.20.2") + (version "0.20.3") (source (origin (method url-fetch) @@ -167,7 +167,7 @@ programs for the manipulation and analysis of astronomical data.") "/releases/download/v" version "/stellarium-" version ".tar.gz")) (sha256 - (base32 "16symz212vjvhfabh39a68qf7d0rm574c6djlibj2qd1q9jgj3j0")))) + (base32 "0z5r7b1ac43l330xphxnw54xg7jm87ajix8yl4hkq82cs5ja7097")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) @@ -328,7 +328,7 @@ Mechanics, Astrometry and Astrodynamics library.") ("freetype" ,freetype) ("pango" ,pango) ("giflib" ,giflib) - ("libjpeg", libjpeg-turbo) + ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff) ("netpbm" ,netpbm) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 38ee4f8bcc..8a0c0fce2b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1046,7 +1047,7 @@ tools (analyzer, mono/stereo tools, crossovers).") `(("lv2" ,lv2))) ;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html (home-page "https://github.com/moddevices/caps-lv2") - (synopsis "LV2 port of the CAPS audio plugin colection") + (synopsis "LV2 port of the CAPS audio plugin collection") (description "LV2 port of CAPS, a collection of audio plugins comprising basic virtual guitar amplification and a small range of classic effects, signal processors and @@ -1631,7 +1632,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "2.1.4") + (version "2.1.5") (source (origin (method git-fetch) (uri (git-reference @@ -1640,7 +1641,7 @@ follower.") (file-name (git-file-name name version)) (sha256 (base32 - "1r3khwyw57ybg5m4x0rvdzq7hgw2484sd52k6bm19akbw8yicfna")))) + "0ccpq4p1h1g53ng3961g3lh590qnwvpzwdzpl6ai4j6iazq0bh73")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target @@ -2030,7 +2031,7 @@ synchronous execution of all clients, and low latency operation.") (define-public jack-2 (package (inherit jack-1) (name "jack2") - (version "1.9.13") + (version "1.9.14") (source (origin (method url-fetch) (uri (string-append "https://github.com/jackaudio/jack2/releases/" @@ -2039,7 +2040,7 @@ synchronous execution of all clients, and low latency operation.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1d1d403jn4366mqig6g8ghr8057b3rn7gs26b5p3rkal34j20qw2")))) + "0z11hf55a6mi8h50hfz5wry9pshlwl4mzfwgslghdh40cwv342m2")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target @@ -2049,6 +2050,10 @@ synchronous execution of all clients, and low latency operation.") (modify-phases %standard-phases (add-before 'configure 'set-linkflags (lambda _ + ;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp + ;; will not link with undefined reference to symbol + ;; '__gxx_personality_v0@@CXXABI_1.3' + (setenv "LDFLAGS" "-lstdc++") ;; Add $libdir to the RUNPATH of all the binaries. (substitute* "wscript" ((".*CFLAGS.*-Wall.*" m) @@ -2676,20 +2681,21 @@ different audio devices such as ALSA or PulseAudio.") (define-public qjackctl (package (name "qjackctl") - (version "0.5.9") + (version "0.6.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk")))) + "0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target (inputs `(("jack" ,jack-1) ("alsa-lib" ,alsa-lib) + ("portaudio" ,portaudio) ("qtbase" ,qtbase) ("qtx11extras" ,qtx11extras))) (native-inputs @@ -3054,6 +3060,32 @@ that toolkit will work in all hosts that use Suil automatically. Suil currently supports every combination of Gtk, Qt, and X11.") (license license:isc))) +(define-public libebur128 + (package + (name "libebur128") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jiixyj/libebur128") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n81rnm8dm1zmibkr2v3q79rsd609y0dbbsrbay18njcjva88p0g")))) + (build-system cmake-build-system) + (arguments + `(;; Tests require proprietary .wav files. See + ;; https://github.com/jiixyj/libebur128/issues/82. + #:tests? #f + #:configure-flags '("-DBUILD_STATIC_LIBS=OFF"))) + (home-page "https://github.com/jiixyj/libebur128") + (synopsis "Library implementing the EBU R 128 loudness standard") + (description + "@code{libebur128} is a C library that implements the EBU R 128 standard +for loudness normalisation.") + (license license:expat))) + (define-public timidity++ (package (name "timidity++") @@ -3298,7 +3330,7 @@ Tracker 3 S3M and Impulse Tracker IT files.") (define-public soundtouch (package (name "soundtouch") - (version "2.1.2") + (version "2.2") (source (origin (method git-fetch) @@ -3307,7 +3339,7 @@ Tracker 3 S3M and Impulse Tracker IT files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "174wgm3s0inmbnkrlnspxjwm2014qhjhkbdqa5r8rbfi0nzqxzsz")))) + (base32 "12i6yg8vvqwyk412lxl2krbfby6hnxld8qxy0k4m5xp4g94jiq4p")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -3959,10 +3991,31 @@ mixers.") (define-public python2-pyalsaaudio (package-with-python2 python-pyalsaaudio)) +(define-public ldacbt + (package + (name "ldacbt") + (version "2.0.2.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/EHfive/ldacBT" + "/releases/download/v" version + "/ldacBT-" version ".tar.gz")) + (sha256 + (base32 + "1d65dms4klzql29abi15i90f41h523kl6mxrz9hi6p5vg37fxn2b")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; no check target + (home-page "https://github.com/EHfive/ldacBT/") + (synopsis "LDAC Bluetooth encoder and ABR library") + (description "This package provides an encoder for the LDAC +high-resolution Bluetooth audio streaming codec for streaming at up to 990 +kbps at 24 bit/96 kHz.") + (license license:asl2.0))) + (define-public bluez-alsa (package (name "bluez-alsa") - (version "2.0.0") + (version "3.0.0") (source (origin ;; The tarballs are mere snapshots and don't contain a ;; bootstrapped build system. @@ -3973,11 +4026,12 @@ mixers.") (file-name (git-file-name name version)) (sha256 (base32 - "08mppgnjf1j2733bk9yf0cny6rfxxwiys0s62lz2zd2lpdl6d9lz")))) + "1jlsgxyqfhncfhx1sy3ry0dp6p95kd4agh7g2b7g51h0c4cv74h8")))) (build-system gnu-build-system) (arguments `(#:configure-flags - (list (string-append "--with-alsaplugindir=" + (list "--enable-ldac" + (string-append "--with-alsaplugindir=" (assoc-ref %outputs "out") "/lib/alsa-lib") (string-append "--with-dbusconfdir=" @@ -3993,6 +4047,7 @@ mixers.") ("bluez" ,bluez) ("dbus" ,dbus) ("glib" ,glib) + ("ldacbt" ,ldacbt) ("libbsd" ,libbsd) ("ncurses" ,ncurses) ("ortp" ,ortp) @@ -4464,6 +4519,36 @@ supports both of ID3v1/v2 and APEv2 tags.") (home-page "http://tausoft.org/") (license license:gpl2+))) +(define-public libsoundio + (package + (name "libsoundio") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/andrewrk/libsoundio") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12l4rvaypv87vigdrmjz48d4d6sq4gfxf5asvnc4adyabxb73i4x")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;no tests included + (inputs + `(("alsa-lib" ,alsa-lib) + ("jack" ,jack-1) + ("pulseaudio" ,pulseaudio))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://libsound.io") + (synopsis "C library for real-time audio input and output") + (description "@code{libsoundio} is a C library providing audio input and +output. The API is suitable for real-time software such as digital audio +workstations as well as consumer software such as music players.") + (license license:expat))) + (define-public redkite (package (name "redkite") @@ -4483,7 +4568,7 @@ supports both of ID3v1/v2 and APEv2 tags.") (inputs `(("cairo" ,cairo))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "Small GUI toolkit") (description "Redkite is a small GUI toolkit developed in C++17 and inspired from other well known GUI toolkits such as Qt and GTK. It is @@ -4629,7 +4714,7 @@ in the package.") `(("libsamplerate" ,libsamplerate) ("libsndfile" ,libsndfile))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "Library for reading and resampling audio files") (description "libaudec is a wrapper library over ffmpeg, sndfile and libsamplerate for reading and resampling audio files, based on Robin Gareus' @@ -4657,11 +4742,11 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus' `("-Delf-tests=true" ; for checking symbol visibility "-Donline-tests=true"))) ; for checking URI existence (inputs - `(("curl", curl) - ("libelf", libelf) - ("lilv", lilv))) + `(("curl" ,curl) + ("libelf" ,libelf) + ("lilv" ,lilv))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "LV2 plugin lint tool") (description "lv2lint is an LV2 lint-like tool that checks whether a given plugin and its UI(s) match up with the provided metadata and adhere @@ -4692,11 +4777,11 @@ to well-known best practices.") (modify-phases %standard-phases (delete 'configure)))) (inputs - `(("jalv", jalv) - ("lilv", lilv))) + `(("jalv" ,jalv) + ("lilv" ,lilv))) (native-inputs - `(("help2man", help2man) - ("pkg-config", pkg-config))) + `(("help2man" ,help2man) + ("pkg-config" ,pkg-config))) (synopsis "Documentation generator for LV2 plugins") (description "lv2toweb allows the user to create an xhtml page with information diff --git a/gnu/packages/aux-files/guile-launcher.c b/gnu/packages/aux-files/guile-launcher.c new file mode 100644 index 0000000000..886ede2846 --- /dev/null +++ b/gnu/packages/aux-files/guile-launcher.c @@ -0,0 +1,46 @@ +/* GNU Guix --- Functional package management for GNU + Copyright 1996-1997,2000-2001,2006,2008,2011,2013,2018 + Free Software Foundation, Inc. + Copyright (C) 2020 Ludovic Courtès <ludo@gnu.org> + + 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/>. */ + +/* This file implements a variant of the 'guile' executable that does not + complain about locale issues. */ + +#include <locale.h> +#include <libguile.h> + +static void +inner_main (void *unused, int argc, char **argv) +{ + scm_shell (argc, argv); +} + +int +main (int argc, char **argv) +{ + /* Try to install the current locale; remain silent if it fails. */ + if (setlocale (LC_ALL, "") == NULL) + /* The 'guix pull'-provided 'guix' includes at least en_US.utf8 so use + that. That gives us UTF-8 support for 'scm_to_locale_string', etc., + which is always preferable over the C locale. */ + setlocale (LC_ALL, "en_US.utf8"); + + scm_install_gmp_memory_functions = 1; + scm_boot_guile (argc, argv, inner_main, 0); + return 0; /* never reached */ +} diff --git a/gnu/packages/aux-files/linux-libre/4.19-arm.conf b/gnu/packages/aux-files/linux-libre/4.19-arm.conf index 32d288b0f4..ee5916b278 100644 --- a/gnu/packages/aux-files/linux-libre/4.19-arm.conf +++ b/gnu/packages/aux-files/linux-libre/4.19-arm.conf @@ -1023,7 +1023,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/4.19-arm64.conf b/gnu/packages/aux-files/linux-libre/4.19-arm64.conf index 76bd266ec6..852ae64ee1 100644 --- a/gnu/packages/aux-files/linux-libre/4.19-arm64.conf +++ b/gnu/packages/aux-files/linux-libre/4.19-arm64.conf @@ -966,7 +966,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/4.19-i686.conf b/gnu/packages/aux-files/linux-libre/4.19-i686.conf index 0fb07d5231..d01e74d8c7 100644 --- a/gnu/packages/aux-files/linux-libre/4.19-i686.conf +++ b/gnu/packages/aux-files/linux-libre/4.19-i686.conf @@ -1053,7 +1053,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf index 49a349f249..dd9469039c 100644 --- a/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/4.19-x86_64.conf @@ -1063,7 +1063,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.4-arm.conf b/gnu/packages/aux-files/linux-libre/5.4-arm.conf index 7c9ab94719..12654de3c6 100644 --- a/gnu/packages/aux-files/linux-libre/5.4-arm.conf +++ b/gnu/packages/aux-files/linux-libre/5.4-arm.conf @@ -1034,7 +1034,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.4-arm64.conf b/gnu/packages/aux-files/linux-libre/5.4-arm64.conf index 6520d1ddf2..45cfdaa85c 100644 --- a/gnu/packages/aux-files/linux-libre/5.4-arm64.conf +++ b/gnu/packages/aux-files/linux-libre/5.4-arm64.conf @@ -1008,7 +1008,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.4-i686.conf b/gnu/packages/aux-files/linux-libre/5.4-i686.conf index 3727f9d486..cc2d8dde01 100644 --- a/gnu/packages/aux-files/linux-libre/5.4-i686.conf +++ b/gnu/packages/aux-files/linux-libre/5.4-i686.conf @@ -1027,7 +1027,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf index be7a603af1..2e2804879a 100644 --- a/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf @@ -1044,7 +1044,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.8-arm.conf b/gnu/packages/aux-files/linux-libre/5.8-arm.conf index bd274d1553..1e42bcdc82 100644 --- a/gnu/packages/aux-files/linux-libre/5.8-arm.conf +++ b/gnu/packages/aux-files/linux-libre/5.8-arm.conf @@ -1056,7 +1056,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.8-arm64.conf b/gnu/packages/aux-files/linux-libre/5.8-arm64.conf index 1e58a3c717..42cc1f2eb9 100644 --- a/gnu/packages/aux-files/linux-libre/5.8-arm64.conf +++ b/gnu/packages/aux-files/linux-libre/5.8-arm64.conf @@ -1048,7 +1048,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m CONFIG_NET_KEY_MIGRATE=y # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.8-i686.conf b/gnu/packages/aux-files/linux-libre/5.8-i686.conf index f73c41b6d5..d8f88f0570 100644 --- a/gnu/packages/aux-files/linux-libre/5.8-i686.conf +++ b/gnu/packages/aux-files/linux-libre/5.8-i686.conf @@ -1035,7 +1035,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/aux-files/linux-libre/5.8-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.8-x86_64.conf index cd2706357d..930008eeb9 100644 --- a/gnu/packages/aux-files/linux-libre/5.8-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/5.8-x86_64.conf @@ -1061,7 +1061,8 @@ CONFIG_XFRM_IPCOMP=m CONFIG_NET_KEY=m # CONFIG_NET_KEY_MIGRATE is not set # CONFIG_SMC is not set -# CONFIG_XDP_SOCKETS is not set +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index 602f9d7997..b2aeeadf47 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -74,7 +74,7 @@ ("expat" ,expat) ("gdbm" ,gdbm) ("glib" ,glib) - ("libcap" ,libcap) ;to enable chroot support in avahi-daemon + ("libcap" ,libcap-2.31) ;to enable chroot support in avahi-daemon ("libdaemon" ,libdaemon) ("libevent" ,libevent))) (native-inputs diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm index ba49a9d0f0..2a5cf8e0fc 100644 --- a/gnu/packages/axoloti.scm +++ b/gnu/packages/axoloti.scm @@ -527,7 +527,7 @@ patcher application."))) (install-file "dist/Axoloti.jar" share) ;; Install old firmware - (let ((target (string-append share "/old_firmware/")) + (let ((target (string-append share "/old_firmware/firmware-1.0.12")) (old-firmware (string-append (assoc-ref inputs "axoloti-runtime") "/share/axoloti/firmware/"))) @@ -557,7 +557,7 @@ patcher application."))) toolchain "/arm-none-eabi/include:" toolchain - "/arm-none-eabi/include/arm-none-eabi/armv7e-m"))) + "/arm-none-eabi/include/arm-none-eabi/thumb/v7e-m"))) (display (string-append "#!" (which "sh") "\n" "export CROSS_CPATH=" includes "\n" diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 051b200631..770bb23a9c 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -569,13 +569,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.13") + (version "1.1.14") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn")) + (base32 "1fpdj73cgp96xwasdcifxl7q2pr1my2f4vfdjpv771llri3hgfvx")) (modules '((guix build utils))) (snippet '(begin @@ -606,7 +606,7 @@ detection, and lossless compression.") #t)))) (build-system python-build-system) (arguments - `(#:modules ((srfi srfi-26) ; for cut + `(#:modules ((srfi srfi-26) ; for cut (guix build utils) (guix build python-build-system)) #:phases @@ -1066,7 +1066,7 @@ other storage medium. Subsequent incremental backups can then be layered on top of the full backup. The restore command performs the inverse function of dump; it can restore a full backup of a file system. Single files and directory subtrees may also be restored from full or partial backups in -interractive mode.") +interactive mode.") (license license:bsd-3))) (define-public burp @@ -1103,7 +1103,7 @@ interractive mode.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("check" ,check) + ("check" ,check-0.14) ("pkg-config" ,pkg-config))) (home-page "https://burp.grke.org") (synopsis "Differential backup and restore") diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 7cc4325384..cc10a4b673 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -339,7 +339,7 @@ used to apply commands with arbitrarily long arguments.") ,@(if (and (not (%current-target-system)) (member (%current-system) (package-supported-systems libcap))) - `(("libcap" ,libcap)) ;capability support in 'ls', etc. + `(("libcap" ,libcap-2.31)) ;capability support in 'ls', etc. '()))) (native-inputs ;; Perl is needed to run tests in native builds, and to run the bundled @@ -1238,7 +1238,7 @@ command.") (define-public tzdata (package (name "tzdata") - (version "2020a") + (version "2020b") (source (origin (method url-fetch) (uri (string-append @@ -1246,7 +1246,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal")))) + "02g88pbw82zr36x9dz5ib4sq6bfq253yx5hbhnfyhp143naky1cv")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -1296,7 +1296,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx")))))) + "1nj3zvqpy5lm6w365p9ynz4i5arq4fiy8ldq55v4z9p49nagivs7")))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index f61fb86f75..f9648b5f7c 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -46,14 +46,14 @@ (define-public fio (package (name "fio") - (version "3.22") + (version "3.23") (source (origin (method url-fetch) (uri (string-append "https://brick.kernel.dk/snaps/" "fio-" version ".tar.bz2")) (sha256 (base32 - "0f2x917600y6k0xs34ixgfjm4v1ylbh8svpkqi07xy3474g5s2rv")))) + "0cy32431hv0i84yrryna5byj4r610n6i1rm8nfflnrznbf051axs")))) (build-system gnu-build-system) (arguments '(#:test-target "test" diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a9f8ff21c5..f30f2fd117 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4,6 +4,8 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2020 Peter Lo <peterloleungyau@gmail.com> +;;; Copyright © 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1113,7 +1115,7 @@ how the coverage distributed across the genome.") (propagated-inputs `(("r-biobase" ,r-biobase) ("r-biocgenerics" ,r-biocgenerics) - ("r-fastcluster", r-fastcluster) + ("r-fastcluster" ,r-fastcluster) ("r-ggplot2" ,r-ggplot2) ("r-gviz" ,r-gviz) ("r-plyr" ,r-plyr) @@ -1607,14 +1609,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.") (define-public r-diffbind (package (name "r-diffbind") - (version "2.16.0") + (version "2.16.2") (source (origin (method url-fetch) (uri (bioconductor-uri "DiffBind" version)) (sha256 (base32 - "1mwqgljya1c7r2dfrdds3nswn9bn1l3ak1wavbpv4lbv3nkmykn5")))) + "11y9kigdikqcd0cnksh306nsaadak0kgivk7773mv3yszrxxwzj1")))) (properties `((upstream-name . "DiffBind"))) (build-system r-build-system) (inputs @@ -1795,14 +1797,14 @@ determining dependencies between variables, code improvement suggestions.") (define-public r-chippeakanno (package (name "r-chippeakanno") - (version "3.22.3") + (version "3.22.4") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPpeakAnno" version)) (sha256 (base32 - "0q3f55hh0a2hl96272js6gagmgps9cxs8s13pf6fii64rzaz5m7y")))) + "0wxgjdikinkqj7jvs2725ak0291q6zhikyf1c93w8cngwvd9i1gq")))) (properties `((upstream-name . "ChIPpeakAnno"))) (build-system r-build-system) (propagated-inputs @@ -2705,13 +2707,13 @@ gene and isoform level using RNA-seq data") (define-public r-karyoploter (package (name "r-karyoploter") - (version "1.14.0") + (version "1.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "karyoploteR" version)) (sha256 (base32 - "0h0gk4xd95k5phy6qcsv7j931d7gk3p24i2fg4mz5dsk110lpifs")))) + "1wlnzkq58baqj9854nzf5rbglchb2xy4wsp3s0q8xfq8v0p3baxf")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -2734,7 +2736,7 @@ gene and isoform level using RNA-seq data") (home-page "https://bioconductor.org/packages/karyoploteR/") (synopsis "Plot customizable linear genomes displaying arbitrary data") (description "This package creates karyotype plots of arbitrary genomes and -offers a complete set of functions to plot arbitrary data on them. It mimicks +offers a complete set of functions to plot arbitrary data on them. It mimics many R base graphics functions coupling them with a coordinate change function automatically mapping the chromosome and data coordinates into the plot coordinates.") @@ -3626,14 +3628,14 @@ information about samples and features can be added to the plot.") (define-public r-gosemsim (package (name "r-gosemsim") - (version "2.14.1") + (version "2.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "GOSemSim" version)) (sha256 (base32 - "0v4q9xr1cm5xr08pgbzrss41kh3yz7xyh31n55l0sjmr1629ykln")))) + "02r7m1x6g8bb7q8l0hpvakdzdv5v1nplhx5lbiy798a7c3xg895b")))) (properties `((upstream-name . "GOSemSim"))) (build-system r-build-system) (propagated-inputs @@ -3672,7 +3674,7 @@ sets of GO terms, gene products and gene clusters.") (description "Genome wide studies of translational control is emerging as a tool to study various biological conditions. The output from such analysis is both -the mRNA level (e.g. cytosolic mRNA level) and the levl of mRNA actively +the mRNA level (e.g. cytosolic mRNA level) and the level of mRNA actively involved in translation (the actively translating mRNA level) for each mRNA. The standard analysis of such data strives towards identifying differential translational between two or more sample classes - i.e. differences in @@ -4362,14 +4364,14 @@ position-specific scores within R and Bioconductor.") (define-public r-atacseqqc (package (name "r-atacseqqc") - (version "1.12.4") + (version "1.12.5") (source (origin (method url-fetch) (uri (bioconductor-uri "ATACseqQC" version)) (sha256 (base32 - "1gs9862hhh4gr1akij6ykhcj29s9dzg1vnj87hqrm19dfgl43qbh")))) + "1103daz82k97vzmxjmf7jwm2nd3w8i0jwplrsi9996bkih11qwbf")))) (properties `((upstream-name . "ATACseqQC"))) (build-system r-build-system) (propagated-inputs @@ -4841,7 +4843,7 @@ a more complex way than the simple GC content. Instead, the base types (A, T, G or C) at each position along the probe determine the affinity of each probe. The parameters of the position-specific base contributions to the probe affinity is estimated in an NSB experiment in which only NSB but no -gene-specific bidning is expected.") +gene-specific binding is expected.") ;; Any version of the LGPL (license license:lgpl2.1+))) @@ -5060,14 +5062,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).") (define-public r-xcms (package (name "r-xcms") - (version "3.10.1") + (version "3.10.2") (source (origin (method url-fetch) (uri (bioconductor-uri "xcms" version)) (sha256 (base32 - "1aa11gy1v7kkamv3hsnvdx715q8f1saw9p664j6wifyjj0hx13kn")))) + "0sk53jcl7sjrpw2ncdpl8sw1b1j9mizlrj517rinr1qrbm6lsn8f")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -7159,14 +7161,14 @@ data.") (define-public r-activedriverwgs (package (name "r-activedriverwgs") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "ActiveDriverWGS" version)) (sha256 (base32 - "0l6h0f54zjvcx19ngq3kp01dypsjqf28vssjm8yzccmpyacfypag")))) + "06mvakdc8d2pn91p0sr4ixc561s4ia5h1cvd1p7pqd6s50dy4say")))) (properties `((upstream-name . "ActiveDriverWGS"))) (build-system r-build-system) @@ -7245,14 +7247,14 @@ gene expression.") (define-public r-bgx (package (name "r-bgx") - (version "1.54.0") + (version "1.54.1") (source (origin (method url-fetch) (uri (bioconductor-uri "bgx" version)) (sha256 (base32 - "0r67a6m5hrnsxgk0f57hl5yaagi2wai2kpfyjjlhrck4rlm1sjcx")))) + "0a10fg9n5p024jrmbis102gqpbz23sc6vdn1sal2697hlxikzb46")))) (properties `((upstream-name . "bgx"))) (build-system r-build-system) (propagated-inputs @@ -7476,7 +7478,7 @@ networks and estimated fluxes can be visualized with hypergraphs.") safety and convenience features to the @code{filebacked.big.matrix} class from the @code{bigmemory} package. @code{BigMatrix} protects against segfaults by monitoring and gracefully restoring the connection to on-disk data and it also -protects against accidental data modification with a filesystem-based +protects against accidental data modification with a file-system-based permissions system. Utilities are provided for using @code{BigMatrix}-derived classes as @code{assayData} matrices within the @code{Biobase} package's @code{eSet} family of classes. @code{BigMatrix} provides some optimizations @@ -8185,14 +8187,14 @@ truncated data.") (define-public r-interval (package (name "r-interval") - (version "1.1-0.1") + (version "1.1-0.7") (source (origin (method url-fetch) (uri (cran-uri "interval" version)) (sha256 (base32 - "1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8")))) + "1b31lh0sv7lzy76230djipahxa10lblbr37kdiigr6hp3dd1xmz9")))) (properties `((upstream-name . "interval"))) (build-system r-build-system) (propagated-inputs @@ -8212,14 +8214,14 @@ plot them, and perform logrank or Wilcoxon type tests.") (define-public r-fhtest (package (name "r-fhtest") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (cran-uri "FHtest" version)) (sha256 (base32 - "1wsn0j9ydpp9nfswiqg21p09kgkvaq8fh0y0h8syqgizah7i8vs2")))) + "00mql2r4f5hxhdqf27q3x9s5rz2zzakx2myym97b1w1s7c5znl4q")))) (properties `((upstream-name . "FHtest"))) (build-system r-build-system) (propagated-inputs @@ -8242,3 +8244,483 @@ with: @end itemize ") (license license:gpl2+))) + +(define-public r-fourcseq + (package + (name "r-fourcseq") + (version "1.22.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "FourCSeq" version)) + (sha256 + (base32 "14q1ijnqnbd9xs60sfvyqjfiypjrvhacpwp2v85yfhcxw870cx5b")))) + (properties `((upstream-name . "FourCSeq"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biostrings" ,r-biostrings) + ("r-deseq2" ,r-deseq2) + ("r-fda" ,r-fda) + ("r-genomicalignments" ,r-genomicalignments) + ("r-genomicranges" ,r-genomicranges) + ("r-ggbio" ,r-ggbio) + ("r-ggplot2" ,r-ggplot2) + ("r-gtools" ,r-gtools) + ("r-lsd" ,r-lsd) + ("r-matrix" ,r-matrix) + ("r-reshape2" ,r-reshape2) + ("r-rsamtools" ,r-rsamtools) + ("r-rtracklayer" ,r-rtracklayer) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page + "https://bioconductor.org/packages/release/bioc/html/FourCSeq.html") + (synopsis "Analysis of multiplexed 4C sequencing data") + (description + "This package is an R package dedicated to the analysis of (multiplexed) +4C sequencing data. @code{r-fourcseq} provides a pipeline to detect specific +interactions between DNA elements and identify differential interactions +between conditions. The statistical analysis in R starts with individual bam +files for each sample as inputs. To obtain these files, the package contains +a Python script to demultiplex libraries and trim off primer sequences. With +a standard alignment software the required bam files can be then be +generated.") + (license license:gpl3+))) + +(define-public r-preprocesscore + (package + (name "r-preprocesscore") + (version "1.50.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "preprocessCore" version)) + (sha256 + (base32 + "0q1406kswylc8zn5k3wyd34p34pfzbhi1ggkfsh30zcjp6adbwjl")))) + (properties + `((upstream-name . "preprocessCore"))) + (build-system r-build-system) + (home-page "https://github.com/bmbolstad/preprocessCore") + (synopsis "Collection of pre-processing functions") + (description + "This package provides a library of core pre-processing and normalization +routines.") + (license license:lgpl2.0+))) + +;; This is a CRAN package, but it depends on preprocessorcore, which is a +;; Bioconductor package. +(define-public r-wgcna + (package + (name "r-wgcna") + (version "1.69") + (source + (origin + (method url-fetch) + (uri (cran-uri "WGCNA" version)) + (sha256 + (base32 + "022hkprnrafvggi8pkjffkvk1qlnibmbbxxrni00wkrdbga5589f")))) + (properties `((upstream-name . "WGCNA"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-doparallel" ,r-doparallel) + ("r-dynamictreecut" ,r-dynamictreecut) + ("r-fastcluster" ,r-fastcluster) + ("r-foreach" ,r-foreach) + ("r-go-db" ,r-go-db) + ("r-hmisc" ,r-hmisc) + ("r-impute" ,r-impute) + ("r-rcpp" ,r-rcpp) + ("r-survival" ,r-survival) + ("r-matrixstats" ,r-matrixstats) + ("r-preprocesscore" ,r-preprocesscore))) + (home-page + "http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/") + (synopsis "Weighted correlation network analysis") + (description + "This package provides functions necessary to perform Weighted +Correlation Network Analysis on high-dimensional data. It includes functions +for rudimentary data cleaning, construction and summarization of correlation +networks, module identification and functions for relating both variables and +modules to sample traits. It also includes a number of utility functions for +data manipulation and visualization.") + (license license:gpl2+))) + +(define-public r-rgraphviz + (package + (name "r-rgraphviz") + (version "2.32.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Rgraphviz" version)) + (sha256 + (base32 + "1calpvzgcz6v7s4x6bf35kj83sga95zjp7x87p5d3qnbv7q2wz5y")))) + (properties `((upstream-name . "Rgraphviz"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-reproducible + (lambda _ + ;; The replacement value is taken from src/graphviz/builddate.h + (substitute* "src/graphviz/configure" + (("VERSION_DATE=.*") + "VERSION_DATE=20200427.2341\n")) + #t))))) + ;; FIXME: Rgraphviz bundles the sources of an older variant of + ;; graphviz. It does not build with the latest version of graphviz, so + ;; we do not add graphviz to the inputs. + (inputs `(("zlib" ,zlib))) + (propagated-inputs + `(("r-graph" ,r-graph))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://bioconductor.org/packages/Rgraphviz") + (synopsis "Plotting capabilities for R graph objects") + (description + "This package interfaces R with the graphviz library for plotting R graph +objects from the @code{graph} package.") + (license license:epl1.0))) + +(define-public r-fithic + (package + (name "r-fithic") + (version "1.14.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "FitHiC" version)) + (sha256 + (base32 + "1dffkdxm08wq4kjd9j2v2625x3p6vbrk33a2zx94pwpgkghr72yp")))) + (properties `((upstream-name . "FitHiC"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-fdrtool" ,r-fdrtool) + ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/FitHiC") + (synopsis "Confidence estimation for intra-chromosomal contact maps") + (description + "Fit-Hi-C is a tool for assigning statistical confidence estimates to +intra-chromosomal contact maps produced by genome-wide genome architecture +assays such as Hi-C.") + (license license:gpl2+))) + +(define-public r-hitc + (package + (name "r-hitc") + (version "1.32.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "HiTC" version)) + (sha256 + (base32 + "1jx2pfa7sbdz7xi466lz1h5xv126g56z73n0a5l2wrq28k47qaxy")))) + (properties `((upstream-name . "HiTC"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biostrings" ,r-biostrings) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-matrix" ,r-matrix) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rtracklayer" ,r-rtracklayer))) + (home-page "https://bioconductor.org/packages/HiTC") + (synopsis "High throughput chromosome conformation capture analysis") + (description + "The HiTC package was developed to explore high-throughput \"C\" data +such as 5C or Hi-C. Dedicated R classes as well as standard methods for +quality controls, normalization, visualization, and further analysis are also +provided.") + (license license:artistic2.0))) + +(define-public r-hdf5array + (package + (name "r-hdf5array") + (version "1.16.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "HDF5Array" version)) + (sha256 + (base32 + "01767v90nl0499jcicpxngbbs0af5p9c5aasi5va01w3v5bnqddn")))) + (properties `((upstream-name . "HDF5Array"))) + (build-system r-build-system) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-delayedarray" ,r-delayedarray) + ("r-iranges" ,r-iranges) + ("r-matrix" ,r-matrix) + ("r-rhdf5" ,r-rhdf5) + ("r-rhdf5lib" ,r-rhdf5lib) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://bioconductor.org/packages/HDF5Array") + (synopsis "HDF5 back end for DelayedArray objects") + (description "This package provides an array-like container for convenient +access and manipulation of HDF5 datasets. It supports delayed operations and +block processing.") + (license license:artistic2.0))) + +(define-public r-rhdf5lib + (package + (name "r-rhdf5lib") + (version "1.10.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Rhdf5lib" version)) + (sha256 + (base32 + "0f45sqrvzj6x4mckalyp8366hm8v0rrmzklx3xd4gs6l2wallcn9")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled binaries + (delete-file-recursively "src/wininclude/") + (delete-file-recursively "src/winlib-4.9.3/") + (delete-file-recursively "src/winlib-8.3.0/") + (delete-file "src/hdf5small_cxx_hl_1.10.6.tar.gz") + #t)))) + (properties `((upstream-name . "Rhdf5lib"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'do-not-use-bundled-hdf5 + (lambda* (#:key inputs #:allow-other-keys) + (for-each delete-file '("configure" "configure.ac")) + ;; Do not make other packages link with the proprietary libsz. + (substitute* "R/zzz.R" + ((" \"%s/libsz.a\"") "")) + (with-directory-excursion "src" + (invoke "tar" "xvf" (assoc-ref inputs "hdf5-source")) + (rename-file (string-append "hdf5-" ,(package-version hdf5-1.10)) + "hdf5") + ;; Remove timestamp and host system information to make + ;; the build reproducible. + (substitute* "hdf5/src/libhdf5.settings.in" + (("Configured on: @CONFIG_DATE@") + "Configured on: Guix") + (("Uname information:.*") + "Uname information: Linux\n") + ;; Remove unnecessary store reference. + (("C Compiler:.*") + "C Compiler: GCC\n")) + (rename-file "Makevars.in" "Makevars") + (substitute* "Makevars" + (("@ZLIB_LIB@") "-lz") + (("@ZLIB_INCLUDE@") "") + (("HDF5_CXX_LIB=.*") + (string-append "HDF5_CXX_LIB=" + (assoc-ref inputs "hdf5") "/lib/libhdf5_cpp.a\n")) + (("HDF5_LIB=.*") + (string-append "HDF5_LIB=" + (assoc-ref inputs "hdf5") "/lib/libhdf5.a\n")) + (("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n") + (("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n") + (("HDF5_HL_INCLUDE=.*") "HDF5_HL_INCLUDE=./hdf5/hl/src\n") + (("HDF5_HL_CXX_INCLUDE=.*") "HDF5_HL_CXX_INCLUDE=./hdf5/hl/c++/src\n") + (("HDF5_HL_LIB=.*") + (string-append "HDF5_HL_LIB=" + (assoc-ref inputs "hdf5") "/lib/libhdf5_hl.a\n")) + (("HDF5_HL_CXX_LIB=.*") + (string-append "HDF5_HL_CXX_LIB=" + (assoc-ref inputs "hdf5") "/lib/libhdf5_hl_cpp.a\n")) + ;; szip is non-free software + (("cp \"\\$\\{SZIP_LIB\\}.*") "") + (("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n"))) + #t))))) + (inputs + `(("zlib" ,zlib))) + (propagated-inputs + `(("hdf5" ,hdf5-1.10))) + (native-inputs + `(("hdf5-source" ,(package-source hdf5-1.10)) + ("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/Rhdf5lib") + (synopsis "HDF5 library as an R package") + (description "This package provides C and C++ HDF5 libraries for use in R +packages.") + (license license:artistic2.0))) + +(define-public r-beachmat + (package + (name "r-beachmat") + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "beachmat" version)) + (sha256 + (base32 + "1vl6jbf9ia78cm4ikdb8vz04jv4b46zhvg5i006c63a9pzw7zhxi")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-delayedarray" ,r-delayedarray) + ("r-matrix" ,r-matrix))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/beachmat") + (synopsis "Compiling Bioconductor to handle each matrix type") + (description "This package provides a consistent C++ class interface for a +variety of commonly used matrix types, including sparse and HDF5-backed +matrices.") + (license license:gpl3))) + +(define-public r-singlecellexperiment + (package + (name "r-singlecellexperiment") + (version "1.10.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "SingleCellExperiment" version)) + (sha256 + (base32 + "092wvk11n7pa234vlwhxm3gdi4k3sbnz1splhxalbdhz3jf02zfp")))) + (properties + `((upstream-name . "SingleCellExperiment"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-s4vectors" ,r-s4vectors) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/SingleCellExperiment") + (synopsis "S4 classes for single cell data") + (description "This package defines an S4 class for storing data from +single-cell experiments. This includes specialized methods to store and +retrieve spike-in information, dimensionality reduction coordinates and size +factors for each cell, along with the usual metadata for genes and +libraries.") + (license license:gpl3))) + +(define-public r-scater + (package + (name "r-scater") + (version "1.16.2") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "scater" version)) + (sha256 + (base32 + "1pa5wvgjb30rw1vsjwbnn07ss3sc5n8ck5d7khdby4r2s9177s33")))) + (build-system r-build-system) + (propagated-inputs + `(("r-beachmat" ,r-beachmat) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocneighbors" ,r-biocneighbors) + ("r-biocparallel" ,r-biocparallel) + ("r-biocsingular" ,r-biocsingular) + ("r-delayedarray" ,r-delayedarray) + ("r-delayedmatrixstats" ,r-delayedmatrixstats) + ("r-ggbeeswarm" ,r-ggbeeswarm) + ("r-ggplot2" ,r-ggplot2) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-rlang" ,r-rlang) + ("r-s4vectors" ,r-s4vectors) + ("r-singlecellexperiment" ,r-singlecellexperiment) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-viridis" ,r-viridis))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/davismcc/scater") + (synopsis "Single-cell analysis toolkit for gene expression data in R") + (description "This package provides a collection of tools for doing +various analyses of single-cell RNA-seq gene expression data, with a focus on +quality control.") + (license license:gpl2+))) + +(define-public r-scran + (package + (name "r-scran") + (version "1.16.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "scran" version)) + (sha256 + (base32 + "1gm4ys4aq8h1pn45k1rxk384wjyf55izivw8kgxbrflj6j4xvvsv")))) + (build-system r-build-system) + (propagated-inputs + `(("r-beachmat" ,r-beachmat) + ("r-bh" ,r-bh) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocneighbors" ,r-biocneighbors) + ("r-biocparallel" ,r-biocparallel) + ("r-biocsingular" ,r-biocsingular) + ("r-delayedarray" ,r-delayedarray) + ("r-delayedmatrixstats" ,r-delayedmatrixstats) + ("r-dqrng" ,r-dqrng) + ("r-edger" ,r-edger) + ("r-igraph" ,r-igraph) + ("r-iranges" ,r-iranges) + ("r-limma" ,r-limma) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-s4vectors" ,r-s4vectors) + ("r-scater" ,r-scater) + ("r-singlecellexperiment" ,r-singlecellexperiment) + ("r-statmod" ,r-statmod) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/scran") + (synopsis "Methods for single-cell RNA-Seq data analysis") + (description "This package implements a variety of low-level analyses of +single-cell RNA-seq data. Methods are provided for normalization of +cell-specific biases, assignment of cell cycle phase, and detection of highly +variable and significantly correlated genes.") + (license license:gpl3))) + +(define-public r-delayedmatrixstats + (package + (name "r-delayedmatrixstats") + (version "1.10.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "DelayedMatrixStats" version)) + (sha256 + (base32 + "046sam0rz42ph0m7jz7v3bck7d3h2mp45gzywh5dvc1qkjq6fdxx")))) + (properties + `((upstream-name . "DelayedMatrixStats"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocparallel" ,r-biocparallel) + ("r-delayedarray" ,r-delayedarray) + ("r-hdf5array" ,r-hdf5array) + ("r-iranges" ,r-iranges) + ("r-matrix" ,r-matrix) + ("r-matrixstats" ,r-matrixstats) + ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/PeteHaitch/DelayedMatrixStats") + (synopsis "Functions that apply to rows and columns of DelayedMatrix objects") + (description + "This package provides a port of the @code{matrixStats} API for use with +@code{DelayedMatrix} objects from the @code{DelayedArray} package. It +contains high-performing functions operating on rows and columns of +@code{DelayedMatrix} objects, e.g. @code{colMedians}, @code{rowMedians}, +@code{colRanks}, @code{rowRanks}, @code{colSds}, and @code{rowSds}. Functions +are optimized per data type and for subsetted calculations such that both +memory usage and processing time is minimized.") + (license license:expat))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index ffa2618458..0d5e6e3d20 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> -;;; Copyright © 2018, 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> +;;; Copyright © 2018, 2019, 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> @@ -4225,6 +4225,13 @@ performance.") (base32 "16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0")))) (build-system gnu-build-system) + ;; Let htslib translate "gs://" and "s3://" to regular https links with + ;; "--enable-gcs" and "--enable-s3". For these options to work, we also + ;; need to set "--enable-libcurl". + (arguments + `(#:configure-flags '("--enable-gcs" + "--enable-libcurl" + "--enable-s3"))) (inputs `(("curl" ,curl) ("openssl" ,openssl))) @@ -4496,7 +4503,7 @@ sequencing tag position and orientation.") (define-public mafft (package (name "mafft") - (version "7.394") + (version "7.471") (source (origin (method url-fetch) (uri (string-append @@ -4505,7 +4512,7 @@ sequencing tag position and orientation.") (file-name (string-append name "-" version ".tgz")) (sha256 (base32 - "0bacjkxfg944p5khhyh5rd4y7wkjc9qk4v2jjj442sqlq0f8ar7b")))) + "0r1973fx2scq4712zdqfy67wkzqj0c0bhrdy4jxhvq40mdxyry30")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no automated tests, though there are tests in the read me @@ -4568,7 +4575,7 @@ sequencing tag position and orientation.") ("gawk" ,gawk) ("grep" ,grep) ("coreutils" ,coreutils))) - (home-page "http://mafft.cbrc.jp/alignment/software/") + (home-page "https://mafft.cbrc.jp/alignment/software/") (synopsis "Multiple sequence alignment program") (description "MAFFT offers a range of multiple alignment methods for nucleotide and @@ -4576,7 +4583,7 @@ protein sequences. For instance, it offers L-INS-i (accurate; for alignment of <~200 sequences) and FFT-NS-2 (fast; for alignment of <~30,000 sequences).") (license (license:non-copyleft - "http://mafft.cbrc.jp/alignment/software/license.txt" + "https://mafft.cbrc.jp/alignment/software/license.txt" "BSD-3 with different formatting")))) (define-public mash @@ -7539,13 +7546,13 @@ also known as views, in a controlled vocabulary.") (define-public r-biocstyle (package (name "r-biocstyle") - (version "2.16.0") + (version "2.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocStyle" version)) (sha256 (base32 - "07rjl2n4sazdg581zh7w3yykzphgr2gpz41ba4ryqs7347vh9nbf")))) + "09sz2bnbfbj8wz16k0q8xrvag9fldxqyp5vbg9pvd9skh28hv7c7")))) (properties `((upstream-name . "BiocStyle"))) (build-system r-build-system) @@ -8848,13 +8855,13 @@ of gene-level counts.") (define-public r-rhdf5 (package (name "r-rhdf5") - (version "2.32.2") + (version "2.32.3") (source (origin (method url-fetch) (uri (bioconductor-uri "rhdf5" version)) (sha256 (base32 - "1v6ygi0avh3gmaj2ld2nr7vww4ipw39b5kqci9w27i3ja985lb8j")))) + "0fnx60dpf6s2qwq48lg98g18g8k7wgm66pw0kamlbb7l2hnwycvf")))) (build-system r-build-system) (propagated-inputs `(("r-rhdf5lib" ,r-rhdf5lib))) @@ -10272,14 +10279,14 @@ interval to data view, mismatch pileup, and several splicing summaries.") (define-public r-gqtlbase (package (name "r-gqtlbase") - (version "1.20.0") + (version "1.20.4") (source (origin (method url-fetch) (uri (bioconductor-uri "gQTLBase" version)) (sha256 (base32 - "06xvzp4fn3qfa46ggg8kxi267gbyd821vvx4040173xkqxpr0g5j")))) + "1ly14vhhqxjpbxjypi6ppd37dycabdhf4ny4nsvp9969k418zv41")))) (properties `((upstream-name . "gQTLBase"))) (build-system r-build-system) (propagated-inputs @@ -10599,343 +10606,6 @@ EMBL-EBI GWAS catalog.") visualizations for publication-quality multi-panel figures.") (license license:gpl2+))) -(define-public r-fithic - (package - (name "r-fithic") - (version "1.14.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "FitHiC" version)) - (sha256 - (base32 - "1dffkdxm08wq4kjd9j2v2625x3p6vbrk33a2zx94pwpgkghr72yp")))) - (properties `((upstream-name . "FitHiC"))) - (build-system r-build-system) - (propagated-inputs - `(("r-data-table" ,r-data-table) - ("r-fdrtool" ,r-fdrtool) - ("r-rcpp" ,r-rcpp))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/FitHiC") - (synopsis "Confidence estimation for intra-chromosomal contact maps") - (description - "Fit-Hi-C is a tool for assigning statistical confidence estimates to -intra-chromosomal contact maps produced by genome-wide genome architecture -assays such as Hi-C.") - (license license:gpl2+))) - -(define-public r-hitc - (package - (name "r-hitc") - (version "1.32.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "HiTC" version)) - (sha256 - (base32 - "1jx2pfa7sbdz7xi466lz1h5xv126g56z73n0a5l2wrq28k47qaxy")))) - (properties `((upstream-name . "HiTC"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biostrings" ,r-biostrings) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicranges" ,r-genomicranges) - ("r-iranges" ,r-iranges) - ("r-matrix" ,r-matrix) - ("r-rcolorbrewer" ,r-rcolorbrewer) - ("r-rtracklayer" ,r-rtracklayer))) - (home-page "https://bioconductor.org/packages/HiTC") - (synopsis "High throughput chromosome conformation capture analysis") - (description - "The HiTC package was developed to explore high-throughput \"C\" data -such as 5C or Hi-C. Dedicated R classes as well as standard methods for -quality controls, normalization, visualization, and further analysis are also -provided.") - (license license:artistic2.0))) - -(define-public r-hdf5array - (package - (name "r-hdf5array") - (version "1.16.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "HDF5Array" version)) - (sha256 - (base32 - "01767v90nl0499jcicpxngbbs0af5p9c5aasi5va01w3v5bnqddn")))) - (properties `((upstream-name . "HDF5Array"))) - (build-system r-build-system) - (inputs - `(("zlib" ,zlib))) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-delayedarray" ,r-delayedarray) - ("r-iranges" ,r-iranges) - ("r-matrix" ,r-matrix) - ("r-rhdf5" ,r-rhdf5) - ("r-rhdf5lib" ,r-rhdf5lib) - ("r-s4vectors" ,r-s4vectors))) - (home-page "https://bioconductor.org/packages/HDF5Array") - (synopsis "HDF5 back end for DelayedArray objects") - (description "This package provides an array-like container for convenient -access and manipulation of HDF5 datasets. It supports delayed operations and -block processing.") - (license license:artistic2.0))) - -(define-public r-rhdf5lib - (package - (name "r-rhdf5lib") - (version "1.10.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "Rhdf5lib" version)) - (sha256 - (base32 - "0f45sqrvzj6x4mckalyp8366hm8v0rrmzklx3xd4gs6l2wallcn9")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled binaries - (delete-file-recursively "src/wininclude/") - (delete-file-recursively "src/winlib-4.9.3/") - (delete-file-recursively "src/winlib-8.3.0/") - (delete-file "src/hdf5small_cxx_hl_1.10.6.tar.gz") - #t)))) - (properties `((upstream-name . "Rhdf5lib"))) - (build-system r-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'do-not-use-bundled-hdf5 - (lambda* (#:key inputs #:allow-other-keys) - (for-each delete-file '("configure" "configure.ac")) - ;; Do not make other packages link with the proprietary libsz. - (substitute* "R/zzz.R" - ((" \"%s/libsz.a\"") "")) - (with-directory-excursion "src" - (invoke "tar" "xvf" (assoc-ref inputs "hdf5-source")) - (rename-file (string-append "hdf5-" ,(package-version hdf5-1.10)) - "hdf5") - ;; Remove timestamp and host system information to make - ;; the build reproducible. - (substitute* "hdf5/src/libhdf5.settings.in" - (("Configured on: @CONFIG_DATE@") - "Configured on: Guix") - (("Uname information:.*") - "Uname information: Linux\n") - ;; Remove unnecessary store reference. - (("C Compiler:.*") - "C Compiler: GCC\n")) - (rename-file "Makevars.in" "Makevars") - (substitute* "Makevars" - (("@ZLIB_LIB@") "-lz") - (("@ZLIB_INCLUDE@") "") - (("HDF5_CXX_LIB=.*") - (string-append "HDF5_CXX_LIB=" - (assoc-ref inputs "hdf5") "/lib/libhdf5_cpp.a\n")) - (("HDF5_LIB=.*") - (string-append "HDF5_LIB=" - (assoc-ref inputs "hdf5") "/lib/libhdf5.a\n")) - (("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n") - (("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n") - (("HDF5_HL_INCLUDE=.*") "HDF5_HL_INCLUDE=./hdf5/hl/src\n") - (("HDF5_HL_CXX_INCLUDE=.*") "HDF5_HL_CXX_INCLUDE=./hdf5/hl/c++/src\n") - (("HDF5_HL_LIB=.*") - (string-append "HDF5_HL_LIB=" - (assoc-ref inputs "hdf5") "/lib/libhdf5_hl.a\n")) - (("HDF5_HL_CXX_LIB=.*") - (string-append "HDF5_HL_CXX_LIB=" - (assoc-ref inputs "hdf5") "/lib/libhdf5_hl_cpp.a\n")) - ;; szip is non-free software - (("cp \"\\$\\{SZIP_LIB\\}.*") "") - (("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n"))) - #t))))) - (inputs - `(("zlib" ,zlib))) - (propagated-inputs - `(("hdf5" ,hdf5-1.10))) - (native-inputs - `(("hdf5-source" ,(package-source hdf5-1.10)) - ("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/Rhdf5lib") - (synopsis "HDF5 library as an R package") - (description "This package provides C and C++ HDF5 libraries for use in R -packages.") - (license license:artistic2.0))) - -(define-public r-beachmat - (package - (name "r-beachmat") - (version "2.4.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "beachmat" version)) - (sha256 - (base32 - "1vl6jbf9ia78cm4ikdb8vz04jv4b46zhvg5i006c63a9pzw7zhxi")))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-delayedarray" ,r-delayedarray) - ("r-matrix" ,r-matrix))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/beachmat") - (synopsis "Compiling Bioconductor to handle each matrix type") - (description "This package provides a consistent C++ class interface for a -variety of commonly used matrix types, including sparse and HDF5-backed -matrices.") - (license license:gpl3))) - -(define-public r-singlecellexperiment - (package - (name "r-singlecellexperiment") - (version "1.10.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "SingleCellExperiment" version)) - (sha256 - (base32 - "092wvk11n7pa234vlwhxm3gdi4k3sbnz1splhxalbdhz3jf02zfp")))) - (properties - `((upstream-name . "SingleCellExperiment"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocgenerics" ,r-biocgenerics) - ("r-s4vectors" ,r-s4vectors) - ("r-summarizedexperiment" ,r-summarizedexperiment))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/SingleCellExperiment") - (synopsis "S4 classes for single cell data") - (description "This package defines an S4 class for storing data from -single-cell experiments. This includes specialized methods to store and -retrieve spike-in information, dimensionality reduction coordinates and size -factors for each cell, along with the usual metadata for genes and -libraries.") - (license license:gpl3))) - -(define-public r-scater - (package - (name "r-scater") - (version "1.16.2") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "scater" version)) - (sha256 - (base32 - "1pa5wvgjb30rw1vsjwbnn07ss3sc5n8ck5d7khdby4r2s9177s33")))) - (build-system r-build-system) - (propagated-inputs - `(("r-beachmat" ,r-beachmat) - ("r-biocgenerics" ,r-biocgenerics) - ("r-biocneighbors" ,r-biocneighbors) - ("r-biocparallel" ,r-biocparallel) - ("r-biocsingular" ,r-biocsingular) - ("r-delayedarray" ,r-delayedarray) - ("r-delayedmatrixstats" ,r-delayedmatrixstats) - ("r-ggbeeswarm" ,r-ggbeeswarm) - ("r-ggplot2" ,r-ggplot2) - ("r-matrix" ,r-matrix) - ("r-rcpp" ,r-rcpp) - ("r-rlang" ,r-rlang) - ("r-s4vectors" ,r-s4vectors) - ("r-singlecellexperiment" ,r-singlecellexperiment) - ("r-summarizedexperiment" ,r-summarizedexperiment) - ("r-viridis" ,r-viridis))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://github.com/davismcc/scater") - (synopsis "Single-cell analysis toolkit for gene expression data in R") - (description "This package provides a collection of tools for doing -various analyses of single-cell RNA-seq gene expression data, with a focus on -quality control.") - (license license:gpl2+))) - -(define-public r-scran - (package - (name "r-scran") - (version "1.16.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "scran" version)) - (sha256 - (base32 - "1gm4ys4aq8h1pn45k1rxk384wjyf55izivw8kgxbrflj6j4xvvsv")))) - (build-system r-build-system) - (propagated-inputs - `(("r-beachmat" ,r-beachmat) - ("r-bh" ,r-bh) - ("r-biocgenerics" ,r-biocgenerics) - ("r-biocneighbors" ,r-biocneighbors) - ("r-biocparallel" ,r-biocparallel) - ("r-biocsingular" ,r-biocsingular) - ("r-delayedarray" ,r-delayedarray) - ("r-delayedmatrixstats" ,r-delayedmatrixstats) - ("r-dqrng" ,r-dqrng) - ("r-edger" ,r-edger) - ("r-igraph" ,r-igraph) - ("r-iranges" ,r-iranges) - ("r-limma" ,r-limma) - ("r-matrix" ,r-matrix) - ("r-rcpp" ,r-rcpp) - ("r-s4vectors" ,r-s4vectors) - ("r-scater" ,r-scater) - ("r-singlecellexperiment" ,r-singlecellexperiment) - ("r-statmod" ,r-statmod) - ("r-summarizedexperiment" ,r-summarizedexperiment))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://bioconductor.org/packages/scran") - (synopsis "Methods for single-cell RNA-Seq data analysis") - (description "This package implements a variety of low-level analyses of -single-cell RNA-seq data. Methods are provided for normalization of -cell-specific biases, assignment of cell cycle phase, and detection of highly -variable and significantly correlated genes.") - (license license:gpl3))) - -(define-public r-delayedmatrixstats - (package - (name "r-delayedmatrixstats") - (version "1.10.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "DelayedMatrixStats" version)) - (sha256 - (base32 - "046sam0rz42ph0m7jz7v3bck7d3h2mp45gzywh5dvc1qkjq6fdxx")))) - (properties - `((upstream-name . "DelayedMatrixStats"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biocparallel" ,r-biocparallel) - ("r-delayedarray" ,r-delayedarray) - ("r-hdf5array" ,r-hdf5array) - ("r-iranges" ,r-iranges) - ("r-matrix" ,r-matrix) - ("r-matrixstats" ,r-matrixstats) - ("r-s4vectors" ,r-s4vectors))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page "https://github.com/PeteHaitch/DelayedMatrixStats") - (synopsis "Functions that apply to rows and columns of DelayedMatrix objects") - (description - "This package provides a port of the @code{matrixStats} API for use with -@code{DelayedMatrix} objects from the @code{DelayedArray} package. It -contains high-performing functions operating on rows and columns of -@code{DelayedMatrix} objects, e.g. @code{colMedians}, @code{rowMedians}, -@code{colRanks}, @code{rowRanks}, @code{colSds}, and @code{rowSds}. Functions -are optimized per data type and for subsetted calculations such that both -memory usage and processing time is minimized.") - (license license:expat))) - (define-public r-dropbead (let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247") (revision "2")) @@ -11484,7 +11154,6 @@ models. TADbit is complemented by TADkit for visualizing 3D models.") ("tcsh" ,tcsh) ("perl" ,perl) ("libpng" ,libpng) - ("mariadb" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl-1.0))) (home-page "https://genome.cse.ucsc.edu/index.html") @@ -15881,7 +15550,7 @@ than is possible with plain-text methods alone.") (propagated-inputs `(("libxml2" ,libxml2))) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("swig" ,swig))) (home-page "http://sbml.org/Software/libSBML") (synopsis "Process SBML files and data streams") diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index ddbb95b049..709b10fba0 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> @@ -41,6 +41,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages hurd) #:use-module (gnu packages icu4c) #:use-module (gnu packages perl) #:use-module (gnu packages python) @@ -132,6 +133,15 @@ ,(%current-target-system))))) '()) + ;; Change an #ifdef __MACH__ that really targets macOS. + ;; TODO: Inline this on the next rebuild cycle. + ,@(if (hurd-target?) + '((substitute* "boost/test/utils/timer.hpp" + (("defined\\(__MACH__\\)") + "(defined __MACH__ && !defined __GNU__)")) + #t) + '()) + (invoke "./bootstrap.sh" (string-append "--prefix=" out) ;; Auto-detection looks for ICU only in traditional diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 769238203c..d1de5cea4e 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -465,7 +465,6 @@ tree binary files. These are board description files used by Linux and BSD.") ("python" ,python) ("python-coverage" ,python-coverage) ("python-pytest" ,python-pytest) - ("sdl2" ,sdl2) ("swig" ,swig))) (build-system gnu-build-system) (home-page "https://www.denx.de/wiki/U-Boot/") @@ -478,6 +477,9 @@ also initializes the boards (RAM etc).") (package (inherit u-boot) (name "u-boot-tools") + (native-inputs + `(("sdl2" ,sdl2) + ,@(package-native-inputs u-boot))) (arguments `(#:make-flags '("HOSTCC=gcc") #:test-target "tests" diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 319688a20d..6bff33eba5 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -111,8 +111,8 @@ generate such a compilation database.") (license license:gpl3+))) (define-public gn - (let ((commit "eb997b5ab9c3f1ba6a2c52072785884864a84eae") - (revision "1794")) ;as returned by `git describe`, used below + (let ((commit "e327ffdc503815916db2543ec000226a8df45163") + (revision "1819")) ;as returned by `git describe`, used below (package (name "gn") (version (git-version "0.0" revision commit)) @@ -122,7 +122,7 @@ generate such a compilation database.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "1vfkcy34wqhg7wsk7jdzhgnnzwim10wgbxv5bnavxzjcs871i2xa")) + "0kvlfj3www84zp1vmxh76x8fdjm9hyk8lkh2vdsidafpmm75fphr")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 25bc78e6bf..493d99387c 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> -;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -40,6 +40,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages texinfo) #:use-module (gnu packages guile) + #:use-module (gnu packages lua) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) #:use-module (gnu packages python) @@ -257,6 +258,64 @@ string formatting and autoresizing, option and config file parsing, type checking casts and more.") (license license:lgpl2.1+))) +(define-public libwuya + ;; This commit is the one before "wuy_pool.h" was removed from libwuya, + ;; which libleak currently requires. + (let ((revision "1") + (commit "883502041044f4616cfbf75c8f2bb60059f704a9")) + (package + (name "libwuya") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/WuBingzheng/libwuya") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xrsqbgr13g2v0ag165ryp7xrwzv41xfygzk2a3445ca98c1qpdc")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test suite + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-lua-includes + (lambda _ + (substitute* '("wuy_cflua.h" "wuy_cflua.c") + (("<lua5\\.1/") "<")) + #t)) + (add-after 'unpack 'add--fPIC-to-CFLAGS + (lambda _ + (substitute* "Makefile" + (("CFLAGS[^\n]*" all) + (string-append all " -fPIC"))) + #t)) + (add-before 'build 'set-CC + (lambda _ + (setenv "CC" "gcc") + #t)) + (delete 'configure) ;no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (include-dir (string-append out "/include")) + (headers (find-files "." "\\.h$"))) + (for-each (lambda (h) + (install-file h include-dir)) + headers) + (install-file "libwuya.a" (string-append out "/lib")) + #t)))))) + (inputs `(("lua" ,lua))) + (home-page "https://github.com/WuBingzheng/libwuya/") + (synopsis "C library implementing various data structures") + (description "The @code{libwuya} library implements data structures such +as dictionaries, skip lists, and memory pools.") + ;; There is no clear information as to what license this is distributed + ;; under, but it is included (bundled) with libleak from the same author + ;; under the GNU GPL v2 or later license, so use this here until it is + ;; clarified (see: https://github.com/WuBingzheng/libwuya/issues/2). + (license license:gpl2+)))) + (define-public packcc (package (name "packcc") diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 9987ae1bf8..e4fb7abcd6 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> +;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages dav) + #:use-module (gnu packages docbook) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -124,12 +126,20 @@ the <tz.h> library for handling time zones and leap seconds.") (build-system cmake-build-system) (arguments '(#:tests? #f ; test suite appears broken + #:parallel-build? #f ;may cause GIR generation failure #:configure-flags '("-DSHARED_ONLY=true" ;; required by evolution-data-server "-DGOBJECT_INTROSPECTION=true" "-DICAL_GLIB_VAPI=true") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "doc/reference/libical-glib/libical-glib-docs.sgml.in" + (("http://www.oasis-open.org/docbook/xml/4.3/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/"))) + #t)) (add-before 'configure 'patch-paths (lambda* (#:key inputs #:allow-other-keys) ;; TODO: libical 3.1.0 supports using TZDIR instead of a hard-coded @@ -144,7 +154,8 @@ the <tz.h> library for handling time zones and leap seconds.") (("\\\"/usr/share/lib/zoneinfo\\\"") ""))) #t))))) (native-inputs - `(("gobject-introspection" ,gobject-introspection) + `(("docbook-xml" ,docbook-xml-4.3) + ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc) ("perl" ,perl) ("pkg-config" ,pkg-config) @@ -339,3 +350,45 @@ DebConf, FrOSCon, Grazer LinuxTage, and the CCC congresses. ConfClerk is targeted at mobile devices but works on any system running Qt.") (license (list license:gpl2+ license:lgpl3)))) ; or cc-by3.0 for src/icons/* + +(define-public ccal + (package + (name "ccal") + (version "2.5.3") + (source (origin + (method url-fetch) + (uri (string-append "http://ccal.chinesebay.com/ccal/ccal-" + version ".tar.gz")) + (sha256 + (base32 + "15nza1d1lvk3dp0wcl53wsd32yhbgyzznha092mh5kh5z74vsk1x")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("/usr/local/bin") + (string-append out "/bin")) + (("/usr/local/man") + (string-append out "/share/man")))) + #t)) + (add-after 'install 'install-manuals + (lambda _ + (invoke "make" "install-man")))) + ;; no tests + #:tests? #f)) + (home-page "http://ccal.chinesebay.com/ccal/ccal.htm") + (synopsis "Command line program for Chinese calendar") + (description "@command{ccal} is a command line program which writes a +Gregorian calendar together with Chinese calendar to standard output. Its +usage is similar to the @command{cal} program. In addition to console output, +it can also generate Encapsulated Postscript and HTML table outputs for use in +do-it-yourself calendars and web pages. It supports both simplified and +traditional Chinese characters.") + ;; Both licenses are in use in various source files. Note that + ;; COPYING.LESSER specifies LGPL 3.0, but all source files say + ;; 'Lesser GPL version 2 or later'. + (license (list license:gpl2+ license:lgpl2.1+)))) diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index 5a1128f44c..c5b9790f27 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -30,14 +30,14 @@ (define-public ccache (package (name "ccache") - (version "3.7.11") + (version "3.7.12") (source (origin (method url-fetch) (uri (string-append "https://github.com/ccache/ccache/releases/download/v" version "/ccache-" version ".tar.xz")) (sha256 - (base32 "0s1g0ylrayzax68xlqnxx46f5bhvr2pcm1yzswmj0kcs14404icd")))) + (base32 "005liq8csgxdn7m9hj2ah07hishww855p8sc96y1hrnwc21lwbx0")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ; for test/run ("which" ,(@ (gnu packages base) which)))) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 6dee19fb29..766f62fc9f 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -737,16 +737,15 @@ information is written to standard error.") (define-public asunder (package (name "asunder") - (version "2.9.6") - (source (origin - (method url-fetch) - (uri - (string-append "http://www.littlesvr.ca/asunder/releases/asunder-" - version - ".tar.bz2")) - (sha256 - (base32 - "1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a")))) + (version "2.9.7") + (source + (origin + (method url-fetch) + (uri + (string-append "http://www.littlesvr.ca/asunder/releases/asunder-" + version ".tar.bz2")) + (sha256 + (base32 "1x3l308ss0iqhz90qyjb94gyd8b4piyrm2nzjmg5kf049k9prjf1")))) (build-system glib-or-gtk-build-system) (arguments '(#:out-of-source? #f diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 7f4dca5f56..0cb20467ab 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.52.1") + (version "3.57") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w")))) + "10n3pncg6k81ikjz12la147rppwqn57bkrdl9gb820w6pq0nra2m")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index a7db915597..3e93e3c12a 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -135,7 +135,7 @@ like Jasmine or Mocha.") (define-public check (package (name "check") - (version "0.14.0") + (version "0.15.2") (source (origin (method url-fetch) @@ -143,7 +143,7 @@ like Jasmine or Mocha.") version "/check-" version ".tar.gz")) (sha256 (base32 - "02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx")))) + "02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8")))) (build-system gnu-build-system) (home-page "https://libcheck.github.io/check/") (synopsis "Unit test framework for C") @@ -156,7 +156,19 @@ faults or other signals. The output from unit tests can be used within source code editors and IDEs.") (license license:lgpl2.1+))) -;; Some packages require this older version. Removed once no longer needed. +;; Some packages require older versions. Removed once no longer needed. +(define-public check-0.14 + (package + (inherit check) + (version "0.14.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/libcheck/check/releases" + "/download/" version "/check-" version ".tar.gz")) + (sha256 + (base32 + "02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx")))))) + (define-public check-0.12 (package (inherit check) @@ -337,7 +349,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.") (define-public catch-framework2 (package (name "catch2") - (version "2.13.0") + (version "2.13.2") (home-page "https://github.com/catchorg/Catch2") (source (origin (method git-fetch) @@ -347,7 +359,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.") (file-name (git-file-name name version)) (sha256 (base32 - "0i4w0c9280a5fyi00mvvf13wlnfzyifr487n1iyr30zvvj5s5f1h")))) + "100r0kmra8jmra2hv92lzvwcmphpaiccwvq3lpdsa5b7hailhach")))) (build-system cmake-build-system) (inputs `(("python" ,python-wrapper))) @@ -924,13 +936,13 @@ and many external plugins.") (package (inherit (strip-python2-variant python-pytest)) (name "python2-pytest") - (version "4.6.9") + (version "4.6.11") (source (origin (method url-fetch) (uri (pypi-uri "pytest" version)) (sha256 (base32 - "0fgkmpc31nzy97fxfrkqbzycigdwxwwmninx3qhkzp81migggs0r")))) + "0ls3pqr86xgif6bphsb6wrww9r2vc7p7a2naq8zcq8115wwq5yjh")))) (build-system python-build-system) (arguments `(#:python ,python-2 @@ -1562,14 +1574,14 @@ have failed since the last commit or what tests are currently failing."))) (define-public python-coverage (package (name "python-coverage") - (version "5.0.3") + (version "5.2.1") (source (origin (method url-fetch) (uri (pypi-uri "coverage" version)) (sha256 (base32 - "1vrg8panqw79pswg52ygbrff3wdnxarrd9qz6c64ah0c4h2cmbvp")))) + "16z8i18msgs8k74n73dj9x49wzkl0vk4vq8k5pl1bsj70y7b4k53")))) (build-system python-build-system) (arguments ;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors. @@ -2681,7 +2693,7 @@ provides a simple way to achieve this.") (define-public umockdev (package (name "umockdev") - (version "0.14.2") + (version "0.14.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/martinpitt/umockdev/" @@ -2689,7 +2701,7 @@ provides a simple way to achieve this.") "umockdev-" version ".tar.xz")) (sha256 (base32 - "1nh6xsssmssmk0lxp9c9dmq3wzlpbpkg77nmmd09csbpybibgxfp")))) + "15smnxwplk48nas2c8ji6a5fqcsh770f1yl5nc2j5iprjspbm4mg")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/chicken.scm b/gnu/packages/chicken.scm index 7b86a58012..729cf25a6c 100644 --- a/gnu/packages/chicken.scm +++ b/gnu/packages/chicken.scm @@ -59,7 +59,7 @@ ;; Parallel builds are not supported, as noted in README. #:parallel-build? #f)) - (propagated-inputs `(("gcc-toolchain", gcc-toolchain))) + (propagated-inputs `(("gcc-toolchain" ,gcc-toolchain))) (home-page "https://www.call-cc.org/") (synopsis "R5RS Scheme implementation that compiles native code via C") (description diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index cc75c3201a..7bc69c7386 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -83,6 +83,9 @@ "base/third_party/symbolize" ;BSD-3 "base/third_party/xdg_mime" ;LGPL2.0+ or Academic 2.0 "base/third_party/xdg_user_dirs" ;Expat + ;; XXX: Chromium requires a newer C++ standard library. Remove this when + ;; the default GCC is 9 or later. + "buildtools/third_party/libc++" ;ASL2.0, with LLVM exceptions "chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+ "courgette/third_party/bsdiff" ;BSD-2, BSD protection license "courgette/third_party/divsufsort" ;Expat @@ -111,7 +114,6 @@ "third_party/boringssl/src/third_party/fiat" ;Expat "third_party/breakpad" ;BSD-3 "third_party/brotli" ;Expat - "third_party/cacheinvalidation" ;ASL2.0 "third_party/catapult" ;BSD-3 "third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0 "third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0 @@ -139,9 +141,15 @@ "third_party/depot_tools/owners.py" ;BSD-3 "third_party/devtools-frontend" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat "third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0 + "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0 + "third_party/devtools-frontend/src/front_end/third_party/lit-html" ;BSD-3 + "third_party/devtools-frontend/src/front_end/third_party/lodash-isequal" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3 "third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0 "third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0 "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 @@ -159,6 +167,8 @@ "third_party/iccjpeg" ;IJG "third_party/inspector_protocol" ;BSD-3 "third_party/jinja2" ;BSD-3 + ;; XXX: Unbundle this when switching back to libstdc++. + "third_party/jsoncpp" ;Public Domain or Expat "third_party/jstemplate" ;ASL2.0 "third_party/khronos" ;Expat, SGI "third_party/leveldatabase" ;BSD-3 @@ -175,6 +185,11 @@ "third_party/libsrtp" ;BSD-3 "third_party/libsync" ;ASL2.0 "third_party/libudev" ;LGPL2.1+ + + ;; FIXME: build/linux/unbundle/libvpx.gn does not work for all users. + "third_party/libvpx" ;BSD-3 + "third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat + "third_party/libwebm" ;BSD-3 "third_party/libxml/chromium" ;BSD-3 "third_party/libyuv" ;BSD-3 @@ -186,6 +201,7 @@ "third_party/metrics_proto" ;BSD-3 "third_party/modp_b64" ;BSD-3 "third_party/nasm" ;BSD-2 + "third_party/nearby" ;ASL2.0 "third_party/node" ;Expat "third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2 "third_party/one_euro_filter" ;BSD-3 @@ -208,9 +224,13 @@ "third_party/protobuf/third_party/six" ;Expat "third_party/pyjson5" ;ASL2.0 "third_party/qcms" ;Expat + ;; XXX: System re2 cannot be used when Chromium uses libc++ because the re2 + ;; ABI relies on libstdc++ internals. See build/linux/unbundle/re2.gn. + "third_party/re2" ;BSD-3 "third_party/rnnoise" ;BSD-3 "third_party/s2cellid" ;ASL2.0 "third_party/schema_org" ;CC-BY-SA3.0 + "third_party/securemessage" ;ASL2.0 "third_party/skia" ;BSD-3 "third_party/skia/include/third_party/skcms" ;BSD-3 "third_party/skia/third_party/skcms" ;BSD-3 @@ -222,12 +242,13 @@ "third_party/sqlite" ;Public domain "third_party/swiftshader" ;ASL2.0 "third_party/swiftshader/third_party/astc-encoder" ;ASL2.0 - "third_party/swiftshader/third_party/llvm-7.0" ;NCSA + "third_party/swiftshader/third_party/llvm-10.0" ;ASL2.0, with LLVM exception "third_party/swiftshader/third_party/llvm-subzero" ;NCSA "third_party/swiftshader/third_party/marl" ;ASL2.0 "third_party/swiftshader/third_party/subzero" ;NCSA "third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style "third_party/tcmalloc/chromium" ;BSD-3 + "third_party/ukey2" ;ASL2.0 "third_party/usb_ids" ;BSD-3 "third_party/usrsctp" ;BSD-2 "third_party/vulkan_memory_allocator" ;Expat @@ -246,8 +267,10 @@ "third_party/widevine/cdm/widevine_cdm_version.h" ;BSD-3 "third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3 "third_party/woff2" ;ASL2.0 + "third_party/xcbproto" ;X11 "third_party/xdg-utils" ;Expat "third_party/zlib/google" ;BSD-3 + "third_party/zxcvbn-cpp" ;Expat "url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+ "v8/src/third_party/siphash" ;Public domain "v8/src/third_party/utf8-decoder" ;Expat @@ -258,27 +281,9 @@ (define %blacklisted-files ;; 'third_party/blink/perf_tests/resources/svg/HarveyRayner.svg' carries a ;; nonfree license according to LICENSES in the same directory. As we don't - ;; run the Blink performance tests, just remove everything to save ~24MiB. + ;; run the Blink performance tests, just remove everything to save ~70MiB. '("third_party/blink/perf_tests")) -(define (gentoo-patch name revision hash) - (origin - (method url-fetch) - (uri (string-append "https://gitweb.gentoo.org/repo/gentoo.git/plain" - "/www-client/chromium/files/" name "?id=" revision)) - (file-name (string-append "ungoogled-" name)) - (sha256 (base32 hash)))) - -;; This repository contains libstdc++ compatibility patches for Chromium. -(define (chromium-gcc-patchset commit hash) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/stha09/chromium-patches") - (commit commit))) - (file-name (git-file-name "chromium-gcc-patches" commit)) - (sha256 (base32 hash)))) - (define (debian-patch name revision hash) (origin (method url-fetch) @@ -289,38 +294,34 @@ (string-append "ungoogled-chromium-" category "-" name)))) (sha256 (base32 hash)))) -(define %ungoogled-revision "57244cdfc21dc05910862152d91cc528103c988a") -(define %debian-revision "debian/83.0.4103.116-3") -(define %gentoo-revision "f3f649046d31ebdbc8c4a302b2384504eff78027") - -(define %gentoo-patches - ;; This patch is necessary for compatibility with FFmpeg 4.3. - (list (gentoo-patch "chromium-84-mediaalloc.patch" %gentoo-revision - "0snxdc4nb8ykzncz62vpsl8hgxpy24m17mycx67i2gckmrpslzzv"))) +(define (arch-patch name revision hash) + (origin + (method url-fetch) + (uri (string-append "https://raw.githubusercontent.com/archlinux" + "/svntogit-packages/" revision "/trunk/" name)) + (sha256 (base32 hash)))) -(define %chromium-gcc-patches - (chromium-gcc-patchset - "chromium-84-patchset-3" - "0l05gx3pn703n47anjwsl5sjcqw8kaxmivf7llax97kj3k6d127v")) +(define %chromium-version "86.0.4240.75") +(define %ungoogled-revision "c34a56db4c121238fface560e21531b6199ce5dd") +(define %debian-revision "debian/84.0.4147.105-1") +(define %arch-revision "2cbe439471932d30ff2c8ded6b3dfd51b312bbc9") (define %debian-patches (list (debian-patch "system/zlib.patch" %debian-revision - "0bp2vh1cgmwjrn1zkpphkd3bs662s23xwdhy3abm9cfjvwrj117n") - (debian-patch "system/jsoncpp.patch" %debian-revision - "0d95brl4a5y5w142yd0rvf59z513h7chsz0vnm034d6lqf22ahwf") + "09vqgs37w9ycc7par14wa7rnvmg9bm0z9pqg6fyl3iqvpghyjyr4") (debian-patch "system/openjpeg.patch" %debian-revision "0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j"))) (define %arch-patches - (list (origin - (method url-fetch) - (uri "https://git.archlinux.org/svntogit/packages.git/plain/trunk/\ -chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ -&id=93b5b90621b4827084288197c6e0e09b987b372a") - (file-name "ungoogled-chromium-fix-vaapi-on-intel.patch") - (sha256 - (base32 - "16jbjjf4d9jp52rdrrxx5vm69nx3w0qrijgjpwapnmcif13z55g4"))))) + (list (arch-patch "check-for-enable-accelerated-video-decode-on-Linux.patch" + %arch-revision + "12qj23dcp2g2ivyfyj13m4fzf68nllb9djwcxf1h195gn8wkml03") + (arch-patch "only-fall-back-to-the-i965-driver-if-we-re-on-iHD.patch" + %arch-revision + "0073qjp0dp9kj2ix2j6cxrima01rpdpkcjj9crxlb9b43b4cc53m") + (arch-patch "fix-invalid-end-iterator-usage-in-CookieMonster.patch" + %arch-revision + "1p1wy3dfncw0hhz77a1km0xjhix69ksgbpa569qz86nv76jbgn39"))) (define %ungoogled-origin (origin @@ -331,7 +332,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (string-take %ungoogled-revision 7))) (sha256 (base32 - "15a1xpmabdxr1mn61m0jm9a5l987rxdji8b1b6zy39mr636vcwfi")))) + "18p9a7qffmy8m03nqva7maalgil13lj2mn0s56v3crbs4wk4lalj")))) ;; This is a source 'snippet' that does the following: ;; *) Applies various patches for unbundling purposes and libstdc++ compatibility. @@ -354,20 +355,18 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (for-each (lambda (patch) (invoke "patch" "-p1" "--force" "--input" patch "--no-backup-if-mismatch")) - (append - '#+%gentoo-patches '#+%debian-patches '#+%arch-patches - (find-files #$%chromium-gcc-patches "\\.patch$") - '#+(list (local-file - (search-patch - "ungoogled-chromium-system-nspr.patch"))))) + (append '#+%debian-patches '#+%arch-patches + '#+(list (local-file + (search-patch + "ungoogled-chromium-system-nspr.patch"))))) (with-directory-excursion #+%ungoogled-origin (format #t "Ungooglifying...~%") (force-output) (invoke "python" "utils/prune_binaries.py" chromium-dir "pruning.list") - (invoke "python" "utils/patches.py" "apply" - chromium-dir "patches") + (invoke "python" "utils/patches.py" "apply" chromium-dir + "patches") (invoke "python" "utils/domain_substitution.py" "apply" "-r" "domain_regex.list" "-f" "domain_substitution.list" "-c" "/tmp/domainscache.tar.gz" chromium-dir)) @@ -396,8 +395,8 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (invoke "python" "build/linux/unbundle/replace_gn_files.py" "--system-libraries" "ffmpeg" "flac" "fontconfig" "freetype" "harfbuzz-ng" "icu" "libdrm" "libevent" - "libjpeg" "libpng" "libvpx" "libwebp" "libxml" - "libxslt" "openh264" "opus" "re2" "snappy" "zlib") + "libjpeg" "libpng" "libwebp" "libxml" "libxslt" + "openh264" "opus" "snappy" "zlib") #t)))) (define opus+custom @@ -412,16 +411,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ `(cons "--enable-custom-modes" ,flags)))))) -;; Chromium still has Python2-only code, so we need this special Python 2 -;; variant of xcb-proto. -(define xcb-proto/python2 - (package/inherit - xcb-proto - (name "python2-xcb-proto") - (native-inputs - `(("pkg-config" ,pkg-config) - ("python" ,python-2))))) - ;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need ;; this trick to make it wrap 'lld'. (define (make-lld-wrapper lld) @@ -450,7 +439,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (define-public ungoogled-chromium (package (name "ungoogled-chromium") - (version (string-append "84.0.4147.125-0." + (version (string-append %chromium-version "-0." (string-take %ungoogled-revision 7))) (synopsis "Graphical web browser") (source (origin @@ -460,7 +449,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (car (string-split version #\-)) ".tar.xz")) (sha256 (base32 - "1xdg9pnnvbzasmra09rl7wdrir61rfcqml46jj7kv39drwk9chwq")) + "1ddw4p9zfdzhi5hrd8x14k4w326znljzprnpfi2f917rlpnl2ynx")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) @@ -470,8 +459,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ #:validate-runpath? #f #:modules ((guix build gnu-build-system) (guix build utils) - (ice-9 ftw) - (ice-9 regex) (srfi srfi-26)) #:configure-flags ;; See tools/gn/docs/cookbook.md and @@ -486,7 +473,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (string-append "max_jobs_per_link=" (number->string (parallel-job-count))) "clang_use_chrome_plugins=false" - "use_custom_libcxx=false" "use_sysroot=false" "goma_dir=\"\"" "enable_nacl=false" @@ -505,16 +491,13 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ "enable_vr=false" "enable_widevine=false" ;; Disable type-checking for the Web UI to avoid a Java dependency. - "closure_compile=false" + "enable_js_type_check=false" ;; Define a custom toolchain that simply looks up CC, AR and ;; friends from the environment. "custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" "host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - (string-append "xcbproto_path=\"" - (assoc-ref %build-inputs "xcb-proto") "/share/xcb\"") - ;; Prefer system libraries. "use_system_freetype=true" "use_system_harfbuzz=true" @@ -547,16 +530,13 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ ;; WebRTC stuff. "rtc_use_h264=true" ;; Don't use bundled sources. - "rtc_build_json=false" + "rtc_build_json=true" ;FIXME: libc++ std::string ABI difference "rtc_build_libevent=false" "rtc_build_libvpx=false" "rtc_build_opus=false" "rtc_build_ssl=false" "rtc_build_libsrtp=true" ;FIXME: fails to find headers "rtc_build_usrsctp=true" ;TODO: package this - (string-append "rtc_jsoncpp_root=\"" - (assoc-ref %build-inputs "jsoncpp") - "/include/jsoncpp/json\"") (string-append "rtc_ssl_root=\"" (assoc-ref %build-inputs "openssl") "/include/openssl\"")) @@ -564,12 +544,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (modify-phases %standard-phases (add-after 'unpack 'patch-stuff (lambda _ - ;; Fix build with newer re2. Taken from: - ;; https://chromium-review.googlesource.com/c/chromium/src/+/2145261 - (substitute* "components/autofill/core/browser/address_rewriter.cc" - (("options\\.set_utf8\\(true\\)") - "options.set_encoding(RE2::Options::EncodingUTF8)")) - (substitute* '("base/process/launch_posix.cc" "base/third_party/dynamic_annotations/dynamic_annotations.c" @@ -615,10 +589,8 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (substitute* "third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h" - (("include \"third_party/curl") "include \"curl")) - - (substitute* "third_party/webrtc/rtc_base/strings/json.h" - (("#include \"third_party/jsoncpp/") "#include \"json/")) + (("include \"third_party/curl") + "include \"curl")) (substitute* '("components/viz/common/gpu/vulkan_context_provider.h" "components/viz/common/resources/resource_format_utils.h" @@ -628,17 +600,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h" (("include/third_party/vulkan/") "")) - ;; Building chromedriver embeds some files using the ZIP - ;; format which doesn't support timestamps before - ;; 1980. Therefore, advance the timestamps of the files - ;; which are included so that building chromedriver - ;; works. - (let ((circa-1980 (* 10 366 24 60 60))) - (for-each (lambda (file) - (utime file circa-1980 circa-1980)) - '("chrome/test/chromedriver/extension/background.js" - "chrome/test/chromedriver/extension/manifest.json"))) - #t)) (add-after 'patch-stuff 'add-absolute-references (lambda* (#:key inputs #:allow-other-keys) @@ -660,10 +621,23 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) - ;; Make sure the right build tools are used. + ;; Define the GN toolchain. (setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm") (setenv "CC" "clang") (setenv "CXX" "clang++") + (let ((gcc (assoc-ref inputs "gcc"))) + ;; Remove the default compiler from CPLUS_INCLUDE_PATH to + ;; prevent header conflict with the bundled libcxx. + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") + #\:)) + ":")) + (format #t + "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%" + (getenv "CPLUS_INCLUDE_PATH"))) + (setenv "CXXFLAGS" (string-join '(;; Do not optimize away null pointer safety checks. @@ -728,7 +702,10 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (lib (string-append out "/lib")) (man (string-append out "/share/man/man1")) (applications (string-append out "/share/applications")) - (install-regexp (make-regexp "\\.(bin|pak|so)$")) + (libs '("chrome_100_percent.pak" + "chrome_200_percent.pak" + "resources.pak" + "v8_context_snapshot.bin")) (locales (string-append lib "/locales")) (resources (string-append lib "/resources")) (preferences (assoc-ref inputs "master-preferences")) @@ -753,9 +730,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ (copy-file preferences (string-append lib "/master_preferences")) (with-directory-excursion "out/Release" - (for-each (lambda (file) - (install-file file lib)) - (scandir "." (cut regexp-exec install-regexp <>))) + (for-each (cut install-file <> lib) libs) (copy-file "chrome" (string-append lib "/chromium")) (copy-recursively "locales" locales) @@ -785,7 +760,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ #t)))))) (native-inputs `(("bison" ,bison) - ("clang" ,clang-10) + ("clang" ,clang-11) ("gn" ,gn) ("gperf" ,gperf) ("ld-wrapper" ,(make-lld-wrapper lld)) @@ -817,7 +792,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) ("icu4c" ,icu4c-67) - ("jsoncpp" ,jsoncpp) ("lcms" ,lcms) ("libevent" ,libevent) ("libffi" ,libffi) @@ -851,13 +825,11 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\ ("pango" ,pango) ("pciutils" ,pciutils) ("pulseaudio" ,pulseaudio) - ("re2" ,re2) ("snappy" ,snappy) ("speech-dispatcher" ,speech-dispatcher) ("udev" ,eudev) ("valgrind" ,valgrind) - ("vulkan-headers" ,vulkan-headers) - ("xcb-proto" ,xcb-proto/python2))) + ("vulkan-headers" ,vulkan-headers))) ;; Building Chromium takes ... a very long time. On a single core, a busy ;; mid-end x86 system may need more than 24 hours to complete the build. diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 5f7baebe20..517b20f448 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages texinfo) #:use-module (gnu packages version-control) @@ -46,9 +47,29 @@ #:use-module (gnu packages xml) #:use-module (guix build-system gnu)) +;; Guile-Sqlite3 package adding SQL query logging support. +;; Remove it when next Guile-Sqlite3 release is out. +(define-public guile-sqlite3-dev + (let ((commit "22ef45d268de7707cbbb943c404f9b0c1668e2e1") + (revision "1")) + (package + (inherit guile-sqlite3) + (name "guile-sqlite3") + (version (git-version "0.1.2" revision commit)) + (home-page "https://notabug.org/mothacehe/guile-sqlite3.git") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 + "1q90f8zhw9n1c39szd2ba7aj5fi92m09pnlv0z7jbhnnjam5jwcd")) + (file-name (string-append name "-" version "-checkout"))))))) + (define-public cuirass - (let ((commit "cf11b73db00678b45b70108768138d0fb74d9506") - (revision "45")) + (let ((commit "df2d13621f4b2ace33a460746e704115b7b1541e") + (revision "53")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -60,7 +81,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1f7jqnscy8vjqrpgl4cyynrvbx6zp3slsd82fykap6qvvwwn7xj8")))) + "1vgb1wl1rkijm1vv5chqllf4i5w1j7g02xqlaf2xmqjh2phy5dxa")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -122,11 +143,11 @@ `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs))) #t)))))) (inputs - `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + `(("guile" ,guile-3.0/libgc-7) ("guile-fibers" ,guile-fibers) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) - ("guile-sqlite3" ,guile-sqlite3) + ("guile-sqlite3" ,guile-sqlite3-dev) ("guile-git" ,guile-git) ("guile-zlib" ,guile-zlib) ;; FIXME: this is propagated by "guile-git", but it needs to be among diff --git a/gnu/packages/cluster.scm b/gnu/packages/cluster.scm index 5241ed1296..17ce23da66 100644 --- a/gnu/packages/cluster.scm +++ b/gnu/packages/cluster.scm @@ -39,7 +39,7 @@ (define-public drbd-utils (package (name "drbd-utils") - (version "9.13.1") + (version "9.15.0") (source (origin (method url-fetch) ;; Older releases are moved to /archive. List it first because in @@ -51,7 +51,7 @@ "/utils/drbd-utils-" version ".tar.gz"))) (sha256 (base32 - "0di55y0vzaw8jhcgz0fakww03h1gpg4a5q1zklxhjw3dwzjvysnk")) + "0jh7zdxpbjkq53pmrn0jfn33abi4vs8axp55h5256czwc2gfb6z8")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 3eaefc4e89..6d348308ac 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -233,7 +233,7 @@ COCOMO model or user-provided parameters.") (define-public cloc (package (name "cloc") - (version "1.86") + (version "1.88") (source (origin (method git-fetch) @@ -242,7 +242,7 @@ COCOMO model or user-provided parameters.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w")))) + (base32 "1ixgswzbzv63bl50gb2kgaqr0jcicjz6w610hi9fal1i7744zraw")))) (build-system gnu-build-system) (inputs `(("coreutils" ,coreutils) @@ -470,60 +470,53 @@ stack traces.") (license license:gpl3+))) (define-public lcov - ;; Use a recent commit from upstream since the latest official release - ;; (1.14) doesn't support GCC 9 (see: - ;; https://github.com/linux-test-project/lcov/issues/58). - (let* ((commit "40580cd65909bc8324ae09b36bca2e178652ff3f") - (revision "0") - (version (git-version "1.14" revision commit))) - (package - (name "lcov") - (version "1.14") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/linux-test-project/lcov") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0shgmh6fzhnj1qfdl90jgjmlbb1ih1qh879dca8hc58yggy3hqgb")))) - (build-system gnu-build-system) - (arguments - '(#:test-target "test" - #:make-flags (list (string-append "PREFIX=" - (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-pwd - ;; Lift the requirement of having a shell in PATH. - (lambda _ - (substitute* "bin/geninfo" - (("qw/abs_path/") - "qw/abs_path getcwd/")) - (substitute* '("bin/lcov" "bin/geninfo") - (("`pwd`") - "getcwd()")) - #t)) - (delete 'configure) ;no configure script - (add-after 'install 'wrap - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/geninfo") - `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))) - #t))))) - (inputs `(("perl" ,perl) - ("perl-json" ,perl-json) - ("perl-perlio-gzip" ,perl-perlio-gzip))) - (home-page "http://ltp.sourceforge.net/coverage/lcov.php") - (synopsis "Code coverage tool that enhances GNU gcov") - (description "LCOV is an extension of @command{gcov}, a tool part of the + (package + (name "lcov") + (version "1.15") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/linux-test-project/lcov" + "/releases/download/v" version + "/lcov-" version ".tar.gz")) + (sha256 + (base32 "0fh5z0q5wg2jxr2nn5w7321y0zg9rwk75j3k5hnamjdy6gxa5kf1")))) + (build-system gnu-build-system) + (arguments + '(#:test-target "test" + #:make-flags (list (string-append "PREFIX=" + (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-pwd + ;; Lift the requirement of having a shell in PATH. + (lambda _ + (substitute* "bin/geninfo" + (("qw/abs_path/") + "qw/abs_path getcwd/")) + (substitute* '("bin/lcov" "bin/geninfo") + (("`pwd`") + "getcwd()")) + #t)) + (delete 'configure) ;no configure script + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/geninfo") + `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))) + #t))))) + (inputs `(("perl" ,perl) + ("perl-io-compress" ,perl-io-compress) + ("perl-json" ,perl-json))) + (home-page "http://ltp.sourceforge.net/coverage/lcov.php") + (synopsis "Code coverage tool that enhances GNU gcov") + (description "LCOV is an extension of @command{gcov}, a tool part of the GNU@tie{}Binutils, which provides information about what parts of a program are actually executed (i.e., \"covered\") while running a particular test case. The extension consists of a set of Perl scripts which build on the textual @command{gcov} output to implement the following enhanced functionality such as HTML output.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public kcov (package diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index e5a4caa95c..4bd50032af 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -381,7 +381,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (inputs '()) (propagated-inputs '()) (native-inputs - `(("nyacc-source" ,(origin (inherit (package-source nyacc)) + `(("nyacc-source" ,(origin (inherit (package-source nyacc-0.99)) (snippet #f))) ("mes" ,%bootstrap-mes-rewired) ("mescc-tools" ,%bootstrap-mescc-tools) @@ -477,7 +477,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (propagated-inputs '()) (native-inputs `(("mes" ,mes-boot) - ("nyacc-source" ,(origin (inherit (package-source nyacc)) + ("nyacc-source" ,(origin (inherit (package-source nyacc-0.99)) (snippet #f))) ("mescc-tools" ,%bootstrap-mescc-tools) ,@(%boot-gash-inputs))) @@ -3842,8 +3842,12 @@ COREUTILS-FINAL vs. COREUTILS, etc." "libc-static"))) #t)))) - (native-search-paths (package-native-search-paths gcc)) - (search-paths (package-search-paths gcc)) + (native-search-paths + (append (package-native-search-paths gcc) + (package-native-search-paths libc))) ;GUIX_LOCPATH + (search-paths + (append (package-search-paths gcc) + (package-search-paths libc))) (license (package-license gcc)) (synopsis "Complete GCC tool chain for C/C++ development") diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 506a33184a..c51b8c671a 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> @@ -28,6 +28,7 @@ ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> +;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -803,7 +804,7 @@ decompression of some loosely related file formats used by Microsoft.") ("valgrind" ,valgrind))) (arguments `(#:test-target "test" - #:make-flags (list "CC=gcc" + #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure) ;no configure script @@ -1769,7 +1770,8 @@ Clzip is intended to be fully compatible with the regular lzip package.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "CC=gcc" + (list (string-append "CC=" ,(cc-for-target)) + "--disable-static" "--enable-shared"))) ; only static (.a) is built by default (home-page "https://www.nongnu.org/lzip/lzlib.html") (synopsis "Lzip data compression C library") @@ -2256,3 +2258,31 @@ computations.") with their error correction data losslessly rearranged for better compression, to their original, binary CD format.") (license license:gpl3+))) + +(define-public tarlz + (package + (name "tarlz") + (version "0.17") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/lzip/tarlz/" + "tarlz-" version ".tar.lz")) + (sha256 + (base32 "0gpdm6z9pdr5bn31kxg73wm686hhpb5pdf5782pbl5a4xqqhqj90")))) + (build-system gnu-build-system) + (native-inputs + `(("lzip" ,lzip))) + (inputs + `(("lzlib" ,lzlib))) + (home-page "https://www.nongnu.org/lzip/tarlz.html") + (synopsis "Combination of the tar archiver and the lzip compressor") + (description + "Tarlz is a massively parallel (multi-threaded) combined implementation of +the tar archiver and the lzip compressor. Tarlz creates, lists, and extracts +archives in a simplified and safer variant of the POSIX pax format compressed +with lzip, keeping the alignment between tar members and lzip members. The +resulting multimember tar.lz archive is fully backward compatible with standard +tar tools like GNU tar, which treat it like any other tar.lz archive. Tarlz +can append files to the end of such compressed archives.") + (license license:gpl2+))) diff --git a/gnu/packages/conky.scm b/gnu/packages/conky.scm index 6bae336b1c..0df6d1f760 100644 --- a/gnu/packages/conky.scm +++ b/gnu/packages/conky.scm @@ -79,7 +79,7 @@ ("libxext" ,libxext) ("libxft" ,libxft) ("libxinerama" ,libxinerama) - ("pulseaudio", pulseaudio) + ("pulseaudio" ,pulseaudio) ("lua" ,lua) ("ncurses" ,ncurses) ("curl" ,curl))) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 003883e1a5..f51e83283f 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> +;;; Copyright © 2020 Greg Hogan <code@greghogan.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,12 +41,22 @@ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages compression) + #:use-module (gnu packages crypto) + #:use-module (gnu packages gcc) + #:use-module (gnu packages libevent) + #:use-module (gnu packages libunwind) + #:use-module (gnu packages linux) #:use-module (gnu packages llvm) + #:use-module (gnu packages logging) + #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages tls) #:use-module (gnu packages web)) @@ -361,7 +372,7 @@ intuitive syntax and trivial integration.") (define-public xtl (package (name "xtl") - (version "0.6.18") + (version "0.6.19") (source (origin (method git-fetch) (uri @@ -370,7 +381,7 @@ intuitive syntax and trivial integration.") (commit version))) (sha256 (base32 - "0s9gnv1wq0cmpw878dmx0lnci86895hhdrwyc9x8lfbc1hr7ypnh")) + "1g98lfrp13fqfqrirg0rw90m7bajmjmy12yhrlj5jzwcby4dfs81")) (file-name (git-file-name name version)))) (native-inputs `(("googletest" ,googletest) @@ -647,3 +658,73 @@ Google's C++ code base.") a zero-dependency C++ header-only parser combinator library for creating parsers according to a Parsing Expression Grammar (PEG).") (license license:expat))) + +(define-public cxxopts + (package + (name "cxxopts") + (version "2.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jarro2783/cxxopts") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0d3y747lsh1wkalc39nxd088rbypxigm991lk3j91zpn56whrpha")))) + (build-system cmake-build-system) + (synopsis "Lightweight C++ command line option parser") + (description + "A lightweight header-only C++ option parser library, supporting the +standard GNU style syntax for options.") + (home-page "https://github.com/jarro2783/cxxopts/wiki") + (license license:expat))) + +(define-public folly + (package + (name "folly") + (version "2020.10.05.00") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/facebook/folly") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q4w4cvjxffc462hvs8h4zryq4965j7015zvkwagcm6cj6wmz3cn")))) + (build-system cmake-build-system) + (arguments + '(;; Tests must be explicitly enabled + ;;#:configure-flags '("-DBUILD_TESTS=ON"))) + ;; Leave tests disabled; see https://github.com/facebook/folly/issues/1456 + #:tests? #f)) + (propagated-inputs + `(("boost" ,boost) + ("gflags" ,gflags) + ("glog" ,glog) + ("liburing" ,liburing))) + (inputs + `(("bzip2" ,bzip2) + ("double-conversion" ,double-conversion) + ("fmt" ,fmt) + ("libaio" ,libaio) + ("libevent" ,libevent) + ("libiberty" ,libiberty) + ("libsodium" ,libsodium) + ("libunwind" ,libunwind) + ("lz4" ,lz4) + ("openssl" ,openssl) + ("snappy" ,snappy) + ("zlib" ,zlib) + ("zstd" ,zstd "lib"))) + (native-inputs + `(("googletest" ,googletest))) + (synopsis "Collection of C++ components complementing the standard library") + (description + "Folly (acronymed loosely after Facebook Open Source Library) is a library +of C++14 components that complements @code{std} and Boost.") + (home-page "https://github.com/facebook/folly/wiki") + ;; 32-bit is not supported: https://github.com/facebook/folly/issues/103 + (supported-systems '("aarch64-linux" "x86_64-linux")) + (license license:asl2.0))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a39c0e64cb..cc75136a3a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com> -;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> +;;; Copyright © 2019, 2020 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Todor Kondić <tk.code@protonmail.com> @@ -29,6 +29,8 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2020 Magali Lemes <magalilemes00@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -89,6 +91,7 @@ #:use-module (gnu packages pulseaudio) ;libsndfile #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sqlite) #:use-module (gnu packages statistics) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) @@ -99,14 +102,14 @@ (define-public r-rticles (package (name "r-rticles") - (version "0.15") + (version "0.16") (source (origin (method url-fetch) (uri (cran-uri "rticles" version)) (sha256 (base32 - "0svh2bcqnlqdxdpw5afz1b980i2q13k8cxpq6flfqbi3dlwf3h8l")))) + "1ca3k5sdy9mnm6frcimqwf5k18j14wn69x5iagjnjwhq711l8dv0")))) (properties `((upstream-name . "rticles"))) (build-system r-build-system) (propagated-inputs @@ -989,18 +992,20 @@ directory.") (define-public r-htmlwidgets (package (name "r-htmlwidgets") - (version "1.5.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (cran-uri "htmlwidgets" version)) (sha256 (base32 - "10fp306l1nybkah6jrlrqwwdb6zvklbddp8i3w9v9naj8la5jbnl")))) + "0072wlkl58lav3qszzqw6pmx8qra4784r0yb6rx4lg7rbrik6335")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/ramnathv/htmlwidgets") (synopsis "HTML Widgets for R") (description @@ -1012,13 +1017,13 @@ applications.") (define-public r-htmltable (package (name "r-htmltable") - (version "2.0.1") + (version "2.1.0") (source (origin (method url-fetch) (uri (cran-uri "htmlTable" version)) (sha256 - (base32 "0ma52kajzxfg9w811d6ldhghzn9xhyr8bh7k5v265k82bzx7rac6")))) + (base32 "1gzh0bdxi55p1ckxv4k0a41b1j0grwv2w3lkqz4c3gkw66dk6ja0")))) (properties `((upstream-name . "htmlTable"))) (build-system r-build-system) (propagated-inputs @@ -2409,14 +2414,14 @@ compare different dendrograms to one another.") (define-public r-getoptlong (package (name "r-getoptlong") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (cran-uri "GetoptLong" version)) (sha256 (base32 - "1p89v2qzqfxyrmqzkv245716n9i4bllnq77a6gw811mgdhxbd51l")))) + "142gi3ifpcz1rhqrbw4wh326jn2q61s659wkzf92ys4dybs43dky")))) (properties `((upstream-name . "GetoptLong"))) (build-system r-build-system) (inputs @@ -3171,19 +3176,21 @@ available in a vignette.") (define-public r-lava (package (name "r-lava") - (version "1.6.7") + (version "1.6.8") (source (origin (method url-fetch) (uri (cran-uri "lava" version)) (sha256 (base32 - "0ffzxbb8pvfh1m6j61az4ga37snyhylq2941fyc76w7w9i2sixv3")))) + "0jdmjjs894mfncswmzz7sa6cy7hqbqii5fcvl3zqkmzpbadb2za2")))) (build-system r-build-system) (propagated-inputs `(("r-numderiv" ,r-numderiv) ("r-squarem" ,r-squarem) ("r-survival" ,r-survival))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/kkholst/lava") (synopsis "Latent variable models") (description @@ -3322,8 +3329,7 @@ dimensioned arrays.") (properties `((upstream-name . "RMySQL"))) (build-system r-build-system) (inputs - `(("mariadb" ,mariadb "lib") - ("mariadb-dev" ,mariadb "dev") + `(("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (propagated-inputs `(("r-dbi" ,r-dbi))) @@ -3401,7 +3407,7 @@ Optimization problems by using the simplex algorithm.") ("r-rcpp" ,r-rcpp) ("r-rcppprogress" ,r-rcppprogress))) (home-page "http://geometry.r-forge.r-project.org/") - (synopsis "Mesh generation and surface tesselation") + (synopsis "Mesh generator and surface tessellator") (description "This package makes the qhull library available in R, in a similar manner as in Octave. Qhull computes convex hulls, Delaunay triangulations, halfspace @@ -3525,14 +3531,14 @@ problems as well as resampling based estimators of prediction error.") (define-public r-psych (package (name "r-psych") - (version "2.0.8") + (version "2.0.9") (source (origin (method url-fetch) (uri (cran-uri "psych" version)) (sha256 (base32 - "0ymds7ql2dv994m73h68dnhbsws8bl09p2rqvl6xsq6c6xr0yryg")))) + "0wdh580a0psbdil28n0d85hnp42wmn11hcbnihjq8r7h54drgzpn")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -3578,14 +3584,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "0bq8w1ckrladzck2g0mgiyjdrzi06kbqalk5q3pfvj1607fdv3d5")))) + "12xnpmm1cyhksv4gwcrwgrpw7c0xf1c7chlpng9lk8arifbfvqpg")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -3743,7 +3749,7 @@ color labels, layout, etc.") (description "This package implements an approximate string matching version of R's native @code{match} function. It can calculate various string distances based -on edits (Damerau-Levenshtein, Hamming, Levenshtein, optimal sting alignment), +on edits (Damerau-Levenshtein, Hamming, Levenshtein, optimal string alignment), qgrams (q- gram, cosine, jaccard distance) or heuristic metrics (Jaro, Jaro-Winkler). An implementation of soundex is provided as well. Distances can be computed between character vectors while taking proper care of encoding @@ -3986,14 +3992,14 @@ programming} (SQP) based solver).") (define-public r-hardyweinberg (package (name "r-hardyweinberg") - (version "1.6.6") + (version "1.6.8") (source (origin (method url-fetch) (uri (cran-uri "HardyWeinberg" version)) (sha256 (base32 - "1qn1bbzfk4w3mqrzisshw5xx7x249sgmj6qdi39lkqb58a4mf4kh")))) + "0b6j1mkpr7ck2nr9fmpnsjdv29jc6vg4b91cg50skmcgky1j0zi7")))) (properties `((upstream-name . "HardyWeinberg"))) (build-system r-build-system) (propagated-inputs @@ -4186,14 +4192,14 @@ modeling for empirical income distributions.") (define-public r-vcd (package (name "r-vcd") - (version "1.4-7") + (version "1.4-8") (source (origin (method url-fetch) (uri (cran-uri "vcd" version)) (sha256 (base32 - "16aj688nhlcvdxzfsqh4s375v8f8vl8997dl8h1xg29b42nv52gc")))) + "030yyhpzsj4ivwrla7p9kgvmyjh6b8fr7czf678ykxjj64ccnvr3")))) (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace) @@ -4232,14 +4238,14 @@ of Eigenmatrices} (JADE).") (define-public r-dtw (package (name "r-dtw") - (version "1.21-3") + (version "1.22-3") (source (origin (method url-fetch) (uri (cran-uri "dtw" version)) (sha256 (base32 - "02hyhx1sy5h3vzh9zixy18a7d47df4k5d0wyflcvlcbsbcl6p90s")))) + "004gm4mzgdzdj807j3bwqsv5lizmnmz5jq514bdjshhkysnzjz6z")))) (build-system r-build-system) (propagated-inputs `(("r-proxy" ,r-proxy))) (home-page "http://dtw.r-forge.r-project.org/") @@ -4522,14 +4528,14 @@ Markdown documents.") (define-public r-seriation (package (name "r-seriation") - (version "1.2-8") + (version "1.2-9") (source (origin (method url-fetch) (uri (cran-uri "seriation" version)) (sha256 (base32 - "1zbdxq0s5rc5v307b69fw9k52m0654ls7pf22lh35ggirig6lwsk")))) + "1glxn098ar1v96xlwp85kjxzfd1nyfzp2f82x5z3fm87yv57k4lb")))) (build-system r-build-system) (propagated-inputs `(("r-cluster" ,r-cluster) @@ -4556,13 +4562,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.17") + (version "0.18") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "1zd5qi1rrz3b1lpisapa2yscanz39ghaamf28g7aq3z9ai2a2ymj")))) + (base32 "0iqh9b0a5wlc4lmqf7r169h4m2xji5l1viwwi47qf094rl5r3ddr")))) (build-system r-build-system) ;; knitr itself depends on xfun #; @@ -4706,14 +4712,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.25") + (version "0.26") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "0zbhzxxjlkdj9byxyab477p7cnws5y87nyg989lkzarxdc7dglza")))) + "02b0v8ydbfspma3rgsdpkf2cm6jl9qm3l9jsrl0xng482b06bb0q")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -4774,22 +4780,44 @@ complementary pairs stability selection with improved error bounds arbitrary user specified variable selection approaches.") (license license:gpl2))) +(define-public r-rle + (package + (name "r-rle") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rle" version)) + (sha256 + (base32 + "0sagl0jggg40lihzy7pfq4593rfvc3b3f7g6ggi85s7n18qvwg40")))) + (properties `((upstream-name . "rle"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/rle/") + (synopsis "Common functions for run-length encoded vectors") + (description + "This package provides common @code{base} and @code{stats} methods for +@code{rle} objects, aiming to make it possible to treat them transparently as +vectors.") + (license license:gpl3))) + (define-public r-statnet-common (package (name "r-statnet-common") - (version "4.3.0") + (version "4.4.1") (source (origin (method url-fetch) (uri (cran-uri "statnet.common" version)) (sha256 (base32 - "0ng90i0wm9wlyhjbnmnylc1bbqw396p1dr7f402dyry9x9ck6jl3")))) + "1z89an46xcl1d7dacj4irhk6pkajdz7v85b2347vczwdf622pksf")))) (properties `((upstream-name . "statnet.common"))) (build-system r-build-system) (propagated-inputs - `(("r-coda" ,r-coda))) + `(("r-coda" ,r-coda) + ("r-rle" ,r-rle))) (home-page "https://statnet.org") (synopsis "R scripts and utilities used by the Statnet software") (description "This package provides non-statistical utilities used by the @@ -5201,14 +5229,14 @@ interface.") (define-public r-trend (package (name "r-trend") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (cran-uri "trend" version)) (sha256 (base32 - "0bj40acr1sc7vfxdcsdja3g28xsmrclmgb3n94p89gfjcgp8nv1d")))) + "1mr5g5gaxiqj6x83ngcbwwh57vhrhcz0x9dh0rmvs9y2ivk29ccs")))) (build-system r-build-system) (propagated-inputs `(("r-extradistr" ,r-extradistr))) @@ -5471,15 +5499,17 @@ Memorial-Sloan-Kettering Cancer Center (MSKCC).") (define-public r-import (package (name "r-import") - (version "1.1.0") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "import" version)) (sha256 (base32 - "0blf9539rbfwcmw8zsb4k58slb4pdnc075v34vmyjw752fznhcji")))) + "018s0x224gqnv4cjfh0fwliyfg6ma9vslmwybrlizfsmqcc5wp37")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/smbache/import") (synopsis "Import mechanism for R") (description @@ -6053,14 +6083,14 @@ additional external tools on any platform.") (define-public r-openxlsx (package (name "r-openxlsx") - (version "4.1.5") + (version "4.2.2") (source (origin (method url-fetch) (uri (cran-uri "openxlsx" version)) (sha256 (base32 - "0wkpa3wsd8rs0pib7cp67iv0s6jn99frcrw7clypqxmvvdwyb9kq")))) + "12sjarcmbdww6jmkcqy8c6id94zv3lwmm15ns1y0xj3ipr8qmphb")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) @@ -6388,14 +6418,14 @@ Python to R they are converted back to R types.") (define-public r-bibtex (package (name "r-bibtex") - (version "0.4.2.2") + (version "0.4.2.3") (source (origin (method url-fetch) (uri (cran-uri "bibtex" version)) (sha256 (base32 - "140hkjzdp3033cvji861rd06z1ixgpnn4n5amygqsmhnixk8ff07")))) + "0vdwx6808r73pk15263f33bkqbfmb08d8jkmr4d7h4ml414ikbbv")))) (build-system r-build-system) (propagated-inputs `(("r-stringr" ,r-stringr))) (home-page "https://github.com/romainfrancois/bibtex") @@ -7126,14 +7156,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.9.5") + (version "0.9.6") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0853kq4j8kic8z2gh5mxfqkwxjs4bdphlajzyvxka7af4r04bfmi")))) + "15mws316qfbq3nn6gb7s0m0a6jk2zi056g43yqiw4gp2ar92wd0h")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -7154,14 +7184,14 @@ information are missing.") (define-public r-sjlabelled (package (name "r-sjlabelled") - (version "1.1.6") + (version "1.1.7") (source (origin (method url-fetch) (uri (cran-uri "sjlabelled" version)) (sha256 (base32 - "0xvb0yi7c7wiiqjbnbisyb2cjinm11i373jacfv1yzyc9cznzyzq")))) + "0d3fsjd2gxchv8mlx9l5pf8xvkmx4pgvizam83f3qss07bmvpzwg")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight))) @@ -7482,14 +7512,14 @@ Group (Non-)Overlap considerations.") (define-public r-deriv (package (name "r-deriv") - (version "4.0.1") + (version "4.1.0") (source (origin (method url-fetch) (uri (cran-uri "Deriv" version)) (sha256 (base32 - "16rq65x1xhxvqwn4p427divay3b9fgam2lxccxb8529adnrxmw6p")))) + "1n5d10g9qv4fvl8q0q6yc0mzdbba10jniid6k3br3bfqvdp2a4pq")))) (properties `((upstream-name . "Deriv"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/Deriv") @@ -8916,14 +8946,14 @@ observation.") (define-public r-sandwich (package (name "r-sandwich") - (version "2.5-1") + (version "3.0-0") (source (origin (method url-fetch) (uri (cran-uri "sandwich" version)) (sha256 (base32 - "1mk685b9wq7k566pbml52rj96i5h6b3vf215k9picgmq296nzvyv")))) + "0afm6snak7r11dxyl3qirqdjah6d9pdv4afmxwam1nq9bqxyb3w2")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) @@ -8961,14 +8991,14 @@ packages maintained by Torsten Hothorn.") (define-public r-multcomp (package (name "r-multcomp") - (version "1.4-13") + (version "1.4-14") (source (origin (method url-fetch) (uri (cran-uri "multcomp" version)) (sha256 (base32 - "1nszi22rcc551yc75h9cdfkdqsxw1rz30vadazmpyzihp1bh63yk")))) + "14a55isy1sp745s109nirlk5fryy144cri6dl8y9d9wjhfxz336a")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools) @@ -8989,14 +9019,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.5.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "09nap4aazpbsswqzk0d4kjngwd8sib222s31yd08sd1sqw432c6k")))) + "05z3vvykn56g50zhzsphdhfjzdw8g8xfindcas08hbhv5y7izhs8")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -9309,14 +9339,14 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "0h9f260gb8707pcssf8dq7dakpq1ggkxr5kpbrbl8sn8h3qbvws9")))) + "00c9j6lc58ls1vrwlpzk3h1lgvxpkcrh7b4ym6kmy4fg4f08izp7")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs @@ -9336,13 +9366,13 @@ conversion of indices such as Cohen's d, r, odds, etc.") (define-public r-sjplot (package (name "r-sjplot") - (version "2.8.4") + (version "2.8.5") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 - (base32 "0b7k0mshkk8k26w11xbxkb5v0klhq279zn2xdz83cn8k791xkqyd")))) + (base32 "07fwa6ga9430irk68g9wcfpn9g24pf8qc2i127nrydm865y7ri24")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs @@ -9466,14 +9496,14 @@ terminals that do not support Unicode.") (define-public r-usethis (package (name "r-usethis") - (version "1.6.1") + (version "1.6.3") (source (origin (method url-fetch) (uri (cran-uri "usethis" version)) (sha256 (base32 - "0vwxsnq615mwc706a4a71gyy0hmvnllbh249gzm7vl3ym5cr0cv0")))) + "09lk04kycvf5x9ggrb6pwc7bx5mzqxwialm2w9vn1a0w0gh2gcfc")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -9689,14 +9719,14 @@ users.") (define-public r-lsei (package (name "r-lsei") - (version "1.2-0.1") + (version "1.3-0") (source (origin (method url-fetch) (uri (cran-uri "lsei" version)) (sha256 (base32 - "1rvzdb33x9ykl5qfwxkps1iylxqzlf1qla3l88420nbq7pxp7m87")))) + "1dka0rigfw4vj809qma2dkiwjb3nw5635ynnba5cm299cn7hb2b2")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -9712,14 +9742,14 @@ problems into least squares ones first.") (define-public r-npsurv (package (name "r-npsurv") - (version "0.4-0.1") + (version "0.5-0") (source (origin (method url-fetch) (uri (cran-uri "npsurv" version)) (sha256 (base32 - "09nxibp93bp9v8qcx0gnazk7fkvyh0fq9vlgxl639m6ndr7fwp88")))) + "1ihxhb42cga1hssj2jv4ah0f4hlwsky899ij5261fzh1wxvdp1xw")))) (build-system r-build-system) (propagated-inputs `(("r-lsei" ,r-lsei))) @@ -9829,14 +9859,14 @@ analysing multivariate abundance data in community ecology.") (define-public r-afex (package (name "r-afex") - (version "0.27-2") + (version "0.28-0") (source (origin (method url-fetch) (uri (cran-uri "afex" version)) (sha256 (base32 - "0qsmcddy4449qjj3ajmqvdiqdkhkswmz5dqf150wxwq897p3bvf2")))) + "0c47bq2llzw2b4avhkxyhmf1m2zjh9jsjiw2kww9n1bhwqsyr4ci")))) (build-system r-build-system) (propagated-inputs `(("r-car" ,r-car) @@ -10411,14 +10441,14 @@ components).") (define-public r-fftwtools (package (name "r-fftwtools") - (version "0.9-8") + (version "0.9-9") (source (origin (method url-fetch) (uri (cran-uri "fftwtools" version)) (sha256 (base32 - "1nqvpzda281rxi1cmwajxxsn3sc3gz7scv8bvs5jm34kf36whha6")))) + "0h8lyl2i6zq16ir7xnfj9dhyivxvwikm8lml19s8s8jx95z3n9x9")))) (build-system r-build-system) (inputs `(("fftw" ,fftw))) (home-page "https://github.com/krahim/fftwtools") @@ -11377,14 +11407,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-bigrquery (package (name "r-bigrquery") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "bigrquery" version)) (sha256 (base32 - "0mq03sqv5lkyn3dlxvyd6lqqwnryfdaqh05pjvngzp194fxmd9cy")))) + "16whccv7f94vf57dvbbrhdskz3nnbmpa11a14kp7aynckldlfy0v")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -11410,14 +11440,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-gmp (package (name "r-gmp") - (version "0.6-0") + (version "0.6-1") (source (origin (method url-fetch) (uri (cran-uri "gmp" version)) (sha256 (base32 - "1c9vpr6j6h5f6dm9l535nscl66rvr8sba5az2kswjhmzwb9xpjxc")))) + "11rl7qmfrpp1974f0vzsi3zjyx147wlb82ydxak2b60khfvhrn90")))) (build-system r-build-system) (arguments '(#:phases @@ -11935,13 +11965,13 @@ Differences with other sparse matrix packages are: (define-public r-fields (package (name "r-fields") - (version "11.4") + (version "11.5") (source (origin (method url-fetch) (uri (cran-uri "fields" version)) (sha256 - (base32 "0x8hbl0rn7gnhn7w45wd757g9in27884qr6vy30xrk150qaq941y")))) + (base32 "1mgg5l6w4yvz7cccgfz3h19k11ng1s1hy26rl2h215gnfb24mnga")))) (build-system r-build-system) (propagated-inputs `(("r-maps" ,r-maps) @@ -11960,14 +11990,14 @@ covariance functions for large data sets.") (define-public r-spatialextremes (package (name "r-spatialextremes") - (version "2.0-8") + (version "2.0-9") (source (origin (method url-fetch) (uri (cran-uri "SpatialExtremes" version)) (sha256 (base32 - "0r2byz5xxc46zqnigdax28q7446ibmzmsmi10lmm2hdks3ml6sl3")))) + "1mhn1c8n3bmgf0fjyac3wji4790zswzkqliqcv3n8kv9806crb0y")))) (properties `((upstream-name . "SpatialExtremes"))) (build-system r-build-system) @@ -12384,14 +12414,14 @@ subsetting.") (define-public r-globals (package (name "r-globals") - (version "0.12.5") + (version "0.13.0") (source (origin (method url-fetch) (uri (cran-uri "globals" version)) (sha256 (base32 - "1ha8iasgijp4q3v2b0b17y1wh7cd3nvzd9b03w49qm2bidkaf68m")))) + "0gqh7dbd38wqyjy9qm85v5k60vld97pyc46wf4xkgi4mr7y0ixg3")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools))) @@ -12408,14 +12438,14 @@ them in distributed compute environments.") (define-public r-future (package (name "r-future") - (version "1.18.0") + (version "1.19.1") (source (origin (method url-fetch) (uri (cran-uri "future" version)) (sha256 (base32 - "01fp8kgjf0k6c83q1w3dy9z90g72cc9d0004d1qw6n1j65nwxg4f")))) + "12f483h7g172ygafbg7h43vykv0f7xz9miwqf5q8dyv7gpgqi5fl")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -12887,14 +12917,14 @@ to easily call your own custom JavaScript functions from R.") (define-public r-colourpicker (package (name "r-colourpicker") - (version "1.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "colourpicker" version)) (sha256 (base32 - "0z3v2083g7kwdp21x9s2n1crfh24agpdq3yxkcdzc2awn2pwpnpi")))) + "1qjispj7i12m02js5cm5xlgn5lyff0kc5ybz6lbknz8q5lkbdyrd")))) (build-system r-build-system) (arguments `(#:modules ((guix build utils) @@ -12935,7 +12965,8 @@ to easily call your own custom JavaScript functions from R.") ("r-shiny" ,r-shiny) ("r-shinyjs" ,r-shinyjs))) (native-inputs - `(("uglify-js" ,uglify-js) + `(("r-knitr" ,r-knitr) + ("uglify-js" ,uglify-js) ("js-jquery" ,(origin (method url-fetch) @@ -13927,7 +13958,8 @@ tessellation.") (inputs `(("gdal" ,gdal) ("geos" ,geos) - ("proj" ,proj.4) + ("proj" ,proj) + ("sqlite" ,sqlite) ("zlib" ,zlib))) (propagated-inputs `(("r-classint" ,r-classint) @@ -14027,13 +14059,13 @@ also provided to illustrate various methods.") (define-public r-pegas (package (name "r-pegas") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) (uri (cran-uri "pegas" version)) (sha256 - (base32 "002i7s4g0nhnq0v05gs0yssqiyhpq2f7rw2rhn31hsbgxc86frvy")))) + (base32 "0lr06gajzdanj8ax91kgpxsj863m367v2s1z5gnxps3999n0xybx")))) (build-system r-build-system) (propagated-inputs `(("r-adegenet" ,r-adegenet) @@ -14477,44 +14509,6 @@ authoring books and technical documents with R Markdown.") that accept short and long options.") (license license:gpl2+))) -(define-public r-wgcna - (package - (name "r-wgcna") - (version "1.69") - (source - (origin - (method url-fetch) - (uri (cran-uri "WGCNA" version)) - (sha256 - (base32 - "022hkprnrafvggi8pkjffkvk1qlnibmbbxxrni00wkrdbga5589f")))) - (properties `((upstream-name . "WGCNA"))) - (build-system r-build-system) - (propagated-inputs - `(("r-annotationdbi" ,r-annotationdbi) - ("r-doparallel" ,r-doparallel) - ("r-dynamictreecut" ,r-dynamictreecut) - ("r-fastcluster" ,r-fastcluster) - ("r-foreach" ,r-foreach) - ("r-go-db" ,r-go-db) - ("r-hmisc" ,r-hmisc) - ("r-impute" ,r-impute) - ("r-rcpp" ,r-rcpp) - ("r-survival" ,r-survival) - ("r-matrixstats" ,r-matrixstats) - ("r-preprocesscore" ,r-preprocesscore))) - (home-page - "http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/") - (synopsis "Weighted correlation network analysis") - (description - "This package provides functions necessary to perform Weighted -Correlation Network Analysis on high-dimensional data. It includes functions -for rudimentary data cleaning, construction and summarization of correlation -networks, module identification and functions for relating both variables and -modules to sample traits. It also includes a number of utility functions for -data manipulation and visualization.") - (license license:gpl2+))) - (define-public r-kernlab (package (name "r-kernlab") @@ -14829,20 +14823,21 @@ the XKCD web comic.") (define-public r-msigdbr (package (name "r-msigdbr") - (version "7.1.1") + (version "7.2.1") (source (origin (method url-fetch) (uri (cran-uri "msigdbr" version)) (sha256 (base32 - "0jvi49qa7616s58p0rx66pcw7h12rc8kgcg9225jk7pc3934hnzh")))) + "1rc2p9vw57pn4prmfgay4w18qd53ggq7wxfsi9kp7w25ciip1dq1")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-magrittr" ,r-magrittr) ("r-rlang" ,r-rlang) - ("r-tibble" ,r-tibble))) + ("r-tibble" ,r-tibble) + ("r-tidyselect" ,r-tidyselect))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/igordot/msigdbr") @@ -15219,14 +15214,14 @@ discriminant analysis for the purpose of classifying high dimensional data.") (define-public r-ggvis (package (name "r-ggvis") - (version "0.4.5") + (version "0.4.6") (source (origin (method url-fetch) (uri (cran-uri "ggvis" version)) (sha256 (base32 - "091i9f17912j8qcyxppjgwzjnyqj7769ixs9d2gjg6f2clskqdw2")))) + "1k40mkfxj66qvwbsp849maihv6vxkdprhhzjkwffwn0lwl78lsz1")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -15756,17 +15751,18 @@ code edited with @code{RStudio IDE}, @code{Emacs} and @code{Vim}.") (define-public r-sctransform (package (name "r-sctransform") - (version "0.2.1") + (version "0.3") (source (origin (method url-fetch) (uri (cran-uri "sctransform" version)) (sha256 (base32 - "07v3lzccsrkh1glfxd1q20r8f8gl9ls5az0s1dvxm4vcls0hlhyn")))) + "1vyjxzghfvw57pwncvkfg3lbcsqfdsiplh1h4vscxpnd3872nrq3")))) (build-system r-build-system) (propagated-inputs - `(("r-future-apply" ,r-future-apply) + `(("r-future" ,r-future) + ("r-future-apply" ,r-future-apply) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) ("r-mass" ,r-mass) @@ -16175,14 +16171,14 @@ includes data sets from oceanography.") (define-public r-ggfortify (package (name "r-ggfortify") - (version "0.4.10") + (version "0.4.11") (source (origin (method url-fetch) (uri (cran-uri "ggfortify" version)) (sha256 (base32 - "0wmcwp63h90v3f00ixszvis4z28im621jickvc0wgi6qvjvnayq0")))) + "1wfm7l9bz6msh7rflgfv9dgbxh1ikz2ay0v7sgk9nkc24y6lhbpk")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -16535,7 +16531,7 @@ guaranteeing well-connected communities.\" <arXiv:1810.08473>.") "The @code{ggplot2} package provides a strong API for sequentially building up a plot, but does not concern itself with composition of multiple plots. Patchwork is a package that expands the API to allow for arbitrarily -complex composition of plots by providing mathmatical operators for combining +complex composition of plots by providing mathematical operators for combining multiple plots.") (license license:expat))) @@ -16659,13 +16655,13 @@ function and interfaces to external frameworks.") (define-public r-covr (package (name "r-covr") - (version "3.5.0") + (version "3.5.1") (source (origin (method url-fetch) (uri (cran-uri "covr" version)) (sha256 - (base32 "1pvr95h7jg9hqq1qq1cccy323pkxldrwafl08151cc410499k4fb")))) + (base32 "0v5cv3cw2kpdr6wxmkbd3wclavr17zipypdcb10hhmpa4cvgqk55")))) (properties `((upstream-name . "covr"))) (build-system r-build-system) (propagated-inputs @@ -16692,14 +16688,14 @@ both R code and compiled C/C++/FORTRAN code.") (define-public r-systemfonts (package (name "r-systemfonts") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "systemfonts" version)) (sha256 (base32 - "0ldxgcayyisp2gcbv4xw9zpb48bp4czi8016kq5nqdqhv1qb3sz0")))) + "12hdvv66kkd3b4rs82blc3c4ifz2dw1048sqpkbz6vkk1zqpc53x")))) (properties `((upstream-name . "systemfonts"))) (build-system r-build-system) (propagated-inputs @@ -16840,14 +16836,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.8.5") + (version "0.8.6") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "1vax5p1znq2ddbks2i614hbrnn2x6x71942xx49p813qk8dh284l")))) + "0z4qy62pxiwnsgi77ydymlc12ss9p9gbqljik2h0rwlmkpmk016w")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -16869,18 +16865,18 @@ effect size.") (define-public r-rgdal (package (name "r-rgdal") - (version "1.5-16") + (version "1.5-17") (source (origin (method url-fetch) (uri (cran-uri "rgdal" version)) (sha256 - (base32 "0rwlsafqxgqflfid4ciaa9qz3f75fgw8hilhaqj558gdxg8bzigp")))) + (base32 "16vk3a8azbqhv4m598i78hs9m1nlfcls6lx011v0wgiw6ksq64zw")))) (properties `((upstream-name . "rgdal"))) (build-system r-build-system) (inputs `(("gdal" ,gdal) - ("proj.4" ,proj.4) + ("proj" ,proj) ("zlib" ,zlib))) (propagated-inputs `(("r-sp" ,r-sp))) @@ -17123,14 +17119,14 @@ structural data.") (define-public r-bios2cor (package (name "r-bios2cor") - (version "2.1") + (version "2.2") (source (origin (method url-fetch) (uri (cran-uri "Bios2cor" version)) (sha256 (base32 - "04wk1cjrrxhpv1kdhd67r1qvjv268xxi0z0r105wy912110z9m6x")))) + "1wkj9vr33m9jilidil9jpw5rzr3pf7gkimxdvch22ks4bgkx7l1w")))) (properties `((upstream-name . "Bios2cor"))) (build-system r-build-system) (propagated-inputs @@ -18028,14 +18024,14 @@ See e.g. Gentle (2003) @url{doi:10.1007/b97336}.") (define-public r-lhs (package (name "r-lhs") - (version "1.0.2") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "lhs" version)) (sha256 (base32 - "0n0i1hr9gmc0hfcs2cvpjvdfgm6k26rhcq3q22r8ic0gfj953572")))) + "1p4h03qlijs2a59wfd4rlvdlb9i87pw2zm8xsjd6yzz8vlm9yglh")))) (properties `((upstream-name . "lhs"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -18051,14 +18047,14 @@ Latin Hypercube Samples.") (define-public r-acebayes (package (name "r-acebayes") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) (uri (cran-uri "acebayes" version)) (sha256 (base32 - "1imfwm1vpbb24vfmfn1nljhmaz8429mwjihw34892p387s8h7xz2")))) + "11bffz430gdfdaxjx3simig66vhynmx6l1ylac4q2shcmj52nx73")))) (properties `((upstream-name . "acebayes"))) (build-system r-build-system) (propagated-inputs @@ -19654,7 +19650,7 @@ on distances rather than on unit x variables.") "This package provides tools for depth functions methodology applied to multivariate analysis. Besides allowing calculation of depth values and depth-based location estimators, the package includes functions or drawing -contour plots and perspective plots of depth functions. Euclidian and +contour plots and perspective plots of depth functions. Euclidean and spherical depths are supported.") (license license:gpl2))) @@ -19907,14 +19903,14 @@ generation for the Poisson binomial distribution.") (define-public r-diagram (package (name "r-diagram") - (version "1.6.4") + (version "1.6.5") (source (origin (method url-fetch) (uri (cran-uri "diagram" version)) (sha256 (base32 - "0f6ffprn5k0ir1s7m9s7izc64aa17r3gnygagz5bihrlsvawaavw")))) + "1r3lyl0h7mk9cfg8smr3jydfkjdawaphnxibkxfjqa7029vkxh79")))) (properties `((upstream-name . "diagram"))) (build-system r-build-system) (propagated-inputs @@ -20485,14 +20481,14 @@ Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish.") (define-public r-quanteda (package (name "r-quanteda") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) (uri (cran-uri "quanteda" version)) (sha256 (base32 - "1wlrd7g2b459pnkqhihxhn74f37py1c9pxrdzp5xzp4mnbdxcsj8")))) + "13rjwgmg5v1dbryrs9ifyy76s5ib6wrbrm2y5af44vhf1h6p9cvy")))) (properties `((upstream-name . "quanteda"))) (build-system r-build-system) (propagated-inputs @@ -20561,14 +20557,14 @@ Gibbs sampling by Xuan-Hieu Phan and co-authors.") (define-public r-stm (package (name "r-stm") - (version "1.3.5") + (version "1.3.6") (source (origin (method url-fetch) (uri (cran-uri "stm" version)) (sha256 (base32 - "1yyfxaxqc6yq0yq68zhdnhpwpvsyp71dlmivn7zxixfmp932s6cn")))) + "0qwq4nin2n9fjd06852r8k7arvcgh46kcfb3lm21swgx6j8bgrhb")))) (properties `((upstream-name . "stm"))) (build-system r-build-system) (propagated-inputs @@ -20770,14 +20766,14 @@ least squares.") (define-public r-regsem (package (name "r-regsem") - (version "1.5.2") + (version "1.6.2") (source (origin (method url-fetch) (uri (cran-uri "regsem" version)) (sha256 (base32 - "0ch057010xfsw0nqcsarzakdbiplvxaldyqlbbacspqs65ax1yk7")))) + "14nrzyrkrijdrr4jwkri5zra2wh36w68wy6xs600l2z1633h2lmn")))) (properties `((upstream-name . "regsem"))) (build-system r-build-system) (propagated-inputs @@ -20785,6 +20781,8 @@ least squares.") ("r-rcpp" ,r-rcpp) ("r-rcpparmadillo" ,r-rcpparmadillo) ("r-rsolnp" ,r-rsolnp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/package=regsem") (synopsis "Regularized structural equation modeling") (description @@ -20839,14 +20837,14 @@ and analyze Stan models.") (define-public r-rpf (package (name "r-rpf") - (version "1.0.4") + (version "1.0.5") (source (origin (method url-fetch) (uri (cran-uri "rpf" version)) (sha256 (base32 - "17crcgsbcsh0c00n7bgdqfnd7n1vzz7drfxjs7d18253yl5x44pl")))) + "0kz7i7g3l16irz6bxgnkxdmmd931m1fk6rl72dvs21ir5brr010l")))) (properties `((upstream-name . "rpf"))) (build-system r-build-system) (propagated-inputs @@ -21937,7 +21935,7 @@ appropriate dog and cat images for many status codes.") (build-system r-build-system) (propagated-inputs `(("r-stringr" ,r-stringr) - ("r-magrittr", r-magrittr))) + ("r-magrittr" ,r-magrittr))) (home-page "https://github.com/stefano-meschiari/latex2exp/") (synopsis "Use LaTeX expressions in plots") (description "@code{latex2exp} parses and converts LaTeX math formulas to @@ -22141,7 +22139,7 @@ general, via different versions of bridge sampling.") (description "This package provides different approaches for selecting the threshold in generalized Pareto distributions. Most of them are based on minimizing the -AMSE-criterion or atleast by reducing the bias of the assumed GPD-model. +AMSE-criterion or at least by reducing the bias of the assumed GPD-model. Others are heuristically motivated by searching for stable sample paths, i.e. a nearly constant region of the tail index estimator with respect to k, which is the number of data in the tail. The third class is motivated by graphical @@ -22174,14 +22172,14 @@ is also implemented here.") (define-public r-aws (package (name "r-aws") - (version "2.4-3") + (version "2.5") (source (origin (method url-fetch) (uri (cran-uri "aws" version)) (sha256 (base32 - "0ccm8ffjf8bylhfr64j9wzi49hzigz4bs172pvkb0bi4d5vdr0l5")))) + "1mwg1q7l4a07g5aa9c6kh3fpl9lakk01pbzlk7ixbpy12yfvj9nm")))) (properties `((upstream-name . "aws"))) (build-system r-build-system) @@ -22338,21 +22336,22 @@ infinite-precision rational arithmetic.") (define-public r-rxnat (package (name "r-rxnat") - (version "1.0.12") + (version "1.0.14") (source (origin (method url-fetch) (uri (cran-uri "Rxnat" version)) (sha256 (base32 - "06w99b5lvpycykzlga6grw33zkajwbb04s89s37wy9zxy42vc4cb")))) + "00fl68pa0c2vy4xlny67pn41lzgm7b97wgg3dwm6z35izca62l11")))) (properties `((upstream-name . "Rxnat"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-httr" ,r-httr) - ("r-rcurl" ,r-rcurl))) + ("r-rcurl" ,r-rcurl) + ("r-tibble" ,r-tibble))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/Rxnat/") @@ -22575,50 +22574,6 @@ Try a demo of the LSD by running @code{demotour()}.") ;; Either version (license (list license:gpl2 license:gpl3)))) -(define-public r-fourcseq - (package - (name "r-fourcseq") - (version "1.22.1") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "FourCSeq" version)) - (sha256 - (base32 "14q1ijnqnbd9xs60sfvyqjfiypjrvhacpwp2v85yfhcxw870cx5b")))) - (properties `((upstream-name . "FourCSeq"))) - (build-system r-build-system) - (propagated-inputs - `(("r-biobase" ,r-biobase) - ("r-biostrings" ,r-biostrings) - ("r-deseq2" ,r-deseq2) - ("r-fda" ,r-fda) - ("r-genomicalignments" ,r-genomicalignments) - ("r-genomicranges" ,r-genomicranges) - ("r-ggbio" ,r-ggbio) - ("r-ggplot2" ,r-ggplot2) - ("r-gtools" ,r-gtools) - ("r-lsd" ,r-lsd) - ("r-matrix" ,r-matrix) - ("r-reshape2" ,r-reshape2) - ("r-rsamtools" ,r-rsamtools) - ("r-rtracklayer" ,r-rtracklayer) - ("r-summarizedexperiment" ,r-summarizedexperiment))) - (native-inputs - `(("r-knitr" ,r-knitr))) - (home-page - "https://bioconductor.org/packages/release/bioc/html/FourCSeq.html") - (synopsis "Analysis of multiplexed 4C sequencing data") - (description - "This package is an R package dedicated to the analysis of (multiplexed) -4C sequencing data. @code{r-fourcseq} provides a pipeline to detect specific -interactions between DNA elements and identify differential interactions -between conditions. The statistical analysis in R starts with individual bam -files for each sample as inputs. To obtain these files, the package contains -a Python script to demultiplex libraries and trim off primer sequences. With -a standard alignment software the required bam files can be then be -generated.") - (license license:gpl3+))) - (define-public r-phylogram (package (name "r-phylogram") @@ -22786,14 +22741,14 @@ incremented as outlined at @url{http://semver.org}.") (define-public r-binman (package (name "r-binman") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) (uri (cran-uri "binman" version)) (sha256 (base32 - "0hm0h285p4v9lhrqjy8s22f1s1vmfpfla5iaycpj8vw3qb3632az")))) + "00l7m98h41r67gf0qxqis3vx63j7wylnk9vlgcyk41szkrz8ikkc")))) (properties `((upstream-name . "binman"))) (build-system r-build-system) (propagated-inputs @@ -23138,14 +23093,14 @@ formal inference.") (define-public r-gaston (package (name "r-gaston") - (version "1.5.6") + (version "1.5.7") (source (origin (method url-fetch) (uri (cran-uri "gaston" version)) (sha256 (base32 - "1bx6iqfjb9lf3vn0z7v8wjv9m7issvqsnymm4qsgl3622s6qz6rg")))) + "14z94dpln4dvgrv2w7w9ik7h6rpvbf02qhq1hqzx8c2cndzxr21i")))) (properties `((upstream-name . "gaston"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -23166,14 +23121,14 @@ for linear mixed models (AIREML).") (define-public r-cpp11 (package (name "r-cpp11") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (cran-uri "cpp11" version)) (sha256 (base32 - "1113y61lj4cg1d2yjavdx9zih5rzb4pnxmj5v3sr4bhzlxz2scda")))) + "1b1h7kjl3xrd4nfly7wd6v8mbyancm632r4k37pafs8xi6cqm848")))) (properties `((upstream-name . "cpp11"))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -23744,14 +23699,14 @@ more.") (define-public r-workflows (package (name "r-workflows") - (version "0.1.3") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "workflows" version)) (sha256 (base32 - "1d5njd1xdl8kghlbar4acgl9hxq83p6k7yks592cvakmcz7f853m")))) + "1mj0ibl6myzw5vl5n4gcfy7fz8wd1755kp8sdy18isxg8h5h23ya")))) (properties `((upstream-name . "workflows"))) (build-system r-build-system) (propagated-inputs @@ -23761,7 +23716,8 @@ more.") ("r-glue" ,r-glue) ("r-hardhat" ,r-hardhat) ("r-parsnip" ,r-parsnip) - ("r-rlang" ,r-rlang))) + ("r-rlang" ,r-rlang) + ("r-tidyselect" ,r-tidyselect))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tidymodels/workflows") @@ -23836,25 +23792,81 @@ to a data set such as confusion matrices, class probability curve summaries, and regression metrics (e.g., RMSE).") (license license:gpl2))) +(define-public r-warp + (package + (name "r-warp") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "warp" version)) + (sha256 + (base32 + "16bmym91h0sbbh4iqasqs0f4kp3jqlm3sqgc356mznhxwnsm8dm2")))) + (properties `((upstream-name . "warp"))) + (build-system r-build-system) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/DavisVaughan/warp") + (synopsis "Group dates") + (description + "This package provides tooling to group dates by a variety of periods +including: yearly, monthly, by second, by week of the month, and more. The +groups are defined in such a way that they also represent the distance between +dates in terms of the period. This extracts valuable information that can be +used in further calculations that rely on a specific temporal spacing between +observations.") + (license license:expat))) + +(define-public r-slider + (package + (name "r-slider") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "slider" version)) + (sha256 + (base32 + "1x4jwfxam4czfkb1s5qds5krfw1h2p5a4rh6f5z4yvhsv0d81xck")))) + (properties `((upstream-name . "slider"))) + (build-system r-build-system) + (propagated-inputs + `(("r-glue" ,r-glue) + ("r-rlang" ,r-rlang) + ("r-vctrs" ,r-vctrs) + ("r-warp" ,r-warp))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/DavisVaughan/slider") + (synopsis "Sliding window functions") + (description + "This package provides type-stable rolling window functions over any R +data type. Cumulative and expanding windows are also supported. For more +advanced usage, an index can be used as a secondary vector that defines how +sliding windows are to be created.") + (license license:expat))) + (define-public r-rsample (package (name "r-rsample") - (version "0.0.7") + (version "0.0.8") (source (origin (method url-fetch) (uri (cran-uri "rsample" version)) (sha256 (base32 - "0s6hgq0rcv3ianyidq3n9z34y5ww51gaggqkwmwns9yyxmwfjcm8")))) + "1psmxk16d4bz1v05x0gb9hn4brkdjxw8hjbxmj62snichnix3q3i")))) (properties `((upstream-name . "rsample"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) + ("r-ellipsis" ,r-ellipsis) ("r-furrr" ,r-furrr) ("r-generics" ,r-generics) + ("r-modeldata" ,r-modeldata) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) + ("r-slider" ,r-slider) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) ("r-tidyselect" ,r-tidyselect) @@ -23891,14 +23903,14 @@ Design} (SFD) and to test their quality.") (define-public r-dials (package (name "r-dials") - (version "0.0.8") + (version "0.0.9") (source (origin (method url-fetch) (uri (cran-uri "dials" version)) (sha256 (base32 - "0jxmlcy20y57chflx91fqz6c4pbdckzr7jirq4s72vp723avrr4p")))) + "0g9wj2py4wz703rh4p7hk8qxqnkm7zyrypv4qz4vaqziazjsmxks")))) (properties `((upstream-name . "dials"))) (build-system r-build-system) (propagated-inputs @@ -24003,14 +24015,14 @@ models without involving a test set.") (define-public r-tidypredict (package (name "r-tidypredict") - (version "0.4.6") + (version "0.4.7") (source (origin (method url-fetch) (uri (cran-uri "tidypredict" version)) (sha256 (base32 - "1fx1nr8fry3nwy2391g26zkqakdf8f3j7zyrihbc0qhscvbdskiy")))) + "0z0wr0ssl1h0smr9431cy1ik5kxfy1nvkdcyyq9c0355h828hybh")))) (properties `((upstream-name . "tidypredict"))) (build-system r-build-system) (propagated-inputs @@ -24019,7 +24031,9 @@ models without involving a test set.") ("r-knitr" ,r-knitr) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) - ("r-tibble" ,r-tibble))) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://tidypredict.tidymodels.org") @@ -24125,14 +24139,14 @@ vignettes in all common formats.") (define-public r-tidytext (package (name "r-tidytext") - (version "0.2.5") + (version "0.2.6") (source (origin (method url-fetch) (uri (cran-uri "tidytext" version)) (sha256 (base32 - "0kwbpffdnqrb6hgrrmrfnx890imbzvp5bs6sj1k72if28qijarm5")))) + "0xmjkab7p13ncfglf3a9hvndf8fh96mmxw3l7hcpbnaq9qkiwk29")))) (properties `((upstream-name . "tidytext"))) (build-system r-build-system) (propagated-inputs @@ -24437,13 +24451,13 @@ as allowing spectra with different resolutions.") (define-public r-seurat (package (name "r-seurat") - (version "3.2.1") + (version "3.2.2") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "0jipc4xpmx56jzc31w6nsl77ah8x8wq7jclg2mxhjql4ixkwmz54")))) + "048vnj0c3mrwhr6yq3jqhgnkg68w99nj1ccsmgnd8rl694w26spj")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs @@ -24584,3 +24598,32 @@ enrichment analysis (GSEA) calculation with or without the absolute filtering. Without filtering, users can perform (original) two-tailed or one-tailed absolute GSEA.") (license license:gpl2))) + +(define-public r-calculus + (package + (name "r-calculus") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "calculus" version)) + (sha256 + (base32 + "0hs7hzjl6xjza20v9zx9a1piywxa6w3h2rskr52d1dcbc0vwhinp")))) + (properties `((upstream-name . "calculus"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "https://github.com/guidotti/calculus") + (synopsis "High dimensional numerical and symbolic calculus") + (description + "Efficient C++ optimized functions for numerical and symbolic calculus. +It includes basic symbolic arithmetic, tensor calculus, Einstein summing +convention, fast computation of the Levi-Civita symbol and generalized +Kronecker delta, Taylor series expansion, multivariate Hermite polynomials, +accurate high-order derivatives, differential operators (Gradient, Jacobian, +Hessian, Divergence, Curl, Laplacian) and numerical integration in arbitrary +orthogonal coordinate systems: cartesian, polar, spherical, cylindrical, +parabolic or user defined by custom scale factors.") + (license license:gpl3))) + diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm new file mode 100644 index 0000000000..9193479092 --- /dev/null +++ b/gnu/packages/crates-graphics.scm @@ -0,0 +1,2374 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com> +;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Leo Famulari <leo@famulari.name> +;;; +;;; 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 crates-graphics) + #:use-module (guix build-system cargo) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages llvm) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages video)) + +;;; +;;; Please: Try to add new module packages in alphabetic order. + +(define-public rust-andrew-0.2 + (package + (name "rust-andrew") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "andrew" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pmklwcwy8g1jras46fz8xcny779zfqpg4riksrbdhkjk3w0jzwv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-line-drawing" ,rust-line-drawing-0.7) + ("rust-rusttype" ,rust-rusttype-0.7) + ("rust-walkdir" ,rust-walkdir-2) + ("rust-xdg" ,rust-xdg-2.2) + ("rust-xml-rs" ,rust-xml-rs-0.8)) + #:cargo-development-inputs + (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)))) + (inputs + `(("wayland" ,wayland))) + (home-page "https://github.com/trimental/andrew") + (synopsis "Provides convenient drawing of objects to buffers") + (description + "The @code{andrew} crate provides convenient drawing of objects such as +shapes, lines and text to buffers.") + (license license:expat))) + +(define-public rust-ansi-colours-1 + (package + (name "rust-ansi-colours") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi_colours" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dnqmpk68mzvncj37jlv0362kdgsgjxg010c6psagimgh4m303qx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cc" ,rust-cc-1)) + #:cargo-development-inputs + (("rust-delta-e" ,rust-delta-e-0.2) + ("rust-lab" ,rust-lab-0.4)))) + (home-page "https://github.com/mina86/ansi_colours") + (synopsis "Palette converter between true-colour and ANSI terminal") + (description + "@code{ansi_colours} is a library which converts between 24-bit sRGB +colours and 8-bit colour palette used by ANSI terminals such as @code{xterm} on +@code{rxvt-unicode} in 256-colour mode. +The most common use case is when using 24-bit colours in a terminal emulator +which only support 8-bit colour palette. This package allows true-colours to be +approximated by values supported by the terminal.") + (license license:lgpl3+))) + +(define-public rust-ansi-term-0.12 + (package + (name "rust-ansi-term") + (version "0.12.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi_term" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1ljmkbilxgmhavxvxqa7qvm6f3fjggi7q2l3a72q9x0cxjvrnanm")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-regex" ,rust-regex-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/ogham/rust-ansi-term") + (synopsis "Library for ANSI terminal colours and styles") + (description + "This is a library for controlling colours and formatting, such as red bold +text or blue underlined text, on ANSI terminals.") + (license license:expat))) + +(define-public rust-ansi-term-0.11 + (package + (inherit rust-ansi-term-0.12) + (name "rust-ansi-term") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi_term" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3)))))) + +(define-public rust-ansi-term-0.9 + (package + (inherit rust-ansi-term-0.11) + (name "rust-ansi-term") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi_term" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xif1bh938qpfc3d0f9xgidibpm65xix11w9gszwqnia00q7rb13")))) + (arguments `()))) + +(define-public rust-aom-sys-0.1 + (package + (name "rust-aom-sys") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "aom-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bqcpkycv1d67r6jcl9npfbw6rkl829rdq9w6vlpb0rjqxp0xzsn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.53) + ("rust-metadeps" ,rust-metadeps-1.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libaom" ,libaom) + ("libclang" ,clang) + ("llvm" ,llvm))) + (home-page "https://github.com/rust-av/aom-rs") + (synopsis "FFI bindings to aom") + (description "This package provides FFI bindings to aom.") + (license license:expat))) + +(define-public rust-ascii-canvas-2 + (package + (name "rust-ascii-canvas") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ascii-canvas" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0a9s8vrbc5jr6ry5ygjyfqmbs9gyya1v6dsxzsczpai8z4nvg3pz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ;; TODO: failes due to an unresolved import + #:cargo-inputs + (("rust-term" ,rust-term-0.5)))) + (home-page "https://github.com/nikomatsakis/ascii-canvas") + (synopsis "Simple canvas for drawing lines and styled text and emitting to +the terminal") + (description "@code{ASCII} canvas is a simple Rust library that allows you +to draw lines and colored text and then write them to the terminal. It uses +the term library to handle the ANSI nonsense and hence it works on Windows, +Mac, and Unix.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-cgl-0.3 + (package + (name "rust-cgl") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zs7skrsyrsm759vfy2cygkx52fx91b567a12bpaz1sf4d8hbv8c")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only available on macOS + #:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/cgl-rs") + (synopsis "Rust bindings for CGL on Mac") + (description "Rust bindings for CGL on Mac.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-cgl-0.2 + (package + (inherit rust-cgl-0.3) + (name "rust-cgl") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0j8ayr8pbwvyv6l8r7m5z197rs3pqn97085w9j4rfn7yfh5yrrsm")))) + (arguments + `(#:skip-build? #t ; only available on macOS + #:cargo-inputs + (("rust-gleam" ,rust-gleam-0.6) + ("rust-libc" ,rust-libc-0.2)))))) + +(define-public rust-cgmath-0.17 + (package + (name "rust-cgmath") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgmath" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rvgila6ivr0dh1bxza450a4yfwdi2pwj3h1vnwg0jy4xk6l8f98")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; Crate won't build without glium. + #:cargo-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-mint" ,rust-mint-0.5) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand" ,rust-rand-0.6) + ("rust-serde" ,rust-serde-1) + ("rust-simd" ,rust-simd-0.2)) + #:cargo-development-inputs + (;("rust-glium" ,rust-glium-0.23) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/brendanzab/cgmath") + (synopsis "Linear algebra and mathematics library") + (description + "This package provides a linear algebra and mathematics library +for computer graphics.") + (license license:asl2.0))) + +(define-public rust-cgmath-0.16 + (package + (inherit rust-cgmath-0.17) + (name "rust-cgmath") + (version "0.16.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgmath" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07754c03v3srzf64ghsl3fggrdi4kjy6l3vyq2d2wfjfixybb934")))) + (arguments + `(#:skip-build? #t ; Crate won't build without glium. + #:cargo-inputs + (("rust-approx" ,rust-approx-0.1) + ("rust-mint" ,rust-mint-0.5) + ("rust-num-traits" ,rust-num-traits-0.1) + ("rust-rand" ,rust-rand-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-simd" ,rust-simd-0.2)) + #:cargo-development-inputs + (;("rust-glium" ,rust-glium-0.19) + ("rust-serde-json" ,rust-serde-json-1)))))) + +(define-public rust-core-graphics-0.17 + (package + (name "rust-core-graphics") + (version "0.17.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-graphics" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1acm3vygngnilzlr6klym5ywh7kfzh2xxrh2l41152hwmdl0jyan")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only for macOS + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-foreign-types" ,rust-foreign-types-0.3) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/servo/core-graphics-rs") + (synopsis "Bindings to Core Graphics for macOS") + (description + "Bindings to Core Graphics for macOS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-core-video-sys-0.1 + (package + (name "rust-core-video-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-video-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l59cg88482hkl95ssb30ac9x65hpbdsmxz9s5r6y222jlhnbh4d")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; only for macOS + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-metal" ,rust-metal-0.14) + ("rust-objc" ,rust-objc-0.2)))) + (home-page "https://github.com/luozijun/rust-core-video-sys") + (synopsis "Bindings to CoreVideo.framework for macOS and iOS") + (description "Bindings to CoreVideo.framework for macOS and iOS.") + (license license:expat))) + +(define-public rust-dav1d-sys-0.3 + (package + (name "rust-dav1d-sys") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dav1d-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jdxhnlxcml6jd67lx78ifzkn1xm18zfk4li7vjdh3fa61i073kx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.54) + ("rust-metadeps" ,rust-metadeps-1.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))) + (inputs + `(("dav1d" ,dav1d) + ("pkg-config" ,pkg-config) + ("libclang" ,clang) + ("llvm" ,llvm))) + (home-page "https://github.com/rust-av/dav1d-rs") + (synopsis "FFI bindings to dav1d") + (description "This package provides FFI bindings to dav1d.") + (license license:expat))) + +(define-public rust-euclid-0.20 + (package + (name "rust-euclid") + (version "0.20.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "euclid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c3hbl0kvc53k6nws0v9d46hi0giza1j079sqx2bgl4wfw65nshc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-mint" ,rust-mint-0.5) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test-1)))) + (home-page "https://github.com/servo/euclid") + (synopsis "Geometry primitives") + (description "Geometry primitives written in Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-gfx-0.18 + (package + (name "rust-gfx") + (version "0.18.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfx" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nqmxqi3x4ni0g78g77a6aldrv8cfvzhnpqhxyd2ap4aa3wldph1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-mint" ,rust-mint-0.5) + ("rust-draw-state" ,rust-draw-state-0.8) + ("rust-gfx-core" ,rust-gfx-core-0.9)))) + (home-page "https://github.com/gfx-rs/gfx") + (synopsis "High-performance, bindless graphics API") + (description + "This package provides a high-performance, bindless graphics API.") + (license license:asl2.0))) + +(define-public rust-gfx-core-0.9 + (package + (name "rust-gfx-core") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfx_core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0haldr99n12d90vqgvl77n59hywlklhdff85j2aljaz1yapdvyvm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-mint" ,rust-mint-0.5) + ("rust-draw-state" ,rust-draw-state-0.8) + ("rust-serde" ,rust-serde-1) + ("rust-bitflags" ,rust-bitflags-1)))) + (home-page "https://github.com/gfx-rs/gfx") + (synopsis "Core library of Gfx-rs") + (description "This package is a core library of Gfx-rs.") + (license license:asl2.0))) + +(define-public rust-gfx-device-gl-0.16 + (package + (name "rust-gfx-device-gl") + (version "0.16.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfx_device_gl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g5yg19jvxdmviljyakhd6253bnb2qg7v8iscf48ihc0ldgki70h")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-gfx-gl" ,rust-gfx-gl-0.6) + ("rust-gfx-core" ,rust-gfx-core-0.9)))) + (home-page "https://github.com/gfx-rs/gfx") + (synopsis "OpenGL backend for gfx-rs") + (description "This package provides the openGL backend for 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.10 + (package + (name "rust-gif") + (version "0.10.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "gif" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bw174f7civdfgryvc8pvyhicpr96hzdajnda4s3y8iv3ch907a7")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; tests not included in release + #:cargo-inputs + (("rust-color-quant" ,rust-color-quant-1.0) + ("rust-libc" ,rust-libc-0.2) + ("rust-lzw" ,rust-lzw-0.10)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob-0.3)))) + (home-page "https://github.com/image-rs/image-gif") + (synopsis "GIF decoder and encoder") + (description "This package provides a GIF decoder and encoder in Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-gl-0.11 + (package + (name "rust-gl") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (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))) + +(define-public rust-gl-generator-0.14 + (package + (name "rust-gl-generator") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl-generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k8j1hmfnff312gy7x1aqjzcm8zxid7ij7dlb8prljib7b1dz58s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-khronos-api" ,rust-khronos-api-3) + ("rust-log" ,rust-log-0.4) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/brendanzab/gl-rs/") + (synopsis "Code generators for bindings to the Khronos OpenGL APIs") + (description + "Code generators for creating bindings to the Khronos OpenGL APIs.") + (license license:asl2.0))) + +(define-public rust-gl-generator-0.13 + (package + (inherit rust-gl-generator-0.14) + (name "rust-gl-generator") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl-generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jpqjqpyrl73sf8y20p5rv50qz8glnsvv9infg8h4vi52zgbp66a")))))) + +(define-public rust-gl-generator-0.11 + (package + (inherit rust-gl-generator-0.13) + (name "rust-gl-generator") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl-generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gdchvay0k0g931b2ki33mkfixcw4radk5b8sqsm29rahxg3v8ir")))))) + +(define-public rust-gl-generator-0.10 + (package + (name "rust-gl-generator") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl_generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0146yd4i9wbgfrhnkc04w7n7civbanznc0q87skp6v7p7hbszzx0")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-xml-rs" ,rust-xml-rs-0.8) + ("rust-khronos-api" ,rust-khronos-api-3)))) + (home-page "https://github.com/brendanzab/gl-rs/") + (synopsis + "Code generators for creating bindings to the Khronos OpenGL APIs") + (description + "Code generators for creating bindings to the Khronos OpenGL APIs.") + (license license:asl2.0))) + +(define-public rust-gleam-0.6 + (package + (name "rust-gleam") + (version "0.6.19") + (source + (origin + (method url-fetch) + (uri (crate-uri "gleam" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1iazvk3kvw3620gm6x8hy2x1lz51k04acl78cr3ppryhk5y0vqfa")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.13)))) + (home-page "https://github.com/servo/gleam") + (synopsis "Generated OpenGL bindings and wrapper for Servo") + (description + "Generated OpenGL bindings and wrapper for Servo.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-glutin-0.22 + (package + (name "rust-glutin") + (version "0.22.0-alpha5") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lilr4f335m1fq1acmshd51zblfaglw1hha6lhalnc1fw3cg0aag")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-cgl" ,rust-cgl-0.3) + ("rust-cocoa" ,rust-cocoa-0.19) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) + ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) + ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) + ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) + ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libloading" ,rust-libloading-0.5) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.9) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winit" ,rust-winit-0.20)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis + "Cross-platform OpenGL context provider") + (description + "Cross-platform OpenGL context provider.") + (license license:asl2.0))) + +(define-public rust-glutin-0.21 + (package + (inherit rust-glutin-0.22) + (name "rust-glutin") + (version "0.21.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ggyyqn7dvz4yx5ygqfvnxwfb78wvdm5y6xqw5my1b4x61dv6wak")))) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-cgl" ,rust-cgl-0.2) + ("rust-cocoa" ,rust-cocoa-0.18) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) + ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) + ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) + ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) + ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libloading" ,rust-libloading-0.5) + ("rust-objc" ,rust-objc-0.2) + ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.9) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winit" ,rust-winit-0.19)))))) + +(define-public rust-glutin-egl-sys-0.1 + (package + (name "rust-glutin-egl-sys") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin-egl-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k1x1frdp4wp47qkai8zzmgqxzpfcn7780m29qgd92lbnbrxwbkp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3) + ("rust-gl-generator" ,rust-gl-generator-0.13)))) + (home-page "https://github.com/rust-windowing/glutin") + (synopsis "Egl bindings for glutin") + (description "The egl bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-glutin-emscripten-sys-0.1 + (package + (name "rust-glutin-emscripten-sys") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin_emscripten_sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ix0jmm8p5if4qarzdfl5mz9rbq4hhgqarakb3bzwvyz13dkynr4")))) + (build-system cargo-build-system) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Emscripten bindings for glutin") + (description "The emscripten bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-glutin-gles2-sys-0.1 + (package + (name "rust-glutin-gles2-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin_gles2_sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pswvl5zyqmqwzjr674yzslj0al2xbqsp2ai9ggb9qbshlq6r6c9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-objc" ,rust-objc-0.2) + ("rust-gl-generator" ,rust-gl-generator-0.11)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "The gles2 bindings for glutin") + (description "The gles2 bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-glutin-glx-sys-0.1 + (package + (name "rust-glutin-glx-sys") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin-glx-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mxs3mil68xqqb49466n5rpwpcllj6fwqjgrcrzzmz26bv5ab40j")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-x11-dl" ,rust-x11-dl-2) + ("rust-gl-generator" ,rust-gl-generator-0.11)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Glx bindings for glutin") + (description "The glx bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-glutin-wgl-sys-0.1 + (package + (name "rust-glutin-wgl-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin-wgl-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08chlfzpj59q36qm212i4k879gvjzha7i90q90fds8pw3v4vn0gq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.11)))) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Wgl bindings for glutin") + (description "The wgl bindings for glutin.") + (license license:asl2.0))) + +(define-public rust-image-0.23 + (package + (name "rust-image") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d2a80k7pwqshliqi5fw1dwkz7q9zd6pjnwpw8zxc1v4xhzmbc5m")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test images are missing from the release. + #:cargo-inputs + (("rust-bytemuck" ,rust-bytemuck-1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-gif" ,rust-gif-0.10) + ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.3) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-png" ,rust-png-0.16) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tiff" ,rust-tiff-0.5)) + #:cargo-development-inputs + (("rust-crc32fast" ,rust-crc32fast-1) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-glob" ,rust-glob-0.3) + ("rust-num-complex" ,rust-num-complex-0.3) + ("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/image-rs/image") + (synopsis "Imaging library written in Rust") + (description + "Imaging library written in Rust. Provides basic filters and decoders +for the most common image formats.") + (license license:expat))) + +(define-public rust-image-0.22 + (package + (inherit rust-image-0.23) + (name "rust-image") + (version "0.22.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jpbd0p1q7xx6395ba9ikz2k4cfp26qczisa8m2v15w3hzd2mv88")))) + (arguments + `(#:tests? #f ; Some test images are missing from the release. + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-gif" ,rust-gif-0.10) + ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-png" ,rust-png-0.15) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tiff" ,rust-tiff-0.3)) + #:cargo-development-inputs + (("rust-crc32fast" ,rust-crc32fast-1) + ("rust-glob" ,rust-glob-0.3) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.9)))))) + +(define-public rust-image-0.21 + (package + (inherit rust-image-0.22) + (name "rust-image") + (version "0.21.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sv534xp8yyn7jj0q6yn2bgng1350f962g81sv8v7c6pgi31wdrm")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-gif" ,rust-gif-0.10) + ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-png" ,rust-png-0.14) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tiff" ,rust-tiff-0.2)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob-0.3) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.6)))))) + +(define-public rust-image-0.20 + (package + (inherit rust-image-0.21) + (name "rust-image") + (version "0.20.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "image" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01058n0jcw25pq5shn7lkvywv8c28xsxb3nwwyb4r16ijm1mnrj4")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-gif" ,rust-gif-0.10) + ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-png" ,rust-png-0.12) + ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-tiff" ,rust-tiff-0.2)) + #:cargo-development-inputs + (("rust-glob" ,rust-glob-0.2) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.6)))))) + +(define-public rust-jpeg-decoder-0.1 + (package + (name "rust-jpeg-decoder") + (version "0.1.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "jpeg-decoder" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lc428qgffh2a1agkq0p26mvf9rjaiswpywy5883j99mqypg0mh2")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test files missing. + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-rayon" ,rust-rayon-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-png" ,rust-png-0.14) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://github.com/image-rs/jpeg-decoder") + (synopsis "JPEG decoder") + (description "JPEG decoder written in Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-line-drawing-0.7 + (package + (name "rust-line-drawing") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "line_drawing" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fcna7hq1g1kkkqy07hydscx5d2zgb6gskz3vnsvsif8h8ysvisw")))) + (build-system cargo-build-system) + (arguments + ;; This version does not specify any versions on dependants. + `(#:tests? #f ; Cannot compile line_drawing for the test suite. + #:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2)) + #:cargo-development-inputs + (("rust-bresenham" ,rust-bresenham-0.1) + ("rust-image" ,rust-image-0.22) ; 0.17? + ("rust-rand" ,rust-rand-0.6)))) + (home-page "https://github.com/expenses/line_drawing") + (synopsis "Collection of line-drawing algorithms") + (description + "This package provides a collection of line-drawing algorithms for use in +graphics and video games.") + (license license:expat))) + +(define-public rust-lyon-geom-0.14 + (package + (name "rust-lyon-geom") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "lyon_geom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "178z4cqqmyw0rsabbgx9phkjxjzcnq0604062lqjlq87k063216a")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2) + ("rust-euclid" ,rust-euclid-0.20) + ("rust-arrayvec" ,rust-arrayvec-0.4) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/nical/lyon") + (synopsis "2D graphics rendering on the GPU using tessellation") + (description + "This package provides 2D graphics rendering on the GPU using tessellation.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-lyon-path-0.14 + (package + (name "rust-lyon-path") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "lyon_path" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qk8x46w0sf6j04l6gvhgn9kr4ymcqkmkh67w8wqahm54jn5gjqb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lyon-geom" ,rust-lyon-geom-0.14) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/nical/lyon") + (synopsis "Types and utilities to store, build and iterate over 2D paths") + (description + "Types and utilities to store, build and iterate over 2D paths.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-osmesa-sys-0.1 + (package + (name "rust-osmesa-sys") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "osmesa-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fq1q1zcgfb0qydrg9r2738jlwc4hqxgb9vj11z72bjxx7kfrkw8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-shared-library" ,rust-shared-library-0.1)))) + (home-page "https://crates.io/crates/osmesa-sys") + (synopsis "OSMesa library bindings for Rust") + (description "This package provides OSMesa library bindings for Rust.") + (license license:cc0))) + +(define-public rust-piston-0.49 + (package + (name "rust-piston") + (version "0.49.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y0rbw92mzagqmwk79wv9axq0m7aid0s0d5cppyzh33wrxhdl3xj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-pistoncore-input" ,rust-pistoncore-input-0.28) + ("rust-pistoncore-window" ,rust-pistoncore-window-0.44) + ("rust-pistoncore-event-loop" ,rust-pistoncore-event-loop-0.49)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Piston game engine core libraries") + (description + "The Piston game engine core libraries.") + (license license:expat))) + +(define-public rust-piston-float-1.0 + (package + (name "rust-piston-float") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-float" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r35aasycms79hf2vf1ap40kkp8ywgl4hmfkf762dq8jwd3vw07r")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/pistondevelopers/float") + (synopsis + "Traits for generic floats in game development") + (description + "Traits for generic floats in game development") + (license license:expat))) + +(define-public rust-piston-gfx-texture-0.40 + (package + (name "rust-piston-gfx-texture") + (version "0.40.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-gfx_texture" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nr5awdgk3njfvfanszrv4gxz93f6skid1c8yijswccygripchqz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gfx" ,rust-gfx-0.18) + ("rust-image" ,rust-image-0.22) + ("rust-piston-texture" ,rust-piston-texture-0.8) + ("rust-gfx-core" ,rust-gfx-core-0.9)))) + (home-page "https://github.com/pistondevelopers/gfx_texture") + (synopsis + "Gfx texture representation that works nicely with Piston libraries") + (description "This package provides a Gfx texture representation that works +nicely with Piston libraries.") + (license license:expat))) + +(define-public rust-piston-graphics-api-version-0.2 + (package + (name "rust-piston-graphics-api-version") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-graphics_api_version" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b5p6s45jqv057lpbxkiq3yrdjjhvcynmi2vjf8292rf0yh4hky5")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/PistonDevelopers/graphics_api_version") + (synopsis + "A library for storing graphics API versions") + (description + "This package provides a library for storing graphics API versions") + (license license:expat))) + +(define-public rust-piston-shaders-graphics2d-0.3 + (package + (name "rust-piston-shaders-graphics2d") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-shaders_graphics2d" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dhh9bv4q19gdnj9d1nqq0yrvzs6gcn0c5j1p1f3xzyzq7d1gg4p")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/PistonDevelopers/shaders") + (synopsis "Shaders for 2D graphics in Rust") + (description "Shaders for 2D graphics in Rust") + (license license:expat))) + +(define-public rust-piston-texture-0.8 + (package + (name "rust-piston-texture") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-texture" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pcv5my49b8xzqcb87wqh2ndgvr4s9ipys96s0h9j2plxrj3bjb2")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/pistondevelopers/texture") + (synopsis "A generic library for textures") + (description + "This package provides a generic library for textures") + (license license:expat))) + +(define-public rust-piston-viewport-1.0 + (package + (name "rust-piston-viewport") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-viewport" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16378hcy41b7x3zj2z4har0wq6fl4r62kf9p106jjl8hg2dv3aq1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-float" ,rust-piston-float-1.0)))) + (home-page "https://github.com/PistonDevelopers/viewport") + (synopsis "Library for storing viewport information") + (description + "This package provides a library for storing viewport information.") + (license license:expat))) + +(define-public rust-piston-window-0.105 + (package + (name "rust-piston-window") + (version "0.105.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston_window" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05n2905gkp5ck25kbq95ia6pj1xz63dpp247jz3xcw1d41xpvi95")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gfx-device-gl" ,rust-gfx-device-gl-0.16) + ("rust-gfx" ,rust-gfx-0.18) + ("rust-piston2d-graphics" ,rust-piston2d-graphics-0.35) + ("rust-piston" ,rust-piston-0.49) + ("rust-shader-version" ,rust-shader-version-0.6) + ("rust-pistoncore-glutin-window" ,rust-pistoncore-glutin-window-0.63) + ("rust-piston2d-gfx-graphics" ,rust-piston2d-gfx-graphics-0.66) + ("rust-piston-texture" ,rust-piston-texture-0.8)))) + (home-page "https://github.com/pistondevelopers/piston_window") + (synopsis "Official Piston window wrapper for the Piston game engine") + (description + "The official Piston window wrapper for the Piston game engine.") + (license license:expat))) + +(define-public rust-piston2d-gfx-graphics-0.66 + (package + (name "rust-piston2d-gfx-graphics") + (version "0.66.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston2d-gfx_graphics" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pmlkf5rl6pr0c1lqm0059xwj9pwlws7gaq9w6r9d916di6fzki1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gfx" ,rust-gfx-0.18) + ("rust-piston-shaders-graphics2d" ,rust-piston-shaders-graphics2d-0.3) + ("rust-piston-gfx-texture" ,rust-piston-gfx-texture-0.40) + ("rust-shader-version" ,rust-shader-version-0.6) + ("rust-draw-state" ,rust-draw-state-0.8)))) + (home-page "https://github.com/PistonDevelopers/gfx_graphics") + (synopsis "Gfx 2D back-end for the Piston game engine") + (description + "This package provides a Gfx 2D back-end for the Piston game engine.") + (license license:expat))) + +(define-public rust-piston2d-graphics-0.35 + (package + (name "rust-piston2d-graphics") + (version "0.35.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston2d-graphics" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dx2fanxc2pj76hc5l72x0fh4qg9gchjlr8rmbhdk6jpggcmq56g")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-interpolation" ,rust-interpolation-0.2) + ("rust-rusttype" ,rust-rusttype-0.7) + ("rust-piston-texture" ,rust-piston-texture-0.8) + ("rust-piston-viewport" ,rust-piston-viewport-1.0) + ("rust-read-color" ,rust-read-color-1.0) + ("rust-vecmath" ,rust-vecmath-1.0) + ("rust-fnv" ,rust-fnv-1)))) + (home-page "https://github.com/pistondevelopers/graphics") + (synopsis "Library for 2D graphics that works with multiple back-ends") + (description "This package provides a library for 2D graphics that works +with multiple back-ends.") + (license license:expat))) + +(define-public rust-pistoncore-event-loop-0.49 + (package + (name "rust-pistoncore-event-loop") + (version "0.49.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-event_loop" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h9ij9vx42xg39198yxdlpk842pli5jqm2kwswiv3bqqcji0fwsm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-pistoncore-input" ,rust-pistoncore-input-0.28) + ("rust-pistoncore-window" ,rust-pistoncore-window-0.44)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Piston event loop for games and interactive applications") + (description "This package provides a Piston event loop for games and +interactive applications.") + (license license:expat))) + +(define-public rust-pistoncore-glutin-window-0.63 + (package + (name "rust-pistoncore-glutin-window") + (version "0.63.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-glutin_window" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dhbyxarv5i742d400bmqdqq3f8c25kcgcg0xavrc18dc913rixc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl" ,rust-gl-0.11) + ("rust-glutin" ,rust-glutin-0.21) + ("rust-pistoncore-input" ,rust-pistoncore-input-0.28) + ("rust-pistoncore-window" ,rust-pistoncore-window-0.44) + ("rust-shader-version" ,rust-shader-version-0.6)))) + (home-page "https://github.com/pistondevelopers/glutin_window") + (synopsis "Piston window back-end using the Glutin library") + (description + "This package provides a Piston window back-end using the Glutin library.") + (license license:expat))) + +(define-public rust-pistoncore-input-0.28 + (package + (name "rust-pistoncore-input") + (version "0.28.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-input" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rrcz9px098m3nx98gvrvzirfdp3vg03cblfkcrp4wnvswc0hwq5")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-viewport" ,rust-piston-viewport-1.0) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-bitflags" ,rust-bitflags-1)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Structure for user input") + (description + "This package provides a structure for user input.") + (license license:expat))) + +(define-public rust-pistoncore-window-0.44 + (package + (name "rust-pistoncore-window") + (version "0.44.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-window" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18qy3nnpb9jczvkiyzzznamck0pzgiyi6073jrkldnci6b3in10q")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-graphics-api-version" + ,rust-piston-graphics-api-version-0.2) + ("rust-pistoncore-input" ,rust-pistoncore-input-0.28)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Library for window abstraction") + (description + "This package provides a library for window abstraction.") + (license license:expat))) + +(define-public rust-png-0.16 + (package + (name "rust-png") + (version "0.16.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1393s3v3kg4bxnn86d7yn2vyz8xj6g64ighdfkc3vzpsg5sbyl61")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-deflate" ,rust-deflate-0.8) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-getopts" ,rust-getopts-0.2) + ;; TODO: glium has many cyclic dependencies with other packages + ;; ("rust-glium" ,rust-glium-0.24) + ("rust-glob" ,rust-glob-0.3) + ("rust-rand" ,rust-rand-0.7) + ("rust-term" ,rust-term-0.6)))) + (home-page "https://github.com/image-rs/image-png.git") + (synopsis "PNG decoding and encoding library in pure Rust") + (description + "PNG decoding and encoding library in pure Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-png-0.15 + (package + (inherit rust-png-0.16) + (name "rust-png") + (version "0.15.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10x2qkhyfnm3si5vgx77r2ik811gaap7ahi825wfxgsb0lirm1gg")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-deflate" ,rust-deflate-0.7) + ("rust-inflate" ,rust-inflate-0.4)) + #:cargo-development-inputs + (("rust-getopts" ,rust-getopts-0.2) + ;; TODO: glium has many cyclic dependencies with other packages + ;;("rust-glium" ,rust-glium-0.24) + ("rust-glob" ,rust-glob-0.3) + ("rust-rand" ,rust-rand-0.7) + ("rust-term" ,rust-term-0.6)))))) + +(define-public rust-png-0.14 + (package + (inherit rust-png-0.15) + (name "rust-png") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nf3a8r9p9zrj4x30b48f7yv18dz9xkmrq9b3lnzmpnhzn0z9nk3")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-deflate" ,rust-deflate-0.7) + ("rust-inflate" ,rust-inflate-0.4) + ("rust-num-iter" ,rust-num-iter-0.1)) + #:cargo-development-inputs + (("rust-getopts" ,rust-getopts-0.2) + ;; TODO: glium has many cyclic dependencies with other packages + ;; ("rust-glium" ,rust-glium-0.22) + ("rust-glob" ,rust-glob-0.2) + ("rust-rand" ,rust-rand-0.5) + ("rust-term" ,rust-term-0.4)))))) + +(define-public rust-png-0.12 + (package + (inherit rust-png-0.14) + (name "rust-png") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "png" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nqlc8lqf8ncv3kj0gzlxwli61dbbxcjlrp176kvilw4sl09cjzm")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-deflate" ,rust-deflate-0.7) + ("rust-inflate" ,rust-inflate-0.4) + ("rust-num-iter" ,rust-num-iter-0.1)) + #:cargo-development-inputs + (("rust-getopts" ,rust-getopts-0.2) + ;; TODO: gluum has many cyclic dependencies with other packages + ;; ("rust-glium" ,rust-glium-0.21) + ("rust-glob" ,rust-glob-0.2) + ("rust-term" ,rust-term-0.4)))))) + +(define-public rust-raw-window-handle-0.3 + (package + (name "rust-raw-window-handle") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "raw-window-handle" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04c2wir7qq3g2b143yav52a1g5ack8ffqx2bpmrn9bc0dix1li0a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/rust-windowing/raw-window-handle") + (synopsis "Interoperability library for Rust Windowing applications") + (description + "Interoperability library for Rust Windowing applications.") + (license license:expat))) + +(define-public rust-resize-0.3 + (package + (name "rust-resize") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "resize" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ai83laz5yvg4r7z9q8d1m0vq0fqj2ycyprw5fxzxyzaj3im7rmr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-png" ,rust-png-0.15)))) + (home-page "https://github.com/PistonDevelopers/resize") + (synopsis "Simple image resampling library in pure Rust") + (description + "This package provides a simple image resampling library in pure Rust.") + (license license:expat))) + +(define-public rust-rgb-0.8 + (package + (name "rust-rgb") + (version "0.8.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "rgb" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1620mn5dp1rr9fpvd9wbr3b8l2g4zrij8zjri1x34cg1bas59vwh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytemuck" ,rust-bytemuck-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://lib.rs/crates/rgb") + (synopsis "Struct for sharing pixels between crates") + (description + "This package provides @code{struct RGB/RGBA/etc.} for sharing pixels +between crates + convenience methods for color manipulation. It allows no-copy +high-level interoperability. It also adds common convenience methods and +implements standard Rust traits to make `RGB`/`RGBA` pixels and slices +first-class Rust objects.") + (license license:expat))) + +(define-public rust-smithay-client-toolkit-0.6 + (package + (name "rust-smithay-client-toolkit") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-client-toolkit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-andrew" ,rust-andrew-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.23)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-image" ,rust-image-0.21) + ("rust-wayland-client" ,rust-wayland-client-0.23)))) + (home-page "https://github.com/smithay/client-toolkit") + (synopsis "Toolkit for making client wayland applications") + (description + "Toolkit for making client wayland applications.") + (license license:expat))) + +(define-public rust-smithay-client-toolkit-0.4 + (package + (inherit rust-smithay-client-toolkit-0.6) + (name "rust-smithay-client-toolkit") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-client-toolkit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yj8yzd0lhqpsgq0x4iikl9a02q2hnkky81brk938alv0ibqrjrc")))) + (arguments + `(#:cargo-inputs + (("rust-andrew" ,rust-andrew-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.21)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-image" ,rust-image-0.20) + ("rust-wayland-client" ,rust-wayland-client-0.21)))))) + +(define-public rust-smithay-clipboard-0.3 + (package + (name "rust-smithay-clipboard") + (version "0.3.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-clipboard" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.14) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)) + #:cargo-development-inputs + (("rust-andrew" ,rust-andrew-0.2)))) + (inputs + `(("wayland" ,wayland))) + (home-page "https://github.com/smithay/smithay-clipboard") + (synopsis + "Provides access to the wayland clipboard for client applications") + (description + "This package provides access to the wayland clipboard for client applications.") + (license license:expat))) + +(define-public rust-tiff-0.5 + (package + (name "rust-tiff") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tiff" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bzzvxcx21pzryxgd7x7a1himiqs2y4k55754wzlr56sqj3qlfrz")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; not all test files included + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) + (home-page "https://github.com/image-rs/image-tiff") + (synopsis + "TIFF decoding and encoding library in pure Rust") + (description + "TIFF decoding and encoding library in pure Rust.") + (license license:expat))) + +(define-public rust-tiff-0.3 + (package + (inherit rust-tiff-0.5) + (name "rust-tiff") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tiff" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zgmbny2f8rssqmjdfvnysy0vqwcvlwl6q9f5yixhavlqk7w5dyp")))) + (arguments + `(#:tests? #f ; Tests images not included with release. + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-derive" ,rust-num-derive-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3)))))) + +(define-public rust-tiff-0.2 + (package + (inherit rust-tiff-0.3) + (name "rust-tiff") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tiff" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kn7psgpacns337vvqh272rkqwnakmjd51rc7ygwnc03ibr38j0y")))) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-num-derive" ,rust-num-derive-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)))))) + +(define-public rust-wayland-client-0.23 + (package + (name "rust-wayland-client") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-client" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.23) + ("rust-wayland-sys" ,rust-wayland-sys-0.23) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Rust bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, client side.") + (license license:expat))) + +(define-public rust-wayland-client-0.21 + (package + (inherit rust-wayland-client-0.23) + (name "rust-wayland-client") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-client" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04r7dy074hhdalsi1day482wvmczr40hg7qvrnzkgxpakrgkx5j9")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-sys" ,rust-wayland-sys-0.21) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)) + #:cargo-development-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-tempfile" ,rust-tempfile-3)))))) + +(define-public rust-wayland-commons-0.23 + (package + (name "rust-wayland-commons") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-commons" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.14) + ("rust-wayland-sys" ,rust-wayland-sys-0.23)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Common types and structures used by wayland-client and wayland-server") + (description + "Common types and structures used by wayland-client and wayland-server.") + (license license:expat))) + +(define-public rust-wayland-commons-0.21 + (package + (inherit rust-wayland-commons-0.23) + (name "rust-wayland-commons") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-commons" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1v1jpcsnn6cwwy5ii5pdl58i6b9slmi8mn4my4fpwrlbfsb8ih20")))) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.14) + ("rust-wayland-sys" ,rust-wayland-sys-0.21)))))) + +(define-public rust-wayland-protocols-0.23 + (package + (name "rust-wayland-protocols") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-protocols" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-wayland-commons" ,rust-wayland-commons-0.23) + ("rust-wayland-server" ,rust-wayland-server-0.23) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Generated API for the officials wayland protocol extensions") + (description + "Generated API for the officials wayland protocol extensions.") + (license license:expat))) + +(define-public rust-wayland-protocols-0.21 + (package + (inherit rust-wayland-protocols-0.23) + (name "rust-wayland-protocols") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-protocols" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i91yh3nxk9llhly2ly3nvlfx0lbpvyq919cgmnyx3j25bmf5zaa")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-server" ,rust-wayland-server-0.21) + ("rust-wayland-sys" ,rust-wayland-sys-0.21) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) + +(define-public rust-wayland-scanner-0.23 + (package + (name "rust-wayland-scanner") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-scanner" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-xml-rs" ,rust-xml-rs-0.8)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Generate Rust APIs from XML Wayland protocol files") + (description + "Wayland Scanner generates Rust APIs from XML Wayland protocol files. +It is intended for use with wayland-sys. You should only need this crate if +you are working on custom Wayland protocol extensions. +Look at the wayland-client crate for usable bindings.") + (license license:expat))) + +(define-public rust-wayland-scanner-0.21 + (package + (inherit rust-wayland-scanner-0.23) + (name "rust-wayland-scanner") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-scanner" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z")))))) + +(define-public rust-wayland-server-0.23 + (package + (name "rust-wayland-server") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-server" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.23) + ("rust-wayland-sys" ,rust-wayland-sys-0.23) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, server side.") + (license license:expat))) + +(define-public rust-wayland-server-0.21 + (package + (inherit rust-wayland-server-0.23) + (name "rust-wayland-server") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-server" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ayn4wlrpg0fw04prri9awpkjvbzjil0d3l3a8zs9pdbnspvw6ah")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-downcast-rs" ,rust-downcast-rs-1.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-mio" ,rust-mio-0.6) + ("rust-nix" ,rust-nix-0.14) + ("rust-wayland-commons" ,rust-wayland-commons-0.21) + ("rust-wayland-sys" ,rust-wayland-sys-0.21) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) + +(define-public rust-wayland-sys-0.23 + (package + (name "rust-wayland-sys") + (version "0.23.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dlib" ,rust-dlib-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "FFI bindings to the various libwayland-*.so libraries") + (description + "FFI bindings to the various libwayland-*.so libraries. +You should only need this crate if you are working on custom wayland +protocol extensions. Look at the crate wayland-client for usable bindings.") + (license license:expat))) + +(define-public rust-wayland-sys-0.21 + (package + (inherit rust-wayland-sys-0.23) + (name "rust-wayland-sys") + (version "0.21.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj")))))) + +(define-public rust-winit-0.20 + (package + (name "rust-winit") + (version "0.20.0-alpha6") + (source + (origin + (method url-fetch) + (uri (crate-uri "winit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g5cchl97zcg525j6jdr77yby8cmhwv1qqwcd3sf4l4zl263195z")) + (patches + (list + (origin + (method url-fetch) + (uri "https://github.com/rust-windowing/winit/commit/d1c6506865c7bddbb5fb4d80a613e43ddc1370b5.patch") + (file-name (string-append name "-fix-bindings.patch")) + (sha256 + (base32 + "03q4bvdq86kii53d0vsywv08g8vqirf9h1lz2cl6rcc7gjfynpds"))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.4) + ("rust-cocoa" ,rust-cocoa-0.19) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-core-video-sys" ,rust-core-video-sys-0.1) + ("rust-dispatch" ,rust-dispatch-0.1) + ("rust-instant" ,rust-instant-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.10) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6) + ("rust-stdweb" ,rust-stdweb-0.4) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wayland-client" ,rust-wayland-client-0.23) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11-dl" ,rust-x11-dl-2)) + #:cargo-development-inputs + (("rust-console-log" ,rust-console-log-0.1) + ("rust-env-logger" ,rust-env-logger-0.5) + ("rust-image" ,rust-image-0.21)))) + (home-page "https://github.com/rust-windowing/winit") + (synopsis + "Cross-platform window creation library") + (description + "Cross-platform window creation library.") + (license license:asl2.0))) + +(define-public rust-winit-0.19 + (package + (inherit rust-winit-0.20) + (name "rust-winit") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "winit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a4lnfyvlc4jabhs30wlmkgdjv7qhbplmyp833kl7ykjni5yp5hy")))) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-cocoa" ,rust-cocoa-0.18) + ("rust-core-foundation" ,rust-core-foundation-0.6) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-image" ,rust-image-0.21) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.9) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4) + ("rust-wayland-client" ,rust-wayland-client-0.21) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11-dl" ,rust-x11-dl-2)))))) + +(define-public rust-x11-2 + (package + (name "rust-x11") + (version "2.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "x11" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dg2d0yrqmwg6prpxkw3vpmwzwxnaki2cn0v64ylh5gp4cqpws9r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/erlepereira/x11-rs.git") + (synopsis "X11 library bindings for Rust") + (description "X11 library bindings for Rust.") + (license license:cc0))) + +(define-public rust-x11-clipboard-0.4 + (package + (name "rust-x11-clipboard") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "x11-clipboard" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nqdnswiyj28b1izjp5rzbc67cxpb5c8p4vh1xyndkirzs84vqqk")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Tests require display server. + #:cargo-inputs (("rust-xcb" ,rust-xcb-0.9)))) + (native-inputs + `(("python" ,python))) + (home-page "https://github.com/quininer/x11-clipboard") + (synopsis "x11 clipboard support for Rust") + (description "This package provides x11 clipboard support for Rust.") + (license license:expat))) + +(define-public rust-x11-dl-2 + (package + (name "rust-x11-dl") + (version "2.18.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "x11-dl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1y7yq4sfvv56shk4v3s7gvlrwk9d0migj622fl4i4c5klpiq3y9b")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-maybe-uninit" ,rust-maybe-uninit-2.0) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/erlepereira/x11-rs.git") + (synopsis "X11 library bindings for Rust") + (description "This package provides X11 library bindings for Rust.") + (license license:cc0))) + +(define-public rust-y4m-0.5 + (package + (name "rust-y4m") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "y4m" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1933677by64y06zfgip2yq8b2dza8xnljhaksx93czq90b54kscz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-resize" ,rust-resize-0.3)))) + (home-page "https://github.com/image-rs/y4m") + (synopsis "YUV4MPEG2 (.y4m) Encoder/Decoder.") + (description "YUV4MPEG2 (.y4m) Encoder/Decoder.") + (license license:expat))) diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm new file mode 100644 index 0000000000..41b9a51a33 --- /dev/null +++ b/gnu/packages/crates-gtk.scm @@ -0,0 +1,667 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages crates-gtk) + #:use-module (guix build-system cargo) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk)) + +;;; +;;; Please: Try to add new module packages in alphabetic order. +;;; + +(define-public rust-cairo-rs-0.8 + (package + (name "rust-cairo-rs") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cairo-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11303v1fv6hsc9n70ak380gknkf0098phpcxqdhkmahqjsx4jw0m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib" ,rust-glib-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2)) + #:cargo-development-inputs + (("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("cairo" ,cairo))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the Cairo library") + (description + "Rust bindings for the Cairo library.") + (license license:expat))) + +(define-public rust-cairo-rs-0.7 + (package + (inherit rust-cairo-rs-0.8) + (name "rust-cairo-rs") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cairo-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "171m98g41avp5mmshqir4ka21napp7ma5fx45wi9mw5hwdyv8pg0")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3)))))) + +(define-public rust-cairo-sys-rs-0.9 + (package + (name "rust-cairo-sys-rs") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cairo-sys-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qsdy6s57yvscg2rfm7wdqrlhzbn1aq9lhk3dy1vw5f7r81blrgz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11" ,rust-x11-2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (inputs + `(("cairo" ,cairo))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libcairo") + (description "This package provides FFI bindings to libcairo.") + (license license:expat))) + +(define-public rust-gdk-pixbuf-0.8 + (package + (name "rust-gdk-pixbuf") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gdk-pixbuf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mxxca0fkcw2rsd3kl3nvlb8ys4cgxqx4n5isjbv0adk8q624j72")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) + ("rust-gio" ,rust-gio-0.8) + ("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib" ,rust-glib-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) + (inputs + `(("gdk-pixbuf" ,gdk-pixbuf))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the GdkPixbuf library") + (description + "Rust bindings for the GdkPixbuf library.") + (license license:expat))) + +(define-public rust-gdk-pixbuf-0.7 + (package + (inherit rust-gdk-pixbuf-0.8) + (name "rust-gdk-pixbuf") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gdk-pixbuf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k2g3w2p57m68bi5sldvkmgjgslgqswrjsijjhqaibdvw67409lp")))) + (arguments + `(#:cargo-inputs + (("rust-fragile" ,rust-fragile-0.3) + ("rust-futures-preview" ,rust-futures-preview-0.3) + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) + ("rust-gio" ,rust-gio-0.7) + ("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) + +(define-public rust-gdk-pixbuf-sys-0.9 + (package + (name "rust-gdk-pixbuf-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gdk-pixbuf-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1c2andpjb10y7bahh6nxnksh9m3g5qh4mgq9znx634cy1831p6fq")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; tests not included in release + #:cargo-inputs + (("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("gdk-pixbuf" ,gdk-pixbuf))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgdk_pixbuf-2.0") + (description "This package provides FFI bindings to @code{libgdk_pixbuf-2.0}.") + (license license:expat))) + +(define-public rust-gio-0.8 + (package + (name "rust-gio") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gio" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19cnla2ya0mi6wwaabd5mxbq2kzq46dg6jq2z19rpqyc2na0zl8c")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all files included in the tarball. + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("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-util" ,rust-futures-util-0.3) + ("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib" ,rust-glib-0.9) + ("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) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1) + ("rust-serial-test" ,rust-serial-test-0.1) + ("rust-serial-test-derive" ,rust-serial-test-derive-0.1)))) + (inputs + `(("glib" ,glib))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the Gio library") + (description "Rust bindings for the Gio library.") + (license license:expat))) + +(define-public rust-gio-0.7 + (package + (inherit rust-gio-0.8) + (name "rust-gio") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gio" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qv0wc1hqyb81c03h81s3xrl9jslrw23fr4yhygxbhih9k9vaqb2")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-fragile" ,rust-fragile-0.3) + ("rust-futures-preview" ,rust-futures-preview-0.3) + ("rust-gio-sys" ,rust-gio-sys-0.9) + ("rust-glib" ,rust-glib-0.8) + ("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) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) + +(define-public rust-gio-sys-0.9 + (package + (name "rust-gio-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gio-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "049rafihxp3maxg3fwj6062ni9dcfilvhfq6ibnfgsmr89925bag")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test libraries not included in release. + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("glib" ,glib))) + (home-page "http://gtk-rs.org/") + (synopsis "FFI bindings to libgio-2.0") + (description "This package provides FFI bindings to libgio-2.0.") + (license license:expat))) + +(define-public rust-gir-format-check-0.1 + (package + (name "rust-gir-format-check") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gir-format-check" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0znl4qcgmg0656zk9vjkwdn9wj1zpkd0m0l5jnzmahd80ii7vf4b")))) + (build-system cargo-build-system) + (home-page "https://github.com/gtk-rs/gir-format-check") + (synopsis "File format checker") + (description "File format checker in Rust.") + (license license:expat))) + +(define-public rust-glib-0.9 + (package + (name "rust-glib") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "glib" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h3100mf7kdfxibjz5na0sqzbd2mcsyd8pzivn3666w414x5gys0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-preview" ,rust-futures-preview-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-futures-util" ,rust-futures-util-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)))) + (inputs + `(("glib" ,glib))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the GLib library") + (description + "Rust bindings for the GLib library.") + (license license:expat))) + +(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-sys-0.9 + (package + (name "rust-glib-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "glib-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qhnwfqqcp63mx4q9744rfkq78g6ky2j8ppsxxgw0ipl08w6z1cm")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test libraries not included in release. + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("glib" ,glib))) + (home-page "http://gtk-rs.org/") + (synopsis "FFI bindings to libglib-2.0") + (description "This package provides FFI bindings to libglib-2.0.") + (license license:expat))) + +(define-public rust-gobject-sys-0.9 + (package + (name "rust-gobject-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gobject-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nakflbp3gjaas4fw7sn3p1p32khyfpcq1h06z7yqd10yq2ail9i")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test libraries not included in release. + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("glib" ,glib))) + (home-page "http://gtk-rs.org/") + (synopsis "FFI bindings to libgobject-2.0") + (description "This package provides FFI bindings to libgobject-2.0.") + (license license:expat))) + +(define-public rust-gtk-rs-lgpl-docs-0.1 + (package + (name "rust-gtk-rs-lgpl-docs") + (version "0.1.15") + (source + (origin + (method url-fetch) + (uri (crate-uri "gtk-rs-lgpl-docs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06b1j64zg0xmhwfkyhzh3y0apclg6qihn3f7s1bd7kgjmkia4jlr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rustdoc-stripper" ,rust-rustdoc-stripper-0.1)))) + (home-page "https://gtk-rs.org/") + (synopsis "LGPL-licensed docs for Gtk-rs crates") + (description + "LGPL-licensed docs for Gtk-rs crates.") + (license license:lgpl2.0))) + +(define-public rust-pango-0.8 + (package + (name "rust-pango") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pango" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xq50950il3228grzs4xvc5s6phxcl5l50grz6syvs0vixr6p70y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-glib" ,rust-glib-0.9) + ("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) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) + (inputs + `(("pango" ,pango))) + (home-page "https://gtk-rs.org/") + (synopsis "Rust bindings for the Pango library") + (description + "Rust bindings for the Pango library.") + (license license:expat))) + +(define-public rust-pango-0.7 + (package + (inherit rust-pango-0.8) + (name "rust-pango") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pango" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11np7nxb69g3kid2l78b7k519x1wk1c3f9yy7swgzy24n5qs0grr")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-glib" ,rust-glib-0.8) + ("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) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) + +(define-public rust-pango-sys-0.9 + (package + (name "rust-pango-sys") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pango-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zdynikh6jrfa31fpmbrwnz46a57idci73zzkf0z0g3vj223vfc6")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Some test files not included in release. + #:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("pango" ,pango))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libpango-1.0") + (description "This package provides FFI bindings to @code{libpango-1.0}.") + (license license:expat))) + +(define-public rust-pangocairo-0.9 + (package + (name "rust-pangocairo") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pangocairo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bap3h78hdqdyln58349qjjbcv45m8a0a16c4n9fprdj1my0gldx")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.8) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib" ,rust-glib-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango" ,rust-pango-0.8) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) + (inputs + `(("gtk+" ,gtk+))) + (home-page "http://gtk-rs.org/") + (synopsis "Rust bindings for the PangoCairo library") + (description + "Rust bindings for the PangoCairo library.") + (license license:expat))) + +(define-public rust-pangocairo-0.8 + (package + (inherit rust-pangocairo-0.9) + (name "rust-pangocairo") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pangocairo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qjiwsp73x3w0493dzycyjzxnzwq7ixwmf1ccr5r41pjhxbnk1kl")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.7) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib" ,rust-glib-0.8) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-gobject-sys" ,rust-gobject-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango" ,rust-pango-0.7) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10) + ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) + #:cargo-development-inputs + (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) + +(define-public rust-pangocairo-sys-0.10 + (package + (name "rust-pangocairo-sys") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pangocairo-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zlyf5vajarnxg5034b8qa5w5zajv96lfvlgiki26svpmcqip4m3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) + ("rust-glib-sys" ,rust-glib-sys-0.9) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.9) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:cargo-development-inputs + (("rust-shell-words" ,rust-shell-words-0.1) + ("rust-tempfile" ,rust-tempfile-3)))) + (inputs + `(("gtk+" ,gtk+))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgtk-3") + (description "This package provides FFI bindings to libgtk-3.") + (license license:expat))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 0f0f0c28c9..5b4767a779 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -8,6 +8,9 @@ ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> +;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> +;;; Copyright © 2020 André Batista <nandre@riseup.net> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,17 +30,19 @@ (define-module (gnu packages crates-io) #:use-module (guix build-system cargo) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) - #:use-module (gnu packages base) + #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages crates-gtk) #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) - #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) - #:use-module (gnu packages glib) - #:use-module (gnu packages gtk) #:use-module (gnu packages jemalloc) #:use-module (gnu packages llvm) #:use-module (gnu packages multiprecision) @@ -49,7 +54,6 @@ #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) #:use-module (gnu packages tls) - #:use-module (gnu packages video) #:use-module (gnu packages version-control) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -106,7 +110,7 @@ library in Rust.") ("rust-cpp-demangle" ,rust-cpp-demangle-0.2) ("rust-gimli" ,rust-gimli-0.20) ("rust-smallvec" ,rust-smallvec-1) - ("rust-lazycell" ,rust-lazycell-1.2)) + ("rust-lazycell" ,rust-lazycell-1)) #:cargo-development-inputs (("rust-backtrace" ,rust-backtrace-0.3) ("rust-clap" ,rust-clap-2) @@ -141,7 +145,7 @@ Rust, using gimli.") ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) ("rust-gimli" ,rust-gimli-0.18) ("rust-intervaltree" ,rust-intervaltree-0.2) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-object" ,rust-object-0.12) ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) ("rust-smallvec" ,rust-smallvec-0.6)) @@ -169,7 +173,7 @@ Rust, using gimli.") (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)) #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1) ("rust-rand" ,rust-rand-0.4)))) @@ -181,19 +185,157 @@ the Rust programming language.") (license (list license:bsd-3 license:zlib)))) +(define-public rust-aead-0.3 + (package + (name "rust-aead") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "aead" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c8388alvivcj4qkxgh4s4l6fbczn3p8wc0pnar6crlfvcdmvjbz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby-0.3) + ("rust-generic-array" ,rust-generic-array-0.14) + ("rust-heapless" ,rust-heapless-0.5)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Traits for Authenticated Encryption with Associated Data (AEAD) +algorithms") + (description "This package provides traits for Authenticated Encryption +with Associated Data (AEAD) algorithms.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aes-0.4 + (package + (name "rust-aes") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xgsp2bn5llsppald60iw4497gaspslg0a8hknhniiz4zmki607p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aes-soft" ,rust-aes-soft-0.4) + ("rust-aesni" ,rust-aesni-0.7) + ("rust-block-cipher" ,rust-block-cipher-0.7)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Facade for AES (Rijndael) block ciphers implementations") + (description "This package provides a facade for AES (Rijndael) block +ciphers implementations.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aes-gcm-0.6 + (package + (name "rust-aes-gcm") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-gcm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lga8my3zlc0b1nhcpc1hrbykfm014fqs6d64bwrjqii05w01xc6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aead" ,rust-aead-0.3) + ("rust-aes" ,rust-aes-0.4) + ("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-ghash" ,rust-ghash-0.3) + ("rust-subtle" ,rust-subtle-2) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-criterion-cycles-per-byte" + ,rust-criterion-cycles-per-byte-0.1) + ("rust-hex-literal" ,rust-hex-literal-0.2)))) + (home-page "https://github.com/RustCrypto/AEADs") + (synopsis "AES-GCM (Galois/Counter Mode) Authenticated Encryption") + (description "This package provides a pure Rust implementation of the +AES-GCM (Galois/Counter Mode) Authenticated Encryption with Associated +Data (AEAD) Cipher with optional architecture-specific hardware +acceleration.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-aes-soft-0.4 + (package + (name "rust-aes-soft") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aes-soft" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19szsg0qqxq42k7bj5p3svb147n8wxy9a20n4g7mcl2fwrz689a9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-opaque-debug" ,rust-opaque-debug-0.2)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Bit-sliced implementation of AES (Rijndael) block ciphers") + (description "This package provides a bit-sliced implementation of +AES (Rijndael) block ciphers.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-aesni-0.7 + (package + (name "rust-aesni") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "aesni" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r6j0mjkyqnwvgib01cvrwfw8rlx1biw75234niv723n1fdx6l6h")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-opaque-debug" ,rust-opaque-debug-0.2) + ("rust-stream-cipher" ,rust-stream-cipher-0.4)) + #:cargo-development-inputs + (("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-stream-cipher" ,rust-stream-cipher-0.4)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "AES (Rijndael) block ciphers implementation using AES-NI") + (description "This package provides an implementation of AES (Rijndael) +block ciphers using AES-NI.") + (license (list license:expat license:asl2.0)))) + (define-public rust-afl-0.8 (package (name "rust-afl") (version "0.8.0") (source - (origin - (method url-fetch) - (uri (crate-uri "afl" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rw11hycfjhqbc7z1smn75m0sczq519msjwimxh7b8s6n4pzk5r7")))) + (origin + (method url-fetch) + (uri (crate-uri "afl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rw11hycfjhqbc7z1smn75m0sczq519msjwimxh7b8s6n4pzk5r7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -254,6 +396,62 @@ the Rust programming language.") (base32 "0g2chc18ji7qxi0d03n2ai140qdcww958v5si6rcjnnhmri1vyfb")))))) +(define-public rust-ahash-0.4 + (package + (name "rust-ahash") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ahash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06bxygcis4pfx0axi1ld0lclg8mf4plywdy7fnkyw2hrhcb74rkd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-const-random" ,rust-const-random-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-fnv" ,rust-fnv-1) + ("rust-fxhash" ,rust-fxhash-0.2) + ("rust-hex" ,rust-hex-0.3) + ("rust-no-panic" ,rust-no-panic-0.1) + ("rust-rand" ,rust-rand-0.6) + ("rust-seahash" ,rust-seahash-3)))) + (home-page "https://github.com/tkaitchuck/ahash") + (synopsis "Non-cryptographic hash function using AES-NI") + (description "This package provides a non-cryptographic hash function +using AES-NI for high performance.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ahash-0.3 + (package + (inherit rust-ahash-0.4) + (name "rust-ahash") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "ahash" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05qjnr0wccch0gg2kghg0xyh8qd5gfqd15q9dd6r1lamcs375zg8")))) + (arguments + `(#:cargo-inputs + (("rust-const-random" ,rust-const-random-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-fnv" ,rust-fnv-1) + ("rust-fxhash" ,rust-fxhash-0.2) + ("rust-hex" ,rust-hex-0.3) + ("rust-no-panic" ,rust-no-panic-0.1) + ("rust-rand" ,rust-rand-0.6) + ("rust-seahash" ,rust-seahash-3)))))) + (define-public rust-aho-corasick-0.7 (package (name "rust-aho-corasick") @@ -390,38 +588,51 @@ code that is generic with regard to the algebraic entity types.") @code{alga} crate.") (license license:asl2.0))) -(define-public rust-andrew-0.2 +(define-public rust-alloc-no-stdlib-2 (package - (name "rust-andrew") + (name "rust-alloc-no-stdlib") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "alloc-no-stdlib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19lhmi73fii1b6vrzh23vvp5yjqm33cb94h9yz17pn25b51yr4ji")))) + (build-system cargo-build-system) + (home-page "https://github.com/dropbox/rust-alloc-no-stdlib") + (synopsis "Dynamic allocator that may be used with or without the stdlib") + (description "This package provides a dynamic allocator that may be used +with or without the stdlib. This allows a package with nostd to allocate +memory dynamically and be used either with a custom allocator, items on the +stack, or by a package that wishes to simply use Box<>. It also provides +options to use calloc or a mutable global variable for pre-zeroed memory.") + (license license:bsd-3))) + +(define-public rust-alloc-no-stdlib-2.0 rust-alloc-no-stdlib-2) + +(define-public rust-alloc-stdlib-0.2 + (package + (name "rust-alloc-stdlib") (version "0.2.1") (source (origin (method url-fetch) - (uri (crate-uri "andrew" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (uri (crate-uri "alloc-stdlib" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0pmklwcwy8g1jras46fz8xcny779zfqpg4riksrbdhkjk3w0jzwv")))) + "1hj3r1x88aajnvigdck0diygj2isc90wa271kkj1swgiq3nxfzk9")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-line-drawing" ,rust-line-drawing-0.7) - ("rust-rusttype" ,rust-rusttype-0.7) - ("rust-walkdir" ,rust-walkdir-2) - ("rust-xdg" ,rust-xdg-2.2) - ("rust-xml-rs" ,rust-xml-rs-0.8)) - #:cargo-development-inputs - (("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4)))) - (inputs - `(("wayland" ,wayland))) - (home-page "https://github.com/trimental/andrew") - (synopsis "Provides convenient drawing of objects to buffers") - (description - "The @code{andrew} crate provides convenient drawing of objects such as -shapes, lines and text to buffers.") - (license license:expat))) + (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2.0)))) + (home-page "https://github.com/dropbox/rust-alloc-no-stdlib") + (synopsis "A dynamic allocator example that may be used with the stdlib") + (description "This package provides a dynamic allocator example that may +be used with the stdlib.") + (license license:bsd-3))) (define-public rust-android-glue-0.2 (package @@ -442,52 +653,6 @@ shapes, lines and text to buffers.") (description "This package provides the glue for the Android JNI.") (license license:expat))) -(define-public rust-ansi-term-0.12 - (package - (name "rust-ansi-term") - (version "0.12.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "ansi_term" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "1ljmkbilxgmhavxvxqa7qvm6f3fjggi7q2l3a72q9x0cxjvrnanm")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-serde" ,rust-serde-1) - ("rust-winapi" ,rust-winapi-0.3)) - #:cargo-development-inputs - (("rust-doc-comment" ,rust-doc-comment-0.3) - ("rust-regex" ,rust-regex-1) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/ogham/rust-ansi-term") - (synopsis "Library for ANSI terminal colours and styles") - (description - "This is a library for controlling colours and formatting, such as red bold -text or blue underlined text, on ANSI terminals.") - (license license:expat))) - -(define-public rust-ansi-term-0.11 - (package - (inherit rust-ansi-term-0.12) - (name "rust-ansi-term") - (version "0.11.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "ansi_term" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "16wpvrghvd0353584i1idnsgm0r3vchg8fyrm0x8ayv1rgvbljgf")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-winapi" ,rust-winapi-0.3)))))) - (define-public rust-antidote-1.0 (package (name "rust-antidote") @@ -527,52 +692,15 @@ text or blue underlined text, on ANSI terminals.") `(#:skip-build? #t #:cargo-development-inputs (("rust-futures" ,rust-futures-0.3) - ("rust-rustversion" ,rust-rustversion-1.0) - ("rust-thiserror" ,rust-thiserror-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/anyhow") (synopsis "Flexible concrete Error type") (description "This package provides a flexible concrete Error type built on @code{std::error::Error}.") (license (list license:expat license:asl2.0)))) -(define-public rust-aom-sys-0.1 - (package - (name "rust-aom-sys") - (version "0.1.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "aom-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1bqcpkycv1d67r6jcl9npfbw6rkl829rdq9w6vlpb0rjqxp0xzsn")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bindgen" ,rust-bindgen-0.53) - ("rust-metadeps" ,rust-metadeps-1.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("libaom" ,libaom) - ("libclang" ,clang) - ("llvm" ,llvm))) - (home-page "https://github.com/rust-av/aom-rs") - (synopsis "FFI bindings to aom") - (description "This package provides FFI bindings to aom.") - (license license:expat))) - (define-public rust-approx-0.3 (package (name "rust-approx") @@ -655,7 +783,7 @@ text or blue underlined text, on ANSI terminals.") ("rust-itertools" ,rust-itertools-0.8) ("rust-model" ,rust-model-0.1) ("rust-num-cpus" ,rust-num-cpus-1) - ("rust-once-cell" ,rust-once-cell-1.2) + ("rust-once-cell" ,rust-once-cell-1) ("rust-proptest" ,rust-proptest-0.8) ("rust-version-sync" ,rust-version-sync-0.8)))) (home-page "https://github.com/vorner/arc-swap") @@ -725,7 +853,7 @@ that runs on Argon2.") (define-public rust-arrayref-0.3 (package (name "rust-arrayref") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) @@ -734,11 +862,10 @@ that runs on Argon2.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vphy316jbgmgckk4z7m8csvlyc8hih9w95iyq48h8077xc2wf0d")))) + "0i6m1l3f73i0lf0cjdf5rh3xpvxydyhfbakq7xx7bkrp5qajgid4")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-development-inputs + `(#:cargo-development-inputs (("rust-quickcheck" ,rust-quickcheck-0.6)))) (home-page "https://github.com/droundy/arrayref") (synopsis "Macros to take array references of slices") @@ -800,6 +927,31 @@ ArrayVec and ArrayString.") ("rust-matches" ,rust-matches-0.1) ("rust-serde-test" ,rust-serde-test-1)))))) +(define-public rust-as-slice-0.1 + (package + (name "rust-as-slice") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "as-slice" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rmhdfj11va424163d6r79wbgf2043i2p37s59ky6x2v8wiiqkdv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array-0.14" ,rust-generic-array-0.14) + ("rust-generic-array-0.13" ,rust-generic-array-0.13) + ("rust-generic-array-0.12" ,rust-generic-array-0.12) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) + (home-page "https://github.com/japaric/as-slice") + (synopsis "AsSlice and AsMutSlice traits") + (description "This package provides @code{AsSlice} and @code{AsMutSlice} +traits.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ascii-1.0 (package (name "rust-ascii") @@ -847,31 +999,6 @@ standard library.") ("rust-serde" ,rust-serde-1) ("rust-serde-test" ,rust-serde-test-1)))))) -(define-public rust-ascii-canvas-2 - (package - (name "rust-ascii-canvas") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "ascii-canvas" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "0a9s8vrbc5jr6ry5ygjyfqmbs9gyya1v6dsxzsczpai8z4nvg3pz")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t ;; TODO: failes due to an unresolved import - #:cargo-inputs - (("rust-term" ,rust-term-0.5)))) - (home-page "https://github.com/nikomatsakis/ascii-canvas") - (synopsis "Simple canvas for drawing lines and styled text and emitting to -the terminal") - (description "@code{ASCII} canvas is a simple Rust library that allows you -to draw lines and colored text and then write them to the terminal. It uses -the term library to handle the ANSI nonsense and hence it works on Windows, -Mac, and Unix.") - (license (list license:asl2.0 license:expat)))) - (define-public rust-assert-cli-0.6 (package (name "rust-assert-cli") @@ -887,8 +1014,8 @@ Mac, and Unix.") (arguments `(#:tests? #f ;; requires `printenv`, but installing coreutils doesn't help #:cargo-inputs - (("rust-colored" ,rust-colored-1.9) - ("rust-difference" ,rust-difference-2.0) + (("rust-colored" ,rust-colored-1) + ("rust-difference" ,rust-difference-2) ("rust-environment" ,rust-environment-0.1) ("rust-failure" ,rust-failure-0.1) ("rust-failure-derive" ,rust-failure-derive-0.1) @@ -952,9 +1079,9 @@ Mac, and Unix.") #:cargo-development-inputs (("rust-docmatic" ,rust-docmatic-0.1)))) (home-page "https://github.com/assert-rs/assert_fs") - (synopsis "Filesystem fixtures and assertions for testing") + (synopsis "File system fixtures and assertions for testing") (description - "Filesystem fixtures and assertions for testing.") + "File system fixtures and assertions for testing.") (license (list license:expat license:asl2.0)))) (define-public rust-assert-matches-1.3 @@ -1002,18 +1129,109 @@ Mac, and Unix.") (description "This package provides a libsyntax ast builder.") (license (list license:expat license:asl2.0)))) +(define-public rust-async-compression-0.3 + (package + (name "rust-async-compression") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "async-compression" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "164dfy1wrl9qbj95rvcpkfbrkpz3c1s7mk288sv9cwp7rj5pc8ch")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-brotli" ,rust-brotli-3) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-bzip2" ,rust-bzip2-0.3) + ("rust-flate2" ,rust-flate2-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-memchr" ,rust-memchr-2) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-xz2" ,rust-xz2-0.1) + ("rust-zstd" ,rust-zstd-0.5) + ("rust-zstd-safe" ,rust-zstd-safe-2)) + #:cargo-development-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures" ,rust-futures-0.3) + ("rust-futures-test" ,rust-futures-test-0.3) + ("rust-ntest" ,rust-ntest-0.3) + ("rust-proptest" ,rust-proptest-0.9) + ("rust-proptest-derive" ,rust-proptest-derive-0.1) + ("rust-rand" ,rust-rand-0.7) + ("rust-timebomb" ,rust-timebomb-0.1) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/Nemo157/async-compression") + (synopsis "Adaptors between compression crates and Rust's modern asynchronous IO types") + (description "This package provides adaptors between compression crates +and Rust's modern asynchronous IO types.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-async-trait-0.1 + (package + (name "rust-async-trait") + (version "0.1.40") + (source + (origin + (method url-fetch) + (uri (crate-uri "async-trait" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10x7jcg8xqvkmqyz11117aw959p4af5gq1cpf022b9f0hl6j6z38")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-attributes" ,rust-tracing-attributes-0.1) + ("rust-tracing-futures" ,rust-tracing-futures-0.2) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/dtolnay/async-trait") + (synopsis "Type erasure for async trait methods") + (description "This package provides type erasure for async trait +methods.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-atom-0.3 + (package + (name "rust-atom") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "atom" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qig9fcdqf07mzzpkicm5wgxv0zpr28njdsqf708wxq27yf6k1iw")))) + (build-system cargo-build-system) + (home-page "https://github.com/slide-rs/atom") + (synopsis "A safe abstraction around AtomicPtr") + (description "This package provides a safe abstraction around AtomicPtr.") + (license license:asl2.0))) + (define-public rust-atty-0.2 (package (name "rust-atty") (version "0.2.14") (source - (origin - (method url-fetch) - (uri (crate-uri "atty" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr")))) + (origin + (method url-fetch) + (uri (crate-uri "atty" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1129,6 +1347,25 @@ in Rust.") ("rust-serde-json" ,rust-serde-json-1) ("rust-streaming-stats" ,rust-streaming-stats-0.2)))))) +(define-public rust-az-1 + (package + (name "rust-az") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "az" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sb51w9pjcqb315dg6zv9wwqj1q2fldcc3xmfv0bhkmajiyx9g79")))) + (build-system cargo-build-system) + (home-page "https://gitlab.com/tspiteri/az") + (synopsis "Casts and checked casts") + (description "This crate provides casts and checked casts.") + (license (list license:expat license:asl2.0)))) + (define-public rust-backtrace-0.3 (package (name "rust-backtrace") @@ -1157,7 +1394,7 @@ in Rust.") ("rust-memmap" ,rust-memmap-0.7) ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-serde" ,rust-serde-1) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/rust-lang/backtrace-rs") @@ -1168,6 +1405,21 @@ in Rust.") trace (backtrace) at runtime in a Rust program.") (license (list license:asl2.0 license:expat)))) +(define-public rust-backtrace-0.3.35 + (package + (inherit rust-backtrace-0.3) + (name "rust-backtrace") + (version "0.3.35") + (source + (origin + (method url-fetch) + (uri (crate-uri "backtrace" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mfwbb6832rh1za304w8x37bvs9fjbybpmmz0iksqfzsaf108w8k")))))) + (define-public rust-backtrace-sys-0.1 (package (name "rust-backtrace-sys") @@ -1185,7 +1437,7 @@ trace (backtrace) at runtime in a Rust program.") `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-cc" ,rust-cc-1)))) (home-page "https://github.com/rust-lang/backtrace-rs") (synopsis "Bindings to the libbacktrace gcc library") @@ -1197,7 +1449,7 @@ trace (backtrace) at runtime in a Rust program.") (define-public rust-base64-0.12 (package (name "rust-base64") - (version "0.12.2") + (version "0.12.3") (source (origin (method url-fetch) @@ -1206,7 +1458,7 @@ trace (backtrace) at runtime in a Rust program.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ryc48pp8dpx3rl1dcwn723dyfgifi4imh1f6kwd95lcqh6sy8z2")) + "1zq33had71xh48n17g4kqs96szhx3yh7qibzwi4fk217n3vz0h9l")) (modules '((guix build utils))) (snippet '(begin @@ -1257,7 +1509,7 @@ trace (backtrace) at runtime in a Rust program.") "13k6bvd3n6dm7jqn9x918w65dd9xhx454bqphbnv0bkd6n9dj98b")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)) + (("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2) ("rust-rand" ,rust-rand-0.4)))))) @@ -1276,7 +1528,7 @@ trace (backtrace) at runtime in a Rust program.") (base32 "0hs62r35bgxslawyrn1vp9rmvrkkm76fqv0vqcwd048vs876r7a8")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-safemem" ,rust-safemem-0.3)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.4)))))) @@ -1353,6 +1605,32 @@ and no more (caveat: black_box is still missing!).") tracebacks.") (license (list license:expat license:asl2.0)))) +(define-public rust-bigdecimal-0.2 + (package + (name "rust-bigdecimal") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bigdecimal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fd5chyy76y4qb043w1bbgz1v22f9hw5703f5r90ac5hwqk3qh6c")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.3) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/akubera/bigdecimal-rs") + (synopsis "Arbitrary precision decimal numbers") + (description "This package provides arbitrary precision decimal numbers.") + (license (list license:expat license:asl2.0)))) + (define-public rust-bincode-1 (package (name "rust-bincode") @@ -1370,7 +1648,7 @@ tracebacks.") (arguments `(#:cargo-inputs (("rust-serde" ,rust-serde-1) - ("rust-byteorder" ,rust-byteorder-1.3)) + ("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs (("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1)))) @@ -1382,8 +1660,63 @@ tracebacks.") that uses Serde for transforming structs into bytes and vice versa!") (license license:expat))) +(define-public rust-bindgen-0.55 + (package + (name "rust-bindgen") + (version "0.55.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hxlvy9q9984rr3rqaxwmgxjrd9wh11mcc161hv3shz6b7jkrcbm")))) + (build-system cargo-build-system) + (inputs + `(("clang" ,clang))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cexpr" ,rust-cexpr-0.4) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-clang-sys" ,rust-clang-sys-1) + ("rust-clap" ,rust-clap-2) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lazycell" ,rust-lazycell-1) + ("rust-log" ,rust-log-0.4) + ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-regex" ,rust-regex-1) + ("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-shlex" ,rust-shlex-0.1) + ("rust-which" ,rust-which-3)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-diff" ,rust-diff-0.1) + ("rust-shlex" ,rust-shlex-0.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + #t)) + (add-before 'configure 'configure-clang + (lambda* (#:key inputs #:allow-other-keys) + (setenv "LIBCLANG_PATH" (string-append (assoc-ref inputs "clang") + "/lib")) + #t))))) + (home-page "https://rust-lang.github.io/rust-bindgen/") + (synopsis "Generate Rust FFI bindings to C and C++ libraries.") + (description "This package can be used to automatically generate Rust FFI +bindings to C and C++ libraries.") + (license license:bsd-3))) + (define-public rust-bindgen-0.54 (package + (inherit rust-bindgen-0.55) (name "rust-bindgen") (version "0.54.1") (source @@ -1406,15 +1739,15 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-clap" ,rust-clap-2) ("rust-env-logger" ,rust-env-logger-0.7) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-log" ,rust-log-0.4) ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-regex" ,rust-regex-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1428,13 +1761,7 @@ that uses Serde for transforming structs into bytes and vice versa!") (string-append clang "/lib"))) #t))))) (inputs - `(("libclang" ,clang))) - (home-page "https://rust-lang.github.io/rust-bindgen/") - (synopsis - "Automatically generates Rust FFI bindings to C and C++ libraries") - (description - "Automatically generates Rust FFI bindings to C and C++ libraries.") - (license license:bsd-3))) + `(("libclang" ,clang))))) (define-public rust-bindgen-0.53 (package @@ -1459,15 +1786,15 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-clap" ,rust-clap-2) ("rust-env-logger" ,rust-env-logger-0.7) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-log" ,rust-log-0.4) ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-regex" ,rust-regex-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-shlex" ,rust-shlex-0.1) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1507,13 +1834,13 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-env-logger" ,rust-env-logger-0.7) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-bitflags" ,rust-bitflags-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-regex" ,rust-regex-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-clap" ,rust-clap-2) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1553,12 +1880,12 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-env-logger" ,rust-env-logger-0.6) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-bitflags" ,rust-bitflags-1) ("rust-regex" ,rust-regex-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-clap" ,rust-clap-2) - ("rust-which" ,rust-which-3.1)) + ("rust-which" ,rust-which-3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) @@ -1729,6 +2056,27 @@ that uses Serde for transforming structs into bytes and vice versa!") "This package provides a set of bits.") (license (list license:asl2.0 license:expat)))) +(define-public rust-bit-set-0.4 + (package + (inherit rust-bit-set-0.5) + (name "rust-bit-set") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bit-set" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0320hhcbr73yzjpj2237vw2zq728yg7vmzb8dardg04ff4263gyr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bit-vec" ,rust-bit-vec-0.4)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3)))))) + (define-public rust-bit-vec-0.5 (package (name "rust-bit-vec") @@ -1755,6 +2103,24 @@ that uses Serde for transforming structs into bytes and vice versa!") "This package provides a vector of bits.") (license (list license:expat license:asl2.0)))) +(define-public rust-bit-vec-0.4 + (package + (inherit rust-bit-vec-0.5) + (name "rust-bit-vec") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "bit-vec" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0pw902a8ail0k64a7092a8vngfzsq7xkj2r22hz6q1z62s5zzd02")))) + (arguments + `(#:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3)))))) + (define-public rust-bitflags-1 (package (name "rust-bitflags") @@ -1775,6 +2141,21 @@ behave like a set of bitflags.") (license (list license:asl2.0 license:expat)))) +(define-public rust-bitflags-0.9 + (package + (inherit rust-bitflags-1) + (name "rust-bitflags") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "bitflags" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19dk39gfwmhi3iy1x0wgml1fv1bkb525ywy25zwihbm063i05zaf")))))) + (define-public rust-bitflags-0.8 (package (inherit rust-bitflags-1) @@ -1891,7 +2272,7 @@ behave like a set of bitflags.") ("rust-clippy" ,rust-clippy-0.0) ("rust-constant-time-eq" ,rust-constant-time-eq-0.1)) #:cargo-development-inputs - (("rust-data-encoding" ,rust-data-encoding-2.1)))) + (("rust-data-encoding" ,rust-data-encoding-2)))) (home-page "https://github.com/cesarb/blake2-rfc") (synopsis "Rust implementation of BLAKE2 based on RFC 7693") (description @@ -1945,12 +2326,36 @@ BLAKE2bp hash functions.") (home-page "https://github.com/blas-lapack-rs/blas-sys") (synopsis "Bindings to BLAS (Fortran)") (description - "Ths package provides bindings to BLAS (Fortran).") + "This package provides bindings to BLAS (Fortran).") (license (list license:asl2.0 license:expat)))) +(define-public rust-blobby-0.3 + (package + (name "rust-blobby") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "blobby" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1s2f3a7lx5rd26554d9940basff7qpyf1y8gkc309cgc8csmalpw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-hex" ,rust-hex-0.3)))) + (home-page "https://github.com/RustCrypto/utils") + (synopsis "Iterator over simple binary blob storage") + (description "This package provides an iterator over simple binary blob +storage.") + (license (list license:expat license:asl2.0)))) + (define-public rust-blobby-0.1 (package + (inherit rust-blobby-0.3) (name "rust-blobby") (version "0.1.2") (source @@ -1966,15 +2371,10 @@ BLAKE2bp hash functions.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)) + (("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-hex" ,rust-hex-0.3)))) - (home-page "https://github.com/RustCrypto/utils") - (synopsis "Iterator over simple binary blob storage") - (description - "Iterator over simple binary blob storage.") - (license (list license:asl2.0 license:expat)))) + (("rust-byteorder" ,rust-byteorder-1) + ("rust-hex" ,rust-hex-0.3)))))) (define-public rust-block-0.1 (package @@ -2042,7 +2442,7 @@ extension of blocks.") `(#:cargo-inputs (("rust-block-padding" ,rust-block-padding-0.1) ("rust-byte-tools" ,rust-byte-tools-0.3) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-generic-array" ,rust-generic-array-0.14)))))) (define-public rust-block-buffer-0.7 @@ -2063,9 +2463,54 @@ extension of blocks.") `(#:cargo-inputs (("rust-block-padding" ,rust-block-padding-0.1) ("rust-byte-tools" ,rust-byte-tools-0.3) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-generic-array" ,rust-generic-array-0.12)))))) +(define-public rust-block-cipher-0.7 + (package + (name "rust-block-cipher") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "block-cipher" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "043zgfz1x4sxkdcsyabrcr440fcwhfpcqqa54jm7zp35wx4n84zs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby-0.1) + ("rust-generic-array" ,rust-generic-array-0.14)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Traits for description of block ciphers") + (description "This package provides traits for description of block +ciphers.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-block-cipher-trait-0.4 + (package + (name "rust-block-cipher-trait") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "block-cipher-trait" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10qmg8vphqmfllb9a2yx6s7r66jh1wh33clhsawq7ikg2wgz2p6q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/block-ciphers") + (synopsis "Block cipher algorithms") + (description "This package provides a collection of block cipher +algorithms. This package is deprecated. Please use block-cipher instead") + (license (list license:expat license:asl2.0)))) + (define-public rust-block-padding-0.2 (package (name "rust-block-padding") @@ -2126,6 +2571,58 @@ extension of blocks.") Bresenham's line algorithm.") (license license:expat))) +(define-public rust-brotli-3 + (package + (name "rust-brotli") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "brotli" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gk1g3fx1vps2ic8kh5n32gzq9h5w1j3ff6lvjm171ph428r2abz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2) + ("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2) + ("rust-brotli-decompressor" ,rust-brotli-decompressor-2) + ("rust-packed-simd" ,rust-packed-simd-0.3) + ("rust-sha2" ,rust-sha2-0.8)))) + (home-page "https://github.com/dropbox/rust-brotli") + (synopsis "Brotli compressor and decompressor") + (description "This package provides a brotli compressor and decompressor +with no dependency on the rust stdlib. This makes it suitable for embedded +devices and kernels.") + (license (list license:bsd-3 license:expat)))) + +(define-public rust-brotli-decompressor-2 + (package + (name "rust-brotli-decompressor") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "brotli-decompressor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1v7l1sa63ix1aq8h0k1ijvxvb5w796hz154b9aw0xn6lp31y2lhh")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; not all test files included + #:cargo-inputs + (("rust-alloc-no-stdlib" ,rust-alloc-no-stdlib-2.0) + ("rust-alloc-stdlib" ,rust-alloc-stdlib-0.2)))) + (home-page "https://github.com/dropbox/rust-brotli-decompressor") + (synopsis "Brotli decompressor") + (description "This package provides a brotli decompressor with no +dependency on the rust stdlib. This makes it suitable for embedded devices +and kernels.") + (license (list license:bsd-3 license:expat)))) + (define-public rust-bstr-0.2 (package (name "rust-bstr") @@ -2174,6 +2671,25 @@ UTF-8.") (base32 "0nzi9vqhl56ws8gq39f3aj4qjrr4l3g5lbkkcj8xq1x4cb74wq2r")))))) +(define-public rust-build-const-0.2 + (package + (name "rust-build-const") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "build_const" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0faz882spx9474cszay2djmb0lghbwq51qayabcar1s7g4r2l29r")))) + (build-system cargo-build-system) + (home-page "https://crates.io/crates/build_const") + (synopsis "Create importable constants from build.rs or a script") + (description "This package provides a library for creating importable +constants from build.rs or a script.") + (license license:expat))) + (define-public rust-bumpalo-3 (package (name "rust-bumpalo") @@ -2362,7 +2878,7 @@ in a byte slice, fast.") (license (list license:zlib license:asl2.0 license:expat)))) -(define-public rust-byteorder-1.3 +(define-public rust-byteorder-1 (package (name "rust-byteorder") (version "1.3.4") @@ -2392,7 +2908,7 @@ little-endian.") (define-public rust-byteorder-0.5 (package - (inherit rust-byteorder-1.3) + (inherit rust-byteorder-1) (name "rust-byteorder") (version "0.5.3") (source @@ -2449,8 +2965,8 @@ little-endian.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-either" ,rust-either-1.5) + (("rust-byteorder" ,rust-byteorder-1) + ("rust-either" ,rust-either-1) ("rust-iovec" ,rust-iovec-0.1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -2563,7 +3079,7 @@ exposed as Reader/Writer streams.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-ppv-lite86" ,rust-ppv-lite86-0.2) ("rust-stream-cipher" ,rust-stream-cipher-0.3)) @@ -2575,93 +3091,6 @@ exposed as Reader/Writer streams.") "The ChaCha family of stream ciphers.") (license (list license:asl2.0 license:expat)))) -(define-public rust-cairo-rs-0.8 - (package - (name "rust-cairo-rs") - (version "0.8.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "cairo-rs" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "11303v1fv6hsc9n70ak380gknkf0098phpcxqdhkmahqjsx4jw0m")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-glib" ,rust-glib-0.9) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2)) - #:cargo-development-inputs - (("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (inputs - `(("cairo" ,cairo))) - (home-page "https://gtk-rs.org/") - (synopsis "Rust bindings for the Cairo library") - (description - "Rust bindings for the Cairo library.") - (license license:expat))) - -(define-public rust-cairo-rs-0.7 - (package - (inherit rust-cairo-rs-0.8) - (name "rust-cairo-rs") - (version "0.7.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "cairo-rs" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "171m98g41avp5mmshqir4ka21napp7ma5fx45wi9mw5hwdyv8pg0")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-glib" ,rust-glib-0.8) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-tempfile" ,rust-tempfile-3)))))) - -(define-public rust-cairo-sys-rs-0.9 - (package - (name "rust-cairo-sys-rs") - (version "0.9.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "cairo-sys-rs" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0qsdy6s57yvscg2rfm7wdqrlhzbn1aq9lhk3dy1vw5f7r81blrgz")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-winapi" ,rust-winapi-0.3) - ("rust-x11" ,rust-x11-2) - ("rust-pkg-config" ,rust-pkg-config-0.3)))) - (inputs - `(("cairo" ,cairo))) - (home-page "https://gtk-rs.org/") - (synopsis "FFI bindings to libcairo") - (description "This package provides FFI bindings to libcairo.") - (license license:expat))) - (define-public rust-calloop-0.4 (package (name "rust-calloop") @@ -2688,7 +3117,7 @@ exposed as Reader/Writer streams.") ("rust-mio-extras" ,rust-mio-extras-2) ("rust-nix" ,rust-nix-0.14)) #:cargo-development-inputs - (("rust-lazycell" ,rust-lazycell-1.2)))) + (("rust-lazycell" ,rust-lazycell-1)))) (home-page "https://github.com/Smithay/calloop") (synopsis "Callback-based event loop") (description @@ -3084,7 +3513,7 @@ archive to be linked into Rustcode.") (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/alexcrichton/cfg-if") (synopsis "Define an item depending on parameters") (description "This package provides a macro to ergonomically define an item @@ -3093,112 +3522,10 @@ depending on a large number of #[cfg] parameters. Structured like an (license (list license:asl2.0 license:expat)))) -(define-public rust-cgl-0.3 - (package - (name "rust-cgl") - (version "0.3.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "cgl" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1zs7skrsyrsm759vfy2cygkx52fx91b567a12bpaz1sf4d8hbv8c")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t ; only available on macOS - #:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/servo/cgl-rs") - (synopsis "Rust bindings for CGL on Mac") - (description "Rust bindings for CGL on Mac.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-cgl-0.2 - (package - (inherit rust-cgl-0.3) - (name "rust-cgl") - (version "0.2.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "cgl" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0j8ayr8pbwvyv6l8r7m5z197rs3pqn97085w9j4rfn7yfh5yrrsm")))) - (arguments - `(#:skip-build? #t ; only available on macOS - #:cargo-inputs - (("rust-gleam" ,rust-gleam-0.6) - ("rust-libc" ,rust-libc-0.2)))))) - -(define-public rust-cgmath-0.17 - (package - (name "rust-cgmath") - (version "0.17.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "cgmath" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rvgila6ivr0dh1bxza450a4yfwdi2pwj3h1vnwg0jy4xk6l8f98")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t ; Crate won't build without glium. - #:cargo-inputs - (("rust-approx" ,rust-approx-0.3) - ("rust-mint" ,rust-mint-0.5) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-rand" ,rust-rand-0.6) - ("rust-serde" ,rust-serde-1) - ("rust-simd" ,rust-simd-0.2)) - #:cargo-development-inputs - (;("rust-glium" ,rust-glium-0.23) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/brendanzab/cgmath") - (synopsis "Linear algebra and mathematics library") - (description - "This package provides a linear algebra and mathematics library -for computer graphics.") - (license license:asl2.0))) - -(define-public rust-cgmath-0.16 - (package - (inherit rust-cgmath-0.17) - (name "rust-cgmath") - (version "0.16.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "cgmath" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "07754c03v3srzf64ghsl3fggrdi4kjy6l3vyq2d2wfjfixybb934")))) - (arguments - `(#:skip-build? #t ; Crate won't build without glium. - #:cargo-inputs - (("rust-approx" ,rust-approx-0.1) - ("rust-mint" ,rust-mint-0.5) - ("rust-num-traits" ,rust-num-traits-0.1) - ("rust-rand" ,rust-rand-0.4) - ("rust-serde" ,rust-serde-1) - ("rust-simd" ,rust-simd-0.2)) - #:cargo-development-inputs - (;("rust-glium" ,rust-glium-0.19) - ("rust-serde-json" ,rust-serde-json-1)))))) - (define-public rust-chrono-0.4 (package (name "rust-chrono") - (version "0.4.11") + (version "0.4.13") (source (origin (method url-fetch) @@ -3207,7 +3534,7 @@ for computer graphics.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1cmmxamkzzs36zncqjjr7qm7xkb6zyrkjslnlj3axdgqki84y2c0")))) + "1dm0q1kmk2vq5djwhp1j9cm4aa38wr9vy1i1w19p2y0nj4188kf7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -3257,8 +3584,42 @@ for computer graphics.") "This package provides current CI environment information.") (license license:asl2.0))) +(define-public rust-clang-sys-1 + (package + (name "rust-clang-sys") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0695kfrqx7n091fzm6msbqg2q2kyhka64q08lm63f3l9d964i8cx")))) + (build-system cargo-build-system) + (inputs + `(("libclang" ,clang))) + (arguments + `(#:cargo-inputs + (("rust-glob" ,rust-glob-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-libloading" ,rust-libloading-0.6)) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'configure-clang + (lambda* (#:key inputs #:allow-other-keys) + (setenv "LIBCLANG_PATH" + (string-append (assoc-ref inputs "libclang") + "/lib")) + #t))))) + (home-page "https://github.com/KyleMayes/clang-sys") + (synopsis "Rust bindings for libclang") + (description "This package provides Rust bindings for libclang.") + (license license:asl2.0))) + (define-public rust-clang-sys-0.29 (package + (inherit rust-clang-sys-1) (name "rust-clang-sys") (version "0.29.3") (source @@ -3282,14 +3643,7 @@ for computer graphics.") (let ((clang (assoc-ref inputs "libclang"))) (setenv "LIBCLANG_PATH" (string-append clang "/lib"))) - #t))))) - (inputs - `(("libclang" ,clang))) - (home-page "https://github.com/KyleMayes/clang-sys") - (synopsis "Rust bindings for libclang") - (description - "This package provides Rust bindings for @code{libclang}.") - (license license:asl2.0))) + #t))))))) (define-public rust-clang-sys-0.28 (package @@ -3520,10 +3874,10 @@ colorization.") pitfalls in Rust.") (license (list license:expat license:asl2.0)))) -(define-public rust-cloudabi-0.0 +(define-public rust-cloudabi-0.1 (package (name "rust-cloudabi") - (version "0.0.3") + (version "0.1.0") (source (origin (method url-fetch) @@ -3531,18 +3885,35 @@ pitfalls in Rust.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) + "0rv4yf5jlldfkynzrw687s00f4x12ypw7axv71vawhy6h4i52i23")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)))) - (home-page "https://nuxi.nl/cloudabi/") + (home-page "https://cloudabi.org/") (synopsis "Low level interface to CloudABI") - (description - "Low level interface to CloudABI. Contains all syscalls and related types.") + (description "This package provides a low level interface to CloudABI. It +contains all syscalls and related types.") (license license:bsd-2))) +(define-public rust-cloudabi-0.0 + (package + (inherit rust-cloudabi-0.1) + (name "rust-cloudabi") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "cloudabi" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1)))))) + (define-public rust-cloudflare-zlib-sys-0.2 (package (name "rust-cloudflare-zlib-sys") @@ -3661,7 +4032,7 @@ CMAKE environmental variable is set.") "Color quantization library to reduce n colors to 256 colors.") (license license:expat))) -(define-public rust-colored-1.9 +(define-public rust-colored-1 (package (name "rust-colored") (version "1.9.3") @@ -3698,7 +4069,7 @@ CMAKE environmental variable is set.") (license license:mpl2.0))) (define-public rust-colored-1.9.1 - (package/inherit rust-colored-1.9 + (package/inherit rust-colored-1 (name "rust-colored") (version "1.9.1") (source @@ -3727,7 +4098,7 @@ CMAKE environmental variable is set.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + (("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") @@ -3957,6 +4328,71 @@ that logs panics to @code{console.error}.") the browser's console.") (license (list license:expat license:asl2.0)))) +(define-public rust-const-fn-0.4 + (package + (name "rust-const-fn") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "const-fn" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wnhzyrhfcaawnzi172k98cfawwi5zwqql7pg0nz2qlccm6dz46f")))) + (build-system cargo-build-system) + (home-page "https://github.com/taiki-e/const_fn") + (synopsis "Generate const functions with conditional compilations") + (description "This package provides an attribute for easy generation of +const functions with conditional compilations.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-const-random-0.1 + (package + (name "rust-const-random") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "const-random" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sp1ang5sh27fq5b7g9fdwpq4d5s17ymj7khfzax4bbvffngj6ig")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-const-random-macro" ,rust-const-random-macro-0.1) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) + (home-page "https://github.com/tkaitchuck/constrandom") + (synopsis "Compile time random number generation") + (description "This package provides compile time random number +generation.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-const-random-macro-0.1 + (package + (name "rust-const-random-macro") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "const-random-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ykc9riajn6bijvw46092gp18vrbky3y1cjpgjgx57a5xc3cdr15")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-getrandom" ,rust-getrandom-0.1) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) + (home-page "https://github.com/tkaitchuck/constrandom") + (synopsis "Procedural macro used by const-random") + (description "This package provides the procedural macro used by +@code{rust-const-random}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-constant-time-eq-0.1 (package (name "rust-constant-time-eq") @@ -4010,6 +4446,92 @@ It is inspired by the Linux kernel's @code{crypto_memneq}.") semantics than those provided by @code{as} or @code{From}/@code{Into}.") (license license:expat))) +(define-public rust-cordic-0.1 + (package + (name "rust-cordic") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "cordic" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13zvqn6c8d8lp18p9ik10q100wfsyv2m2n4fca16laq3yw7r231m")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t ; rust-fixed fails to build + #:cargo-inputs (("rust-fixed" ,rust-fixed-1)))) + (home-page "https://github.com/sebcrozet/cordic") + (synopsis "Special functions for fixed-point numbers using the CORDIC method") + (description "This package provides special functions for fixed-point +numbers using the CORDIC method.") + (license license:bsd-3))) + +(define-public rust-cookie-0.14 + (package + (name "rust-cookie") + (version "0.14.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cookie" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q56fl2cqrci9ksa80d7g220phq02nf1yfbvxkpk9g1p95ma2wqk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-aes-gcm" ,rust-aes-gcm-0.6) + ("rust-base64" ,rust-base64-0.12) + ("rust-hkdf" ,rust-hkdf-0.9) + ("rust-hmac" ,rust-hmac-0.8) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-rand" ,rust-rand-0.7) + ("rust-sha2" ,rust-sha2-0.9) + ("rust-time" ,rust-time-0.2)) + #:cargo-development-inputs + (("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/SergioBenitez/cookie-rs") + (synopsis "HTTP cookie parsing and cookie jar management") + (description "This package provides HTTP cookie parsing and cookie jar +management. It supports signed and private (encrypted, authenticated) jars.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-cookie-store-0.12 + (package + (name "rust-cookie-store") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cookie_store" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lqhmdwgnyvi1mjmw4rbgd02fwav4aabpg4vcld23d8c9g5dy61q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cookie" ,rust-cookie-0.14) + ("rust-idna" ,rust-idna-0.2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-log" ,rust-log-0.4) + ("rust-publicsuffix" ,rust-publicsuffix-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-time" ,rust-time-0.2) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)))) + (home-page "https://github.com/pfernie/cookie_store") + (synopsis "Cookie storage and retrieval") + (description "This package implements cookie storage and retrieval.") + (license (list license:expat license:asl2.0)))) + (define-public rust-core-arch-0.1 (package (name "rust-core-arch") @@ -4036,10 +4558,10 @@ semantics than those provided by @code{as} or @code{From}/@code{Into}.") intrinsics.") (license (list license:expat license:asl2.0)))) -(define-public rust-core-foundation-0.6 +(define-public rust-core-foundation-0.7 (package (name "rust-core-foundation") - (version "0.6.4") + (version "0.7.0") (source (origin (method url-fetch) @@ -4048,70 +4570,77 @@ intrinsics.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0va97wf49c8dzm9c8pgyk1jn7z21rl0bj1syf2zz5m2z2hzy1f95")))) + "0wbias8f0m5kyn2pcksi0h58fdslams6nmf16w78fgn42dx4rljp")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t ; only for macOS + `(#:skip-build? #t #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) - ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) ("rust-libc" ,rust-libc-0.2) ("rust-uuid" ,rust-uuid-0.5)))) (home-page "https://github.com/servo/core-foundation-rs") - (synopsis - "Bindings to Core Foundation for macOS") - (description - "Bindings to Core Foundation for macOS.") + (synopsis "Bindings to Core Foundation for macOS") + (description "This package provides bindings to Core Foundation for +macOS.") (license (list license:expat license:asl2.0)))) -(define-public rust-core-foundation-sys-0.6 +(define-public rust-core-foundation-0.6 (package - (name "rust-core-foundation-sys") - (version "0.6.2") + (inherit rust-core-foundation-0.7) + (name "rust-core-foundation") + (version "0.6.4") (source - (origin - (method url-fetch) - (uri (crate-uri "core-foundation-sys" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7")))) - (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) - (home-page "https://github.com/servo/core-foundation-rs") - (synopsis "Bindings to Core Foundation for OS X") - (description - "Bindings to Core Foundation for OS X.") - (license (list license:asl2.0 - license:expat)))) + (origin + (method url-fetch) + (uri (crate-uri "core-foundation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0va97wf49c8dzm9c8pgyk1jn7z21rl0bj1syf2zz5m2z2hzy1f95")))) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-libc" ,rust-libc-0.2) + ("rust-uuid" ,rust-uuid-0.5)))))) -(define-public rust-core-graphics-0.17 +(define-public rust-core-foundation-sys-0.7 (package - (name "rust-core-graphics") - (version "0.17.3") + (name "rust-core-foundation-sys") + (version "0.7.2") (source (origin (method url-fetch) - (uri (crate-uri "core-graphics" version)) + (uri (crate-uri "core-foundation-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1acm3vygngnilzlr6klym5ywh7kfzh2xxrh2l41152hwmdl0jyan")))) + "1ghrg46h4ci306agr2vwm28w6gb5l455nzp61y2zkhwfs49p4nis")))) (build-system cargo-build-system) - (arguments - `(#:skip-build? #t ; only for macOS - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-core-foundation" ,rust-core-foundation-0.6) - ("rust-foreign-types" ,rust-foreign-types-0.3) - ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/servo/core-graphics-rs") - (synopsis "Bindings to Core Graphics for macOS") - (description - "Bindings to Core Graphics for macOS.") + (home-page "https://github.com/servo/core-foundation-rs") + (synopsis "Bindings to Core Foundation for macOS") + (description "This package provides bindings to Core Foundation for +macOS.") (license (list license:expat license:asl2.0)))) +(define-public rust-core-foundation-sys-0.6 + (package + (inherit rust-core-foundation-sys-0.7) + (name "rust-core-foundation-sys") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "core-foundation-sys" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7")))))) + (define-public rust-core-text-13 (package (name "rust-core-text") @@ -4139,36 +4668,6 @@ intrinsics.") "Bindings to the Core Text framework.") (license (list license:expat license:asl2.0)))) -(define-public rust-core-video-sys-0.1 - (package - (name "rust-core-video-sys") - (version "0.1.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "core-video-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1l59cg88482hkl95ssb30ac9x65hpbdsmxz9s5r6y222jlhnbh4d")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t ; only for macOS - #:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) - ("rust-core-graphics" ,rust-core-graphics-0.17) - ("rust-libc" ,rust-libc-0.2) - ("rust-metal" ,rust-metal-0.14) - ("rust-objc" ,rust-objc-0.2)))) - (home-page "https://github.com/luozijun/rust-core-video-sys") - (synopsis - "Bindings to CoreVideo.framework for macOS and iOS") - (description - "Bindings to CoreVideo.framework for macOS and iOS.") - (license license:expat))) - (define-public rust-cpp-demangle-0.2 (package (name "rust-cpp-demangle") @@ -4252,7 +4751,29 @@ to @code{is_x86_feature_detected}.") "Library for retrieving and interacting with the crates.io index.") (license license:asl2.0))) -(define-public rust-crc32fast-1.2 +(define-public rust-crc-1 + (package + (name "rust-crc") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "crc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sqal6gm6lbj7f45iv3rw2s9w3pvvha8v970y51s7k7mwy6m8qyn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-build-const" ,rust-build-const-0.2)))) + (home-page "https://crates.io/crates/crc") + (synopsis "Rust implementation of CRC(16, 32, 64)") + (description "This package provides a Rust implementation of CRC(16, 32, +64) with support for various standards.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-crc32fast-1 (package (name "rust-crc32fast") (version "1.2.0") @@ -4284,7 +4805,7 @@ to @code{is_x86_feature_detected}.") (define-public rust-criterion-0.3 (package (name "rust-criterion") - (version "0.3.1") + (version "0.3.3") (source (origin (method url-fetch) @@ -4293,7 +4814,7 @@ to @code{is_x86_feature_detected}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lgpr82rlmg6rm4gr3c3pla2xgxnakbf8w9sabjsig8jkikmbiqz")))) + "1n24l95pgjig4nfhgm3vn9gxb49ky5ylr8390scl7wbcxk7agnkh")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -4302,22 +4823,24 @@ to @code{is_x86_feature_detected}.") ("rust-clap" ,rust-clap-2) ("rust-criterion-plot" ,rust-criterion-plot-0.4) ("rust-csv" ,rust-csv-1.1) - ("rust-itertools" ,rust-itertools-0.8) + ("rust-itertools" ,rust-itertools-0.9) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-oorandom" ,rust-oorandom-11.1) ("rust-plotters" ,rust-plotters-0.2) ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) + ("rust-serde-cbor" ,rust-serde-cbor-0.11) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-tinytemplate" ,rust-tinytemplate-1.0) + ("rust-tinytemplate" ,rust-tinytemplate-1) ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3) ("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-rand" ,rust-rand-0.7) - ("rust-tempdir" ,rust-tempdir-0.3)))) + ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://bheisler.github.io/criterion.rs/book/index.html") (synopsis "Statistics-driven micro-benchmarking library") (description @@ -4357,7 +4880,7 @@ to @code{is_x86_feature_detected}.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-tinytemplate" ,rust-tinytemplate-1.0) + ("rust-tinytemplate" ,rust-tinytemplate-1) ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3) @@ -4365,10 +4888,32 @@ to @code{is_x86_feature_detected}.") ("rust-rand" ,rust-rand-0.6) ("rust-tempdir" ,rust-tempdir-0.3)))))) +(define-public rust-criterion-cycles-per-byte-0.1 + (package + (name "rust-criterion-cycles-per-byte") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "criterion-cycles-per-byte" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15iw8zvyilx6k3a7z79vpzmpm6kkyds4c1ng3jlwfc43axd4hd4d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-criterion" ,rust-criterion-0.3)))) + (home-page "https://crates.io/crates/criterion-cycles-per-byte") + (synopsis "Measure time with CPU cycles for criterion") + (description "This package lets you measure time with CPU cycles for +criterion.") + (license (list license:expat license:asl2.0)))) + (define-public rust-criterion-plot-0.4 (package (name "rust-criterion-plot") - (version "0.4.1") + (version "0.4.3") (source (origin (method url-fetch) @@ -4377,12 +4922,12 @@ to @code{is_x86_feature_detected}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0id5sfww0hjxlzvkzacdlgbls3lxza8iysqljr7j7s2qxbh1a7m0")))) + "17c8v5fv064181yspagkdcfd6jhs7233ba6g94bbl7v0xjnzw8p0")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-cast" ,rust-cast-0.2) - ("rust-itertools" ,rust-itertools-0.8)) + ("rust-itertools" ,rust-itertools-0.9)) #:cargo-development-inputs (("rust-itertools-num" ,rust-itertools-num-0.1) ("rust-num-complex" ,rust-num-complex-0.2) @@ -4408,7 +4953,7 @@ to @code{is_x86_feature_detected}.") "13pv09z4ryp70qyzablkibwa2mh6c2852qq1sjr9wjigvwnj3ybn")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-cast" ,rust-cast-0.2) ("rust-itertools" ,rust-itertools-0.8)) #:cargo-development-inputs @@ -4569,7 +5114,7 @@ to @code{is_x86_feature_detected}.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-maybe-uninit" ,rust-maybe-uninit-2.0) ("rust-memoffset" ,rust-memoffset-0.5) - ("rust-scopeguard" ,rust-scopeguard-1.0)) + ("rust-scopeguard" ,rust-scopeguard-1)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))) (home-page @@ -4599,7 +5144,7 @@ to @code{is_x86_feature_detected}.") ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-memoffset" ,rust-memoffset-0.5) - ("rust-scopeguard" ,rust-scopeguard-1.0)) + ("rust-scopeguard" ,rust-scopeguard-1)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) @@ -4792,19 +5337,68 @@ Code} (MAC) algorithms.") ("rust-generic-array" ,rust-generic-array-0.12) ("rust-subtle" ,rust-subtle-1.0)))))) +(define-public rust-crypto-mac-0.4 + (package + (name "rust-crypto-mac") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crypto-mac" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "160ixpghhz5kz16f38kzcyv6lx8wmi4cgbhlhq4nazf678iib43p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-constant-time-eq" ,rust-constant-time-eq-0.1) + ("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Trait for Message Authentication Code (MAC) algorithms") + (description "This package provides traits for Message Authentication +Code (MAC) algorithms.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-crypto-tests-0.5 + (package + (name "rust-crypto-tests") + (version "0.5.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "crypto-tests" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08yrh40a9ll4k29ppizg2yjf96i6s3i9pbkhxp60y8arar93134v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-block-cipher-trait" ,rust-block-cipher-trait-0.4) + ("rust-crypto-mac" ,rust-crypto-mac-0.4) + ("rust-digest" ,rust-digest-0.6) + ("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/utils") + (synopsis "Test helpers for cryptographic algorithms") + (description "This package provides test helpers for cryptographic +algorithms.") + (license (list license:expat license:asl2.0)))) + (define-public rust-cssparser-0.27 (package (name "rust-cssparser") (version "0.27.2") (source - (origin - (method url-fetch) - (uri (crate-uri "cssparser" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "02nbm690rmkaz1ca0383qq7mc1g066w3s85f17pdihnda79njjvm")))) + (origin + (method url-fetch) + (uri (crate-uri "cssparser" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02nbm690rmkaz1ca0383qq7mc1g066w3s85f17pdihnda79njjvm")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; Not all files included in the tarball. @@ -4820,7 +5414,7 @@ Code} (MAC) algorithms.") ("rust-smallvec" ,rust-smallvec-1) ("rust-syn" ,rust-syn-1)) #:cargo-development-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-encoding-rs" ,rust-encoding-rs-0.8) ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://github.com/servo/rust-cssparser") @@ -4860,7 +5454,7 @@ Code} (MAC) algorithms.") ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)) #:cargo-development-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-encoding-rs" ,rust-encoding-rs-0.8) ("rust-serde-json" ,rust-serde-json-1)))))) @@ -4987,27 +5581,43 @@ Code} (MAC) algorithms.") "Bare bones CSV parsing with no_std support.") (license (list license:unlicense license:expat)))) -(define-public rust-ct-logs-0.3 +(define-public rust-ct-logs-0.7 (package (name "rust-ct-logs") - (version "0.3.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (crate-uri "ct-logs" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1f0885ws3p49xh6dfgnhh7zjw9h4rhs9ljs8i9cnkhifzz98784f")))) + (base32 + "0bk7pbmkjm18cgccm4a76vyn3wkaf2z4bh0jy9fk3dl4188i73lc")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-sct" ,rust-sct-0.3)))) + `(#:cargo-inputs (("rust-sct" ,rust-sct-0.6)))) (home-page "https://github.com/ctz/ct-logs") (synopsis "Google's list of Certificate Transparency logs") (description "This package contains Google's list of Certificate Transparency logs for use with sct crate.") (license (list license:asl2.0 license:isc license:expat)))) +(define-public rust-ct-logs-0.3 + (package + (inherit rust-ct-logs-0.7) + (name "rust-ct-logs") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ct-logs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1f0885ws3p49xh6dfgnhh7zjw9h4rhs9ljs8i9cnkhifzz98784f")))) + (arguments + `(#:cargo-inputs + (("rust-sct" ,rust-sct-0.3)))))) + (define-public rust-ctor-0.1 (package (name "rust-ctor") @@ -5060,6 +5670,25 @@ Transparency logs for use with sct crate.") "This package provides an easy Ctrl-C handler for Rust projects.") (license (list license:expat license:asl2.0)))) +(define-public rust-cty-0.2 + (package + (name "rust-cty") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cty" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qvkdnkxmd7g6fwhmv26zxqi0l7b9cd4d7h1knylvjyh43bc04vk")))) + (build-system cargo-build-system) + (home-page "https://github.com/japaric/cty") + (synopsis "Type aliases to C types") + (description "This package provides type aliases to C types like c_int for +use with bindgen.") + (license (list license:expat license:asl2.0)))) + (define-public rust-curl-sys-0.4 (package (name "rust-curl-sys") @@ -5215,7 +5844,47 @@ reading attributes into structs when implementing custom derives.") reading attributes into structs when implementing custom derives.") (license license:expat))) -(define-public rust-data-encoding-2.1 +(define-public rust-dashmap-3 + (package + (name "rust-dashmap") + (version "3.11.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "dashmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ddrjj4khb0s263pw278g5dvbhaid40611h123s9w5shr0phw9hg")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Enable unstable features + (substitute* "src/lib.rs" + (("#!\\[cfg_attr" all) + (string-append "#![feature(map_get_key_value)]" "\n" + "#![feature(inner_deref)]" "\n" + all))) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ahash" ,rust-ahash-0.3) + ("rust-hashbrown" ,rust-hashbrown-0.8) + ("rust-serde" ,rust-serde-1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + #t))))) + (home-page "https://github.com/xacrimon/dashmap") + (synopsis "Blazing fast concurrent HashMap for Rust") + (description "This package implements a blazing fast concurrent HashMap +for Rust.") + (license license:expat))) + +(define-public rust-data-encoding-2 (package (name "rust-data-encoding") (version "2.1.2") @@ -5296,42 +5965,6 @@ hexadecimal, base32, and base64.") and arithmetic.") (license license:expat))) -(define-public rust-dav1d-sys-0.3 - (package - (name "rust-dav1d-sys") - (version "0.3.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "dav1d-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1jdxhnlxcml6jd67lx78ifzkn1xm18zfk4li7vjdh3fa61i073kx")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bindgen" ,rust-bindgen-0.54) - ("rust-metadeps" ,rust-metadeps-1.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))) - (inputs - `(("dav1d" ,dav1d) - ("pkg-config" ,pkg-config) - ("libclang" ,clang) - ("llvm" ,llvm))) - (home-page "https://github.com/rust-av/dav1d-rs") - (synopsis "FFI bindings to dav1d") - (description "This package provides FFI bindings to dav1d.") - (license license:expat))) - (define-public rust-decimal-2.0 (package (name "rust-decimal") @@ -5380,7 +6013,7 @@ and arithmetic.") `(#:tests? #f ; not all test files included #:cargo-inputs (("rust-adler32" ,rust-adler32-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-gzip-header" ,rust-gzip-header-0.3)) #:cargo-development-inputs (("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) @@ -5407,9 +6040,9 @@ and arithmetic.") (arguments `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-gzip-header" ,rust-gzip-header-0.3) - ("rust-flate2" ,rust-flate2-1.0)))))) + ("rust-flate2" ,rust-flate2-1)))))) (define-public rust-defmac-0.2 (package @@ -5444,6 +6077,29 @@ and arithmetic.") (base32 "17giv0n0n1r64z0dahfvkjy3ys517jxyhs8sd9lmgvcljpjyryxa")))))) +(define-public rust-delta-e-0.2 + (package + (name "rust-delta-e") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "delta_e" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18rxibmi27ark8vj367qm2iqmv5x293l8fm9ang4y2sv3l251sf5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-lab" ,rust-lab-0.7)))) + (home-page "https://github.com/elliotekj/DeltaE") + (synopsis "Pure Rust implementation of the CIEDE2000 algorithm") + (description "DeltaE is a pure-Rust implementation of the +@url{http://en.wikipedia.org/wiki/Color_difference#CIEDE2000, CIEDE2000} +algorithm which serves to quantify the difference between two colors.") + (license license:expat))) + (define-public rust-demo-hack-0.0 (package (name "rust-demo-hack") @@ -5600,6 +6256,29 @@ for arbitrary structs.") #:cargo-development-inputs (("rust-pretty-assertions" ,rust-pretty-assertions-0.2)))))) +(define-public rust-derive-error-chain-0.10 + (package + (name "rust-derive-error-chain") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "derive-error-chain" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jnybrpiq5jzx69xq74cwxply36js02z14y9sym8sf2iwsnsk71w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-quote" ,rust-quote-0.3) + ("rust-syn" ,rust-syn-0.14)))) + (home-page "https://github.com/Arnavion/derive-error-chain") + (synopsis "Macros 1.1 implementation of error-chain") + (description "This package provides a Macros 1.1 implementation of +error-chain.") + (license (list license:expat license:asl2.0)))) + (define-public rust-derive-more-0.99 (package (name "rust-derive-more") @@ -5661,6 +6340,126 @@ traits for both structs and enums.") structs and enums.") (license license:expat))) +(define-public rust-dialoguer-0.6 + (package + (name "rust-dialoguer") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dialoguer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0f31ahy6myg2vz9xrdmp0vx0m7x427a1wxpgrgwhxd0rgfpqdapl")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-console" ,rust-console-0.11) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/mitsuhiko/dialoguer") + (synopsis "Library for command line prompts") + (description + "This package provides a library for command line prompts and the like.") + (license license:expat))) + +(define-public rust-dialoguer-0.3 + (package + (inherit rust-dialoguer-0.6) + (name "rust-dialoguer") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dialoguer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1a9gqvqp83gg4jbm286q5ab3l44zyyzlsdaiqmw8x4k80fdc5l8s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags '("--lib") + #:cargo-inputs + (("rust-console" ,rust-console-0.11) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tempfile" ,rust-tempfile-2)))))) + +(define-public rust-diesel-1 + (package + (name "rust-diesel") + (version "1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "diesel" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "134dy6gdbv30q388gsp5777w2qh63hdqsim1j8s1aylpmggfjb9y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bigdecimal" ,rust-bigdecimal-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-diesel-derives" ,rust-diesel-derives-1.4) + ("rust-ipnetwork" ,rust-ipnetwork-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-libsqlite3-sys" ,rust-libsqlite3-sys-0.15) + ("rust-mysqlclient-sys" ,rust-mysqlclient-sys-0.2) + ("rust-num-bigint" ,rust-num-bigint-0.3) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-pq-sys" ,rust-pq-sys-0.4) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-r2d2" ,rust-r2d2) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-time" ,rust-time-0.1) + ("rust-url" ,rust-url-1) + ("rust-uuid" ,rust-uuid-0.7)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-dotenv" ,rust-dotenv-0.10) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://diesel.rs") + (synopsis "A safe, extensible ORM and Query Builder") + (description "This package provides a safe, extensible ORM and Query +Builder for PostgreSQL, SQLite, and MySQL.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-diesel-derives-1.4 + (package + (name "rust-diesel-derives") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "diesel_derives" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lsq133fwk0zj8xvxhdxqgg0xs31zf3abnwdyshaf0ldca7hkxa5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-diesel" ,rust-diesel-1) + ("rust-dotenv" ,rust-dotenv-0.10)))) + (home-page "https://diesel.rs") + (synopsis "Crate internal to Diesel") + (description "You should not use this crate directly, it is internal to +Diesel.") + (license (list license:expat license:asl2.0)))) + (define-public rust-diff-0.1 (package (name "rust-diff") @@ -5687,7 +6486,7 @@ structs and enums.") "An LCS based slice and string diffing implementation.") (license (list license:expat license:asl2.0)))) -(define-public rust-difference-2.0 +(define-public rust-difference-2 (package (name "rust-difference") (version "2.0.0") @@ -5715,7 +6514,7 @@ structs and enums.") (license license:expat))) (define-public rust-difference-1 - (package/inherit rust-difference-2.0 + (package/inherit rust-difference-2 (name "rust-difference") (version "1.0.0") (source @@ -5776,6 +6575,28 @@ structs and enums.") (("rust-blobby" ,rust-blobby-0.1) ("rust-generic-array" ,rust-generic-array-0.13)))))) +(define-public rust-digest-0.6 + (package + (name "rust-digest") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "digest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "02mgf8z4hi96w9nl2zb5w3k6lqbhjgv5z8hhyv2b7x7kavqrpcp5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array" ,rust-generic-array-0.8)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Traits for cryptographic hash functions") + (description "This package provides traits for cryptographic hash +functions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-directories-3 (package (name "rust-directories") @@ -6162,19 +6983,62 @@ O(1)-in-practice, if not in theory, but obviously not as fast as a non-persistent vector.") (license (list license:asl2.0 license:expat)))) +(define-public rust-dotenv-0.15 + (package + (name "rust-dotenv") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dotenv" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13ysjx7n2bqxxqydvnnbdwgik7i8n6h5c1qhr9g11x6cxnnhpjbp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-clap" ,rust-clap-2)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3)))) + (home-page "https://github.com/dotenv-rs/dotenv") + (synopsis "@code{dotenv} implementation for Rust") + (description "This package provides a @code{dotenv} implementation for +Rust.") + (license license:expat))) + +(define-public rust-dotenv-0.10 + (package + (inherit rust-dotenv-0.15) + (name "rust-dotenv") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "dotenv" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ww0wfnilz4cy789fni06gckm45xsb9fplrih26l4qyi4jxy5w6n")))) + (arguments + `(#:cargo-inputs + (("rust-derive-error-chain" ,rust-derive-error-chain-0.10) + ("rust-error-chain" ,rust-error-chain-0.10) + ("rust-regex" ,rust-regex-0.2)))))) + (define-public rust-draw-state-0.8 (package (name "rust-draw-state") (version "0.8.0") (source - (origin - (method url-fetch) - (uri (crate-uri "draw_state" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk")))) + (origin + (method url-fetch) + (uri (crate-uri "draw_state" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -6263,7 +7127,7 @@ floating-point primitives to an @code{io::Write}.") `(#:skip-build? #t #:cargo-inputs (("rust-libc" ,rust-libc-0.2) - ("rust-once-cell" ,rust-once-cell-1.2) + ("rust-once-cell" ,rust-once-cell-1) ("rust-os-pipe" ,rust-os-pipe-0.8) ("rust-shared-child" ,rust-shared-child-0.3)) #:cargo-development-inputs @@ -6328,7 +7192,7 @@ floating-point primitives to an @code{io::Write}.") "Levenshtein edit distance between strings, a measure for similarity.") (license license:asl2.0))) -(define-public rust-either-1.5 +(define-public rust-either-1 (package (name "rust-either") (version "1.5.3") @@ -6665,6 +7529,31 @@ Standard.") "Streaming transcoding for encoding_rs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-enum-as-inner-0.3 + (package + (name "rust-enum-as-inner") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "enum-as-inner" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15gmpgywijda93lkq7hf2y53h66sqkhzabzbxich288xm6b00pvw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-heck" ,rust-heck-0.3) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/bluejekyll/enum-as-inner") + (synopsis "Proc-macro for deriving inner field accessor functions on enums") + (description "This package provides a proc-macro for deriving inner field +accessor functions on enums.") + (license (list license:expat license:asl2.0)))) + (define-public rust-env-logger-0.7 (package (name "rust-env-logger") @@ -6871,7 +7760,7 @@ variables.") ("rust-proc-macro-error" ,rust-proc-macro-error-0.4) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-syn" ,rust-syn-1) - ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-rustversion" ,rust-rustversion-1) ("rust-quote" ,rust-quote-1)) #:cargo-development-inputs (("rust-skeptic" ,rust-skeptic-0.13)))) @@ -7022,32 +7911,6 @@ variables.") (description "Cargo API written in Paris.") (license (list license:expat license:asl2.0)))) -(define-public rust-euclid-0.20 - (package - (name "rust-euclid") - (version "0.20.10") - (source - (origin - (method url-fetch) - (uri (crate-uri "euclid" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0c3hbl0kvc53k6nws0v9d46hi0giza1j079sqx2bgl4wfw65nshc")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-mint" ,rust-mint-0.5) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-serde" ,rust-serde-1)) - #:cargo-development-inputs - (("rust-serde-test" ,rust-serde-test-1)))) - (home-page "https://github.com/servo/euclid") - (synopsis "Geometry primitives") - (description "Geometry primitives written in Rust.") - (license (list license:expat license:asl2.0)))) - (define-public rust-expat-sys-2.1 (package (name "rust-expat-sys") @@ -7229,7 +8092,7 @@ provides implementations for @code{HashMap} and @code{HashSet}.") (arguments `(#:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) - ("rust-colored" ,rust-colored-1.9) + ("rust-colored" ,rust-colored-1) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-reopen" ,rust-reopen-0.3) @@ -7265,7 +8128,7 @@ provides implementations for @code{HashMap} and @code{HashSet}.") ("rust-reopen" ,rust-reopen-0.3) ("rust-log" ,rust-log-0.4) ("rust-chrono" ,rust-chrono-0.4) - ("rust-colored" ,rust-colored-1.9) + ("rust-colored" ,rust-colored-1) ("rust-syslog" ,rust-syslog-3.3) ("rust-syslog" ,rust-syslog-4.0)) #:cargo-development-inputs @@ -7331,6 +8194,38 @@ cross platform API.") (license (list license:asl2.0 license:expat)))) +(define-public rust-fixed-1 + (package + (name "rust-fixed") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fixed" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0p0v4jjgbbvp91sl8rkfqb2hldaxbzv89mzwmp8753mlrfqwn185")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-az" ,rust-az-1) + ("rust-half" ,rust-half-1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-typenum" ,rust-typenum-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.4)))) + (home-page "https://gitlab.com/tspiteri/fixed") + (synopsis "Rust fixed-point numbers") + (description "This package provides fixed-point numbers in Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-fixedbitset-0.2 (package (name "rust-fixedbitset") @@ -7384,7 +8279,7 @@ cross platform API.") ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-thread-id" ,rust-thread-id-3.3)))) + ("rust-thread-id" ,rust-thread-id-3)))) (home-page "https://github.com/llogiq/flame") (synopsis "Profiling and flamegraph library") (description "A profiling and flamegraph library.") @@ -7416,7 +8311,7 @@ cross platform API.") "A procedural macro to insert @code{flame::start_guard(_)} calls.") (license license:asl2.0))) -(define-public rust-flate2-1.0 +(define-public rust-flate2-1 (package (name "rust-flate2") (version "1.0.14") @@ -7436,7 +8331,7 @@ cross platform API.") (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-cloudflare-zlib-sys" ,rust-cloudflare-zlib-sys-0.2) - ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-crc32fast" ,rust-crc32fast-1) ("rust-futures" ,rust-futures-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-libz-sys" ,rust-libz-sys-1) @@ -7459,10 +8354,10 @@ Reader/Writer streams. Contains bindings for zlib, deflate, and gzip-based streams.") (license (list license:expat license:asl2.0)))) -(define-public rust-float-cmp-0.6 +(define-public rust-float-cmp-0.8 (package (name "rust-float-cmp") - (version "0.6.0") + (version "0.8.0") (source (origin (method url-fetch) @@ -7471,7 +8366,7 @@ streams.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0zb1lv3ga18vsnpjjdg87yazbzvmfwwllj3aiid8660rp3qw8qns")))) + "1i56hnzjn5pmrcm47fwkmfxiihk7wz5vvcgpb0kpfhzkqi57y9p1")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-num-traits" ,rust-num-traits-0.2)))) @@ -7481,6 +8376,21 @@ streams.") "Floating point approximate comparison traits in Rust.") (license license:expat))) +(define-public rust-float-cmp-0.6 + (package + (inherit rust-float-cmp-0.8) + (name "rust-float-cmp") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "float-cmp" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zb1lv3ga18vsnpjjdg87yazbzvmfwwllj3aiid8660rp3qw8qns")))))) + (define-public rust-float-cmp-0.5 (package (inherit rust-float-cmp-0.6) @@ -7536,6 +8446,55 @@ streams.") "This package provides a total ordering for floating-point numbers.") (license (list license:asl2.0 license:expat)))) +(define-public rust-fluid-0.4 + (package + (name "rust-fluid") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "fluid" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04qgdc4lx934158icx9rvs0v6lyvirmb0brllvz38hj9fsaqfbsp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-colored" ,rust-colored-1) + ("rust-fluid-attributes" ,rust-fluid-attributes-0.4) + ("rust-num-traits" ,rust-num-traits-0.2)))) + (home-page "https://crates.io/crates/fluid") + (synopsis "Human readable test library") + (description "This package provides a human readable test library.") + (license license:asl2.0))) + +(define-public rust-fluid-attributes-0.4 + (package + (name "rust-fluid-attributes") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fluid_attributes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1i67vcas0gr64bc8spprlfp7m7msv1jyspghgq1q8f0qrnvy8px8")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15) + ("rust-uuid" ,rust-uuid-0.7)))) + (home-page "https://gitlab.com/Boiethios/fluid-rs/wikis") + (synopsis "Proc macro attributes for the fluid crate") + (description "This package provides proc macro attributes for the fluid +crate.") + (license license:asl2.0))) + (define-public rust-fnv-1 (package (name "rust-fnv") @@ -7588,7 +8547,7 @@ implementation that is more efficient for smaller hash keys.") ("rust-memmap" ,rust-memmap-0.7) ("rust-dwrote" ,rust-dwrote-0.9) ("rust-dirs" ,rust-dirs-1.0) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-core-text" ,rust-core-text-13) ("rust-walkdir" ,rust-walkdir-2)))) @@ -7872,7 +8831,7 @@ duplication.") (build-system cargo-build-system) (arguments '(#:skip-build? #t)) (home-page "https://github.com/webdesus/fs_extra") - (synopsis "Extra filesystem methods") + (synopsis "Extra file system methods") (description "Expanding opportunities standard library @code{std::fs} and @code{std::io}. Recursively copy folders with recept information about process and much more.") @@ -8491,6 +9450,34 @@ futures-rs library.") (description "Tools for working with tasks.") (license (list license:expat license:asl2.0)))) +(define-public rust-futures-test-0.3 + (package + (name "rust-futures-test") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-test" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v9r2mmgdbm0x4gppd5jzf4rss7439ivkqwi604m0r2il3zap6ci")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-executor" ,rust-futures-executor-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pin-utils" ,rust-pin-utils-0.1)))) + (home-page "https://rust-lang.github.io/futures-rs") + (synopsis "Test components built off futures-rs") + (description "This package provides common utilities for testing +components built off futures-rs.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-timer-0.1 (package (name "rust-futures-timer") @@ -8599,12 +9586,11 @@ library.") "037mb9ichariqi45xm6mz0b11pa92gj38ba0409z3iz239sns6y3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)) + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1)) #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1) - ("rust-seahash" ,rust-seahash-3.0)))) + ("rust-seahash" ,rust-seahash-3)))) (home-page "https://github.com/cbreeden/fxhash") (synopsis "Hashing algorithm from hasher used in FireFox and Rustc") (description @@ -8614,25 +9600,29 @@ derived from an internal hasher used in FireFox and Rustc.") (define-public rust-gcc-0.3 (package - (inherit rust-cc-1) (name "rust-gcc") (version "0.3.55") (source (origin (method url-fetch) (uri (crate-uri "gcc" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1hng1sajn4r67hndvhjysswz8niayjwvcj42zphpxzhbz89kjpwg")))) (build-system cargo-build-system) + (arguments + `(#:tests? #f ; gcc-test folder missing from release tarball. + #:cargo-inputs + (("rust-rayon" ,rust-rayon-0.8)) + #:cargo-development-inputs + (("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/alexcrichton/cc-rs") (synopsis "Library to compile C/C++ code into a Rust library/application") (description "This package provides a build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rustcode.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -8661,101 +9651,6 @@ archive to be linked into Rustcode.") API library @code{gdi32}.") (license license:expat))) -(define-public rust-gdk-pixbuf-0.8 - (package - (name "rust-gdk-pixbuf") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "gdk-pixbuf" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1mxxca0fkcw2rsd3kl3nvlb8ys4cgxqx4n5isjbv0adk8q624j72")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) - ("rust-gio" ,rust-gio-0.8) - ("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib" ,rust-glib-0.9) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) - (inputs - `(("gdk-pixbuf" ,gdk-pixbuf))) - (home-page "https://gtk-rs.org/") - (synopsis "Rust bindings for the GdkPixbuf library") - (description - "Rust bindings for the GdkPixbuf library.") - (license license:expat))) - -(define-public rust-gdk-pixbuf-0.7 - (package - (inherit rust-gdk-pixbuf-0.8) - (name "rust-gdk-pixbuf") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "gdk-pixbuf" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1k2g3w2p57m68bi5sldvkmgjgslgqswrjsijjhqaibdvw67409lp")))) - (arguments - `(#:cargo-inputs - (("rust-fragile" ,rust-fragile-0.3) - ("rust-futures-preview" ,rust-futures-preview-0.3) - ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) - ("rust-gio" ,rust-gio-0.7) - ("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib" ,rust-glib-0.8) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) - -(define-public rust-gdk-pixbuf-sys-0.9 - (package - (name "rust-gdk-pixbuf-sys") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "gdk-pixbuf-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1c2andpjb10y7bahh6nxnksh9m3g5qh4mgq9znx634cy1831p6fq")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; tests not included in release - #:cargo-inputs - (("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)) - #:cargo-development-inputs - (("rust-shell-words" ,rust-shell-words-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (inputs - `(("gdk-pixbuf" ,gdk-pixbuf))) - (home-page "https://gtk-rs.org/") - (synopsis "FFI bindings to libgdk_pixbuf-2.0") - (description "This package provides FFI bindings to @code{libgdk_pixbuf-2.0}.") - (license license:expat))) - (define-public rust-generator-0.6 (package (name "rust-generator") @@ -8848,6 +9743,27 @@ API library @code{gdi32}.") (base32 "1v5jg7djicq34nbiv1dwaki71gkny002wyy9qfn3y0hfmrs053y6")))))) +(define-public rust-generic-array-0.8 + (package + (inherit rust-generic-array-0.12) + (name "rust-generic-array") + (version "0.8.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "generic-array" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wi6rlx3dmrvl26yxm4z5n68kyj2ikk4nllk1kazw2ik9scnkszw")))) + (arguments + `(#:cargo-inputs + (("rust-nodrop" ,rust-nodrop-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-typenum" ,rust-typenum-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-genmesh-0.6 (package (name "rust-genmesh") @@ -8886,10 +9802,9 @@ API library @code{gdi32}.") "1mgb3qvivi26gs6ihqqhh8iyhp3vgxri6vwyrwg28w0xqzavznql")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1.0)) #:cargo-development-inputs (("rust-log" ,rust-log-0.3)))) @@ -8923,7 +9838,7 @@ API library @code{gdi32}.") ("rust-log" ,rust-log-0.4) ("rust-stdweb" ,rust-stdweb-0.4) ("rust-wasi" ,rust-wasi-0.9) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/rust-random/getrandom") (synopsis "Retrieve random data from system source") (description @@ -8931,10 +9846,10 @@ API library @code{gdi32}.") retrieving random data from system source.") (license (list license:expat license:asl2.0)))) -(define-public rust-gettext-rs-0.4 +(define-public rust-gettext-rs-0.5 (package (name "rust-gettext-rs") - (version "0.4.4") + (version "0.5.0") (source (origin (method url-fetch) @@ -8943,12 +9858,12 @@ retrieving random data from system source.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0z6fcsn1g3w9mlgfj6ln6qvqf8610w3zwvk6g062h657v114lifz")))) + "1qc9a63i54b9ad3jx951hn7xb6xf76c9f3hmi2cdy2m7rhczm58v")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-gettext-sys" ,rust-gettext-sys-0.19) - ("rust-locale-config" ,rust-locale-config-0.2)) + ("rust-locale-config" ,rust-locale-config-0.3)) #:phases (modify-phases %standard-phases (add-after 'configure 'use-system-gettext @@ -8963,6 +9878,32 @@ retrieving random data from system source.") (description "This package provides GNU Gettext FFI bindings for Rust.") (license license:expat))) +(define-public rust-gettext-rs-0.4 + (package + (inherit rust-gettext-rs-0.5) + (name "rust-gettext-rs") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "gettext-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z6fcsn1g3w9mlgfj6ln6qvqf8610w3zwvk6g062h657v114lifz")))) + (arguments + `(#:cargo-inputs + (("rust-gettext-sys" ,rust-gettext-sys-0.19) + ("rust-locale-config" ,rust-locale-config-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'use-system-gettext + (lambda* (#:key inputs #:allow-other-keys) + (let ((gettext (assoc-ref inputs "gettext"))) + (setenv "GETTEXT_SYSTEM" gettext) + #t)))))))) + (define-public rust-gettext-sys-0.19 (package (name "rust-gettext-sys") @@ -9028,134 +9969,30 @@ retrieving random data from system source.") @acronym{GFA, Graphical Fragment Assembly} format.") (license license:expat))) -(define-public rust-gfx-0.18 - (package - (name "rust-gfx") - (version "0.18.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "gfx" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0nqmxqi3x4ni0g78g77a6aldrv8cfvzhnpqhxyd2ap4aa3wldph1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-log" ,rust-log-0.4) - ("rust-mint" ,rust-mint-0.5) - ("rust-draw-state" ,rust-draw-state-0.8) - ("rust-gfx-core" ,rust-gfx-core-0.9)))) - (home-page "https://github.com/gfx-rs/gfx") - (synopsis "High-performance, bindless graphics API") - (description - "This package provides a high-performance, bindless graphics API.") - (license license:asl2.0))) - -(define-public rust-gfx-core-0.9 - (package - (name "rust-gfx-core") - (version "0.9.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "gfx_core" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0haldr99n12d90vqgvl77n59hywlklhdff85j2aljaz1yapdvyvm")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-log" ,rust-log-0.4) - ("rust-mint" ,rust-mint-0.5) - ("rust-draw-state" ,rust-draw-state-0.8) - ("rust-serde" ,rust-serde-1) - ("rust-bitflags" ,rust-bitflags-1)))) - (home-page "https://github.com/gfx-rs/gfx") - (synopsis "Core library of Gfx-rs") - (description "This package is a core library of Gfx-rs.") - (license license:asl2.0))) - -(define-public rust-gfx-device-gl-0.16 - (package - (name "rust-gfx-device-gl") - (version "0.16.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "gfx_device_gl" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1g5yg19jvxdmviljyakhd6253bnb2qg7v8iscf48ihc0ldgki70h")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-log" ,rust-log-0.4) - ("rust-gfx-gl" ,rust-gfx-gl-0.6) - ("rust-gfx-core" ,rust-gfx-core-0.9)))) - (home-page "https://github.com/gfx-rs/gfx") - (synopsis "OpenGL backend for gfx-rs") - (description "This package provides the openGL backend for 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.10 +(define-public rust-ghash-0.3 (package - (name "rust-gif") - (version "0.10.3") + (name "rust-ghash") + (version "0.3.0") (source (origin (method url-fetch) - (uri (crate-uri "gif" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (uri (crate-uri "ghash" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1bw174f7civdfgryvc8pvyhicpr96hzdajnda4s3y8iv3ch907a7")))) + "0c957q9sk1q93pqqfvhcmflfm1zvbr14aznfpm25kqd6i437zqnn")))) (build-system cargo-build-system) (arguments - `(#:tests? #f ; tests not included in release - #:cargo-inputs - (("rust-color-quant" ,rust-color-quant-1.0) - ("rust-libc" ,rust-libc-0.2) - ("rust-lzw" ,rust-lzw-0.10)) + `(#:cargo-inputs + (("rust-polyval" ,rust-polyval-0.4) + ("rust-zeroize" ,rust-zeroize-1)) #:cargo-development-inputs - (("rust-glob" ,rust-glob-0.3)))) - (home-page "https://github.com/image-rs/image-gif") - (synopsis "GIF decoder and encoder") - (description "This package provides a GIF decoder and encoder in Rust.") + (("rust-hex-literal" ,rust-hex-literal-0.1)))) + (home-page "https://github.com/RustCrypto/universal-hashes") + (synopsis "Universal hash over GF(2^128)") + (description "This package provides a universal hash over GF(2^128) useful +for constructing a Message Authentication Code (MAC), as in the AES-GCM +authenticated encryption cipher.") (license (list license:expat license:asl2.0)))) (define-public rust-gimli-0.20 @@ -9179,10 +10016,10 @@ retrieving random data from system source.") ,rust-fallible-iterator-0.2) ("rust-arrayvec" ,rust-arrayvec-0.5) ("rust-stable-deref-trait" - ,rust-stable-deref-trait-1.1) + ,rust-stable-deref-trait-1) ("rust-smallvec" ,rust-smallvec-1) ("rust-indexmap" ,rust-indexmap-1) - ("rust-byteorder" ,rust-byteorder-1.3)))) + ("rust-byteorder" ,rust-byteorder-1)))) (home-page "https://github.com/gimli-rs/gimli") (synopsis "Library for reading and writing the DWARF debugging format") (description @@ -9206,10 +10043,10 @@ retrieving random data from system source.") (arguments `(#:cargo-inputs (("rust-arrayvec" ,rust-arrayvec-0.4) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) ("rust-indexmap" ,rust-indexmap-1) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1)) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)) #:cargo-development-inputs (("rust-crossbeam" ,rust-crossbeam-0.7) ("rust-getopts" ,rust-getopts-0.2) @@ -9227,125 +10064,6 @@ retrieving random data from system source.") DWARF debugging format.") (license (list license:asl2.0 license:expat)))) -(define-public rust-gio-0.8 - (package - (name "rust-gio") - (version "0.8.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "gio" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "19cnla2ya0mi6wwaabd5mxbq2kzq46dg6jq2z19rpqyc2na0zl8c")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Not all files included in the tarball. - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("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-util" ,rust-futures-util-0.3) - ("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib" ,rust-glib-0.9) - ("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) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1) - ("rust-serial-test" ,rust-serial-test-0.1) - ("rust-serial-test-derive" ,rust-serial-test-derive-0.1)))) - (inputs - `(("glib" ,glib))) - (home-page "https://gtk-rs.org/") - (synopsis "Rust bindings for the Gio library") - (description "Rust bindings for the Gio library.") - (license license:expat))) - -(define-public rust-gio-0.7 - (package - (inherit rust-gio-0.8) - (name "rust-gio") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "gio" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1qv0wc1hqyb81c03h81s3xrl9jslrw23fr4yhygxbhih9k9vaqb2")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-fragile" ,rust-fragile-0.3) - ("rust-futures-preview" ,rust-futures-preview-0.3) - ("rust-gio-sys" ,rust-gio-sys-0.9) - ("rust-glib" ,rust-glib-0.8) - ("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) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) - -(define-public rust-gio-sys-0.9 - (package - (name "rust-gio-sys") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "gio-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "049rafihxp3maxg3fwj6062ni9dcfilvhfq6ibnfgsmr89925bag")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Some test libraries not included in release. - #:cargo-inputs - (("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)) - #:cargo-development-inputs - (("rust-shell-words" ,rust-shell-words-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (inputs - `(("glib" ,glib))) - (home-page "http://gtk-rs.org/") - (synopsis "FFI bindings to libgio-2.0") - (description "This package provides FFI bindings to libgio-2.0.") - (license license:expat))) - -(define-public rust-gir-format-check-0.1 - (package - (name "rust-gir-format-check") - (version "0.1.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "gir-format-check" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0znl4qcgmg0656zk9vjkwdn9wj1zpkd0m0l5jnzmahd80ii7vf4b")))) - (build-system cargo-build-system) - (home-page "https://github.com/gtk-rs/gir-format-check") - (synopsis "File format checker") - (description "File format checker in Rust.") - (license license:expat))) - (define-public rust-git2-0.11 (package (name "rust-git2") @@ -9368,13 +10086,13 @@ DWARF debugging format.") ("rust-log" ,rust-log-0.4) ("rust-openssl-probe" ,rust-openssl-probe-0.1) ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-2.1)) + ("rust-url" ,rust-url-2)) #:cargo-development-inputs (("rust-docopt" ,rust-docopt-1.1) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-tempfile" ,rust-tempfile-3) - ("rust-thread-id" ,rust-thread-id-3.3) + ("rust-thread-id" ,rust-thread-id-3) ("rust-time" ,rust-time-0.1)))) (native-inputs `(("libgit2" ,libgit2) @@ -9412,234 +10130,15 @@ reading and writing git repositories.") ("rust-log" ,rust-log-0.4) ("rust-openssl-probe" ,rust-openssl-probe-0.1) ("rust-openssl-sys" ,rust-openssl-sys-0.9) - ("rust-url" ,rust-url-1.7)) + ("rust-url" ,rust-url-1)) #:cargo-development-inputs (("rust-docopt" ,rust-docopt-1.1) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) ("rust-tempdir" ,rust-tempdir-0.3) - ("rust-thread-id" ,rust-thread-id-3.3) + ("rust-thread-id" ,rust-thread-id-3) ("rust-time" ,rust-time-0.1)))))) -(define-public rust-gl-0.11 - (package - (name "rust-gl") - (version "0.11.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "gl" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (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))) - -(define-public rust-gl-generator-0.14 - (package - (name "rust-gl-generator") - (version "0.14.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "gl-generator" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0k8j1hmfnff312gy7x1aqjzcm8zxid7ij7dlb8prljib7b1dz58s")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-khronos-api" ,rust-khronos-api-3) - ("rust-log" ,rust-log-0.4) - ("rust-xml-rs" ,rust-xml-rs-0.8)))) - (home-page "https://github.com/brendanzab/gl-rs/") - (synopsis "Code generators for bindings to the Khronos OpenGL APIs") - (description - "Code generators for creating bindings to the Khronos OpenGL APIs.") - (license license:asl2.0))) - -(define-public rust-gl-generator-0.13 - (package - (inherit rust-gl-generator-0.14) - (name "rust-gl-generator") - (version "0.13.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "gl-generator" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0jpqjqpyrl73sf8y20p5rv50qz8glnsvv9infg8h4vi52zgbp66a")))))) - -(define-public rust-gl-generator-0.11 - (package - (inherit rust-gl-generator-0.13) - (name "rust-gl-generator") - (version "0.11.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "gl-generator" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1gdchvay0k0g931b2ki33mkfixcw4radk5b8sqsm29rahxg3v8ir")))))) - -(define-public rust-gl-generator-0.10 - (package - (name "rust-gl-generator") - (version "0.10.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "gl_generator" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0146yd4i9wbgfrhnkc04w7n7civbanznc0q87skp6v7p7hbszzx0")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-log" ,rust-log-0.4) - ("rust-xml-rs" ,rust-xml-rs-0.8) - ("rust-khronos-api" ,rust-khronos-api-3)))) - (home-page "https://github.com/brendanzab/gl-rs/") - (synopsis - "Code generators for creating bindings to the Khronos OpenGL APIs") - (description - "Code generators for creating bindings to the Khronos OpenGL APIs.") - (license license:asl2.0))) - -(define-public rust-gleam-0.6 - (package - (name "rust-gleam") - (version "0.6.19") - (source - (origin - (method url-fetch) - (uri (crate-uri "gleam" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1iazvk3kvw3620gm6x8hy2x1lz51k04acl78cr3ppryhk5y0vqfa")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-gl-generator" ,rust-gl-generator-0.13)))) - (home-page "https://github.com/servo/gleam") - (synopsis "Generated OpenGL bindings and wrapper for Servo") - (description - "Generated OpenGL bindings and wrapper for Servo.") - (license (list license:asl2.0 license:expat)))) - -(define-public rust-glib-0.9 - (package - (name "rust-glib") - (version "0.9.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "glib" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1h3100mf7kdfxibjz5na0sqzbd2mcsyd8pzivn3666w414x5gys0")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-futures-channel" ,rust-futures-channel-0.3) - ("rust-futures-core" ,rust-futures-core-0.3) - ("rust-futures-executor" ,rust-futures-executor-0.3) - ("rust-futures-preview" ,rust-futures-preview-0.3) - ("rust-futures-task" ,rust-futures-task-0.3) - ("rust-futures-util" ,rust-futures-util-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)))) - (inputs - `(("glib" ,glib))) - (home-page "https://gtk-rs.org/") - (synopsis "Rust bindings for the GLib library") - (description - "Rust bindings for the GLib library.") - (license license:expat))) - -(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-sys-0.9 - (package - (name "rust-glib-sys") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "glib-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1qhnwfqqcp63mx4q9744rfkq78g6ky2j8ppsxxgw0ipl08w6z1cm")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Some test libraries not included in release. - #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)) - #:cargo-development-inputs - (("rust-shell-words" ,rust-shell-words-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (inputs - `(("glib" ,glib))) - (home-page "http://gtk-rs.org/") - (synopsis "FFI bindings to libglib-2.0") - (description "This package provides FFI bindings to libglib-2.0.") - (license license:expat))) - (define-public rust-glium-0.25 (package (name "rust-glium") @@ -9692,7 +10191,7 @@ OpenGL's old and error-prone API.") "0x25wfr7vg3mzxc9x05dcphvd3nwlcmbnxrvwcvrrdwplcrrk4cv")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f #:cargo-development-inputs (("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/rust-lang-nursery/glob") @@ -9753,249 +10252,57 @@ the process of matching one or more glob patterns against a single candidate path simultaneously, and returning all of the globs that matched.") (license (list license:expat license:unlicense)))) -(define-public rust-globwalk-0.5 +(define-public rust-globwalk-0.8 (package (name "rust-globwalk") - (version "0.5.0") + (version "0.8.0") (source - (origin - (method url-fetch) - (uri (crate-uri "globwalk" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "09axyql26s09z60sgi3y3lkin9swy2b5km3b0v6mm84xhlljxyl9")))) + (origin + (method url-fetch) + (uri (crate-uri "globwalk" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ihld70ngnri1qd8sd61099yfzcl6iqn17rfa102q1bl6ck710hp")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-ignore" ,rust-ignore-0.4) + (("rust-bitflags" ,rust-bitflags-1) + ("rust-ignore" ,rust-ignore-0.4) ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs - (("rust-docmatic" ,rust-docmatic-0.1) + (("rust-backtrace" ,rust-backtrace-0.3.35) + ("rust-docmatic" ,rust-docmatic-0.1) ("rust-tempdir" ,rust-tempdir-0.3)))) (home-page "https://github.com/gilnaa/globwalk") (synopsis "Glob-matched recursive file system walking") - (description - "Glob-matched recursive file system walking.") + (description "This package provides glob-matched recursive file system +walking. Based on both @code{rust-walkdir} and @code{rust-ignore}, this crate +inherits many goodies from both, such as limiting search depth and amount of +open file descriptors.") (license license:expat))) -(define-public rust-glutin-0.22 - (package - (name "rust-glutin") - (version "0.22.0-alpha5") - (source - (origin - (method url-fetch) - (uri (crate-uri "glutin" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0lilr4f335m1fq1acmshd51zblfaglw1hha6lhalnc1fw3cg0aag")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-android-glue" ,rust-android-glue-0.2) - ("rust-cgl" ,rust-cgl-0.3) - ("rust-cocoa" ,rust-cocoa-0.19) - ("rust-core-foundation" ,rust-core-foundation-0.6) - ("rust-core-graphics" ,rust-core-graphics-0.17) - ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) - ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) - ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) - ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) - ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libloading" ,rust-libloading-0.5) - ("rust-log" ,rust-log-0.4) - ("rust-objc" ,rust-objc-0.2) - ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) - ("rust-parking-lot" ,rust-parking-lot-0.9) - ("rust-wayland-client" ,rust-wayland-client-0.23) - ("rust-winapi" ,rust-winapi-0.3) - ("rust-winit" ,rust-winit-0.20)))) - (home-page "https://github.com/tomaka/glutin") - (synopsis - "Cross-platform OpenGL context provider") - (description - "Cross-platform OpenGL context provider.") - (license license:asl2.0))) - -(define-public rust-glutin-0.21 - (package - (inherit rust-glutin-0.22) - (name "rust-glutin") - (version "0.21.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "glutin" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ggyyqn7dvz4yx5ygqfvnxwfb78wvdm5y6xqw5my1b4x61dv6wak")))) - (arguments - `(#:cargo-inputs - (("rust-android-glue" ,rust-android-glue-0.2) - ("rust-cgl" ,rust-cgl-0.2) - ("rust-cocoa" ,rust-cocoa-0.18) - ("rust-core-foundation" ,rust-core-foundation-0.6) - ("rust-core-graphics" ,rust-core-graphics-0.17) - ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) - ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) - ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) - ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) - ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libloading" ,rust-libloading-0.5) - ("rust-objc" ,rust-objc-0.2) - ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) - ("rust-parking-lot" ,rust-parking-lot-0.9) - ("rust-wayland-client" ,rust-wayland-client-0.21) - ("rust-winapi" ,rust-winapi-0.3) - ("rust-winit" ,rust-winit-0.19)))))) - -(define-public rust-glutin-egl-sys-0.1 - (package - (name "rust-glutin-egl-sys") - (version "0.1.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "glutin-egl-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0k1x1frdp4wp47qkai8zzmgqxzpfcn7780m29qgd92lbnbrxwbkp")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-winapi" ,rust-winapi-0.3) - ("rust-gl-generator" ,rust-gl-generator-0.13)))) - (home-page "https://github.com/rust-windowing/glutin") - (synopsis "Egl bindings for glutin") - (description "The egl bindings for glutin.") - (license license:asl2.0))) - -(define-public rust-glutin-emscripten-sys-0.1 - (package - (name "rust-glutin-emscripten-sys") - (version "0.1.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "glutin_emscripten_sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ix0jmm8p5if4qarzdfl5mz9rbq4hhgqarakb3bzwvyz13dkynr4")))) - (build-system cargo-build-system) - (home-page "https://github.com/tomaka/glutin") - (synopsis "Emscripten bindings for glutin") - (description "The emscripten bindings for glutin.") - (license license:asl2.0))) - -(define-public rust-glutin-gles2-sys-0.1 - (package - (name "rust-glutin-gles2-sys") - (version "0.1.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "glutin_gles2_sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1pswvl5zyqmqwzjr674yzslj0al2xbqsp2ai9ggb9qbshlq6r6c9")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-objc" ,rust-objc-0.2) - ("rust-gl-generator" ,rust-gl-generator-0.11)))) - (home-page "https://github.com/tomaka/glutin") - (synopsis "The gles2 bindings for glutin") - (description "The gles2 bindings for glutin.") - (license license:asl2.0))) - -(define-public rust-glutin-glx-sys-0.1 - (package - (name "rust-glutin-glx-sys") - (version "0.1.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "glutin-glx-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0mxs3mil68xqqb49466n5rpwpcllj6fwqjgrcrzzmz26bv5ab40j")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-x11-dl" ,rust-x11-dl-2) - ("rust-gl-generator" ,rust-gl-generator-0.11)))) - (home-page "https://github.com/tomaka/glutin") - (synopsis "Glx bindings for glutin") - (description "The glx bindings for glutin.") - (license license:asl2.0))) - -(define-public rust-glutin-wgl-sys-0.1 +(define-public rust-globwalk-0.5 (package - (name "rust-glutin-wgl-sys") - (version "0.1.3") + (inherit rust-globwalk-0.8) + (name "rust-globwalk") + (version "0.5.0") (source (origin (method url-fetch) - (uri (crate-uri "glutin-wgl-sys" version)) + (uri (crate-uri "globwalk" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08chlfzpj59q36qm212i4k879gvjzha7i90q90fds8pw3v4vn0gq")))) - (build-system cargo-build-system) + "09axyql26s09z60sgi3y3lkin9swy2b5km3b0v6mm84xhlljxyl9")))) (arguments `(#:cargo-inputs - (("rust-gl-generator" ,rust-gl-generator-0.11)))) - (home-page "https://github.com/tomaka/glutin") - (synopsis "Wgl bindings for glutin") - (description "The wgl bindings for glutin.") - (license license:asl2.0))) - -(define-public rust-gobject-sys-0.9 - (package - (name "rust-gobject-sys") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "gobject-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1nakflbp3gjaas4fw7sn3p1p32khyfpcq1h06z7yqd10yq2ail9i")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Some test libraries not included in release. - #:cargo-inputs - (("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)) + (("rust-ignore" ,rust-ignore-0.4) + ("rust-walkdir" ,rust-walkdir-2)) #:cargo-development-inputs - (("rust-shell-words" ,rust-shell-words-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (inputs - `(("glib" ,glib))) - (home-page "http://gtk-rs.org/") - (synopsis "FFI bindings to libgobject-2.0") - (description "This package provides FFI bindings to libgobject-2.0.") - (license license:expat))) + (("rust-docmatic" ,rust-docmatic-0.1) + ("rust-tempdir" ,rust-tempdir-0.3)))))) (define-public rust-goblin-0.2 (package @@ -10284,29 +10591,6 @@ standard printing of search results, similar to grep itself.") "Fast line oriented regex searching as a library.") (license (list license:unlicense license:expat)))) -(define-public rust-gtk-rs-lgpl-docs-0.1 - (package - (name "rust-gtk-rs-lgpl-docs") - (version "0.1.15") - (source - (origin - (method url-fetch) - (uri (crate-uri "gtk-rs-lgpl-docs" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "06b1j64zg0xmhwfkyhzh3y0apclg6qihn3f7s1bd7kgjmkia4jlr")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-rustdoc-stripper" ,rust-rustdoc-stripper-0.1)))) - (home-page "https://gtk-rs.org/") - (synopsis "LGPL-licensed docs for Gtk-rs crates") - (description - "LGPL-licensed docs for Gtk-rs crates.") - (license license:lgpl2.0))) - (define-public rust-gzip-header-0.3 (package (name "rust-gzip-header") @@ -10323,7 +10607,7 @@ standard printing of search results, similar to grep itself.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2)))) + (("rust-crc32fast" ,rust-crc32fast-1)))) (home-page "https://github.com/oyvindln/gzip-header") (synopsis "Decoding and encoding the header part of gzip files") (description @@ -10331,8 +10615,53 @@ standard printing of search results, similar to grep itself.") of gzip files based on the gzip header implementation in the @code{flate2} crate.") (license (list license:expat license:asl2.0)))) +(define-public rust-h2-0.2 + (package + (name "rust-h2") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "h2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lvdrzn43iikl521dlrb7z96lsmy7l6nnm35ylf00q7dmq5rwgwr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-fnv" ,rust-fnv-1) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-util" ,rust-tokio-util-0.3) + ("rust-tracing" ,rust-tracing-0.1)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.5) + ("rust-hex" ,rust-hex-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.4) + ("rust-rand" ,rust-rand-0.3) + ("rust-rustls" ,rust-rustls-0.16) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.12) + ("rust-walkdir" ,rust-walkdir-1) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))) + (home-page "https://github.com/hyperium/h2") + (synopsis "HTTP/2.0 client and server") + (description "This package provides an HTTP/2.0 client and server.") + (license license:expat))) + (define-public rust-h2-0.1 (package + (inherit rust-h2-0.2) (name "rust-h2") (version "0.1.26") (source @@ -10342,11 +10671,10 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0qn457y8xh03p7c7cpk76r22gqpyqxc58g5022j3iya7d0j4rcx5")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ;; TODO missing indirect dependency #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-bytes" ,rust-bytes-0.4) ("rust-fnv" ,rust-fnv-1) ("rust-futures" ,rust-futures-0.1) @@ -10368,16 +10696,12 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate ("rust-tokio-rustls" ,rust-tokio-rustls-0.12) ("rust-walkdir" ,rust-walkdir-1) ("rust-webpki" ,rust-webpki-0.21) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))) - (home-page "https://github.com/hyperium/h2") - (synopsis "HTTP/2.0 client and server") - (description "This packages provides a HTTP/2.0 client and server.") - (license license:expat))) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) -(define-public rust-half-1.3 +(define-public rust-half-1 (package (name "rust-half") - (version "1.3.0") + (version "1.6.0") (source (origin (method url-fetch) @@ -10386,11 +10710,17 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0diqajg3mgar511hxswl4kgqqz9a026yvn3103x5h2smknlc4lwk")))) + "0xq1qkbfwnxv72b2fakgi5ai0j8arw38whwxgxs3rp1fz28anvyk")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs (("rust-serde" ,rust-serde-1)))) + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-quickcheck" ,rust-quickcheck-0.9) + ("rust-quickcheck-macros" ,rust-quickcheck-macros-0.9) + ("rust-rand" ,rust-rand-0.7) + ("rust-version-sync" ,rust-version-sync-0.8)))) (home-page "https://github.com/starkat99/half-rs") (synopsis "Half-precision floating point f16 type") (description @@ -10417,8 +10747,8 @@ IEEE 754-2008 binary16 type.") #:cargo-inputs (("rust-hashbrown" ,rust-hashbrown-0.5) ("rust-log" ,rust-log-0.4) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-quick-error" ,rust-quick-error-1.2) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) @@ -10436,8 +10766,90 @@ IEEE 754-2008 binary16 type.") the template engine that renders the official Rust website") (license license:expat))) +(define-public rust-hash32-0.1 + (package + (name "rust-hash32") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "hash32" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k7lv7hsbzv14pz90cxay6v7avh6d6kcrra0rsc45b33dvw1l16l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1)) + #:cargo-development-inputs + (("rust-hash32-derive" ,rust-hash32-derive-0.1)))) + (home-page "https://github.com/japaric/hash32") + (synopsis "32-bit hashing machinery") + (description "This package provides 32-bit hashing machinery.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-hash32-derive-0.1 + (package + (name "rust-hash32-derive") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hash32-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18lrlxycq45kaz0l688shxnhgh3ryjp3zn0n6vfcs5sa2nyyzh7b")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.3) + ("rust-quote" ,rust-quote-0.5) + ("rust-syn" ,rust-syn-0.13)))) + (home-page "https://github.com/japaric/hash32") + (synopsis "Macros 1.1 implementation of @code{#[derive(Hash32)]}") + (description "This package provides a macros 1.1 implementation of +@code{#[derive(Hash32)]}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-hashbrown-0.8 + (package + (name "rust-hashbrown") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hashbrown" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09y86zmf59n6ys9yf2bvg9ckwwa1ijv2i3flkz45iqkwfmh7i6xb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ahash" ,rust-ahash-0.3) + ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rayon" ,rust-rayon-1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-rand" ,rust-rand-0.7) + ("rust-rayon" ,rust-rayon-1) + ("rust-rustc-hash" ,rust-rustc-hash-1.0) + ("rust-serde-test" ,rust-serde-test-1)))) + (home-page "https://github.com/rust-lang/hashbrown") + (synopsis "Rust port of Google's SwissTable hash map") + (description "This package provides a Rust port of Google's SwissTable +hash map.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-hashbrown-0.5 (package + (inherit rust-hashbrown-0.8) (name "rust-hashbrown") (version "0.5.0") (source @@ -10449,39 +10861,63 @@ the template engine that renders the official Rust website") (sha256 (base32 "0lr3gsicplw7czapsscmii87hgzpvxf5ch92v7pi95xsipxl3pp1")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-rayon" ,rust-rayon-1) - ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1.0) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1) ("rust-rand" ,rust-rand-0.5) ("rust-rayon" ,rust-rayon-1) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) - ("rust-serde-test" ,rust-serde-test-1)))) - (home-page "https://github.com/rust-lang/hashbrown") - (synopsis "Rust port of Google's SwissTable hash map") - (description - "This package provides a Rust port of Google's SwissTable hash map.") - (license (list license:asl2.0 license:expat)))) + ("rust-rustc-hash" ,rust-rustc-hash-1) + ("rust-serde-test" ,rust-serde-test-1)))))) + +(define-public rust-heapless-0.5 + (package + (name "rust-heapless") + (version "0.5.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "heapless" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h1d6s1f9zn0rz2vkdn0b42kcnkmlpd90yhfyqqhpirv38ws5a3k")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-as-slice" ,rust-as-slice-0.1) + ("rust-generic-array" ,rust-generic-array-0.13) + ("rust-hash32" ,rust-hash32-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1) + ("rust-ufmt-write" ,rust-ufmt-write-0.1)) + #:cargo-development-inputs + (("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) + ("rust-ufmt" ,rust-ufmt-0.1)))) + (home-page "https://github.com/japaric/heapless") + (synopsis "@code{statice} friendly data structures") + (description "This package provides @code{static} friendly data structures +that don't require dynamic memory allocation.") + (license (list license:expat license:asl2.0)))) (define-public rust-heapsize-0.4 (package (name "rust-heapsize") (version "0.4.2") (source - (origin - (method url-fetch) - (uri (crate-uri "heapsize" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n")))) + (origin + (method url-fetch) + (uri (crate-uri "heapsize" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "0q94q9ppqjgrw71swiyia4hgby2cz6dldp7ij57nkvhd6zmfcy8n")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -10580,7 +11016,7 @@ consistent, and reasonably well performing.") #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-libc" ,rust-libc-0.2) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/hermitcore/rusty-hermit") (synopsis "Small interface to call functions from RustyHermit") (description @@ -10723,6 +11159,35 @@ compile time.") `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4)))))) +(define-public rust-hkdf-0.9 + (package + (name "rust-hkdf") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hkdf" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jdvmf8aadk3s0kn9kk3dj00nprjk9glks5f8dm55r43af34j4gy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-digest" ,rust-digest-0.9) + ("rust-hmac" ,rust-hmac-0.8)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-crypto-tests" ,rust-crypto-tests-0.5) + ("rust-hex" ,rust-hex-0.4) + ("rust-sha-1" ,rust-sha-1-0.9) + ("rust-sha2" ,rust-sha2-0.9)))) + (home-page "https://github.com/RustCrypto/KDFs/") + (synopsis "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)") + (description "This package provides a HMAC-based Extract-and-Expand Key +Derivation Function (HKDF).") + (license (list license:expat license:asl2.0)))) + (define-public rust-hmac-0.8 (package (name "rust-hmac") @@ -10900,7 +11365,7 @@ Hash-based Message Authentication Code}.") ("rust-indexmap" ,rust-indexmap-1) ("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-rand" ,rust-rand-0.7) - ("rust-seahash" ,rust-seahash-3.0) + ("rust-seahash" ,rust-seahash-3) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://github.com/hyperium/http") @@ -10931,7 +11396,7 @@ requests and responses.") (("rust-indexmap" ,rust-indexmap-1) ("rust-quickcheck" ,rust-quickcheck-0.6) ("rust-rand" ,rust-rand-0.4) - ("rust-seahash" ,rust-seahash-3.0) + ("rust-seahash" ,rust-seahash-3) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)))))) @@ -11003,7 +11468,7 @@ or response body.") "Simple and lightweight HTTP client with built-in HTTPS support.") (license license:expat))) -(define-public rust-httparse-1.3 +(define-public rust-httparse-1 (package (name "rust-httparse") (version "1.3.3") @@ -11027,6 +11492,25 @@ or response body.") "This package provides a tiny, safe, speedy, zero-copy HTTP/1.x parser.") (license (list license:asl2.0 license:expat)))) +(define-public rust-humansize-1 + (package + (name "rust-humansize") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "humansize" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0piadmwjah1jv6q288im4za9szlgalzjyq2811w35i6gg9ib5jmn")))) + (build-system cargo-build-system) + (home-page "https://github.com/LeopoldArkham/humansize") + (synopsis "Represent file sizes in a human-readable format") + (description "This package provides a configurable crate to easily +represent file sizes in a human-readable format.") + (license (list license:expat license:asl2.0)))) + (define-public rust-humantime-2 (package (name "rust-humantime") @@ -11077,8 +11561,59 @@ SystemTime}}.") ("rust-rand" ,rust-rand-0.4) ("rust-time" ,rust-time-0.1)))))) +(define-public rust-hyper-0.13 + (package + (name "rust-hyper") + (version "0.13.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1symcnba2y03b8lj6xp2wd994lk3xyk3wizacjg5s60njzfshs1y")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-channel" ,rust-futures-channel-0.3) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-h2" ,rust-h2-0.2) + ("rust-http" ,rust-http-0.2) + ("rust-http-body" ,rust-http-body-0.3) + ("rust-httparse" ,rust-httparse-1) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-socket2" ,rust-socket2-0.3) + ("rust-time" ,rust-time-0.1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tower-service" ,rust-tower-service-0.3) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-want" ,rust-want-0.3)) + #:cargo-development-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-matches" ,rust-matches-0.1) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-spmc" ,rust-spmc-0.3) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tokio-util" ,rust-tokio-util-0.3) + ("rust-tower-util" ,rust-tower-util-0.3) + ("rust-url" ,rust-url-1)))) + (home-page "https://hyper.rs") + (synopsis "Fast and correct HTTP library.") + (description "This package provides a fast and correct HTTP library.") + (license license:expat))) + (define-public rust-hyper-0.12 (package + (inherit rust-hyper-0.13) (name "rust-hyper") (version "0.12.35") (source @@ -11088,7 +11623,6 @@ SystemTime}}.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1xnm8zi4bdjqhlnx3238kx8yjf29jjd1ww54apcql7wf8g8nxglx")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ;; fails due to some missing example file #:cargo-inputs @@ -11098,7 +11632,7 @@ SystemTime}}.") ("rust-h2" ,rust-h2-0.1) ("rust-http" ,rust-http-0.1) ("rust-http-body" ,rust-http-body-0.1) - ("rust-httparse" ,rust-httparse-1.3) + ("rust-httparse" ,rust-httparse-1) ("rust-iovec" ,rust-iovec-0.1) ("rust-itoa" ,rust-itoa-0.4) ("rust-log" ,rust-log-0.4) @@ -11124,23 +11658,55 @@ SystemTime}}.") ("rust-spmc" ,rust-spmc-0.3) ("rust-tokio-fs" ,rust-tokio-fs-0.1) ("rust-tokio-mockstream" ,rust-tokio-mockstream-1) - ("rust-url" ,rust-url-1.7)))) - (home-page "https://hyper.rs") - (synopsis "Fast and correct HTTP library") - (description "This package provides a fast and correct HTTP library.") - (license license:expat)) ) + ("rust-url" ,rust-url-1)))))) -(define-public rust-hyper-tls-0.3 +(define-public rust-hyper-rustls-0.21 + (package + (name "rust-hyper-rustls") + (version "0.21.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dmbj15fx6qyg26hji2jm7q9y383090jy3z9zjn5xs4f7v43qx1p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-ct-logs" ,rust-ct-logs-0.7) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.4) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.14) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/ctz/hyper-rustls") + (synopsis "Rustls+hyper integration for pure rust HTTPS") + (description "This package provides Rustls+hyper integration for pure rust +HTTPS.") + (license + (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-hyper-tls-0.4 (package (name "rust-hyper-tls") - (version "0.3.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (crate-uri "hyper-tls" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0kqp4sz8613j6nv375wfj3gh95ff4nb6a3rb1f2vbx0almm0v01s")))) + (base32 + "1vcfyz7dxavf4brns15afmj5fxz88lbn05rrpbfqsnybdp2sqyfr")))) (build-system cargo-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -11148,17 +11714,40 @@ SystemTime}}.") `(("openssl" ,openssl))) (arguments `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-tls" ,rust-tokio-tls-0.3)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://hyper.rs") + (synopsis "Default TLS implementation for use with hyper") + (description "This package provides the default TLS implementation for use +with hyper.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-hyper-tls-0.3 + (package + (inherit rust-hyper-tls-0.4) + (name "rust-hyper-tls") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "hyper-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0kqp4sz8613j6nv375wfj3gh95ff4nb6a3rb1f2vbx0almm0v01s")))) + (arguments + `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.4) ("rust-futures" ,rust-futures-0.1) ("rust-hyper" ,rust-hyper-0.12) ("rust-native-tls" ,rust-native-tls-0.2) ("rust-tokio-io" ,rust-tokio-io-0.1)) #:cargo-development-inputs - (("rust-tokio" ,rust-tokio-0.1)))) - (home-page "https://hyper.rs") - (synopsis "Default TLS implementation for use with hyper") - (description "Default TLS implementation for use with hyper") - (license (list license:expat license:asl2.0)))) + (("rust-tokio" ,rust-tokio-0.1)))))) (define-public rust-ident-case-1 (package @@ -11233,6 +11822,25 @@ SystemTime}}.") (("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-rustc-test" ,rust-rustc-test-0.3)))))) +(define-public rust-if-chain-1 + (package + (name "rust-if-chain") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "if_chain" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zgcn31bahnsmsjc0cgk0cy38p8sfjs79yvi6rjs5zz5b5xhqdn3")))) + (build-system cargo-build-system) + (home-page "https://github.com/lfairy/if_chain") + (synopsis "Macro for writing nested @code{if let} expressions") + (description "This package provides a macro for writing nested @code{if +let} expressions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ignore-0.4 (package (name "rust-ignore") @@ -11268,140 +11876,6 @@ SystemTime}}.") ignore files such as .gitignore against file paths.") (license (list license:unlicense license:expat)))) -(define-public rust-image-0.23 - (package - (name "rust-image") - (version "0.23.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "image" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1d2a80k7pwqshliqi5fw1dwkz7q9zd6pjnwpw8zxc1v4xhzmbc5m")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Some test images are missing from the release. - #:cargo-inputs - (("rust-bytemuck" ,rust-bytemuck-1) - ("rust-byteorder" ,rust-byteorder-1.3) - ("rust-gif" ,rust-gif-0.10) - ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) - ("rust-num-iter" ,rust-num-iter-0.1) - ("rust-num-rational" ,rust-num-rational-0.3) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-png" ,rust-png-0.16) - ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) - ("rust-tiff" ,rust-tiff-0.5)) - #:cargo-development-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2) - ("rust-criterion" ,rust-criterion-0.3) - ("rust-glob" ,rust-glob-0.3) - ("rust-num-complex" ,rust-num-complex-0.3) - ("rust-quickcheck" ,rust-quickcheck-0.9)))) - (home-page "https://github.com/image-rs/image") - (synopsis "Imaging library written in Rust") - (description - "Imaging library written in Rust. Provides basic filters and decoders -for the most common image formats.") - (license license:expat))) - -(define-public rust-image-0.22 - (package - (inherit rust-image-0.23) - (name "rust-image") - (version "0.22.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "image" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0jpbd0p1q7xx6395ba9ikz2k4cfp26qczisa8m2v15w3hzd2mv88")))) - (arguments - `(#:tests? #f ; Some test images are missing from the release. - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-gif" ,rust-gif-0.10) - ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) - ("rust-num-iter" ,rust-num-iter-0.1) - ("rust-num-rational" ,rust-num-rational-0.2) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-png" ,rust-png-0.15) - ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) - ("rust-tiff" ,rust-tiff-0.3)) - #:cargo-development-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2) - ("rust-glob" ,rust-glob-0.3) - ("rust-num-complex" ,rust-num-complex-0.2) - ("rust-quickcheck" ,rust-quickcheck-0.9)))))) - -(define-public rust-image-0.21 - (package - (inherit rust-image-0.22) - (name "rust-image") - (version "0.21.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "image" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1sv534xp8yyn7jj0q6yn2bgng1350f962g81sv8v7c6pgi31wdrm")))) - (arguments - `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-gif" ,rust-gif-0.10) - ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) - ("rust-lzw" ,rust-lzw-0.10) - ("rust-num-iter" ,rust-num-iter-0.1) - ("rust-num-rational" ,rust-num-rational-0.2) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-png" ,rust-png-0.14) - ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) - ("rust-tiff" ,rust-tiff-0.2)) - #:cargo-development-inputs - (("rust-glob" ,rust-glob-0.3) - ("rust-num-complex" ,rust-num-complex-0.2) - ("rust-quickcheck" ,rust-quickcheck-0.6)))))) - -(define-public rust-image-0.20 - (package - (inherit rust-image-0.21) - (name "rust-image") - (version "0.20.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "image" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "01058n0jcw25pq5shn7lkvywv8c28xsxb3nwwyb4r16ijm1mnrj4")))) - (arguments - `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-gif" ,rust-gif-0.10) - ("rust-jpeg-decoder" ,rust-jpeg-decoder-0.1) - ("rust-lzw" ,rust-lzw-0.10) - ("rust-num-iter" ,rust-num-iter-0.1) - ("rust-num-rational" ,rust-num-rational-0.2) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-png" ,rust-png-0.12) - ("rust-scoped-threadpool" ,rust-scoped-threadpool-0.1) - ("rust-tiff" ,rust-tiff-0.2)) - #:cargo-development-inputs - (("rust-glob" ,rust-glob-0.2) - ("rust-num-complex" ,rust-num-complex-0.2) - ("rust-quickcheck" ,rust-quickcheck-0.6)))))) - (define-public rust-indexmap-1 (package (name "rust-indexmap") @@ -11461,6 +11935,31 @@ or numerical index. A corresponding hash set type is also provided.") (description "This package provides DEFLATE decoding.") (license license:expat))) +(define-public rust-inflector-0.11 + (package + (name "rust-inflector") + (version "0.11.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "Inflector" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lqmcni21ifzyq41fhz6k1j2b23cmsx469s4g4sf01l78miqqhzy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-1)))) + (home-page "https://github.com/whatisinternet/inflector") + (synopsis "String based inflections for Rust") + (description "This package adds String based inflections for Rust. Snake, +kebab, camel, sentence, class, title and table cases as well as ordinalize, +deordinalize, demodulize, foreign key, and pluralize/singularize are supported +as both traits and pure functions acting on String types.") + (license license:bsd-2))) + (define-public rust-inotify-0.7 (package (name "rust-inotify") @@ -11541,8 +12040,40 @@ in Rust.") "This package provides inotify bindings for the Rust programming language.") (license license:isc))) +(define-public rust-insta-0.16 + (package + (name "rust-insta") + (version "0.16.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "insta" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vhqlirp75nx8qalz87qk2wjs7mzwxww0n09n2ircgw1phd94zk1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-console" ,rust-console-0.11) + ("rust-difference" ,rust-difference-2) + ("rust-globwalk" ,rust-globwalk-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) + ("rust-ron" ,rust-ron-0.5) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.8)))) + (home-page "https://github.com/mitsuhiko/insta") + (synopsis "Snapshot testing library for Rust") + (description "This package provides a snapshot testing library for Rust.") + (license license:asl2.0))) + (define-public rust-insta-0.8 (package + (inherit rust-insta-0.16) (name "rust-insta") (version "0.8.1") (source @@ -11554,33 +12085,27 @@ in Rust.") (sha256 (base32 "17rvqw9xm61prncbqi3cplphr3l2dl85sljdpyr3fz2mqjgbdfwb")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) ("rust-ci-info" ,rust-ci-info-0.3) ("rust-console" ,rust-console-0.7) - ("rust-difference" ,rust-difference-2.0) + ("rust-difference" ,rust-difference-2) ("rust-failure" ,rust-failure-0.1) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-ron" ,rust-ron-0.4) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-serde-yaml" ,rust-serde-yaml-0.8) - ("rust-uuid" ,rust-uuid-0.7)))) - (home-page "https://github.com/mitsuhiko/insta") - (synopsis "Snapshot testing library for Rust") - (description - "This package provides a snapshot testing library for Rust.") - (license license:asl2.0))) + ("rust-uuid" ,rust-uuid-0.7)))))) (define-public rust-instant-0.1 (package (name "rust-instant") - (version "0.1.2") + (version "0.1.4") (source (origin (method url-fetch) @@ -11589,13 +12114,15 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1bwca9fr29a1pyimfl94q6m6k2l57ljw1hhhvjafzs1zkqlnqd3c")))) + "10k1170waz1na056wvjvkps3lz28z9pc8kp8vpy4kpp53i5a4xvp")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Issue during the wasm test. #:cargo-inputs - (("rust-stdweb" ,rust-stdweb-0.4) + (("rust-js-sys" ,rust-js-sys-0.3) + ("rust-stdweb" ,rust-stdweb-0.4) ("rust-time" ,rust-time-0.1) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-web-sys" ,rust-web-sys-0.3)) #:cargo-development-inputs (("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) @@ -11702,6 +12229,147 @@ immutable interval tree.") (license (list license:asl2.0 license:expat)))) +(define-public rust-ipconfig-0.2 + (package + (name "rust-ipconfig") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ipconfig" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mzsagc6bk3i3fpggqlq8am5rxn4hgs297rsaya90w79xj5g3qpp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-socket2" ,rust-socket2-0.3) + ("rust-widestring" ,rust-widestring-0.4) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winreg" ,rust-winreg-0.6)))) + (home-page "https://github.com/liranringel/ipconfig") + (synopsis "Get network adapters and configuration information for Windows") + (description "This package lets you get network adapters information and +network configuration for Windows.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-is-macro-0.1 + (package + (name "rust-is-macro") + (version "0.1.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "is-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vjh4sdpvx1kdf1znyk3b54gkyk7f8lsasc47ypkksp3r4ypz004")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-inflector" ,rust-inflector-0.11) + ("rust-pmutil" ,rust-pmutil-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/kdy1/is-macro") + (synopsis "Create methods to use custom enum like Option/Result") + (description "This package lets you easily create methods to use a custom +enum like Option/Result.") + (license license:expat))) + +(define-public rust-ipnet-2 + (package + (name "rust-ipnet") + (version "2.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ipnet" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0db147nh8jnxr23yxa7hwqn7dcjivdqi3aq4mgf2zgkqqqa2zgj7")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-test" ,rust-serde-test-1)))) + (home-page "https://github.com/krisprice/ipnet") + (synopsis "Work with IPv4 and IPv6 network addresses") + (description "This package provides types and useful methods for working +with IPv4 and IPv6 network addresses, commonly called IP prefixes. The new +IpNet, Ipv4Net, and Ipv6Net types build on the existing IpAddr, Ipv4Addr, and +Ipv6Addr types already provided in Rust's standard library and align to their +design to stay consistent. The module also provides useful traits that extend +Ipv4Addr and Ipv6Addr with methods for Add, Sub, BitAnd, and BitOr operations. +The module only uses stable feature so it is guaranteed to compile using the +stable toolchain.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ipnetwork-0.17 + (package + (name "rust-ipnetwork") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ipnetwork" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sviri9ksb3cmhx3h0rcfy8pvpx7f0cx5ba1z87ydvf07amymhq2")))) + (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)))) + (home-page "https://crates.io/crates/ipnetwork") + (synopsis "Work with IP CIDRs in Rust") + (description "This package provides a library to work with IP CIDRs in +Rust.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-is-executable + (package + (name "rust-is-executable") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "is_executable" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xy516afjh79a0d53j9v4w5mgi2s0r6f6qynnyz8g0dwi8xmab9h")))) + (build-system cargo-build-system) + (arguments + `(;; One test tries to invoke 'cargo readme' which does not exist and aborts. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-test + (lambda _ + (substitute* "tests/tests.rs" + (("panic!\\(\"Run `cargo readme > README.md` to update README.md\"\\)") + "return;")) + #t))) + #:cargo-inputs + (("rust-diff" ,rust-diff-0.1) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/fitzgen/is_executable") + (synopsis "Find executable files at path") + (description + "This package provides a small helper function which determines +whether or not a given path points to an executable file.") + (license (list license:expat license:asl2.0)))) + (define-public rust-iso8601-0.1 (package (name "rust-iso8601") @@ -11741,7 +12409,7 @@ immutable interval tree.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3) ("rust-permutohedron" ,rust-permutohedron-0.2) @@ -11779,7 +12447,7 @@ immutable interval tree.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-permutohedron" ,rust-permutohedron-0.2) ("rust-quickcheck" ,rust-quickcheck-0.7) @@ -11800,7 +12468,7 @@ immutable interval tree.") "03cpsj26xmyamcalclqzr1i700vwx8hnbgxbpjvs354f8mnr8iqd")))) (arguments `(#:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-permutohedron" ,rust-permutohedron-0.2) ("rust-quickcheck" ,rust-quickcheck-0.5)))))) @@ -11821,7 +12489,7 @@ immutable interval tree.") (arguments `(#:tests? #f ; Tests fail to compile #:cargo-inputs - (("rust-either" ,rust-either-1.5)) + (("rust-either" ,rust-either-1)) #:cargo-development-inputs (("rust-permutohedron" ,rust-permutohedron-0.2) ("rust-quickcheck" ,rust-quickcheck-0.4)))))) @@ -12070,34 +12738,6 @@ primitives to an @code{io::Write}.") "An implementation of the GNU make jobserver for Rust.") (license (list license:expat license:asl2.0)))) -(define-public rust-jpeg-decoder-0.1 - (package - (name "rust-jpeg-decoder") - (version "0.1.18") - (source - (origin - (method url-fetch) - (uri (crate-uri "jpeg-decoder" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0lc428qgffh2a1agkq0p26mvf9rjaiswpywy5883j99mqypg0mh2")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Some test files missing. - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-rayon" ,rust-rayon-1)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-png" ,rust-png-0.14) - ("rust-walkdir" ,rust-walkdir-2)))) - (home-page "https://github.com/image-rs/jpeg-decoder") - (synopsis "JPEG decoder") - (description "JPEG decoder written in Rust.") - (license (list license:expat license:asl2.0)))) - (define-public rust-js-sys-0.3 (package (name "rust-js-sys") @@ -12220,6 +12860,74 @@ currently supports parsing (fully conformant parser), formatting and comparing language tags.") (license license:expat))) +(define-public rust-lab-0.8 + (package + (name "rust-lab") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "lab" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ysnbviwi35mq6xyz9c59mpgigyfp4s4y2mispxzrms4vk83bx15")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) + ("rust-rand" ,rust-rand-0.5)))) + (home-page "https://github.com/TooManyBees/lab") + (synopsis "Convert RGB to CIE-LAB for Rust") + (description + "This package contains tools for converting RGB colors to the CIE-LAB color +space, and comparing differences in color.") + (license license:expat))) + +(define-public rust-lab-0.7 + (package + (inherit rust-lab-0.8) + (name "rust-lab") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "lab" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0g692d489lq01pv3mzfhxd98j0r22lw28l6bk112m74djlfzxdmw")))) + (arguments + `(#:tests? #f ; test suite assumes avx2 support + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) + ("rust-rand" ,rust-rand-0.5)))))) + +(define-public rust-lab-0.4 + (package + (inherit rust-lab-0.8) + (name "rust-lab") + (version "0.4.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "lab" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h4ig5bvzmwlzd74zj7b4sh7kzi3c6mjjnw7yjz8ijxvr4mrcr1s")))) + (arguments + `(#:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3)))))) + (define-public rust-lalrpop-0.17 (package (name "rust-lalrpop") @@ -12363,7 +13071,7 @@ requires non-const function calls to be computed.") "05vl1h4b0iv800grsdyc3fg2bq29p70wjav6zpjvxxd5i8d6s66g")))) (arguments '()))) -(define-public rust-lazycell-1.2 +(define-public rust-lazycell-1 (package (name "rust-lazycell") (version "1.2.1") @@ -12463,7 +13171,7 @@ requires non-const function calls to be computed.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + (("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 @@ -12498,21 +13206,92 @@ values of all the exported APIs match the platform that libc is compiled for.") macros on libc without stdlib.") (license (list license:asl2.0 license:expat)))) +(define-public rust-libflate-1 + (package + (name "rust-libflate") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "libflate" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jarv5ildsm0ci4prd4gz7fqypifhp9xk34z9w49rchx7q1ckfp9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-adler32" ,rust-adler32-1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-libflate-lz77" ,rust-libflate-lz77-1) + ("rust-rle-decode-fast" ,rust-rle-decode-fast-1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2)))) + (home-page "https://github.com/sile/libflate") + (synopsis "DEFLATE algorithm and related formats (ZLIB, GZIP)") + (description "This package provides a Rust implementation of DEFLATE +algorithm and related formats (ZLIB, GZIP).") + (license license:expat))) + +(define-public rust-libflate-0.1 + (package + (inherit rust-libflate-1) + (name "rust-libflate") + (version "0.1.27") + (source + (origin + (method url-fetch) + (uri (crate-uri "libflate" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p8z839c5lpl0g01mf8iglys9lgcjxw6xjw56crhwp8z7gs5s4yr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-adler32" ,rust-adler32-1) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-rle-decode-fast" ,rust-rle-decode-fast-1) + ("rust-take-mut" ,rust-take-mut-0.2)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2)))))) + +(define-public rust-libflate-lz77-1 + (package + (name "rust-libflate-lz77") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "libflate_lz77" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06xir79gmp97mdnlnjclk5zlzgkf5s6qvwilcd4gq9j9gngz11ij")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-libflate" ,rust-libflate-0.1)))) + (home-page "https://github.com/sile/libflate") + (synopsis "LZ77 encoder for libflate crate") + (description "This package provides a LZ77 encoder for libflate crate.") + (license license:expat))) + (define-public rust-libgit2-sys-0.10 (package (name "rust-libgit2-sys") (version "0.10.0") (source - (origin - (method url-fetch) - (uri (crate-uri "libgit2-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0l9fvki7qxsl97vgzqwlv75nl213a5vxw7b1jaik97ala356pv6r")) - (modules '((guix build utils))) - (snippet - '(begin (delete-file-recursively "libgit2") #t)))) + (origin + (method url-fetch) + (uri (crate-uri "libgit2-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0l9fvki7qxsl97vgzqwlv75nl213a5vxw7b1jaik97ala356pv6r")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "libgit2") #t)))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -12585,6 +13364,39 @@ macros on libc without stdlib.") ("rust-cc" ,rust-cc-1) ("rust-pkg-config" ,rust-pkg-config-0.3)))))) +(define-public rust-libloading-0.6 + (package + (name "rust-libloading") + (version "0.6.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "libloading" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ygliqa518jjxwa5ih4b2f8m984ib596vxmjb28pa5lb8zqdhhr4")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Enable unstable features + (substitute* "src/lib.rs" + (("//! A memory" all) + (string-append "#![feature(non_exhaustive)]\n" all))))))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-static-assertions" ,rust-static-assertions-1)))) + (home-page "https://github.com/nagisa/rust_libloading/") + (synopsis "Safer binding to dynamic library loading utilities") + (description "This package provides a safer binding to dynamic library +loading utilities.") + (license license:isc))) + (define-public rust-libloading-0.5 (package (name "rust-libloading") @@ -12674,6 +13486,31 @@ functions and static variables these libraries contain.") (base32 "16pc0gx4gkg0q2s1ssq8268brn14j8344623vwhadmivc4lsmivz")))))) +(define-public rust-libmimalloc-sys-0.1 + (package + (name "rust-libmimalloc-sys") + (version "0.1.18") + (source + (origin + (method url-fetch) + (uri (crate-uri "libmimalloc-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bbm03687j9fspvk6nqspmjlvchlvbxydl0mrc1x9i1k6kqiy5c2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cty" ,rust-cty-0.2) + ("rust-cmake" ,rust-cmake-0.1)))) + (native-inputs + `(("cmake" ,cmake-minimal))) + (home-page "https://github.com/purpleprotocol/mimalloc_rust") + (synopsis "Sys crate wrapping the mimalloc allocator") + (description "This package provides a sys crate wrapping the mimalloc +allocator.") + (license license:expat))) + (define-public rust-libnghttp2-sys-0.1 (package (name "rust-libnghttp2-sys") @@ -12779,36 +13616,6 @@ known as zlib).") (license (list license:asl2.0 license:expat)))) -(define-public rust-line-drawing-0.7 - (package - (name "rust-line-drawing") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "line_drawing" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1fcna7hq1g1kkkqy07hydscx5d2zgb6gskz3vnsvsif8h8ysvisw")))) - (build-system cargo-build-system) - (arguments - ;; This version does not specify any versions on dependants. - `(#:tests? #f ; Cannot compile line_drawing for the test suite. - #:cargo-inputs - (("rust-num-traits" ,rust-num-traits-0.2)) - #:cargo-development-inputs - (("rust-bresenham" ,rust-bresenham-0.1) - ("rust-image" ,rust-image-0.22) ; 0.17? - ("rust-rand" ,rust-rand-0.6)))) - (home-page "https://github.com/expenses/line_drawing") - (synopsis "Collection of line-drawing algorithms") - (description - "This package provides a collection of line-drawing algorithms for use in -graphics and video games.") - (license license:expat))) - (define-public rust-line-wrap-0.1 (package (name "rust-line-wrap") @@ -13018,32 +13825,45 @@ by inspecting the system for user preference.") ("rust-regex" ,rust-regex-1) ("rust-winapi" ,rust-winapi-0.3)))))) -(define-public rust-lock-api-0.3 +(define-public rust-lock-api-0.4 (package (name "rust-lock-api") - (version "0.3.4") + (version "0.4.1") (source (origin (method url-fetch) (uri (crate-uri "lock_api" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xgc5dzmajh0akbh5d6d7rj9mh5rzpk74pyrc946v2ixgakj9nn4")))) + "0716z2rs0kydmd1818kqp4641dfkqzr0rpbnrpxhabxylp2pq918")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-owning-ref" ,rust-owning-ref-0.4) - ("rust-scopeguard" ,rust-scopeguard-1.0) + ("rust-scopeguard" ,rust-scopeguard-1) ("rust-serde" ,rust-serde-1)))) (home-page "https://github.com/Amanieu/parking_lot") - (synopsis - "Wrappers to create fully-featured Mutex and RwLock types") - (description - "This package provides wrappers to create fully-featured @code{Mutex} and -@code{RwLock} types. It is compatible with @code{no_std}.") - (license (list license:expat license:asl2.0)))) + (synopsis "Wrappers to create fully-featured Mutex and RwLock types") + (description "This package provides wrappers to create fully-featured +@code{Mutex} and @code{RwLock} types. It is compatible with @code{no_std}.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-lock-api-0.3 + (package + (inherit rust-lock-api-0.4) + (name "rust-lock-api") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "lock_api" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xgc5dzmajh0akbh5d6d7rj9mh5rzpk74pyrc946v2ixgakj9nn4")))) + (build-system cargo-build-system))) (define-public rust-lock-api-0.2 (package @@ -13192,6 +14012,41 @@ by inspecting the system for user preference.") ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1)))))) +(define-public rust-lopdf-0.25 + (package + (name "rust-lopdf") + (version "0.25.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "lopdf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yb4yj1a8a88w78hz9msg65xbkyx5n4d9gm1xb2c67zaj1xvyw1i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-dtoa" ,rust-dtoa-0.4) + ("rust-encoding" ,rust-encoding-0.2) + ("rust-flate2" ,rust-flate2-1) + ("rust-image" ,rust-image-0.20) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-linked-hash-map" ,rust-linked-hash-map-0.4) + ("rust-log" ,rust-log-0.4) + ("rust-lzw" ,rust-lzw-0.10) + ("rust-nom" ,rust-nom-5) + ("rust-pom" ,rust-pom-3) + ("rust-rayon" ,rust-rayon-1) + ("rust-time" ,rust-time-0.1)))) + (home-page "https://github.com/J-F-Liu/lopdf") + (synopsis "Rust library for PDF document manipulation") + (description + "This package provides a Rust library for PDF document manipulation.") + (license license:expat))) + (define-public rust-lru-cache-0.1 (package (name "rust-lru-cache") @@ -13254,58 +14109,6 @@ key-value pairs.") (base32 "0jxsgkn378kxkiqdshdjdclw5wwp2xaz45cqd3yw85fhn8a38fza")))))) -(define-public rust-lyon-geom-0.14 - (package - (name "rust-lyon-geom") - (version "0.14.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "lyon_geom" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "178z4cqqmyw0rsabbgx9phkjxjzcnq0604062lqjlq87k063216a")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-num-traits" ,rust-num-traits-0.2) - ("rust-euclid" ,rust-euclid-0.20) - ("rust-arrayvec" ,rust-arrayvec-0.4) - ("rust-serde" ,rust-serde-1)))) - (home-page "https://github.com/nical/lyon") - (synopsis "2D graphics rendering on the GPU using tessellation") - (description - "This package provides 2D graphics rendering on the GPU using tessellation.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-lyon-path-0.14 - (package - (name "rust-lyon-path") - (version "0.14.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "lyon_path" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0qk8x46w0sf6j04l6gvhgn9kr4ymcqkmkh67w8wqahm54jn5gjqb")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-lyon-geom" ,rust-lyon-geom-0.14) - ("rust-serde" ,rust-serde-1)))) - (home-page "https://github.com/nical/lyon") - (synopsis "Types and utilities to store, build and iterate over 2D paths") - (description - "Types and utilities to store, build and iterate over 2D paths.") - (license (list license:expat license:asl2.0)))) - (define-public rust-lzma-sys-0.1 (package (name "rust-lzma-sys") @@ -13767,10 +14570,10 @@ compression function.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-memmap" ,rust-memmap-0.7) ("rust-parking-lot" ,rust-parking-lot-0.9) - ("rust-rustc-hash" ,rust-rustc-hash-1.1)))) + ("rust-rustc-hash" ,rust-rustc-hash-1)))) (home-page "https://github.com/rust-lang/measureme") (synopsis "Support crate for rustc's self-profiling feature") (description @@ -14031,6 +14834,28 @@ for Rust structs.") (description "Rust bindings for Metal.") (license (list license:expat license:asl2.0)))) +(define-public rust-mimalloc-0.1 + (package + (name "rust-mimalloc") + (version "0.1.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "mimalloc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x74b6jv6pxfl6bh44bnch6ajm3l5z3zq8w8mqlscbq8d77rnx80")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libmimalloc-sys" ,rust-libmimalloc-sys-0.1)))) + (home-page "https://crates.io/crates/mimalloc") + (synopsis "Performance and security oriented drop-in allocator") + (description "This package provides a performance and security oriented +drop-in allocator.") + (license license:expat))) + (define-public rust-mime-0.3 (package (name "rust-mime") @@ -14052,6 +14877,32 @@ for Rust structs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-mime-guess-2 + (package + (name "rust-mime-guess") + (version "2.0.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "mime_guess" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04pjpbl90z4yn0cmifvwgf4mqznciw6b095k626q96bxx71d9116")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-mime" ,rust-mime-0.3) + ("rust-unicase" ,rust-unicase-2)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-unicase" ,rust-unicase-2)))) + (home-page "https://github.com/abonander/mime_guess") + (synopsis "Detect a file's MIME type by its extension") + (description "This package provides a simple crate for detection of a +file's MIME type by its extension.") + (license license:expat))) + (define-public rust-miniz-oxide-0.3 (package (name "rust-miniz-oxide") @@ -14108,7 +14959,7 @@ streaming API for miniz_oxide.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2) + (("rust-crc32fast" ,rust-crc32fast-1) ("rust-libc" ,rust-libc-0.2) ("rust-miniz-oxide" ,rust-miniz-oxide-0.2)) #:cargo-development-inputs @@ -14245,7 +15096,7 @@ drop-in replacement for miniz.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-lazycell" ,rust-lazycell-1.2) + (("rust-lazycell" ,rust-lazycell-1) ("rust-log" ,rust-log-0.4) ("rust-mio" ,rust-mio-0.6) ("rust-slab" ,rust-slab-0.4)))) @@ -14409,6 +15260,59 @@ checking.") "Chaining APIs for both self -> Self and &mut self methods.") (license license:expat))) +(define-public rust-multi-default-trait-impl-0.1 + (package + (name "rust-multi-default-trait-impl") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "multi-default-trait-impl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r6y5zb6kg655zi02yk4amkwsgds5ay9ag1dk30cls7rn3dlvvqs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/hainish/multi-default-trait-impl") + (synopsis "Define multiple implementations of trait") + (description + "This library contains two attribute macros: @code{default_trait_impl} +which defines a default trait implementation, and @code{trait_impl} which uses +a default trait implementation you've defined.") + (license license:lgpl2.1+))) + +(define-public rust-mysqlclient-sys-0.2 + (package + (name "rust-mysqlclient-sys") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "mysqlclient-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "11ggkcbfnmp81amc9g0j98dk17fnmqcp9smgm9w401286kckg5ky")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) + (native-inputs + `(("mariadb" ,mariadb "lib"))) + (home-page "https://github.com/sgrif/mysqlclient-sys") + (synopsis "Auto-generated rust bindings for libmysqlclient") + (description "This package provides auto-generated rust bindings for +libmysqlclient.") + (license (list license:expat license:asl2.0)))) + (define-public rust-nasm-rs-0.1 (package (name "rust-nasm-rs") @@ -14432,10 +15336,10 @@ checking.") (description "Run NASM during your Cargo build.") (license (list license:expat license:asl2.0)))) -(define-public rust-nalgebra-0.19 +(define-public rust-nalgebra-0.21 (package (name "rust-nalgebra") - (version "0.19.0") + (version "0.21.1") (source (origin (method url-fetch) @@ -14444,7 +15348,7 @@ checking.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0i87k57nav221lnr9z7ljlwxh8073qsx33bajdm146y00q805fqa")))) + "11ili22n4ffgcjbgvbjqmpbd67qrl2acqbpymg6z7d2h7my19dnn")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -14457,16 +15361,18 @@ checking.") ("rust-num-complex" ,rust-num-complex-0.2) ("rust-num-rational" ,rust-num-rational-0.2) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-quickcheck" ,rust-quickcheck-0.9) ("rust-rand" ,rust-rand-0.7) ("rust-rand-distr" ,rust-rand-distr-0.2) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-simba" ,rust-simba-0.1) ("rust-typenum" ,rust-typenum-1)) #:cargo-development-inputs - (("rust-rand-xorshift" ,rust-rand-xorshift-0.2) + (("rust-rand-isaac" ,rust-rand-isaac-0.2) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.2) ("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://nalgebra.org") (synopsis "Linear algebra library") @@ -14475,6 +15381,43 @@ checking.") statically-sized or dynamically-sized matrices.") (license license:bsd-3))) +(define-public rust-nalgebra-0.19 + (package + (inherit rust-nalgebra-0.21) + (name "rust-nalgebra") + (version "0.19.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nalgebra" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0i87k57nav221lnr9z7ljlwxh8073qsx33bajdm146y00q805fqa")))) + (arguments + `(#:cargo-inputs + (("rust-abomonation" ,rust-abomonation-0.7) + ("rust-alga" ,rust-alga-0.9) + ("rust-approx" ,rust-approx-0.3) + ("rust-generic-array" ,rust-generic-array-0.13) + ("rust-matrixmultiply" ,rust-matrixmultiply-0.2) + ("rust-mint" ,rust-mint-0.5) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) + ("rust-quickcheck" ,rust-quickcheck-0.9) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand-distr" ,rust-rand-distr-0.2) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-typenum" ,rust-typenum-1)) + #:cargo-development-inputs + (("rust-rand-xorshift" ,rust-rand-xorshift-0.2) + ("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-nalgebra-0.18 (package (inherit rust-nalgebra-0.19) @@ -14500,8 +15443,8 @@ statically-sized or dynamically-sized matrices.") ("rust-num-complex" ,rust-num-complex-0.2) ("rust-num-rational" ,rust-num-rational-0.2) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-pest" ,rust-pest-2.1) - ("rust-pest-derive" ,rust-pest-derive-2.1) + ("rust-pest" ,rust-pest-2) + ("rust-pest-derive" ,rust-pest-derive-2) ("rust-quickcheck" ,rust-quickcheck-0.8) ("rust-rand" ,rust-rand-0.6) ("rust-serde" ,rust-serde-1) @@ -14534,6 +15477,112 @@ statically-sized or dynamically-sized matrices.") IO of Windows's named pipes.") (license (list license:expat license:asl2.0)))) +(define-public rust-napi-0.5 + (package + (name "rust-napi") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mp0di7zv1r9gn3r3pmqnyy6q94akd9d6bl1p7m76nm9hgj9rw56")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-futures" ,rust-futures-0.3) + ("rust-napi-sys" ,rust-napi-sys-0.4) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-napi-build" ,rust-napi-build-0.2)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "N-API bindings") + (description "This package provides N-API bindings.") + (license license:expat))) + +(define-public rust-napi-build-0.2 + (package + (name "rust-napi-build") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi-build" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1z02mlw1wa01fjpjnqns3f3vxacbg1jnk98hcg3pgwp5xy3zdyqq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-reqwest" ,rust-reqwest-0.10)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "N-API build support") + (description "This package provides N-API build support.") + (license license:expat))) + +(define-public rust-napi-derive-0.5 + (package + (name "rust-napi-derive") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kkgpzw4i6f0zkg80v9vhr7y5rg25q3kv67029i1gcgsrxlqx4zi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "N-API procedural macros") + (description "This package provides N-API procedural macros.") + (license license:expat))) + +(define-public rust-napi-sys-0.4 + (package + (name "rust-napi-sys") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "napi-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cjirf6n4i2lw65iaww8d4hahv3cbfm5ka9hlansvnbfgzwadzq9")))) + (build-system cargo-build-system) + (inputs + `(("openssl" ,openssl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.55) + ("rust-semver" ,rust-semver-0.10) + ("rust-tar" ,rust-tar-0.4)) + #:cargo-development-inputs + (("rust-flate2" ,rust-flate2-1) + ("rust-glob" ,rust-glob-0.3) + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.10)))) + (home-page "https://github.com/napi-rs/napi-rs") + (synopsis "NodeJS N-API raw binding") + (description "This package provides a NodeJS N-API raw binding.") + (license license:expat))) + (define-public rust-native-tls-0.2 (package (name "rust-native-tls") @@ -14627,30 +15676,6 @@ types as proposed in RFC 1158.") (license (list license:asl2.0 license:expat)))) -(define-public rust-netlib-src-0.7 - (package - (name "rust-netlib-src") - (version "0.7.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "netlib-src" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "112hwfw1zzdj10h3j213xxqjrq38iygb3nb3ijay65ycmrg819s4")))) - (build-system cargo-build-system) - ;(inputs - ; `(("gfortran:lib" ,gfortran "lib") - ; ("lapack" ,lapack))) - (home-page "https://github.com/blas-lapack-rs/netlib-src") - (synopsis "Source of BLAS and LAPACK via Netlib") - (description - "The package provides a source of BLAS and LAPACK via Netlib.") - (properties '((hidden? . #t))) - (license (list license:asl2.0 - license:expat)))) - (define-public rust-nettle-7 (package (name "rust-nettle") @@ -14676,7 +15701,7 @@ types as proposed in RFC 1158.") (("rust-getrandom" ,rust-getrandom-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-nettle-sys" ,rust-nettle-sys-2) - ("rust-thiserror" ,rust-thiserror-1.0)) + ("rust-thiserror" ,rust-thiserror-1)) #:cargo-development-inputs (("rust-bindgen" ,rust-bindgen-0.51) ("rust-pkg-config" ,rust-pkg-config-0.3)) @@ -15078,15 +16103,91 @@ with all line endings.") #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/passcod/notify") - (synopsis "Cross-platform filesystem notification library") + (synopsis "Cross-platform file system notification library") (description - "Cross-platform filesystem notification library.") + "Cross-platform file system notification library.") (license license:cc0))) -(define-public rust-num-0.2 +(define-public rust-ntest-0.3 + (package + (name "rust-ntest") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "ntest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04cljndihkcqqwj061bgpnxyv7wqbd3f91ag1b3ryrayn7rrclxv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ntest-test-cases" ,rust-ntest-test-cases-0.3) + ("rust-ntest-timeout" ,rust-ntest-timeout-0.3) + ("rust-timebomb" ,rust-timebomb-0.1)) + #:cargo-development-inputs + (("rust-ntest-test-cases" ,rust-ntest-test-cases-0.3) + ("rust-ntest-timeout" ,rust-ntest-timeout-0.3) + ("rust-timebomb" ,rust-timebomb-0.1)))) + (home-page "https://github.com/becheran/ntest") + (synopsis "Testing framework for Rust") + (description "This package provides a testing framework for Rust which +enhances the built-in library with some useful features.") + (license license:expat))) + +(define-public rust-ntest-test-cases-0.3 + (package + (name "rust-ntest-test-cases") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "ntest_test_cases" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b67m368599b2zgwx19psqz6n3m9m5532h1257x6vz1pym3gd2na")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/becheran/ntest") + (synopsis "Test cases for ntest framework") + (description "This package provides test cases for ntest framework.") + (license license:expat))) + +(define-public rust-ntest-timeout-0.3 + (package + (name "rust-ntest-timeout") + (version "0.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "ntest_timeout" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0klryn3rgjxnq3cv6j8bwcsr0b7zw3x216h63144v22aja18p0g0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1) + ("rust-timebomb" ,rust-timebomb-0.1)))) + (home-page "https://github.com/becheran/ntest") + (synopsis "Timeout attribute for the ntest framework") + (description "This package provides a timeout attribute for the ntest +framework.") + (license license:expat))) + +(define-public rust-num-0.3 (package (name "rust-num") - (version "0.2.1") + (version "0.3.0") (source (origin (method url-fetch) @@ -15095,15 +16196,15 @@ with all line endings.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0dhcvhprvvx1iaaq7sxlgxw5awmj8dibni8vhizi59zyz4q60lxq")))) + "0jng6s3i51k3227id2z8h348l2da8x3jq4p3az9slkxwj5hifgmb")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-num-bigint" ,rust-num-bigint-0.2) - ("rust-num-complex" ,rust-num-complex-0.2) + (("rust-num-bigint" ,rust-num-bigint-0.3) + ("rust-num-complex" ,rust-num-complex-0.3) ("rust-num-integer" ,rust-num-integer-0.1) ("rust-num-iter" ,rust-num-iter-0.1) - ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-rational" ,rust-num-rational-0.3) ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://github.com/rust-num/num") (synopsis "Collection of numeric types and traits for Rust") @@ -15112,6 +16213,29 @@ with all line endings.") including bigint, complex, rational, range iterators, generic integers, and more.") (license (list license:expat license:asl2.0)))) +(define-public rust-num-0.2 + (package + (inherit rust-num-0.3) + (name "rust-num") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "num" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dhcvhprvvx1iaaq7sxlgxw5awmj8dibni8vhizi59zyz4q60lxq")))) + (arguments + `(#:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.2) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-iter" ,rust-num-iter-0.1) + ("rust-num-rational" ,rust-num-rational-0.2) + ("rust-num-traits" ,rust-num-traits-0.2)))))) + (define-public rust-num-0.1 (package (inherit rust-num-0.2) @@ -15310,7 +16434,7 @@ including bigint, complex, rational, range iterators, generic integers, and more (define-public rust-num-derive-0.3 (package (name "rust-num-derive") - (version "0.3.0") + (version "0.3.2") (source (origin (method url-fetch) @@ -15319,14 +16443,16 @@ including bigint, complex, rational, range iterators, generic integers, and more (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0imprwv8cs01k46g56ajlvc97dp8kz51y2vn6cp9jkw1c6r1b2qc")))) + "1czs5215ypgbwg0qgy2i515xj3vfcgm8fw7gi4gmwsyv3a2bj2bg")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-syn" ,rust-syn-1) - ("rust-quote" ,rust-quote-1)))) + ("rust-quote" ,rust-quote-1)) + #:cargo-development-inputs + (("rust-num" ,rust-num-0.3) + ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://github.com/rust-num/num-derive") (synopsis "Numeric syntax extensions") (description "This package provides numeric syntax extensions.") @@ -15362,16 +16488,16 @@ including bigint, complex, rational, range iterators, generic integers, and more (define-public rust-num-integer-0.1 (package (name "rust-num-integer") - (version "0.1.42") + (version "0.1.43") (source (origin (method url-fetch) (uri (crate-uri "num-integer" version)) (file-name - (string-append name "-" version ".crate")) + (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fpw8yr9xwsf3qrh91rm7mzqaiwlc2dmnalsxv9pr9w1klpacviz")))) + "0nw79ynfvw8br6yncv27pw65y2vw2z7m3kv9g2hinm1dcrz4ancd")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -15387,15 +16513,15 @@ including bigint, complex, rational, range iterators, generic integers, and more (define-public rust-num-iter-0.1 (package (name "rust-num-iter") - (version "0.1.40") + (version "0.1.41") (source (origin (method url-fetch) (uri (crate-uri "num-iter" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "005wif3bk23b5jdg7l0cprzqzyc4jg0xjyzyykciv2ci08581c6z")))) + "17sb142lhmpsq17cf9wrffjh8vjk901axxf55565r6cgfiy6nvks")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -15483,7 +16609,7 @@ including bigint, complex, rational, range iterators, generic integers, and more (define-public rust-num-traits-0.2 (package (name "rust-num-traits") - (version "0.2.11") + (version "0.2.12") (source (origin (method url-fetch) @@ -15492,7 +16618,7 @@ including bigint, complex, rational, range iterators, generic integers, and more (string-append name "-" version ".crate")) (sha256 (base32 - "15khrlm1bra50nd48ijl1vln13m9xg4fxzghf28jp16ic5zf8ay6")))) + "04fnzwlnn6fcy09jjbi9l7bj5dvg657x5c2sjgwfb3pl0z67n9mc")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -15729,8 +16855,8 @@ Foundation framework.") ("rust-scroll" ,rust-scroll-0.10) ("rust-parity-wasm" ,rust-parity-wasm-0.41) ("rust-uuid" ,rust-uuid-0.8) - ("rust-flate2" ,rust-flate2-1.0) - ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-flate2" ,rust-flate2-1) + ("rust-crc32fast" ,rust-crc32fast-1) ("rust-indexmap" ,rust-indexmap-1)))) (home-page "https://github.com/gimli-rs/object") (synopsis "Unified interface for reading and writing object file formats") @@ -15755,7 +16881,7 @@ writing object file formats.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-flate2" ,rust-flate2-1.0) + (("rust-flate2" ,rust-flate2-1) ("rust-goblin" ,rust-goblin-0.0) ("rust-parity-wasm" ,rust-parity-wasm-0.40) ("rust-scroll" ,rust-scroll-0.9) @@ -15888,10 +17014,10 @@ You probably don't want to link to this crate directly; instead check out the @code{onig} crate.") (license license:expat))) -(define-public rust-once-cell-1.2 +(define-public rust-once-cell-1 (package (name "rust-once-cell") - (version "1.2.0") + (version "1.4.1") (source (origin (method url-fetch) @@ -15900,14 +17026,13 @@ You probably don't want to link to this crate directly; instead check out the (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vdz8xlg3r05w3wfjimnc347hgm54i5nrqf72r4mlp0fcdplh7w9")))) + "1ba56vr8n85xgajnn78pg6iag4inwil3mqg90wi5jaz6xzkm23i6")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-parking-lot" ,rust-parking-lot-0.9)) + `(#:cargo-inputs + (("rust-parking-lot" ,rust-parking-lot-0.11)) #:cargo-development-inputs - (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-regex" ,rust-regex-1)))) (home-page "https://github.com/matklad/once_cell") @@ -15918,7 +17043,7 @@ You probably don't want to link to this crate directly; instead check out the (define-public rust-once-cell-0.1 (package - (inherit rust-once-cell-1.2) + (inherit rust-once-cell-1) (name "rust-once-cell") (version "0.1.8") (source @@ -16322,32 +17447,10 @@ under its new name.") "Utility to activate escape codes in Windows' CMD and PowerShell.") (license license:expat))) -(define-public rust-osmesa-sys-0.1 - (package - (name "rust-osmesa-sys") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (crate-uri "osmesa-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0fq1q1zcgfb0qydrg9r2738jlwc4hqxgb9vj11z72bjxx7kfrkw8")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-shared-library" ,rust-shared-library-0.1)))) - (home-page "https://crates.io/crates/osmesa-sys") - (synopsis "OSMesa library bindings for Rust") - (description "This package provides OSMesa library bindings for Rust.") - (license license:cc0))) - (define-public rust-owning-ref-0.4 (package (name "rust-owning-ref") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) @@ -16355,11 +17458,11 @@ under its new name.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929")))) + "1kjj9m28wjv452jw49p1mp3d8ql058x78v4bz00avr7rvsnmpxbg")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1)))) + (("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) (home-page "https://github.com/Kimundi/owning-ref-rs") (synopsis "Create references that carry their owner with them") (description @@ -16476,196 +17579,6 @@ normally prevent moving a type that has been borrowed from.") "Automatically implement traits from the palette crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-pango-0.8 - (package - (name "rust-pango") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pango" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0xq50950il3228grzs4xvc5s6phxcl5l50grz6syvs0vixr6p70y")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-glib" ,rust-glib-0.9) - ("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) - ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) - (inputs - `(("pango" ,pango))) - (home-page "https://gtk-rs.org/") - (synopsis "Rust bindings for the Pango library") - (description - "Rust bindings for the Pango library.") - (license license:expat))) - -(define-public rust-pango-0.7 - (package - (inherit rust-pango-0.8) - (name "rust-pango") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pango" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "11np7nxb69g3kid2l78b7k519x1wk1c3f9yy7swgzy24n5qs0grr")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-glib" ,rust-glib-0.8) - ("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) - ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) - -(define-public rust-pango-sys-0.9 - (package - (name "rust-pango-sys") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "pango-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0zdynikh6jrfa31fpmbrwnz46a57idci73zzkf0z0g3vj223vfc6")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Some test files not included in release. - #:cargo-inputs - (("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)) - #:cargo-development-inputs - (("rust-shell-words" ,rust-shell-words-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (inputs - `(("pango" ,pango))) - (home-page "https://gtk-rs.org/") - (synopsis "FFI bindings to libpango-1.0") - (description "This package provides FFI bindings to @code{libpango-1.0}.") - (license license:expat))) - -(define-public rust-pangocairo-0.9 - (package - (name "rust-pangocairo") - (version "0.9.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pangocairo" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0bap3h78hdqdyln58349qjjbcv45m8a0a16c4n9fprdj1my0gldx")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.8) - ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-glib" ,rust-glib-0.9) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-pango" ,rust-pango-0.8) - ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1)))) - (inputs - `(("gtk+" ,gtk+))) - (home-page "http://gtk-rs.org/") - (synopsis "Rust bindings for the PangoCairo library") - (description - "Rust bindings for the PangoCairo library.") - (license license:expat))) - -(define-public rust-pangocairo-0.8 - (package - (inherit rust-pangocairo-0.9) - (name "rust-pangocairo") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pangocairo" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0qjiwsp73x3w0493dzycyjzxnzwq7ixwmf1ccr5r41pjhxbnk1kl")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-cairo-rs" ,rust-cairo-rs-0.7) - ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-glib" ,rust-glib-0.8) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-pango" ,rust-pango-0.7) - ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10) - ("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)) - #:cargo-development-inputs - (("rust-gir-format-check" ,rust-gir-format-check-0.1)))))) - -(define-public rust-pangocairo-sys-0.10 - (package - (name "rust-pangocairo-sys") - (version "0.10.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "pangocairo-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1zlyf5vajarnxg5034b8qa5w5zajv96lfvlgiki26svpmcqip4m3")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9) - ("rust-glib-sys" ,rust-glib-sys-0.9) - ("rust-libc" ,rust-libc-0.2) - ("rust-pango-sys" ,rust-pango-sys-0.9) - ("rust-pkg-config" ,rust-pkg-config-0.3)) - #:cargo-development-inputs - (("rust-shell-words" ,rust-shell-words-0.1) - ("rust-tempfile" ,rust-tempfile-3)))) - (inputs - `(("gtk+" ,gtk+))) - (home-page "https://gtk-rs.org/") - (synopsis "FFI bindings to libgtk-3") - (description "This package provides FFI bindings to libgtk-3.") - (license license:expat))) - (define-public rust-parity-tokio-ipc-0.4 (package (name "rust-parity-tokio-ipc") @@ -16743,6 +17656,33 @@ deserialization, and interpreter in Rust.") (license (list license:asl2.0 license:expat)))) +(define-public rust-parking-lot-0.11 + (package + (name "rust-parking-lot") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cw73942xhxb7a49mp9gkjnlwc8acr30wpfs8zk758icz92ki2d4")))) + (build-system cargo-build-system) + (arguments + `(#: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.7)))) + (home-page "https://github.com/Amanieu/parking_lot") + (synopsis "More compact and efficient implementations of the standard synchronization primitives") + (description "This package provides more compact and efficient +implementations of the standard synchronization primitives.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-parking-lot-0.10 (package (name "rust-parking-lot") @@ -16751,8 +17691,7 @@ deserialization, and interpreter in Rust.") (origin (method url-fetch) (uri (crate-uri "parking_lot" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0pjhcbyk6n0g6jsr6s9nf4x8wribm1b2yf8fgc8drbqa77mh99yk")))) @@ -16847,8 +17786,40 @@ synchronization primitives.") ("rust-rand" ,rust-rand-0.4) ("rust-rustc-version" ,rust-rustc-version-0.2)))))) +(define-public rust-parking-lot-core-0.8 + (package + (name "rust-parking-lot-core") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parking_lot_core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16yazfg3sq9mz6cfdkhgbv8yvc1kkasyhys4y7r3g16hgmralqf3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cloudabi" ,rust-cloudabi-0.1) + ("rust-instant" ,rust-instant-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-petgraph" ,rust-petgraph-0.5) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/Amanieu/parking_lot") + (synopsis "API for creating custom synchronization primitives") + (description "This package provides an advanced API for creating custom +synchronization primitives.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-parking-lot-core-0.7 (package + (inherit rust-parking-lot-core-0.8) (name "rust-parking-lot-core") (version "0.7.2") (source @@ -16860,7 +17831,6 @@ synchronization primitives.") (sha256 (base32 "18s0cw5y32447c06fhg2mp3xfng22fn1h9fpx3il98sbimv7r36m")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3) @@ -16870,13 +17840,8 @@ synchronization primitives.") ("rust-petgraph" ,rust-petgraph-0.5) ("rust-redox-syscall" ,rust-redox-syscall-0.1) ("rust-smallvec" ,rust-smallvec-1) - ("rust-thread-id" ,rust-thread-id-3.3) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/Amanieu/parking_lot") - (synopsis "API for creating custom synchronization primitives") - (description - "An advanced API for creating custom synchronization primitives in Rust.") - (license (list license:asl2.0 license:expat)))) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-parking-lot-core-0.6 (package @@ -16903,7 +17868,7 @@ synchronization primitives.") ("rust-rand" ,rust-rand-0.4) ("rust-redox-syscall" ,rust-redox-syscall-0.1) ("rust-smallvec" ,rust-smallvec-0.6) - ("rust-thread-id" ,rust-thread-id-3.3) + ("rust-thread-id" ,rust-thread-id-3) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs (("rust-rustc-version" ,rust-rustc-version-0.2)))))) @@ -16921,7 +17886,20 @@ synchronization primitives.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1317j5a1yd03baza2kqqrxb4kr1vxa7rckw4frksl2vrncfcp26b")))))) + "1317j5a1yd03baza2kqqrxb4kr1vxa7rckw4frksl2vrncfcp26b")))) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cloudabi" ,rust-cloudabi-0.0) + ("rust-libc" ,rust-libc-0.2) + ("rust-petgraph" ,rust-petgraph-0.4) + ("rust-rand" ,rust-rand-0.6) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-rustc-version" ,rust-rustc-version-0.2)))))) (define-public rust-parking-lot-core-0.4 (package @@ -16936,10 +17914,49 @@ synchronization primitives.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1jcq8aq4wv9y5fip7jg12jdwjd5g5r3x857xdma8vcin769cgj4l")))))) + "1jcq8aq4wv9y5fip7jg12jdwjd5g5r3x857xdma8vcin769cgj4l")))) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-petgraph" ,rust-petgraph-0.4) + ("rust-rand" ,rust-rand-0.6) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-thread-id" ,rust-thread-id-3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-rustc-version" ,rust-rustc-version-0.2)))))) + +(define-public rust-partial-io-0.3 + (package + (name "rust-partial-io") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "partial-io" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b9a2bvqmaj2r4rkbshjsg8zzvp23b67qfvj2y6jwjckrn6zhb38")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-quickcheck" ,rust-quickcheck-0.6) + ("rust-tokio-io" ,rust-tokio-io-0.1)) + #:cargo-development-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-quickcheck" ,rust-quickcheck-0.6) + ("rust-tokio-core" ,rust-tokio-core-0.1)))) + (home-page "https://github.com/facebookincubator/rust-partial-io") + (synopsis "Helpers to test partial, interrupted and would-block I/O operations") + (description "This package provides helpers to test partial, interrupted +and would-block I/O operations.") + (license license:expat))) (define-public rust-partial-io-0.2 (package + (inherit rust-partial-io-0.3) (name "rust-partial-io") (version "0.2.5") (source @@ -16951,7 +17968,6 @@ synchronization primitives.") (sha256 (base32 "03iynvayh11a4mckhwflm5y1qmnkw5m3b20gzi1crpasndy3h8xx")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-futures" ,rust-futures-0.1) @@ -16961,11 +17977,6 @@ synchronization primitives.") (("rust-lazy-static" ,rust-lazy-static-0.2) ("rust-quickcheck" ,rust-quickcheck-0.4) ("rust-tokio-core" ,rust-tokio-core-0.1)))) - (home-page "https://github.com/facebookincubator/rust-partial-io") - (synopsis - "Helpers to test partial, interrupted and would-block I/O operations") - (description - "Helpers to test partial, interrupted and would-block I/O operations.") (license license:bsd-3))) (define-public rust-paste-0.1 @@ -16987,8 +17998,8 @@ synchronization primitives.") (("rust-paste-impl" ,rust-paste-impl-0.1) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/paste") (synopsis "Macros for all your token pasting needs") (description @@ -17021,6 +18032,25 @@ synchronization primitives.") "Implementation detail of the paste crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-path-clean-0.1 + (package + (name "rust-path-clean") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "path-clean" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pcgqxw0mgg3ha5hi5xkjhyjf488bw5rw1g3qlr9awbq4szh3fpc")))) + (build-system cargo-build-system) + (home-page "https://github.com/danreeves/path-clean") + (synopsis "Rust implementation of cleanname or path.Clean") + (description "This package provides a Rust implementation of cleanname or +path.Clean.") + (license (list license:expat license:asl2.0)))) + (define-public rust-pbkdf2-0.4 (package (name "rust-pbkdf2") @@ -17073,7 +18103,7 @@ in pure Rust.") (arguments `(#:cargo-inputs (("rust-base64" ,rust-base64-0.9) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-crypto-mac" ,rust-crypto-mac-0.7) ("rust-hmac" ,rust-hmac-0.7) ("rust-rand" ,rust-rand-0.5) @@ -17188,7 +18218,7 @@ the @code{take_while} predicate returned false after dropping the @code{by_ref}. (("rust-peg-macros" ,rust-peg-macros-0.6) ("rust-peg-runtime" ,rust-peg-runtime-0.6)) #:cargo-development-inputs - (("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/kevinmehall/rust-peg") (synopsis "Simple Parsing Expression Grammar (PEG) parser generator") (description @@ -17261,7 +18291,7 @@ procedural macros for rust-peg. To use rust-peg, see the peg package.") runtime support for rust-peg grammars. To use rust-peg, see the peg crate.") (license license:expat))) -(define-public rust-percent-encoding-2.1 +(define-public rust-percent-encoding-2 (package (name "rust-percent-encoding") (version "2.1.0") @@ -17282,7 +18312,7 @@ runtime support for rust-peg grammars. To use rust-peg, see the peg crate.") (define-public rust-percent-encoding-1.0 (package - (inherit rust-percent-encoding-2.1) + (inherit rust-percent-encoding-2) (name "rust-percent-encoding") (version "1.0.1") (source @@ -17317,7 +18347,7 @@ algorithm.") (license (list license:asl2.0 license:expat)))) -(define-public rust-pest-2.1 +(define-public rust-pest-2 (package (name "rust-pest") (version "2.1.1") @@ -17342,7 +18372,7 @@ algorithm.") (description "The Elegant Parser.") (license (list license:asl2.0 license:expat)))) -(define-public rust-pest-derive-2.1 +(define-public rust-pest-derive-2 (package (name "rust-pest-derive") (version "2.1.0") @@ -17359,7 +18389,7 @@ algorithm.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-pest" ,rust-pest-2.1) + (("rust-pest" ,rust-pest-2) ("rust-pest-generator" ,rust-pest-generator-2.1)))) (home-page "https://pest.rs/") (synopsis "Pest's derive macro") @@ -17383,7 +18413,7 @@ algorithm.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-pest" ,rust-pest-2.1) + (("rust-pest" ,rust-pest-2) ("rust-pest-meta" ,rust-pest-meta-2.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) @@ -17411,7 +18441,7 @@ algorithm.") `(#:skip-build? #t #:cargo-inputs (("rust-maplit" ,rust-maplit-1.0) - ("rust-pest" ,rust-pest-2.1) + ("rust-pest" ,rust-pest-2) ("rust-sha-1" ,rust-sha-1-0.8)))) (home-page "https://pest.rs") (synopsis "Pest meta language parser and validator") @@ -17756,11 +18786,14 @@ function data structures.") (base32 "1q5pg0ms6szz6b5h26h4k40zb76zbwwjgyigac4wly9qngdj4yl5")))) (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-gcc" ,rust-gcc-0.3)))) (home-page "https://github.com/reem/rust-pico-sys") (synopsis "Bindings to the PicoHTTPParser") (description "This package provides bindings to the PicoHTTPParser.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-pin-utils-0.1 @@ -17782,368 +18815,6 @@ function data structures.") (license (list license:asl2.0 license:expat)))) -(define-public rust-piston-0.49 - (package - (name "rust-piston") - (version "0.49.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1y0rbw92mzagqmwk79wv9axq0m7aid0s0d5cppyzh33wrxhdl3xj")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-pistoncore-input" ,rust-pistoncore-input-0.28) - ("rust-pistoncore-window" ,rust-pistoncore-window-0.44) - ("rust-pistoncore-event-loop" ,rust-pistoncore-event-loop-0.49)))) - (home-page "https://github.com/PistonDevelopers/piston") - (synopsis "Piston game engine core libraries") - (description - "The Piston game engine core libraries.") - (license license:expat))) - -(define-public rust-piston-float-1.0 - (package - (name "rust-piston-float") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston-float" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0r35aasycms79hf2vf1ap40kkp8ywgl4hmfkf762dq8jwd3vw07r")))) - (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page - "https://github.com/pistondevelopers/float") - (synopsis - "Traits for generic floats in game development") - (description - "Traits for generic floats in game development") - (license license:expat))) - -(define-public rust-piston-gfx-texture-0.40 - (package - (name "rust-piston-gfx-texture") - (version "0.40.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston-gfx_texture" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1nr5awdgk3njfvfanszrv4gxz93f6skid1c8yijswccygripchqz")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-gfx" ,rust-gfx-0.18) - ("rust-image" ,rust-image-0.22) - ("rust-piston-texture" ,rust-piston-texture-0.8) - ("rust-gfx-core" ,rust-gfx-core-0.9)))) - (home-page "https://github.com/pistondevelopers/gfx_texture") - (synopsis - "Gfx texture representation that works nicely with Piston libraries") - (description "This package provides a Gfx texture representation that works -nicely with Piston libraries.") - (license license:expat))) - -(define-public rust-piston-graphics-api-version-0.2 - (package - (name "rust-piston-graphics-api-version") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston-graphics_api_version" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1b5p6s45jqv057lpbxkiq3yrdjjhvcynmi2vjf8292rf0yh4hky5")))) - (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page - "https://github.com/PistonDevelopers/graphics_api_version") - (synopsis - "A library for storing graphics API versions") - (description - "This package provides a library for storing graphics API versions") - (license license:expat))) - -(define-public rust-piston-shaders-graphics2d-0.3 - (package - (name "rust-piston-shaders-graphics2d") - (version "0.3.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston-shaders_graphics2d" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1dhh9bv4q19gdnj9d1nqq0yrvzs6gcn0c5j1p1f3xzyzq7d1gg4p")))) - (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page - "https://github.com/PistonDevelopers/shaders") - (synopsis "Shaders for 2D graphics in Rust") - (description "Shaders for 2D graphics in Rust") - (license license:expat))) - -(define-public rust-piston-texture-0.8 - (package - (name "rust-piston-texture") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston-texture" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1pcv5my49b8xzqcb87wqh2ndgvr4s9ipys96s0h9j2plxrj3bjb2")))) - (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) - (home-page - "https://github.com/pistondevelopers/texture") - (synopsis "A generic library for textures") - (description - "This package provides a generic library for textures") - (license license:expat))) - -(define-public rust-piston-viewport-1.0 - (package - (name "rust-piston-viewport") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston-viewport" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "16378hcy41b7x3zj2z4har0wq6fl4r62kf9p106jjl8hg2dv3aq1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-piston-float" ,rust-piston-float-1.0)))) - (home-page "https://github.com/PistonDevelopers/viewport") - (synopsis "Library for storing viewport information") - (description - "This package provides a library for storing viewport information.") - (license license:expat))) - -(define-public rust-piston-window-0.105 - (package - (name "rust-piston-window") - (version "0.105.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston_window" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "05n2905gkp5ck25kbq95ia6pj1xz63dpp247jz3xcw1d41xpvi95")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-gfx-device-gl" ,rust-gfx-device-gl-0.16) - ("rust-gfx" ,rust-gfx-0.18) - ("rust-piston2d-graphics" ,rust-piston2d-graphics-0.35) - ("rust-piston" ,rust-piston-0.49) - ("rust-shader-version" ,rust-shader-version-0.6) - ("rust-pistoncore-glutin-window" ,rust-pistoncore-glutin-window-0.63) - ("rust-piston2d-gfx-graphics" ,rust-piston2d-gfx-graphics-0.66) - ("rust-piston-texture" ,rust-piston-texture-0.8)))) - (home-page "https://github.com/pistondevelopers/piston_window") - (synopsis "Official Piston window wrapper for the Piston game engine") - (description - "The official Piston window wrapper for the Piston game engine.") - (license license:expat))) - -(define-public rust-piston2d-gfx-graphics-0.66 - (package - (name "rust-piston2d-gfx-graphics") - (version "0.66.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston2d-gfx_graphics" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1pmlkf5rl6pr0c1lqm0059xwj9pwlws7gaq9w6r9d916di6fzki1")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-gfx" ,rust-gfx-0.18) - ("rust-piston-shaders-graphics2d" ,rust-piston-shaders-graphics2d-0.3) - ("rust-piston-gfx-texture" ,rust-piston-gfx-texture-0.40) - ("rust-shader-version" ,rust-shader-version-0.6) - ("rust-draw-state" ,rust-draw-state-0.8)))) - (home-page "https://github.com/PistonDevelopers/gfx_graphics") - (synopsis "Gfx 2D back-end for the Piston game engine") - (description - "This package provides a Gfx 2D back-end for the Piston game engine.") - (license license:expat))) - -(define-public rust-piston2d-graphics-0.35 - (package - (name "rust-piston2d-graphics") - (version "0.35.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "piston2d-graphics" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1dx2fanxc2pj76hc5l72x0fh4qg9gchjlr8rmbhdk6jpggcmq56g")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-interpolation" ,rust-interpolation-0.2) - ("rust-rusttype" ,rust-rusttype-0.7) - ("rust-piston-texture" ,rust-piston-texture-0.8) - ("rust-piston-viewport" ,rust-piston-viewport-1.0) - ("rust-read-color" ,rust-read-color-1.0) - ("rust-vecmath" ,rust-vecmath-1.0) - ("rust-fnv" ,rust-fnv-1)))) - (home-page "https://github.com/pistondevelopers/graphics") - (synopsis "Library for 2D graphics that works with multiple back-ends") - (description "This package provides a library for 2D graphics that works -with multiple back-ends.") - (license license:expat))) - -(define-public rust-pistoncore-event-loop-0.49 - (package - (name "rust-pistoncore-event-loop") - (version "0.49.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pistoncore-event_loop" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1h9ij9vx42xg39198yxdlpk842pli5jqm2kwswiv3bqqcji0fwsm")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-pistoncore-input" ,rust-pistoncore-input-0.28) - ("rust-pistoncore-window" ,rust-pistoncore-window-0.44)))) - (home-page "https://github.com/PistonDevelopers/piston") - (synopsis "Piston event loop for games and interactive applications") - (description "This package provides a Piston event loop for games and -interactive applications.") - (license license:expat))) - -(define-public rust-pistoncore-glutin-window-0.63 - (package - (name "rust-pistoncore-glutin-window") - (version "0.63.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pistoncore-glutin_window" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0dhbyxarv5i742d400bmqdqq3f8c25kcgcg0xavrc18dc913rixc")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-gl" ,rust-gl-0.11) - ("rust-glutin" ,rust-glutin-0.21) - ("rust-pistoncore-input" ,rust-pistoncore-input-0.28) - ("rust-pistoncore-window" ,rust-pistoncore-window-0.44) - ("rust-shader-version" ,rust-shader-version-0.6)))) - (home-page "https://github.com/pistondevelopers/glutin_window") - (synopsis "Piston window back-end using the Glutin library") - (description - "This package provides a Piston window back-end using the Glutin library.") - (license license:expat))) - -(define-public rust-pistoncore-input-0.28 - (package - (name "rust-pistoncore-input") - (version "0.28.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pistoncore-input" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1rrcz9px098m3nx98gvrvzirfdp3vg03cblfkcrp4wnvswc0hwq5")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-piston-viewport" ,rust-piston-viewport-1.0) - ("rust-serde" ,rust-serde-1) - ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-bitflags" ,rust-bitflags-1)))) - (home-page "https://github.com/PistonDevelopers/piston") - (synopsis "Structure for user input") - (description - "This package provides a structure for user input.") - (license license:expat))) - -(define-public rust-pistoncore-window-0.44 - (package - (name "rust-pistoncore-window") - (version "0.44.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "pistoncore-window" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "18qy3nnpb9jczvkiyzzznamck0pzgiyi6073jrkldnci6b3in10q")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-piston-graphics-api-version" - ,rust-piston-graphics-api-version-0.2) - ("rust-pistoncore-input" ,rust-pistoncore-input-0.28)))) - (home-page "https://github.com/PistonDevelopers/piston") - (synopsis "Library for window abstraction") - (description - "This package provides a library for window abstraction.") - (license license:expat))) - (define-public rust-pin-project-0.4 (package (name "rust-pin-project") @@ -18202,8 +18873,8 @@ interactive applications.") (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/taiki-e/pin-project-lite") (synopsis "Lightweight version of pin-project written with declarative macros") @@ -18279,7 +18950,7 @@ used in Cargo build scripts.") ("rust-xml-rs" ,rust-xml-rs-0.8) ("rust-serde" ,rust-serde-1) ("rust-humantime" ,rust-humantime-1) - ("rust-byteorder" ,rust-byteorder-1.3)))) + ("rust-byteorder" ,rust-byteorder-1)))) (home-page "https://github.com/ebarnard/rust-plist/") (synopsis "Rusty plist parser") (description @@ -18347,6 +19018,29 @@ both WASM and native applications") "Lazily evaluated, order-independent plugins for extensible types.") (license license:expat))) +(define-public rust-pmutil-0.5 + (package + (name "rust-pmutil") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "pmutil" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0170zgziivri4qsch682pga3qq3z4wpr4wngzr5f9jyc97ayb51q")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/kdy1/rust-pmutil") + (synopsis "Utils for proc-macro") + (description "This package provides utils for proc-macro.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-pnacl-build-helper-1.4 (package (name "rust-pnacl-build-helper") @@ -18372,127 +19066,6 @@ both WASM and native applications") "Build script helper for building PNaCl/NaCl C/CXX libraries from source") (license license:mpl2.0))) -(define-public rust-png-0.16 - (package - (name "rust-png") - (version "0.16.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "png" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1393s3v3kg4bxnn86d7yn2vyz8xj6g64ighdfkc3vzpsg5sbyl61")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-crc32fast" ,rust-crc32fast-1.2) - ("rust-deflate" ,rust-deflate-0.8) - ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)) - #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.3) - ("rust-getopts" ,rust-getopts-0.2) - ;; TODO: glium has many cyclic dependencies with other packages - ;; ("rust-glium" ,rust-glium-0.24) - ("rust-glob" ,rust-glob-0.3) - ("rust-rand" ,rust-rand-0.7) - ("rust-term" ,rust-term-0.6)))) - (home-page "https://github.com/image-rs/image-png.git") - (synopsis "PNG decoding and encoding library in pure Rust") - (description - "PNG decoding and encoding library in pure Rust.") - (license (list license:expat license:asl2.0)))) - -(define-public rust-png-0.15 - (package - (inherit rust-png-0.16) - (name "rust-png") - (version "0.15.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "png" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "10x2qkhyfnm3si5vgx77r2ik811gaap7ahi825wfxgsb0lirm1gg")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-crc32fast" ,rust-crc32fast-1.2) - ("rust-deflate" ,rust-deflate-0.7) - ("rust-inflate" ,rust-inflate-0.4)) - #:cargo-development-inputs - (("rust-getopts" ,rust-getopts-0.2) - ;; TODO: glium has many cyclic dependencies with other packages - ;;("rust-glium" ,rust-glium-0.24) - ("rust-glob" ,rust-glob-0.3) - ("rust-rand" ,rust-rand-0.7) - ("rust-term" ,rust-term-0.6)))))) - -(define-public rust-png-0.14 - (package - (inherit rust-png-0.15) - (name "rust-png") - (version "0.14.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "png" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0nf3a8r9p9zrj4x30b48f7yv18dz9xkmrq9b3lnzmpnhzn0z9nk3")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-deflate" ,rust-deflate-0.7) - ("rust-inflate" ,rust-inflate-0.4) - ("rust-num-iter" ,rust-num-iter-0.1)) - #:cargo-development-inputs - (("rust-getopts" ,rust-getopts-0.2) - ;; TODO: glium has many cyclic dependencies with other packages - ;; ("rust-glium" ,rust-glium-0.22) - ("rust-glob" ,rust-glob-0.2) - ("rust-rand" ,rust-rand-0.5) - ("rust-term" ,rust-term-0.4)))))) - -(define-public rust-png-0.12 - (package - (inherit rust-png-0.14) - (name "rust-png") - (version "0.12.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "png" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0nqlc8lqf8ncv3kj0gzlxwli61dbbxcjlrp176kvilw4sl09cjzm")))) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-deflate" ,rust-deflate-0.7) - ("rust-inflate" ,rust-inflate-0.4) - ("rust-num-iter" ,rust-num-iter-0.1)) - #:cargo-development-inputs - (("rust-getopts" ,rust-getopts-0.2) - ;; TODO: gluum has many cyclic dependencies with other packages - ;; ("rust-glium" ,rust-glium-0.21) - ("rust-glob" ,rust-glob-0.2) - ("rust-term" ,rust-term-0.4)))))) - (define-public rust-pocket-resources-0.3 (package (name "rust-pocket-resources") @@ -18532,6 +19105,55 @@ applications.") "Additional trait for Read and Write to read and write Plain Old Data.") (license (list license:expat license:asl2.0)))) +(define-public rust-polyval-0.4 + (package + (name "rust-polyval") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "polyval" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p0765j30qxr50zh74aflafx540xkxqb7pv8kw7fvcssnm1039fr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-universal-hash" ,rust-universal-hash-0.4) + ("rust-zeroize" ,rust-zeroize-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-criterion-cycles-per-byte" + ,rust-criterion-cycles-per-byte-0.1) + ("rust-hex-literal" ,rust-hex-literal-0.1)))) + (home-page "https://github.com/RustCrypto/universal-hashes") + (synopsis "GHASH-like universal hash") + (description "POLYVAL is a GHASH-like universal hash over GF(2^128) useful +for constructing a Message Authentication Code (MAC).") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-pom-3 + (package + (name "rust-pom") + (version "3.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1v14c2p1irblagnljkw4n0f1w5r8mbybzycz0j1f5y79h0kikqh7")))) + (build-system cargo-build-system) + (home-page "https://github.com/J-F-Liu/pom") + (synopsis "PEG parser combinators using operator overloading without macros") + (description "This package provides a PEG parser combinators using operator +overloading without macros in Rust.") + (license license:expat))) + (define-public rust-ppv-lite86-0.2 (package (name "rust-ppv-lite86") @@ -18552,6 +19174,31 @@ for x86.") (license (list license:asl2.0 license:expat)))) +(define-public rust-pq-sys-0.4 + (package + (name "rust-pq-sys") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "pq-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1npz9756283pjq3lcpwss8xh1rw4sx8f6dz8cxdg90h5bbp5xhka")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-vcpkg" ,rust-vcpkg-0.2)))) + (native-inputs + `(("postgresql" ,postgresql))) + (home-page "https://crates.io/crates/pq-sys") + (synopsis "Auto-generated rust bindings for libpq") + (description "This package provides auto-generated rust bindings for +libpq.") + (license (list license:expat license:asl2.0)))) + (define-public rust-precomputed-hash-0.1 (package (name "rust-precomputed-hash") @@ -18592,7 +19239,7 @@ dependency to expose a precomputed hash.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-float-cmp" ,rust-float-cmp-0.6) ("rust-normalize-line-endings" ,rust-normalize-line-endings-0.3) ("rust-predicates-core" ,rust-predicates-core-1) @@ -18673,7 +19320,7 @@ dependency to expose a precomputed hash.") (("rust-ctor" ,rust-ctor-0.1) ("rust-output-vt100" ,rust-output-vt100-0.1) ("rust-ansi-term" ,rust-ansi-term-0.11) - ("rust-difference" ,rust-difference-2.0)))) + ("rust-difference" ,rust-difference-2)))) (home-page "https://github.com/colin-kiegel/rust-pretty-assertions") (synopsis "Drop-in replacements for assert_eq! and assert_ne!") (description @@ -18681,6 +19328,27 @@ dependency to expose a precomputed hash.") replacements, adding colorful diffs.") (license (list license:expat license:asl2.0)))) +(define-public rust-pretty-assertions-0.4 + (package + (inherit rust-pretty-assertions-0.6) + (name "rust-pretty-assertions") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pretty_assertions" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1llxlnhh4qz9kda27v6nllgzvgi1fv08i3djfk4zn6zlw8c53si8")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.9) + ("rust-difference" ,rust-difference-1)))))) + (define-public rust-pretty-assertions-0.2 (package (name "rust-pretty-assertions") @@ -18845,9 +19513,9 @@ formatted tables in terminal.") (arguments `(#:cargo-development-inputs (("rust-quote" ,rust-quote-1) - ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-rustversion" ,rust-rustversion-1) ("rust-syn" ,rust-syn-1) - ("rust-trybuild" ,rust-trybuild-1.0) + ("rust-trybuild" ,rust-trybuild-1) ("rust-demo-hack" ,rust-demo-hack-0.0) ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0)))) (home-page "https://github.com/dtolnay/proc-macro-hack") @@ -18923,7 +19591,7 @@ formatted tables in terminal.") (define-public rust-proc-macro2-1 (package (name "rust-proc-macro2") - (version "1.0.10") + (version "1.0.21") (source (origin (method url-fetch) @@ -18931,7 +19599,7 @@ formatted tables in terminal.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1qxbnl8i3a5b2nxb8kdxbq6kj3pd1ckhm35wm7z3jd7n5wlns96z")))) + "0b1azz1c2a3rap1kfz2sjinv7narfhssazaq39axvwwlvwb8bqin")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -19031,7 +19699,7 @@ macro use case.") `(#:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.5) ("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-quick-error" ,rust-quick-error-1.2) @@ -19071,7 +19739,7 @@ macro use case.") #:cargo-inputs (("rust-bit-set" ,rust-bit-set-0.5) ("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-quick-error" ,rust-quick-error-1.2) @@ -19110,6 +19778,59 @@ macro use case.") #:cargo-development-inputs (("rust-regex" ,rust-regex-0.2)))))) +(define-public rust-proptest-0.3 + (package + (inherit rust-proptest-0.7) + (name "rust-proptest") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "proptest" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15633iq8x3x0im5vyij2gr8ncpflv4fa9w63rh94k20xhzv4m308")))) + (arguments + `(#:cargo-inputs + (("rust-bit-set" ,rust-bit-set-0.4) + ("rust-lazy-static" ,rust-lazy-static-0.2) + ("rust-quick-error" ,rust-quick-error-1.2) + ("rust-rand" ,rust-rand-0.3) + ("rust-regex-syntax" ,rust-regex-syntax-0.4)) + #:cargo-development-inputs + (("rust-regex" ,rust-regex-0.2)))))) + +(define-public rust-proptest-derive-0.1 + (package + (name "rust-proptest-derive") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "proptest-derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nziczbm7w0jisjrd216hh2j45fs5m363ga7r6nawwxcxlbxn7nk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)) + #:cargo-development-inputs + (("rust-compiletest-rs" ,rust-compiletest-rs-0.3) + ("rust-criterion" ,rust-criterion-0.2) + ("rust-proptest" ,rust-proptest-0.9)))) + (home-page + "https://altsysrq.github.io/proptest-book/proptest-derive/index.html") + (synopsis "Custom-derive for the Arbitrary trait of proptest") + (description "This package provides a Custom-derive for the Arbitrary +trait of proptest.") + (license (list license:expat license:asl2.0)))) + (define-public rust-psm-0.1 (package (name "rust-psm") @@ -19133,6 +19854,35 @@ macro use case.") stack pointer and inspect the properties of the stack.") (license (list license:isc license:asl2.0)))) +(define-public rust-publicsuffix-1 + (package + (name "rust-publicsuffix") + (version "1.5.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "publicsuffix" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0yvmjpywfyypfr17kxiwy6ssykgv8nmcdhfakas6548pfn8a9fiv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-error-chain" ,rust-error-chain-0.12) + ("rust-idna" ,rust-idna-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-regex" ,rust-regex-1) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-rspec" ,rust-rspec-1)))) + (home-page "https://github.com/rushmorem/publicsuffix") + (synopsis "Domain name parsing and email address validation") + (description "This package provides robust domain name parsing and RFC +compliant email address validation.") + (license (list license:expat license:asl2.0)))) + (define-public rust-pulldown-cmark-0.4 (package (name "rust-pulldown-cmark") @@ -19191,6 +19941,26 @@ stack pointer and inspect the properties of the stack.") "This package provides a pull parser for CommonMark.") (license license:expat))) +(define-public rust-pulldown-cmark-0.1 + (package + (inherit rust-pulldown-cmark-0.2) + (name "rust-pulldown-cmark") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "pulldown-cmark" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ckflr6w5vfvgb2xnzbnph9b6c0k8cfncm4a8bjzmbbcv9fgizfn")))) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-0.9) + ("rust-getopts" ,rust-getopts-0.2)))))) + (define-public rust-pulldown-cmark-0.0.8 (package/inherit rust-pulldown-cmark-0.4 (name "rust-pulldown-cmark") @@ -19208,6 +19978,28 @@ stack pointer and inspect the properties of the stack.") (("rust-bitflags" ,rust-bitflags-0.5) ("rust-getopts" ,rust-getopts-0.2)))))) +(define-public rust-pulse-0.5 + (package + (name "rust-pulse") + (version "0.5.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "pulse" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1w4skcnwmavm8ra9blf1hy7bc9grnin2kziiyc18lsnrr2v14mk5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atom" ,rust-atom-0.3) + ("rust-time" ,rust-time-0.1)))) + (home-page "https://github.com/csherratt/pulse") + (synopsis "Async wake signals library") + (description "This package provides a library for async wake signals.") + (license license:asl2.0))) + (define-public rust-quantiles-0.7 (package (name "rust-quantiles") @@ -19476,10 +20268,10 @@ integers, floats, tuples, booleans, lists, strings, options and results.") (base32 "1vb4acppaavlnchzc1jmn5wlkgir9x9gmhgp97bavyxxqxgsg1nh")))))) -(define-public rust-quickcheck-macros-0.8 +(define-public rust-quickcheck-macros-0.9 (package (name "rust-quickcheck-macros") - (version "0.8.0") + (version "0.9.1") (source (origin (method url-fetch) @@ -19488,21 +20280,43 @@ integers, floats, tuples, booleans, lists, strings, options and results.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0b3mhn0xcrdd3fkbkx3rghhivwzwil8w991ngp6gaj70l72c3pyp")))) + "0zsb9b4jpg7qvbiym4v8y9pgqk7p1g4f5hn9gp0fnzz9v1pib330")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6) - ("rust-syn" ,rust-syn-0.15)) + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) #:cargo-development-inputs - (("rust-quickcheck" ,rust-quickcheck-0.8)))) + (("rust-quickcheck" ,rust-quickcheck-0.9)))) (home-page "https://github.com/BurntSushi/quickcheck") (synopsis "Macro attribute for quickcheck") (description "This package provides a macro attribute for quickcheck.") (license (list license:unlicense license:expat)))) +(define-public rust-quickcheck-macros-0.8 + (package + (inherit rust-quickcheck-macros-0.9) + (name "rust-quickcheck-macros") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "quickcheck_macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0b3mhn0xcrdd3fkbkx3rghhivwzwil8w991ngp6gaj70l72c3pyp")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-syn" ,rust-syn-0.15)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.8)))))) + (define-public rust-quote-1 (package (name "rust-quote") @@ -19520,8 +20334,8 @@ integers, floats, tuples, booleans, lists, strings, options and results.") `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/quote") (synopsis "Quasi-quoting macro quote!(...)") (description "Quasi-quoting macro quote!(...)") @@ -19577,6 +20391,29 @@ integers, floats, tuples, booleans, lists, strings, options and results.") "0yhnnix4dzsv8y4wwz4csbnqjfh73al33j35msr10py6cl5r4vks")))) (arguments '()))) +(define-public rust-r2d2 + (package + (name "rust-r2d2") + (version "0.8.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "r2d2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0vxjgh83bss63mkx308p16iwl33s80c781p422f3r5w0p315np2l")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-scheduled-thread-pool" ,rust-scheduled-thread-pool-0.2)))) + (home-page "https://github.com/sfackler/r2d2") + (synopsis "A generic connection pool") + (description "This package provides a generic connection pool.") + (license (list license:expat license:asl2.0)))) + (define-public rust-racer-cargo-metadata-0.1 (package (name "rust-racer-cargo-metadata") @@ -19627,6 +20464,28 @@ Racer.") fashion. It is mostly used in Racer.") (license license:expat))) +(define-public rust-radix-fmt-1 + (package + (name "rust-radix-fmt") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "radix_fmt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09jlq152iwn56215kghqby4pi8vamhg0nzcb9any5b5782cjl26f")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-fluid" ,rust-fluid-0.4)))) + (home-page "https://gitlab.com/Boiethios/radix_fmt_rs") + (synopsis "Format a number in an arbitrary radix") + (description "This package lets you format a number in an arbitrary +radix.") + (license license:asl2.0))) + (define-public rust-rand-0.7 (package (name "rust-rand") @@ -20215,7 +21074,7 @@ random number generators.") "07w3qgrac8r356lz5vqff42rly6yd9vs3g5lx5pbn13rcmb05rqb")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-rand-core" ,rust-rand-core-0.5) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -20238,33 +21097,11 @@ random number generators.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-rand-core" ,rust-rand-core-0.3)) #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) -(define-public rust-raw-window-handle-0.3 - (package - (name "rust-raw-window-handle") - (version "0.3.3") - (source - (origin - (method url-fetch) - (uri (crate-uri "raw-window-handle" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "04c2wir7qq3g2b143yav52a1g5ack8ffqx2bpmrn9bc0dix1li0a")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/rust-windowing/raw-window-handle") - (synopsis "Interoperability library for Rust Windowing applications") - (description - "Interoperability library for Rust Windowing applications.") - (license license:expat))) - (define-public rust-rawpointer-0.2 (package (name "rust-rawpointer") @@ -20345,7 +21182,7 @@ accessors.") `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1.0) ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) - ("rust-either" ,rust-either-1.5) + ("rust-either" ,rust-either-1) ("rust-rayon-core" ,rust-rayon-core-1)) #:cargo-development-inputs (("rust-docopt" ,rust-docopt-1.1) @@ -20509,7 +21346,7 @@ owned memory.") (define-public rust-redox-syscall-0.1 (package (name "rust-redox-syscall") - (version "0.1.56") + (version "0.1.57") (source (origin (method url-fetch) @@ -20517,7 +21354,7 @@ owned memory.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "110y7dyfm2vci4x5vk7gr0q551dvp31npl99fnsx2fb17wzwcf94")))) + "1kh59fpwy33w9nwd5iyc283yglq8pf2s41hnhvl48iax9mz0zk21")))) (build-system cargo-build-system) (arguments '(#:skip-build? #t)) (home-page "https://gitlab.redox-os.org/redox-os/syscall") @@ -20594,8 +21431,8 @@ functionality.") `(#:cargo-inputs (("rust-ref-cast-impl" ,rust-ref-cast-impl-1.0)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + (("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/ref-cast") (synopsis "Safely cast &T to &U") (description @@ -20621,7 +21458,7 @@ functionality.") (("rust-ref-cast-impl" ,rust-ref-cast-impl-0.2)) #:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-0.1) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/ref-cast") (synopsis "Safely cast &T to &U") (description @@ -20773,7 +21610,7 @@ uses finite automata and guarantees linear time matching on all inputs.") `(#:skip-build? #t #:cargo-inputs (("rust-fst" ,rust-fst-0.4) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-regex-syntax" ,rust-regex-syntax-0.6)) #:cargo-development-inputs (("rust-bstr" ,rust-bstr-0.2) @@ -20866,6 +21703,29 @@ uses finite automata and guarantees linear time matching on all inputs.") (("rust-quickcheck" ,rust-quickcheck-0.2) ("rust-rand" ,rust-rand-0.3)))))) +(define-public rust-relative-path-1 + (package + (name "rust-relative-path") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "relative_path" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "152zdks8chgsq4vmp562bx6whvixm7gzivab1cf8rs1r634ggbv5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde" ,rust-serde-1)))) + (home-page "https://docs.rs/crate/relative-path/") + (synopsis "Portable, relative paths for Rust") + (description "This package provides portable, relative paths for Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-remove-dir-all-0.5 (package (name "rust-remove-dir-all") @@ -20923,28 +21783,71 @@ uses finite automata and guarantees linear time matching on all inputs.") (description "File reopening utility.") (license (list license:asl2.0 license:expat)))) -(define-public rust-resize-0.3 +(define-public rust-reqwest-0.10 (package - (name "rust-resize") - (version "0.3.1") + (name "rust-reqwest") + (version "0.10.8") (source - (origin - (method url-fetch) - (uri (crate-uri "resize" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ai83laz5yvg4r7z9q8d1m0vq0fqj2ycyprw5fxzxyzaj3im7rmr")))) + (origin + (method url-fetch) + (uri (crate-uri "reqwest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07nnj0qzj8g64iagx7xzk02493yqdahqy49xa2vkif6pqmxa3sp9")))) (build-system cargo-build-system) (arguments - `(#:cargo-development-inputs - (("rust-png" ,rust-png-0.15)))) - (home-page "https://github.com/PistonDevelopers/resize") - (synopsis "Simple image resampling library in pure Rust") - (description - "This package provides a simple image resampling library in pure Rust.") - (license license:expat))) + `(#:cargo-inputs + (("rust-async-compression" ,rust-async-compression-0.3) + ("rust-base64" ,rust-base64-0.12) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-cookie" ,rust-cookie-0.14) + ("rust-cookie-store" ,rust-cookie-store-0.12) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-http" ,rust-http-0.2) + ("rust-http-body" ,rust-http-body-0.3) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-hyper-rustls" ,rust-hyper-rustls-0.21) + ("rust-hyper-tls" ,rust-hyper-tls-0.4) + ("rust-ipnet" ,rust-ipnet-2) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-mime" ,rust-mime-0.3) + ("rust-mime-guess" ,rust-mime-guess-2) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.6) + ("rust-time" ,rust-time-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.14) + ("rust-tokio-socks" ,rust-tokio-socks-0.2) + ("rust-tokio-tls" ,rust-tokio-tls-0.3) + ("rust-trust-dns-resolver" ,rust-trust-dns-resolver-0.19) + ("rust-url" ,rust-url-2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-webpki-roots" ,rust-webpki-roots-0.19) + ("rust-winreg" ,rust-winreg-0.7)) + #:cargo-development-inputs + (("rust-brotli" ,rust-brotli-3) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-hyper" ,rust-hyper-0.13) + ("rust-libflate" ,rust-libflate-1) + ("rust-serde" ,rust-serde-1) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/seanmonstar/reqwest") + (synopsis "High level HTTP client library") + (description "This package provides a high level HTTP client library.") + (license (list license:expat license:asl2.0)))) (define-public rust-resolv-conf-0.6 (package @@ -20971,33 +21874,23 @@ uses finite automata and guarantees linear time matching on all inputs.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rgb-0.8 +(define-public rust-retain-mut-0.1 (package - (name "rust-rgb") - (version "0.8.20") + (name "rust-retain-mut") + (version "0.1.1") (source (origin (method url-fetch) - (uri (crate-uri "rgb" version)) - (file-name (string-append name "-" version ".crate")) + (uri (crate-uri "retain_mut" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1620mn5dp1rr9fpvd9wbr3b8l2g4zrij8zjri1x34cg1bas59vwh")))) + "0cgmm1q7sr31r9wk7syh53ipgqpl37jzsvahdhmwrsi6mmcdc1g0")))) (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bytemuck" ,rust-bytemuck-1) - ("rust-serde", rust-serde-1)) - #:cargo-development-inputs - (("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://lib.rs/crates/rgb") - (synopsis "Struct for sharing pixels between crates") - (description - "This package provides @code{struct RGB/RGBA/etc.} for sharing pixels -between crates + convenience methods for color manipulation. It allows no-copy -high-level interoperability. It also adds common convenience methods and -implements standard Rust traits to make `RGB`/`RGBA` pixels and slices -first-class Rust objects.") + (home-page "https://github.com/upsuper/retain_mut") + (synopsis "Mutable borrow for the retain predicate") + (description "This package provides retain_mut method that has the same +functionality as retain but gives mutable borrow to the predicate.") (license license:expat))) (define-public rust-ring-0.16 @@ -21102,8 +21995,33 @@ your own implementation.") Rust Language Server.") (license (list license:expat license:asl2.0)))) +(define-public rust-ron-0.5 + (package + (name "rust-ron") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ron" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 (base32 "1mb2bavvp8jg5wx0kx9n45anrsbjwhjzddim987bjaa11hg45kif")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.10) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-bytes" ,rust-serde-bytes-0.10) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/ron-rs/ron") + (synopsis "Rusty Object Notation") + (description "This package provides Rusty Object Notation (RON).") + (license (list license:expat license:asl2.0)))) + (define-public rust-ron-0.4 (package + (inherit rust-ron-0.5) (name "rust-ron") (version "0.4.2") (source @@ -21115,7 +22033,6 @@ Rust Language Server.") (sha256 (base32 "13ypx80ac1minrmn9w9sgnbxlknwiv7qhx5n50azh0s484j2mx8p")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -21124,12 +22041,7 @@ Rust Language Server.") ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (;("rust-serde-bytes" ,rust-serde-bytes-0.10) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/ron-rs/ron") - (synopsis "Rusty Object Notation") - (description "Rusty Object Notation.") - (license (list license:asl2.0 - license:expat)))) + ("rust-serde-json" ,rust-serde-json-1)))))) (define-public rust-rspec-1 (package @@ -21146,7 +22058,7 @@ Rust Language Server.") (arguments `(#:skip-build? #t ;; TODO unpackaged dev-dependencies #:cargo-inputs - (("rust-colored" ,rust-colored-1.9) + (("rust-colored" ,rust-colored-1) ("rust-derive-new" ,rust-derive-new-0.5) ("rust-derive-builder" ,rust-derive-builder-0.5) ("rust-expectest" ,rust-expectest-0.9) @@ -21198,7 +22110,7 @@ console applications.") (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-chrono" ,rust-chrono-0.4) ("rust-csv" ,rust-csv-1.1) ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) @@ -21210,7 +22122,7 @@ console applications.") ("rust-memchr" ,rust-memchr-2) ("rust-serde-json" ,rust-serde-json-1) ("rust-time" ,rust-time-0.1) - ("rust-url" ,rust-url-1.7) + ("rust-url" ,rust-url-1) ("rust-uuid" ,rust-uuid-0.7)) #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1) @@ -21506,11 +22418,11 @@ It is automatically published using the compiler repository at ("rust-rustc-ap-graphviz" ,rust-rustc-ap-graphviz-654) ("rust-rustc-ap-rustc-index" ,rust-rustc-ap-rustc-index-654) ("rust-rustc-ap-serialize" ,rust-rustc-ap-serialize-654) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-rustc-rayon" ,rust-rustc-rayon-0.3) ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.3) ("rust-smallvec" ,rust-smallvec-1) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/alexcrichton/rustc-auto-publish") (synopsis "Automatically published versions of rustc data structures") @@ -21719,7 +22631,7 @@ It is automatically published using the compiler repository at `(#:skip-build? #t #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/alexcrichton/rustc-demangle") (synopsis "Rust compiler symbol demangling") (description @@ -21727,7 +22639,7 @@ It is automatically published using the compiler repository at (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-hash-1.1 +(define-public rust-rustc-hash-1 (package (name "rust-rustc-hash") (version "1.1.0") @@ -21748,6 +22660,20 @@ It is automatically published using the compiler repository at "This package provides a speedy, non-cryptographic hash used in rustc.") (license (list license:asl2.0 license:expat)))) +(define-public rust-rustc-hash-1.0 + (package + (inherit rust-rustc-hash-1) + (name "rust-rustc-hash") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-hash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f4cnbcmz2c3zjidqszc9c4fip37ch4xl74nkkp9dw291j5zqh3m")))))) + (define-public rust-rustc-rayon-0.3 (package (name "rust-rustc-rayon") @@ -21766,7 +22692,7 @@ It is automatically published using the compiler repository at `(#:tests? #f #:cargo-inputs (("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) - ("rust-either" ,rust-either-1.5) + ("rust-either" ,rust-either-1) ("rust-rustc-rayon-core" ,rust-rustc-rayon-core-0.3)) #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3) @@ -21850,7 +22776,7 @@ decoding.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-std-workspace-alloc-1.0 +(define-public rust-rustc-std-workspace-alloc-1 (package (name "rust-rustc-std-workspace-alloc") (version "1.0.0") @@ -21870,7 +22796,7 @@ decoding.") (description "This package is a Rust workspace hack.") (license (list license:asl2.0 license:expat)))) -(define-public rust-rustc-std-workspace-core-1.0 +(define-public rust-rustc-std-workspace-core-1 (package (name "rust-rustc-std-workspace-core") (version "1.0.0") @@ -22034,7 +22960,7 @@ rustc compiler.") ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)) #:cargo-development-inputs - (("rust-difference" ,rust-difference-2.0) + (("rust-difference" ,rust-difference-2) ("rust-duct" ,rust-duct-0.13) ("rust-env-logger" ,rust-env-logger-0.6) ("rust-log" ,rust-log-0.4) @@ -22046,8 +22972,70 @@ rustc compiler.") "Automatically apply the suggestions made by rustc.") (license (list license:expat license:asl2.0)))) +(define-public rust-rustls-0.18 + (package + (name "rust-rustls") + (version "0.18.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "108cf3bfw5high066shz9xrfv4jz7djdmnwqs3kwx4wfypf2c4ax")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.12) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))) + (home-page "https://github.com/ctz/rustls") + (synopsis "Modern TLS library written in Rust.") + (description "This package provides a modern TLS library written in +Rust.") + (license + (list license:asl2.0 license:isc license:expat)))) + +(define-public rust-rustls-0.17 + (package + (inherit rust-rustls-0.18) + (name "rust-rustls") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q8m835viqrf4bbd2fa8rnmaj48fkd984saxf0238hb8blgs7m60")))) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.11) + ("rust-log" ,rust-log-0.4) + ("rust-ring" ,rust-ring-0.16) + ("rust-sct" ,rust-sct-0.6) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)))))) + (define-public rust-rustls-0.16 (package + (inherit rust-rustls-0.17) (name "rust-rustls") (version "0.16.0") (source @@ -22057,7 +23045,6 @@ rustc compiler.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "17n0fx3fpkg4fhpdplrdhkissnl003kj90vzbqag11vkpyqihnmj")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ;; 1/114 tests fail (test file not found) #:cargo-inputs @@ -22071,11 +23058,7 @@ rustc compiler.") ("rust-env-logger" ,rust-env-logger-0.6) ("rust-log" ,rust-log-0.4) ("rust-tempfile" ,rust-tempfile-3) - ("rust-webpki-roots" ,rust-webpki-roots-0.17)))) - (home-page "https://github.com/ctz/rustls") - (synopsis "Modern TLS library written in Rust") - (description "This package provides a modern TLS library written in Rust.") - (license (list license:asl2.0 license:isc license:expat)))) + ("rust-webpki-roots" ,rust-webpki-roots-0.17)))))) (define-public rust-rustls-0.12 (package/inherit rust-rustls-0.16 @@ -22109,6 +23092,38 @@ rustc compiler.") ("rust-serde-derive" ,rust-serde-derive-1) ("rust-webpki-roots" ,rust-webpki-roots-0.14)))))) +(define-public rust-rustls-native-certs-0.4 + (package + (name "rust-rustls-native-certs") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustls-native-certs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f2rkvdkz92qcmwryyqiw9phkqkf95g4962ljpfq5nkjfsd477b2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-openssl-probe" ,rust-openssl-probe-0.1) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" + ,rust-security-framework-1)) + #:cargo-development-inputs + (("rust-ring" ,rust-ring-0.16) + ("rust-untrusted" ,rust-untrusted-0.7) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))) + (home-page "https://github.com/ctz/rustls-native-certs") + (synopsis "Use the platform native certificate store with rustls") + (description "@code{rustls-native-certs} allows rustls to use the platform +native certificate store.") + (license + (list license:asl2.0 license:isc license:expat)))) + (define-public rust-rusttype-0.8 (package (name "rust-rusttype") @@ -22134,7 +23149,7 @@ rustc compiler.") ("rust-linked-hash-map" ,rust-linked-hash-map-0.5) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-ordered-float" ,rust-ordered-float-1.0) - ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-rustc-hash" ,rust-rustc-hash-1) ("rust-stb-truetype" ,rust-stb-truetype-0.3)))) (home-page "https://gitlab.redox-os.org/redox-os/rusttype") (synopsis "Pure Rust alternative to libraries like FreeType") @@ -22171,7 +23186,7 @@ font rendering.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-unicode-normalization" ,rust-unicode-normalization-0.1)))))) -(define-public rust-rustversion-1.0 +(define-public rust-rustversion-1 (package (name "rust-rustversion") (version "1.0.2") @@ -22395,6 +23410,27 @@ paths point to the same file.") server functionality.") (license license:expat))) +(define-public rust-scheduled-thread-pool-0.2 + (package + (name "rust-scheduled-thread-pool") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "scheduled-thread-pool" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mz7s21q1d7xn9j15dlhhv1y86q2r2z6hpax5nh3y1q42byp8vyw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-parking-lot" ,rust-parking-lot-0.11)))) + (home-page "https://github.com/sfackler/scheduled-thread-pool") + (synopsis "A scheduled thread pool") + (description "This package provides a scheduled thread pool.") + (license (list license:expat license:asl2.0)))) + (define-public rust-scoped-threadpool-0.1 (package (name "rust-scoped-threadpool") @@ -22460,10 +23496,10 @@ library's old @code{scoped_thread_local!} macro for providing scoped access to (base32 "0a2bn9d2mb07c6l16sadijy4p540g498zddfxyiq4rsqpwrglbrk")))))) -(define-public rust-scopeguard-1.0 +(define-public rust-scopeguard-1 (package (name "rust-scopeguard") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) @@ -22471,9 +23507,8 @@ library's old @code{scoped_thread_local!} macro for providing scoped access to (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml")))) + "1kbqm85v43rq92vx7hfiay6pmcga03vrjbbfwqpyj3pwsg3b16nj")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/bluss/scopeguard") (synopsis "Scope guard which will run a closure even out of scope") (description "This package provides a RAII scope guard that will run a @@ -22484,9 +23519,24 @@ with one of the implemented strategies.") (license (list license:asl2.0 license:expat)))) +(define-public rust-scopeguard-1.0 + (package + (inherit rust-scopeguard-1) + (name "rust-scopeguard") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "scopeguard" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "03aay84r1f6w87ckbpj6cc4rnsxkxcfs13n5ynxjia0qkgjiabml")))) + (arguments '(#:skip-build? #t)))) + (define-public rust-scopeguard-0.3 (package - (inherit rust-scopeguard-1.0) + (inherit rust-scopeguard-1) (name "rust-scopeguard") (version "0.3.3") (source @@ -22546,7 +23596,7 @@ with one of the implemented strategies.") `(#:cargo-inputs (("rust-base64" ,rust-base64-0.9) ("rust-byte-tools" ,rust-byte-tools-0.3) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-hmac" ,rust-hmac-0.7) ("rust-pbkdf2" ,rust-pbkdf2-0.3) ("rust-rand" ,rust-rand-0.5) @@ -22598,7 +23648,7 @@ endian-aware Read/Write traits for byte buffers.") (("rust-scroll-derive" ,rust-scroll-derive-0.9) ("rust-rustc-version" ,rust-rustc-version-0.2)) #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-rayon" ,rust-rayon-1)))) (home-page "https://github.com/m4b/scroll") (synopsis "Read/Write traits for byte buffers") @@ -22705,7 +23755,7 @@ Pwrite traits from the scroll crate.") (("rust-cc" ,rust-cc-1)))))) -(define-public rust-seahash-3.0 +(define-public rust-seahash-3 (package (name "rust-seahash") (version "3.0.7") @@ -22748,8 +23798,38 @@ proven statistical guarantees.") "This package provides a library for section-style testing.") (license license:expat))) +(define-public rust-security-framework-1 + (package + (name "rust-security-framework") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0axwlax65j1f79rsm4ylc8rc6p2knbi3dgnpbdq7a1bzh5k2hl5d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-core-foundation" ,rust-core-foundation-0.7) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) + ("rust-libc" ,rust-libc-0.2) + ("rust-security-framework-sys" ,rust-security-framework-sys-1)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.4) + ("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://lib.rs/crates/security_framework") + (synopsis "@code{Security.framework} bindings for macOS and iOS") + (description "This package provides @code{Security.framework} bindings for +macOS and iOS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-security-framework-0.3 (package + (inherit rust-security-framework-1) (name "rust-security-framework") (version "0.3.4") (source @@ -22761,7 +23841,6 @@ proven statistical guarantees.") (sha256 (base32 "1pqn79cl9njnnhsmjvvphkzx8is5jhfd8bhxpllgvrgggjfl5wlf")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; Some test files not included in release. #:cargo-inputs @@ -22771,16 +23850,61 @@ proven statistical guarantees.") ("rust-security-framework-sys" ,rust-security-framework-sys-0.3)) #:cargo-development-inputs (("rust-hex" ,rust-hex-0.4) - ("rust-tempdir" ,rust-tempdir-0.3)))) - (home-page "https://lib.rs/crates/security_framework") - (synopsis - "Security.framework bindings for macOS and iOS") - (description - "Security.framework bindings for macOS and iOS.") + ("rust-tempdir" ,rust-tempdir-0.3)))))) + +(define-public rust-security-framework-0.2 + (package + (inherit rust-security-framework-0.3) + (name "rust-security-framework") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gw3xxg8yzbjb4ny5cy07gky177c1nbgpxqjsw3hfzpfgrxji9bz")))) + (arguments + `(#:cargo-inputs + (("rust-core-foundation" + ,rust-core-foundation-0.6) + ("rust-core-foundation-sys" + ,rust-core-foundation-sys-0.6) + ("rust-libc" ,rust-libc-0.2) + ("rust-security-framework-sys" + ,rust-security-framework-sys-0.2)) + #:cargo-development-inputs + (("rust-hex" ,rust-hex-0.3) + ("rust-tempdir" ,rust-tempdir-0.3)))))) + +(define-public rust-security-framework-sys-1 + (package + (name "rust-security-framework-sys") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1iynsjz53lqkkw4zbq8l99xn799chbx90lsmrlfnsyxii14v1kji")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.7) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://lib.rs/crates/security-framework-sys") + (synopsis "Low-level FFI bindings to Apple @code{Security.framework}") + (description "This package provides low level FFI bindings to Apple +@code{Security.framework}.") (license (list license:expat license:asl2.0)))) (define-public rust-security-framework-sys-0.3 (package + (inherit rust-security-framework-sys-1) (name "rust-security-framework-sys") (version "0.3.3") (source @@ -22794,13 +23918,25 @@ proven statistical guarantees.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)))) - (home-page "https://lib.rs/crates/security-framework-sys") - (synopsis "Apple `Security.framework` low-level FFI bindings") - (description - "Apple @code{Security.framework} low-level FFI bindings.") - (license (list license:asl2.0 - license:expat)))) + (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)))))) + +(define-public rust-security-framework-sys-0.2 + (package + (inherit rust-security-framework-sys-0.3) + (name "rust-security-framework-sys") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "security-framework-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07zv0szz2kfy1hn251h0qsq0q9i1zia768d8vzril1g6xarj7mcj")))) + (arguments + `(#:cargo-inputs + (("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6) + ("rust-libc" ,rust-libc-0.2)))))) (define-public rust-selectors-0.22 (package @@ -22868,6 +24004,33 @@ proven statistical guarantees.") (description "Rust semaphore library.") (license license:expat))) +(define-public rust-semver-0.10 + (package + (name "rust-semver") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "semver" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1401i88135h2paxwvf0b51hf585rdzxa8yxg7j800gk2z8lfqk1r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-diesel" ,rust-diesel-1) + ("rust-semver-parser" ,rust-semver-parser-0.7) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://docs.rs/crate/semver/") + (synopsis "Semantic version parsing and comparison") + (description "This package provides semantic version parsing and +comparison.") + (license (list license:expat license:asl2.0)))) + (define-public rust-semver-0.9 (package (name "rust-semver") @@ -22935,7 +24098,7 @@ proven statistical guarantees.") (define-public rust-serde-1 (package (name "rust-serde") - (version "1.0.105") + (version "1.0.116") (source (origin (method url-fetch) @@ -22943,11 +24106,10 @@ proven statistical guarantees.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7")))) + "19bhld1qyjs4qr3rd6dmzmy13imb6a1qbinb2fjqd0yjh6pmgzln")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-serde-derive" ,rust-serde-derive-1)) #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1)))) @@ -23087,6 +24249,21 @@ proven statistical guarantees.") "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.") (license (list license:expat license:asl2.0)))) +(define-public rust-serde-bytes-0.10 + (package + (inherit rust-serde-bytes-0.11) + (name "rust-serde-bytes") + (version "0.10.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_bytes" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "127c9br02ygajs4z3bw850i48nc25f4yn7kmh21wqd3z7nlbiyyy")))))) + (define-public rust-serde-cbor-0.11 (package (name "rust-serde-cbor") @@ -23103,7 +24280,7 @@ proven statistical guarantees.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-half" ,rust-half-1.3) + (("rust-half" ,rust-half-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1)))) @@ -23129,8 +24306,8 @@ proven statistical guarantees.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-half" ,rust-half-1.3) + (("rust-byteorder" ,rust-byteorder-1) + ("rust-half" ,rust-half-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-serde-derive" ,rust-serde-derive-1)))))) @@ -23191,7 +24368,7 @@ for the serde framework.") (define-public rust-serde-derive-1 (package (name "rust-serde-derive") - (version "1.0.105") + (version "1.0.116") (source (origin (method url-fetch) @@ -23199,11 +24376,10 @@ for the serde framework.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc")))) + "1s4sbl32lk1afxryfax73clvq22lwzdgzljb7f3mgr6q1wvscc7n")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) ("rust-syn" ,rust-syn-1)) @@ -23265,11 +24441,11 @@ for the serde framework.") ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (;("rust-automod" ,rust-automod-0.1) - ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-rustversion" ,rust-rustversion-1) ("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1) ;("rust-serde-stacker" ,rust-serde-stacker-0.1) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/serde-rs/json") (synopsis "JSON serialization file format") (description @@ -23340,7 +24516,7 @@ for the serde framework.") (define-public rust-serde-test-1 (package (name "rust-serde-test") - (version "1.0.105") + (version "1.0.113") (source (origin (method url-fetch) @@ -23349,11 +24525,10 @@ for the serde framework.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vnp0wld20z1wjr8qp2hxcy6yh2zhicg1mfb0qrzxgwq2a4n6raa")))) + "02s7zjs12m5abk13j5farc00rzissk1anpl015vawpzz914jsan3")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-serde" ,rust-serde-1) @@ -23412,6 +24587,32 @@ for the serde framework.") ((", path = \"../serde\"") "")) #t))))))) +(define-public rust-serde-urlencoded-0.6 + (package + (name "rust-serde-urlencoded") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_urlencoded" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15rcwfkff0md5i231m2ym5756ksw1mkh5b5g2rw72wsc5mzdgicy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dtoa" ,rust-dtoa-0.4) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://github.com/nox/serde_urlencoded") + (synopsis "x-www-form-urlencoded meets serde") + (description "x-www-form-urlencoded meets serde.") + (license (list license:expat license:asl2.0)))) + (define-public rust-serde-yaml-0.8 (package (name "rust-serde-yaml") @@ -23506,7 +24707,7 @@ for the serde framework.") `(#:cargo-inputs (("rust-nodrop" ,rust-nodrop-0.1) ("rust-serde" ,rust-serde-1) - ("rust-stable-deref-trait" ,rust-stable-deref-trait-1.1)))) + ("rust-stable-deref-trait" ,rust-stable-deref-trait-1)))) (home-page "https://github.com/servo/servo") (synopsis "Fork of std::sync::Arc with some extra functionality") (description @@ -24044,6 +25245,39 @@ words, like Python's shlex.") (description "Backend crate for signal-hook.") (license (list license:asl2.0 license:expat)))) +(define-public rust-simba-0.1 + (package + (name "rust-simba") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "simba" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1chz3abrvrj4qz86gwrrzajsl5zcc2l0dhxi39mymbgscw9ip4zv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-cordic" ,rust-cordic-0.1) + ("rust-decimal" ,rust-decimal-2.0) + ("rust-fixed" ,rust-fixed-1) + ("rust-num-complex" ,rust-num-complex-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-packed-simd" ,rust-packed-simd-0.3) + ("rust-paste" ,rust-paste-0.1) + ("rust-rand" ,rust-rand-0.7) + ("rust-wide" ,rust-wide-0.4)))) + (home-page "https://github.com/dimforge/simba") + (synopsis "SIMD algebra for Rust") + (description "This package provides a set of mathematical traits to +facilitate the use of SIMD-based @dfn{Array of Struct of Array} (AoSoA) storage +pattern in Rust.") + (license license:bsd-3))) + (define-public rust-simd-0.2 (package (name "rust-simd") @@ -24365,99 +25599,6 @@ stack.") #:cargo-development-inputs (("rust-bincode" ,rust-bincode-1)))))) -(define-public rust-smithay-client-toolkit-0.6 - (package - (name "rust-smithay-client-toolkit") - (version "0.6.4") - (source - (origin - (method url-fetch) - (uri (crate-uri "smithay-client-toolkit" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0m20687zs36l6xak2s5k9s7qp78ly8xfjpbmrhacp7whfn4hx5lk")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-andrew" ,rust-andrew-0.2) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-dlib" ,rust-dlib-0.4) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-memmap" ,rust-memmap-0.7) - ("rust-nix" ,rust-nix-0.14) - ("rust-wayland-client" ,rust-wayland-client-0.23) - ("rust-wayland-protocols" ,rust-wayland-protocols-0.23)) - #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-image" ,rust-image-0.21) - ("rust-wayland-client" ,rust-wayland-client-0.23)))) - (home-page "https://github.com/smithay/client-toolkit") - (synopsis "Toolkit for making client wayland applications") - (description - "Toolkit for making client wayland applications.") - (license license:expat))) - -(define-public rust-smithay-client-toolkit-0.4 - (package - (inherit rust-smithay-client-toolkit-0.6) - (name "rust-smithay-client-toolkit") - (version "0.4.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "smithay-client-toolkit" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1yj8yzd0lhqpsgq0x4iikl9a02q2hnkky81brk938alv0ibqrjrc")))) - (arguments - `(#:cargo-inputs - (("rust-andrew" ,rust-andrew-0.2) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-dlib" ,rust-dlib-0.4) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-memmap" ,rust-memmap-0.7) - ("rust-nix" ,rust-nix-0.14) - ("rust-wayland-client" ,rust-wayland-client-0.21) - ("rust-wayland-commons" ,rust-wayland-commons-0.21) - ("rust-wayland-protocols" ,rust-wayland-protocols-0.21)) - #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-image" ,rust-image-0.20) - ("rust-wayland-client" ,rust-wayland-client-0.21)))))) - -(define-public rust-smithay-clipboard-0.3 - (package - (name "rust-smithay-clipboard") - (version "0.3.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "smithay-clipboard" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1h7qhcx44cgwncgpn5llky0c56vgsg9mqrkybb2z37vsxxia4rwn")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-nix" ,rust-nix-0.14) - ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)) - #:cargo-development-inputs - (("rust-andrew" ,rust-andrew-0.2)))) - (inputs - `(("wayland" ,wayland))) - (home-page "https://github.com/smithay/smithay-clipboard") - (synopsis - "Provides access to the wayland clipboard for client applications") - (description - "This package provides access to the wayland clipboard for client applications.") - (license license:expat))) - (define-public rust-socket2-0.3 (package (name "rust-socket2") @@ -24512,6 +25653,50 @@ track of where each new file and line starts.") (license (list license:asl2.0 license:expat)))) +(define-public rust-sourcemap-6 + (package + (name "rust-sourcemap") + (version "6.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "sourcemap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sv1rxc6d2rfvd5xrqzqq0i2y0z1q7sqj3wm9krxbggcccj1y0vf")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Enable unstable features + (substitute* "src/lib.rs" + (("//! This library" all) + (string-append "#![feature(inner_deref)]" "\n" all))) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.11) + ("rust-if-chain" ,rust-if-chain-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-1) + ("rust-scroll" ,rust-scroll-0.10) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-url" ,rust-url-2)) + #:cargo-development-inputs + (("rust-rustc-version" ,rust-rustc-version-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + #t))))) + (home-page "https://github.com/getsentry/rust-sourcemap") + (synopsis "Basic sourcemap handling for Rust") + (description "This package provides basic sourcemap handling for Rust.") + (license license:bsd-3))) + (define-public rust-speculate-0.1 (package (name "rust-speculate") @@ -24619,7 +25804,29 @@ initializers are available.") "This package provides a single-producer single-consumer lock-free buffer.") (license license:expat))) -(define-public rust-stable-deref-trait-1.1 +(define-public rust-st-map-0.1 + (package + (name "rust-st-map") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "st-map" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l820pisfi134v3wy0na480wl7rf69kgxzvmgc560ngqb0xb3biw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-static-map-macro" ,rust-static-map-macro-0.2)))) + (home-page "https://github.com/kdy1/rust-static-map") + (synopsis "Runtime for a stack-alocated map") + (description "This package provides a runtime for a stack-alocated map.") + (license license:expat))) + +(define-public rust-stable-deref-trait-1 (package (name "rust-stable-deref-trait") (version "1.1.1") @@ -24698,6 +25905,27 @@ deeply recursive algorithms that may accidentally blow the stack.") "StackVec: vector-like facade for stack-allocated arrays.") (license (list license:asl2.0 license:expat)))) +(define-public rust-standback-0.2 + (package + (name "rust-standback") + (version "0.2.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "standback" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rnqv9dbq9c4nz7097v0f1d04fjwwsvvyy8rmz8lg1szxahix9rk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/jhpratt/standback") + (synopsis "New standard library, old compiler") + (description "New standard library, old compiler.") + (license (list license:expat license:asl2.0)))) + (define-public rust-static-assertions-1 (package (name "rust-static-assertions") @@ -24732,6 +25960,31 @@ are met.") (base32 "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz")))))) +(define-public rust-static-map-macro-0.2 + (package + (name "rust-static-map-macro") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "static-map-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zcm28d46dggdpbn06xlpa274z25l228cmzxpc8qh8s8y43kwl6m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pmutil" ,rust-pmutil-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/kdy1/rust-static-map") + (synopsis "Macro to create a stack-alocated map") + (description "This package provides a macro to create a stack-alocated +map.") + (license license:expat))) + (define-public rust-stb-truetype-0.3 (package (name "rust-stb-truetype") @@ -24749,7 +26002,7 @@ are met.") (arguments `(#:tests? #f ; tests not included in release #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-libm" ,rust-libm-0.2)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3)))) @@ -24760,6 +26013,28 @@ are met.") in @code{stb_truetype.h} from C to Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-std-prelude-0.2 + (package + (name "rust-std-prelude") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "std_prelude" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ghcwnhnqn3rphyhlknmxpj5clzqva46z1vh25k5bpzzan2ff1w2")))) + (build-system cargo-build-system) + (home-page "https://github.com/vitiral/std_prelude") + (synopsis + "Prelude that the rust stdlib should have always had") + (description + "A package that simply uses all of the items often included in a Rust +codebase.") + (license license:expat))) + (define-public rust-stdweb-0.4 (package (name "rust-stdweb") @@ -24904,8 +26179,63 @@ crate.") (license (list license:asl2.0 license:expat)))) +(define-public rust-stfu8-0.2 + (package + (name "rust-stfu8") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "stfu8" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xyv4axwc9rihg3f5fjdy7s0ahnz1iq6lq06blwkq2ihwcrh9xsb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-regex" ,rust-regex-0.2)) + #:cargo-development-inputs + (("rust-pretty-assertions" ,rust-pretty-assertions-0.4) + ("rust-proptest" ,rust-proptest-0.3)))) + (home-page "https://github.com/vitiral/stfu8") + (synopsis "Sorta Text Format in UTF-8") + (description + "STFU-8 is a hacky text encoding/decoding protocol for files that +partially uses UTF-8. Its primary purpose is to allow a human to visualize and +edit data that is mostly UTF-8. It will encode all non-UTF8-compliant bytes as +longform text (e.g., ESC becomes @code{r\x1B}) and tries to encode ill-formed +UTF-8.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-stream-cipher-0.4 + (package + (name "rust-stream-cipher") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "stream-cipher" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "120y04k3d2jyfnvyrlf38x6bf0yckyk30c7zf8v8qaq4fjcyvy09")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-blobby" ,rust-blobby-0.1) + ("rust-block-cipher" ,rust-block-cipher-0.7) + ("rust-generic-array" ,rust-generic-array-0.14)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Stream cipher traits") + (description "This package provides stream cipher traits.") + (license (list license:expat license:asl2.0)))) + (define-public rust-stream-cipher-0.3 (package + (inherit rust-stream-cipher-0.4) (name "rust-stream-cipher") (version "0.3.0") (source @@ -24917,16 +26247,11 @@ crate.") (sha256 (base32 "1g1nd8r6pph70rzk5yyvg7a9ji7pkap9ddiqpp4v9xa9ys0bqqc8")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-blobby" ,rust-blobby-0.1) - ("rust-generic-array" ,rust-generic-array-0.13)))) - (home-page "https://github.com/RustCrypto/traits") - (synopsis "Stream cipher traits") - (description "Stream cipher traits.") - (license (list license:asl2.0 license:expat)))) + ("rust-generic-array" ,rust-generic-array-0.13)))))) (define-public rust-streaming-stats-0.2 (package @@ -25351,10 +26676,123 @@ cryptographic implementations.") (description "Custom derive for sval.") (license (list license:asl2.0 license:expat)))) +(define-public rust-swc-1 + (package + (name "rust-swc") + (version "1.2.24") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/swc-project/swc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1w9al035x0gmard80vqvah8sy8szs6bnd1ynnyssiiylzg7vhyyv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.12) + ("rust-base64" ,rust-base64-0.12) + ("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1) + ("rust-crc" ,rust-crc-1) + ("rust-darling" ,rust-darling-0.10) + ("rust-dashmap" ,rust-dashmap-3) + ("rust-either" ,rust-either-1) + ("rust-fxhash" ,rust-fxhash-0.2) + ("rust-is-macro" ,rust-is-macro-0.1) + ("rust-jemallocator" ,rust-jemallocator-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-mimalloc" ,rust-mimalloc-0.1) + ("rust-napi" ,rust-napi-0.5) + ("rust-napi-build" ,rust-napi-build-0.2) + ("rust-napi-derive" ,rust-napi-derive-0.5) + ("rust-nom" ,rust-nom-5) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-parking-lot" ,rust-parking-lot-0.7) + ("rust-path-clean" ,rust-path-clean-0.1) + ("rust-petgraph" ,rust-petgraph-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-radix-fmt" ,rust-radix-fmt-1) + ("rust-regex" ,rust-regex-1) + ("rust-relative-path" ,rust-relative-path-1) + ("rust-retain-mut" ,rust-retain-mut-0.1) + ("rust-scoped-tls" ,rust-scoped-tls-1.0) + ("rust-st-map" ,rust-st-map-0.1) + ("rust-string-cache" ,rust-string-cache-0.8) + ("rust-walkdir" ,rust-walkdir-2) + ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1.0) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-num-bigint" ,rust-num-bigint-0.2) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6) + ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sourcemap" ,rust-sourcemap-6) + ("rust-string-cache-codegen" ,rust-string-cache-codegen-0.5) + ("rust-tempfile" ,rust-tempfile-3)) + #:tests? #f ;; tests env_query_chrome_71 and project_env fail + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'enable-unstable-features + (lambda _ + (setenv "RUSTC_BOOTSTRAP" "1") + (substitute* "ecmascript/jsdoc/src/lib.rs" + (("pub use self" all) + (string-append "#![feature(non_exhaustive)]\n" all))) + (substitute* "ecmascript/parser/src/lib.rs" + (("//! es2019" all) + (string-append "#![feature(non_exhaustive)] +#![feature(mem_take)] +#![feature(proc_macro_hygiene)] +" all))) + (substitute* "ecmascript/transforms/src/lib.rs" + (("#!\\[cfg_attr" all) + (string-append "#![feature(mem_take)]\n" all))) + #t)) + (add-after 'enable-unstable-features 'patch-build-failures + (lambda _ + (chmod ".cargo/config" 420) + (substitute* "ecmascript/transforms/macros/src/lib.rs" + (("use proc_macro::") + "extern crate proc_macro;\nuse proc_macro::")) + (substitute* "common/src/errors/emitter.rs" + ((" #\\[cfg\\(feature = \"tty-emitter\"\\)\\]\n") "")) + #t))))) + (home-page "https://swc.rs/") + (synopsis "Typescript/javascript compiler") + (description "@code{rust-swc} is a typescript/javascript compiler. It +consumes a javascript or typescript file which uses recently added features +like async-await and emits javascript code which can be executed on old +browsers.") + (license (list license:expat + license:asl2.0)))) + +(define-public rust-syn-test-suite-0 + (package + (name "rust-syn-test-suite") + (version "0.0.0+test") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn-test-suite" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d9ffrbgci1qjdcpvgrsg3sh24qdsdh66zcsvn5prrk05ycn3mm0")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/syn") + (synopsis "Test suite of the syn crate") + (description "This package provides the test suite of the syn crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-syn-1 (package (name "rust-syn") - (version "1.0.17") + (version "1.0.40") (source (origin (method url-fetch) @@ -25362,7 +26800,7 @@ cryptographic implementations.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d")))) + "0l437lsnv289y64pgl2mfvr1vgrb2hix5bb5a4rbjncvqly7sgwn")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -25372,12 +26810,13 @@ cryptographic implementations.") ("rust-quote" ,rust-quote-1)) #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1.0) - ("rust-flate2" ,rust-flate2-1.0) - ;("rust-insta" ,rust-insta-0.12) + ("rust-flate2" ,rust-flate2-1) + ("rust-insta" ,rust-insta-0.16) ("rust-rayon" ,rust-rayon-1) ("rust-ref-cast" ,rust-ref-cast-1.0) ("rust-regex" ,rust-regex-1) - ;("rust-reqwest" ,rust-reqwest-0.10) + ("rust-reqwest" ,rust-reqwest-0.10) + ("rust-syn-test-suite" ,rust-syn-test-suite-0) ("rust-tar" ,rust-tar-0.4) ("rust-termcolor" ,rust-termcolor-1) ("rust-walkdir" ,rust-walkdir-2)))) @@ -25415,6 +26854,53 @@ cryptographic implementations.") ("rust-walkdir" ,rust-walkdir-2)))) (properties '()))) +(define-public rust-syn-0.14 + (package + (inherit rust-syn-0.15) + (name "rust-syn") + (version "0.14.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hgpgi8lcvkfd5jnma5fxq41ycb9kna635b4c2wl4z1rmbnfj6i6")))) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.4) + ("rust-quote" ,rust-quote-0.6) + ("rust-unicode-xid" ,rust-unicode-xid-0.1)) + #:cargo-development-inputs + (("rust-rayon" ,rust-rayon-1) + ("rust-walkdir" ,rust-walkdir-2)))))) + +(define-public rust-syn-0.13 + (package + (inherit rust-syn-0.14) + (name "rust-syn") + (version "0.13.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16qvx8qyb5v4vjbg9rk8848bw6x4i6vzs8v7f4n1v9pkj9ibzy8l")))) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.3) + ("rust-quote" ,rust-quote-0.5) + ("rust-unicode-xid" ,rust-unicode-xid-0.1)) + #:cargo-development-inputs + (("rust-rayon" ,rust-rayon-1) + ("rust-walkdir" ,rust-walkdir-2)))))) + (define-public rust-syn-0.11 (package (inherit rust-syn-0.15) @@ -25603,11 +27089,11 @@ cryptographic implementations.") ("rust-regex-syntax" ,rust-regex-syntax-0.6) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-fnv" ,rust-fnv-1) ("rust-bitflags" ,rust-bitflags-1) - ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-lazycell" ,rust-lazycell-1) ("rust-bincode" ,rust-bincode-1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-walkdir" ,rust-walkdir-2) @@ -25740,7 +27226,7 @@ syntax extension expansion.") `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-failure" ,rust-failure-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-walkdir" ,rust-walkdir-2)))) @@ -25767,7 +27253,7 @@ syntax extension expansion.") (arguments `(#:skip-build? #t ; Unsupported on Linux. #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-errno" ,rust-errno-0.2) ("rust-libc" ,rust-libc-0.2)))))) @@ -25823,6 +27309,24 @@ syntax extension expansion.") (description "Send log messages to syslog.") (license license:expat))) +(define-public rust-take-mut-0.2 + (package + (name "rust-take-mut") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "take_mut" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q2d7w6nd5bl7bay5csq065sjg8fw0jcx6hl1983cpzf25fh0r7p")))) + (build-system cargo-build-system) + (home-page "https://github.com/Sgeo/take_mut") + (synopsis "Take a T from a &mut T temporarily") + (description "This package lets you temporarily take a T from a &mut T.") + (license license:expat))) + (define-public rust-takeable-option-0.4 (package (name "rust-takeable-option") @@ -25980,6 +27484,28 @@ directories.") (license (list license:asl2.0 license:expat)))) +(define-public rust-tempfile-2 + (package + (inherit rust-tempfile-3) + (name "rust-tempfile") + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tempfile" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q61byf232rra0vqxp4qp10wwwqsqqd45qjj80ql5f34vgljzkhi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-kernel32-sys" ,rust-kernel32-sys-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-rand" ,rust-rand-0.3) + ("rust-redox-syscall" ,rust-redox-syscall-0.1) + ("rust-winapi" ,rust-winapi-0.2)))))) + (define-public rust-tendril-0.4 (package (name "rust-tendril") @@ -26050,7 +27576,7 @@ directories.") "0hkgjrfisj6zjwz525639pmsvzhlc48a0h65nw87qrdp6jihdlgd")))) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-dirs" ,rust-dirs-1.0) ("rust-winapi" ,rust-winapi-0.3)))))) @@ -26286,6 +27812,20 @@ bindings are a small wrapper around the raw C functions, which converts integer return values to @code{std::io::Result} to indicate success or failure.") (license license:expat))) +(define-public rust-termios-0.2 + (package + (inherit rust-termios-0.3) + (name "rust-termios") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "termios" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fk8nl0rmk43jrh6hjz6c6d83ri7l6fikag6lh0ffz3di9cwznfm")))))) + (define-public rust-test-assembler-0.1 (package (name "rust-test-assembler") @@ -26303,7 +27843,7 @@ return values to @code{std::io::Result} to indicate success or failure.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3)))) + (("rust-byteorder" ,rust-byteorder-1)))) (home-page "https://github.com/luser/rust-test-assembler") (synopsis "Build complex binary streams") (description @@ -26348,11 +27888,22 @@ unstable language features.") (origin (method url-fetch) (uri (crate-uri "textwrap" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0q5hky03ik3y50s9sz25r438bc4nwhqc6dqwynv4wylc807n29nk")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (;("rust-hyphenation" ,rust-hyphenation-0.7) + ("rust-term-size" ,rust-term-size-0.3) + ("rust-unicode-width" ,rust-unicode-width-0.1)) + #:cargo-development-inputs + (;("rust-lipsum" ,rust-lipsum-0.6) + ("rust-rand" ,rust-rand-0.6) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.1) + ("rust-version-sync" ,rust-version-sync-0.6)))) (home-page "https://github.com/mgeisler/textwrap") (synopsis "Library for word wrapping, indenting, and dedenting strings") (description @@ -26360,7 +27911,6 @@ unstable language features.") strings. You can use it to format strings (such as help and error messages) for display in commandline applications. It is designed to be efficient and handle Unicode characters correctly.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-thin-slice-0.1 @@ -26384,7 +27934,7 @@ handle Unicode characters correctly.") "An owned slice that packs the slice storage into a single word when possible.") (license license:mpl2.0))) -(define-public rust-thiserror-1.0 +(define-public rust-thiserror-1 (package (name "rust-thiserror") (version "1.0.9") @@ -26405,8 +27955,8 @@ handle Unicode characters correctly.") #:cargo-development-inputs (("rust-anyhow" ,rust-anyhow-1.0) ("rust-ref-cast" ,rust-ref-cast-1.0) - ("rust-rustversion" ,rust-rustversion-1.0) - ("rust-trybuild" ,rust-trybuild-1.0)))) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/dtolnay/thiserror") (synopsis "derive(Error)") (description "This package provides @code{derive(Error)} in Rust.") @@ -26438,7 +27988,7 @@ handle Unicode characters correctly.") @code{thiserror} crate.") (license (list license:expat license:asl2.0)))) -(define-public rust-thread-id-3.3 +(define-public rust-thread-id-3 (package (name "rust-thread-id") (version "3.3.0") @@ -26466,7 +28016,7 @@ different for every thread.") (define-public rust-thread-id-2.0 (package - (inherit rust-thread-id-3.3) + (inherit rust-thread-id-3) (name "rust-thread-id") (version "2.0.0") (source @@ -26564,82 +28114,42 @@ fixed set of worker threads.") (license (list license:asl2.0 license:expat)))) -(define-public rust-tiff-0.5 +(define-public rust-time-0.2 (package - (name "rust-tiff") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "tiff" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0bzzvxcx21pzryxgd7x7a1himiqs2y4k55754wzlr56sqj3qlfrz")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; not all test files included - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-lzw" ,rust-lzw-0.10) - ("rust-miniz-oxide" ,rust-miniz-oxide-0.3)))) - (home-page "https://github.com/image-rs/image-tiff") - (synopsis - "TIFF decoding and encoding library in pure Rust") - (description - "TIFF decoding and encoding library in pure Rust.") - (license license:expat))) - -(define-public rust-tiff-0.3 - (package - (inherit rust-tiff-0.5) - (name "rust-tiff") - (version "0.3.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "tiff" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0zgmbny2f8rssqmjdfvnysy0vqwcvlwl6q9f5yixhavlqk7w5dyp")))) - (arguments - `(#:tests? #f ; Tests images not included with release. - #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-lzw" ,rust-lzw-0.10) - ("rust-num-derive" ,rust-num-derive-0.2) - ("rust-num-traits" ,rust-num-traits-0.2)) - #:cargo-development-inputs - (("rust-tempfile" ,rust-tempfile-3)))))) - -(define-public rust-tiff-0.2 - (package - (inherit rust-tiff-0.3) - (name "rust-tiff") - (version "0.2.2") + (name "rust-time") + (version "0.2.19") (source (origin (method url-fetch) - (uri (crate-uri "tiff" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (uri (crate-uri "time" version)) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1kn7psgpacns337vvqh272rkqwnakmjd51rc7ygwnc03ibr38j0y")))) + "18bhl0nmfyd8drksskw830ybw9pr47pisfn4245wabqijgys3hc0")))) + (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-lzw" ,rust-lzw-0.10) - ("rust-num-derive" ,rust-num-derive-0.2) - ("rust-num-traits" ,rust-num-traits-0.2)))))) + (("rust-const-fn" ,rust-const-fn-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-rand" ,rust-rand-0.7) + ("rust-serde" ,rust-serde-1) + ("rust-standback" ,rust-standback-0.2) + ("rust-stdweb" ,rust-stdweb-0.4) + ("rust-time-macros" ,rust-time-macros-0.1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/time-rs/time") + (synopsis "Date and time library") + (description "This package provides a date and time library. It is fully +interoperable with the standard library, and is mostly compatible with +@code{#![no_std]}.") + (license (list license:expat license:asl2.0)))) (define-public rust-time-0.1 (package (name "rust-time") - (version "0.1.42") + (version "0.1.43") (source (origin (method url-fetch) @@ -26647,7 +28157,7 @@ fixed set of worker threads.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0vsbvsz0ryxb35dy9j4anxvy8zlaplmjmi0a4z4l64bc135cz3fv")))) + "0f14wrgxj7ya2v4msg5mni7046bsm2angm7cn3pd3yv04gpm12na")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -26667,10 +28177,81 @@ in Rust.") (license (list license:asl2.0 license:expat)))) -(define-public rust-tinytemplate-1.0 +(define-public rust-time-macros-0.1 + (package + (name "rust-time-macros") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "time-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0bdbxjgbxb81xgy08h5dh4qvwy95sy9x8g1y31g11g4my3lvdscs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-time-macros-impl" ,rust-time-macros-impl-0.1)))) + (home-page "https://github.com/time-rs/time") + (synopsis "Procedural macros for the time crate") + (description "This package provides procedural macros for the time +crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-time-macros-impl-0.1 + (package + (name "rust-time-macros-impl") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "time-macros-impl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ymqhvnvry3giiw45xvarlgagl8hnd6cz4alkz32fq5dvwgbxhz5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-standback" ,rust-standback-0.2) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/time-rs/time") + (synopsis "Procedural macros for the time crate") + (description "This package provides procedural macros for the time +crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-timebomb-0.1 + (package + (name "rust-timebomb") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "timebomb" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fl8bxi9bf5bv44i1afii63695cx4jlki869v0kp01ipnvs8c23z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pulse" ,rust-pulse-0.5) + ("rust-time" ,rust-time-0.2)))) + (home-page "https://github.com/csherratt/timebomb") + (synopsis "Timeout mechanism for unit tests") + (description "This package provides a timeout mechanism for unit tests.") + (license license:asl2.0))) + +(define-public rust-tinytemplate-1 (package (name "rust-tinytemplate") - (version "1.0.3") + (version "1.1.0") (source (origin (method url-fetch) @@ -26679,7 +28260,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "06ipxjwl1w6synvql8b50qxbqv0w04agvmmfqcdynr9ygmkcd8sp")))) + "0by1k1hdz6jgv4ykd0izirwsm6p3qb6s9g1jb4ffqg500ihcfgbd")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -26698,7 +28279,7 @@ in Rust.") (define-public rust-tinyvec-0.3 (package (name "rust-tinyvec") - (version "0.3.3") + (version "0.3.4") (source (origin (method url-fetch) @@ -26707,7 +28288,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vgg2z317kq75bpd0nfda2v507qjpd7g2cjahjgivn2s78nkv5ak")))) + "05vijqpckjsnbv07rwadwcny4pkcq7z1wi9ikl7p3ib7s9qy1313")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -26716,7 +28297,7 @@ in Rust.") (synopsis "Tiny vec-like types for Rust") (description "A 100% safe crate of vec-like types.") - (license license:zlib))) + (license (list license:zlib license:asl2.0 license:expat)))) (define-public rust-tokio-0.2 (package @@ -26799,10 +28380,10 @@ backed applications.") ("rust-tokio-uds" ,rust-tokio-uds-0.2)) #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.5) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-futures-cpupool" ,rust-futures-cpupool-0.1) ("rust-http" ,rust-http-0.1) - ("rust-httparse" ,rust-httparse-1.3) + ("rust-httparse" ,rust-httparse-1) ("rust-libc" ,rust-libc-0.2) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-serde" ,rust-serde-1) @@ -26831,7 +28412,7 @@ backed applications.") (arguments `(#:cargo-inputs (("rust-bytes" ,rust-bytes-0.4) - ("rust-either" ,rust-either-1.5) + ("rust-either" ,rust-either-1) ("rust-futures" ,rust-futures-0.1)) #:cargo-development-inputs (("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1)))) @@ -26897,10 +28478,10 @@ backed applications.") ("rust-tokio-timer" ,rust-tokio-timer-0.2)) #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.4) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-futures-cpupool" ,rust-futures-cpupool-0.1) ("rust-http" ,rust-http-0.1) - ("rust-httparse" ,rust-httparse-1.3) + ("rust-httparse" ,rust-httparse-1) ("rust-libc" ,rust-libc-0.2) ("rust-num-cpus" ,rust-num-cpus-1) ("rust-serde" ,rust-serde-1) @@ -26942,6 +28523,37 @@ Foundation for the rest of the tokio crates.") the current thread.") (license license:expat))) +(define-public rust-tokio-executor-0.2 + (package + (name "rust-tokio-executor") + (version "0.2.0-alpha.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-executor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j67p4g9y20bvlbphjmpfzc0yy8clhmz6wza6hw94iciyvncxscy")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.3) + ("rust-crossbeam-deque" ,rust-crossbeam-deque-0.7) + ("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.6) + ("rust-futures-core-preview" ,rust-futures-core-preview-0.3) + ("rust-futures-util-preview" ,rust-futures-util-preview-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-slab" ,rust-slab-0.4) + ("rust-tokio-sync" ,rust-tokio-sync-0.2) + ("rust-tracing" ,rust-tracing-0.1)))) + (home-page "https://github.com/tokio-rs/tokio") + (synopsis "Future execution primitives") + (description "This package provides future execution primitives.") + (license license:expat))) + ;; Cyclic dependency with rust-tokio. (define-public rust-tokio-executor-0.1 (package @@ -26997,8 +28609,8 @@ the current thread.") ("rust-tokio-codec" ,rust-tokio-codec-0.1) ("rust-tokio-io" ,rust-tokio-io-0.1)))) (home-page "https://tokio.rs") - (synopsis "Filesystem API for Tokio") - (description "Filesystem API for Tokio.") + (synopsis "File system API for Tokio") + (description "File system API for Tokio.") (license license:expat))) ;; Cyclic dependencies with tokio and tokio-current-thread @@ -27155,6 +28767,32 @@ applications backed by buffers.") Tokio.") (license (list license:expat license:asl2.0)))) +(define-public rust-tokio-openssl-0.4 + (package + (name "rust-tokio-openssl") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-openssl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15751d47984ncvllagz35ldl10ifr8555wixvsg6k3i0yk2hhjrw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/alexcrichton/tokio-openssl") + (synopsis "SSL streams for Tokio backed by OpenSSL") + (description "This package is an implementation of SSL streams for Tokio +backed by OpenSSL.") + (license (list license:expat license:asl2.0)))) + (define-public rust-tokio-process-0.2 (package (name "rust-tokio-process") @@ -27233,8 +28871,71 @@ futures.") "Event loop that drives Tokio I/O resources.") (license license:expat))) +(define-public rust-tokio-rustls-0.14 + (package + (name "rust-tokio-rustls") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16l8kx3j7i3jxq36qs3hnmys6cd2zqcixc1n0kf3kymwanr32a71")))) + (build-system cargo-build-system) + (arguments + `(;; These tests require network access. + #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern") + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-rustls" ,rust-rustls-0.18) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki-roots" ,rust-webpki-roots-0.20)))) + (home-page "https://github.com/tokio-rs/tls") + (synopsis "Asynchronous TLS/SSL streams for Tokio") + (description "This package provides asynchronous TLS/SSL streams for Tokio +using Rustls.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-tokio-rustls-0.13 + (package + (inherit rust-tokio-rustls-0.14) + (name "rust-tokio-rustls") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d2iy01v5psvm0ygcflzjna7zwgwk36w36bfr6mqf1vpsah65jqm")))) + (arguments + `(;; These tests require network access. + #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern") + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)))) + (license (list license:expat license:asl2.0)))) + (define-public rust-tokio-rustls-0.12 (package + (inherit rust-tokio-rustls-0.13) (name "rust-tokio-rustls") (version "0.12.2") (source @@ -27244,7 +28945,6 @@ futures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1k6rpw4nmgsamh8vbf8xqrf4rr5sqs18i93561bydflajz0gw6hl")))) - (build-system cargo-build-system) (arguments `(;; These tests require network access. #:cargo-test-flags '("--release" "--" "--skip=tls12" "--skip=modern") @@ -27259,10 +28959,6 @@ futures.") ("rust-lazy-static" ,rust-lazy-static-1) ("rust-tokio" ,rust-tokio-0.2) ("rust-webpki-roots" ,rust-webpki-roots-0.18)))) - (home-page "https://github.com/quininer/tokio-rustls") - (synopsis "Asynchronous TLS/SSL streams for Tokio using Rustls") - (description "This package provides asynchronous TLS/SSL streams for Tokio -using Rustls.") (license (list license:expat license:asl2.0)))) (define-public rust-tokio-signal-0.2 @@ -27301,8 +28997,63 @@ using Rustls.") futures.") (license license:expat))) +(define-public rust-tokio-socks-0.2 + (package + (name "rust-tokio-socks") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-socks" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bwdjafbbs0907w42dl899inykflz4gbm026wh097q151s57i5qr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.4) + ("rust-either" ,rust-either-1) + ("rust-futures" ,rust-futures-0.3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-hyper" ,rust-hyper-0.13) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/sticnarf/tokio-socks") + (synopsis "Asynchronous SOCKS proxy support for Rust") + (description "This package provides asynchronous SOCKS proxy support for +Rust.") + (license license:expat))) + +(define-public rust-tokio-sync-0.2 + (package + (name "rust-tokio-sync") + (version "0.2.0-alpha.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-sync" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1lirf9s9pibgv8cypqzlddy8q9bxfp4z29qfx83p83slhnvaw6jg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-fnv" ,rust-fnv-1) + ("rust-futures-core-preview" ,rust-futures-core-preview-0.3) + ("rust-futures-sink-preview" ,rust-futures-sink-preview-0.3) + ("rust-futures-util-preview" ,rust-futures-util-preview-0.3)))) + (home-page "https://tokio.rs") + (synopsis "Synchronization utilities") + (description "This package provides synchronization utilities.") + (license license:expat))) + (define-public rust-tokio-sync-0.1 (package + (inherit rust-tokio-sync-0.2) (name "rust-tokio-sync") (version "0.1.6") (source @@ -27314,7 +29065,6 @@ futures.") (sha256 (base32 "1ryalh7dcmnz46xj1va8aaw3if6vd4mj87r67dqvrqhpyf7j8qi1")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -27324,11 +29074,7 @@ futures.") (("rust-env-logger" ,rust-env-logger-0.6) ("rust-loom" ,rust-loom-0.1) ("rust-tokio" ,rust-tokio-0.1) - ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1)))) - (home-page "https://tokio.rs") - (synopsis "Synchronization utilities") - (description "Synchronization utilities.") - (license license:expat))) + ("rust-tokio-mock-task" ,rust-tokio-mock-task-0.1)))))) (define-public rust-tokio-test-0.2 (package @@ -27454,6 +29200,39 @@ pool.") (description "Timer facilities for Tokio.") (license license:expat))) +(define-public rust-tokio-tls-0.3 + (package + (name "rust-tokio-tls") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hv375949532p32d0w6bm2f6d3r0d00mcdzqjjqlzcmkszyg8w4s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-env-logger" ,rust-env-logger-0.6) + ("rust-futures" ,rust-futures-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-schannel" ,rust-schannel-0.1) + ("rust-security-framework" ,rust-security-framework-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-util" ,rust-tokio-util-0.3) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://tokio.rs") + (synopsis "TLS/SSL streams for Tokio") + (description "An implementation of TLS/SSL streams for Tokio giving an +implementation of TLS for nonblocking I/O streams.") + (license license:expat))) + (define-public rust-tokio-trace-core-0.2 (package (name "rust-tokio-trace-core") @@ -27543,10 +29322,43 @@ pool.") (description "Unix Domain sockets for Tokio.") (license license:expat))) +(define-public rust-tokio-util-0.3 + (package + (name "rust-tokio-util") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16b48dl6sbc9x944jgjvsd65ab1w2c2qcziddbrbwv1b3y4l50my")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-bytes" ,rust-bytes-0.5) + ("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-io" ,rust-futures-io-0.3) + ("rust-futures-sink" ,rust-futures-sink-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2)))) + (home-page "https://tokio.rs") + (synopsis "Additional utilities for working with Tokio") + (description "This package provides additional utilities for working with +Tokio.") + (license license:expat))) + (define-public rust-toml-0.5 (package (name "rust-toml") - (version "0.5.6") + (version "0.5.7") (source (origin (method url-fetch) @@ -27554,11 +29366,10 @@ pool.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "06n7j8z63hj6g0kj2x6sqwxnm4q3s0q5d873bdk41vqy1cb2vjgz")))) + "0iannv6pb226h0q9vlqg7hdn36fs146yrahw016n107g1fxlbkvm")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs @@ -27574,6 +29385,27 @@ serializing Rust structures.") (license (list license:asl2.0 license:expat)))) +(define-public rust-toml-0.4 + (package + (inherit rust-toml-0.5) + (name "rust-toml") + (version "0.4.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "toml" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07qilkzinn8z13vq2sss65n2lza7wrmqpvkbclw919m3f7y691km")))) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-toml-0.2 (package (name "rust-toml") @@ -27599,13 +29431,175 @@ serializing Rust structures.") "This package provides a native Rust encoder and decoder of TOML-formatted files and streams. Provides implementations of the standard Serialize/Deserialize traits for TOML data to facilitate deserializing and -serializing Rust str") - (license (list license:expat license:asl2.0)))) +serializing Rust structures.") + (license (list license:asl2.0 + license:expat)))) + +(define-public rust-tower-layer-0.3 + (package + (name "rust-tower-layer") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-layer" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p6i9rn5d98wsx6hi4hbxh2xqh2clwz0blcm6jrqiciq4rpnapd3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-tower-service" ,rust-tower-service-0.3)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Easy composition between @code{Service}s") + (description "This package decorates a @code{Service} to allow easy +composition between @code{Service}s.") + (license license:expat))) + +(define-public rust-tower-service-0.3 + (package + (name "rust-tower-service") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-service" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0q4q53w82w1wd71x7vbspg2l3jicb6al2w1qdwxmnjrz8jzvd1z9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-http" ,rust-http-0.1)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Asynchronous, request / response based, client or server.") + (description "This package provides a trait representing an asynchronous, +request/response based, client or server.") + (license license:expat))) + +(define-public rust-tower-test-0.3 + (package + (name "rust-tower-test") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-test" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j2k07g3z8ascq7r30bmw3b75v8lhd63mhfl60y59a74q71bp94v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-util" ,rust-futures-util-0.3) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tower-layer" ,rust-tower-layer-0.3) + ("rust-tower-service" ,rust-tower-service-0.3)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Utilities for writing client and server @code{Service} tests") + (description "This package provides utilities for writing client and +server @code{Service} tests.") + (license license:expat))) + +(define-public rust-tower-util-0.3 + (package + (name "rust-tower-util") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "tower-util" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x4np2s7h891spvxaarcyainj12a7gvnh7jif9y80cvdh8ckq2fi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures-core" ,rust-futures-core-0.3) + ("rust-futures-util" ,rust-futures-util-0.3) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-tower-service" ,rust-tower-service-0.3)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tower-test" ,rust-tower-test-0.3)))) + (home-page "https://github.com/tower-rs/tower") + (synopsis "Utilities for working with @code{Service}") + (description "This package provides utilities for working with +@code{Service}.") + (license license:expat))) + +(define-public rust-tracing-0.1 + (package + (name "rust-tracing") + (version "0.1.20") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hwgbyflibmsz7x6v7ndchnx1qvv43pg18419ji2y7pflzkmngbi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-log" ,rust-log-0.4) + ("rust-tracing-attributes" ,rust-tracing-attributes-0.1) + ("rust-tracing-core" ,rust-tracing-core-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-futures" ,rust-futures-0.1) + ("rust-log" ,rust-log-0.4)))) + (home-page "https://tokio.rs") + (synopsis "Application-level tracing for Rust") + (description "@code{rust-tracing} is a framework for instrumenting Rust +programs to collect structured, event-based diagnostic information.") + (license license:expat))) + +(define-public rust-tracing-attributes-0.1 + (package + (name "rust-tracing-attributes") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing-attributes" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1njady03jycfarjbmbhnrpsl6s9pd9knp50c4z70rnkq6gycrq40")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tracing" ,rust-tracing-0.1) + ("rust-tracing-core" ,rust-tracing-core-0.1) + ("rust-tracing-futures" ,rust-tracing-futures-0.2)))) + (home-page "https://tokio.rs") + (synopsis "Automatically instrument functions") + (description "This package provides procedural macro attributes for +automatically instrumenting functions.") + (license license:expat))) (define-public rust-tracing-core-0.1 (package (name "rust-tracing-core") - (version "0.1.9") + (version "0.1.16") (source (origin (method url-fetch) @@ -27613,7 +29607,7 @@ serializing Rust str") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0y0rcvvqq89yaiz0qdx88byxgz8j6hsm9slq8d5vvf3jwc8nz90k")))) + "16hisz8nvbav9q6r5lbar2baac097n33q7xqssifwsphy70ldksv")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -27625,6 +29619,37 @@ serializing Rust str") (license (list license:asl2.0 license:expat)))) +(define-public rust-tracing-futures-0.2 + (package + (name "rust-tracing-futures") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "tracing-futures" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0k4vd3jyqz9cx8rbwbp0p93qfp1w6rfk7sc6c1jh1ai18zqvcyxb")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-futures-task" ,rust-futures-task-0.3) + ("rust-pin-project" ,rust-pin-project-0.4) + ("rust-tokio" ,rust-tokio-0.1) + ("rust-tokio-executor" ,rust-tokio-executor-0.1) + ("rust-tracing" ,rust-tracing-0.1)) + #:cargo-development-inputs + (("rust-tokio" ,rust-tokio-0.1) + ("rust-tokio-test" ,rust-tokio-test-0.2) + ("rust-tracing-core" ,rust-tracing-core-0.1)))) + (home-page "https://tokio.rs") + (synopsis "Utilities for instrumenting @code{futures} with @code{tracing}") + (description "This package provides utilities for instrumenting +@code{futures} with @code{tracing}.") + (license license:expat))) + (define-public rust-traitobject-0.1 (package (name "rust-traitobject") @@ -27664,18 +29689,236 @@ serializing Rust str") "This package provides a library for visualizing tree structured data.") (license license:expat))) +(define-public rust-trust-dns-https-0.19 + (package + (name "rust-trust-dns-https") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-https" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0s6yiqy98wddc2vid0dypj4cdnvycd4vrrj6l9s7yymq0iqpky5g")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-futures" ,rust-futures-0.3) + ("rust-h2" ,rust-h2-0.2) + ("rust-http" ,rust-http-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.13) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19) + ("rust-trust-dns-rustls" ,rust-trust-dns-rustls-0.19) + ("rust-typed-headers" ,rust-typed-headers-0.2) + ("rust-webpki" ,rust-webpki-0.21) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-futures" ,rust-futures-0.3)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "DNS over HTTPS extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use DNS over HTTPS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-native-tls-0.19 + (package + (name "rust-trust-dns-native-tls") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-native-tls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "173443yivsiyzvnai4h53v71br8jsz4zjwhp83q3x4hnh6306ymv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-native-tls" ,rust-native-tls-0.2) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-tls" ,rust-tokio-tls-0.3) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "native-tls extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use native-tls for TLS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-openssl-0.19 + (package + (name "rust-trust-dns-openssl") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-openssl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0as4jzrscjlmgj04l2aa2lf09vpd0fg5v0vfz019ybxgiqn89g45")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.4) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19)) + #:cargo-development-inputs + (("rust-openssl" ,rust-openssl-0.10) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "tokio-openssl extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use tokio-openssl for TLS.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-proto-0.19 + (package + (name "rust-trust-dns-proto") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-proto" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a4zlv60kkbg1nvy3zh18fdg681z83yzppzy39rdkm7llqdhdmyd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-data-encoding" ,rust-data-encoding-2) + ("rust-enum-as-inner" ,rust-enum-as-inner-0.3) + ("rust-futures" ,rust-futures-0.3) + ("rust-idna" ,rust-idna-0.2) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-openssl" ,rust-openssl-0.10) + ("rust-rand" ,rust-rand-0.7) + ("rust-ring" ,rust-ring-0.16) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-socket2" ,rust-socket2-0.3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-url" ,rust-url-2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-futures" ,rust-futures-0.3) + ("rust-tokio" ,rust-tokio-0.2)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "Safe and secure DNS library") + (description "Trust-DNS is a safe and secure DNS library. This is the +foundational DNS protocol library for all Trust-DNS projects.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-resolver-0.19 + (package + (name "rust-trust-dns-resolver") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-resolver" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xqv31gndybcrr5gi6jjp47qcvdxsc147s69a0y0nc6qqgyws8qg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-futures" ,rust-futures-0.3) + ("rust-ipconfig" ,rust-ipconfig-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-lru-cache" ,rust-lru-cache-0.1) + ("rust-resolv-conf" ,rust-resolv-conf-0.6) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-openssl" ,rust-tokio-openssl-0.4) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.13) + ("rust-tokio-tls" ,rust-tokio-tls-0.3) + ("rust-trust-dns-https" ,rust-trust-dns-https-0.19) + ("rust-trust-dns-native-tls" ,rust-trust-dns-native-tls-0.19) + ("rust-trust-dns-openssl" ,rust-trust-dns-openssl-0.19) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19) + ("rust-trust-dns-rustls" ,rust-trust-dns-rustls-0.19) + ("rust-webpki-roots" ,rust-webpki-roots-0.19)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-futures" ,rust-futures-0.3)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "Safe and secure DNS library") + (description "Trust-DNS is a safe and secure DNS library. This Resolver +library uses the Client library to perform all DNS queries. The Resolver is +intended to be a high-level library for any DNS record resolution see Resolver +and AsyncResolver for supported resolution types. The Client can be used for +other queries.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-trust-dns-rustls-0.19 + (package + (name "rust-trust-dns-rustls") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "trust-dns-rustls" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hj4fx2x4ncj7v8pf6bbn7634zq76hjigm1s2h6b6yjzzmz4yprn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-rustls" ,rust-rustls-0.17) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-tokio-rustls" ,rust-tokio-rustls-0.13) + ("rust-trust-dns-proto" ,rust-trust-dns-proto-0.19) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-openssl" ,rust-openssl-0.10)))) + (home-page "http://www.trust-dns.org/index.html") + (synopsis "rustls extension for the Trust-DNS client") + (description "Trust-DNS is a safe and secure DNS library. This is an +extension for the Trust-DNS client to use rustls for TLS.") + (license (list license:expat license:asl2.0)))) + (define-public rust-try-from-0.3 (package (name "rust-try-from") (version "0.3.2") (source - (origin - (method url-fetch) - (uri (crate-uri "try_from" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98")))) + (origin + (method url-fetch) + (uri (crate-uri "try_from" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "12wdd4ja7047sd3rx70hv2056hyc8gcdllcx3a41g1rnw64kng98")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -27705,7 +29948,7 @@ serializing Rust str") "This package provides a lightweight atomic lock.") (license license:expat))) -(define-public rust-trybuild-1.0 +(define-public rust-trybuild-1 (package (name "rust-trybuild") (version "1.0.23") @@ -27773,6 +30016,32 @@ serializing Rust str") "The arena, a fast but limited type of allocator.") (license license:expat))) +(define-public rust-typed-headers-0.2 + (package + (name "rust-typed-headers") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "typed-headers" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jm2xzvvml3a9hhvzf9q4v22l5ifrxrx2kspy7aymknckqgacy9i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.11) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-http" ,rust-http-0.2) + ("rust-mime" ,rust-mime-0.3)))) + (home-page "https://github.com/sfackler/typed-headers") + (synopsis "Typed HTTP header serialization and deserialization") + (description "This package provides typed HTTP header serialization and +deserialization.") + (license (list license:expat license:asl2.0)))) + (define-public rust-typemap-0.3 (package (name "rust-typemap") @@ -27886,6 +30155,72 @@ with the Unicode character database.") (license (list license:asl2.0 license:expat)))) +(define-public rust-ufmt-0.1 + (package + (name "rust-ufmt") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ufmt" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1844qwbmc4m69nfi6xmdcdf4fmjjvypi9rpfg3wgilvrxykwwzif")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-ufmt-macros" ,rust-ufmt-macros-0.1) + ("rust-ufmt-write" ,rust-ufmt-write-0.1)))) + (home-page "https://crates.io/crates/ufmt") + (synopsis "Faster and panic-free alternative to @code{core::fmt}") + (description "This package provides a (6-40x) smaller, (2-9x) faster and +panic-free alternative to @code{core::fmt}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ufmt-macros-0.1 + (package + (name "rust-ufmt-macros") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "ufmt-macros" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sf0z9f6kjw5h15xd1hlj46dgri59lqwin1fxrcdradzl8s3x0gd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/japaric/ufmt") + (synopsis "μfmt macros") + (description "This package provides μfmt macros.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ufmt-write-0.1 + (package + (name "rust-ufmt-write") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ufmt-write" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sdx0r6ah9xr3nydrqxj01v25sb956c0jk5rqf6f5i9fnkb2wyp8")))) + (build-system cargo-build-system) + (home-page "https://github.com/japaric/ufmt") + (synopsis "μfmt's uWrite trait") + (description "This package provides @code{μfmt}'s @code{uWrite} trait.") + (license (list license:expat license:asl2.0)))) + (define-public rust-unchecked-index-0.2 (package (name "rust-unchecked-index") @@ -28047,20 +30382,20 @@ boundaries according to Unicode Standard Annex #29 rules.") (define-public rust-unicode-width-0.1 (package (name "rust-unicode-width") - (version "0.1.7") + (version "0.1.8") (source (origin (method url-fetch) (uri (crate-uri "unicode-width" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yflmxkxmm89ckrb3sz58whn491aycrj8cxra0hzzlb72x9rvana")))) + "1qxizyi6xbcqyi4z79p523ywvmgsfcgfqb3zv3c8i6x1jcc5jdwk")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1) ("rust-rustc-std-workspace-std" ,rust-rustc-std-workspace-std-1.0)))) (home-page "https://github.com/unicode-rs/unicode-width") (synopsis "Determine displayed width according to Unicode rules") @@ -28137,6 +30472,28 @@ whitespace from a string.") (license (list license:asl2.0 license:expat)))) +(define-public rust-universal-hash-0.4 + (package + (name "rust-universal-hash") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "universal-hash" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00hljq64l0p68yrncvyww4cdgkzpzl49vrlnj57kwblkak3b49l3")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-generic-array" ,rust-generic-array-0.14) + ("rust-subtle" ,rust-subtle-2)))) + (home-page "https://github.com/RustCrypto/traits") + (synopsis "Trait for universal hash functions") + (description "This package provides traits for universal hash functions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-unix-socket-0.5 (package (name "rust-unix-socket") @@ -28238,7 +30595,7 @@ untrusted inputs in Rust.") (sha256 (base32 "0byf88b7ca1kb5aap8f6npp6xncvg95dnma8ipmnmd4n9r5izkam")))))) -(define-public rust-url-2.1 +(define-public rust-url-2 (package (name "rust-url") (version "2.1.1") @@ -28257,7 +30614,7 @@ untrusted inputs in Rust.") #:cargo-inputs (("rust-idna" ,rust-idna-0.2) ("rust-matches" ,rust-matches-0.1) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1) @@ -28269,9 +30626,9 @@ untrusted inputs in Rust.") "URL library for Rust, based on the WHATWG URL Standard.") (license (list license:asl2.0 license:expat)))) -(define-public rust-url-1.7 +(define-public rust-url-1 (package - (inherit rust-url-2.1) + (inherit rust-url-2) (name "rust-url") (version "1.7.2") (source @@ -28525,7 +30882,7 @@ Unix users and groups.") (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-md5" ,rust-md5-0.6) ("rust-rand" ,rust-rand-0.6) ("rust-serde" ,rust-serde-1) @@ -28726,7 +31083,7 @@ If that fails, no determination is made, and calls return None.") ("rust-semver-parser" ,rust-semver-parser-0.9) ("rust-syn" ,rust-syn-0.15) ("rust-toml" ,rust-toml-0.5) - ("rust-url" ,rust-url-1.7)))) + ("rust-url" ,rust-url-1)))) (home-page "https://github.com/mgeisler/version-sync") (synopsis "Ensure that version numbers are updated when the crate version changes") @@ -28735,6 +31092,36 @@ If that fails, no determination is made, and calls return None.") updated when the crate version changes.") (license license:expat))) +(define-public rust-version-sync-0.6 + (package + (inherit rust-version-sync-0.8) + (name "rust-version-sync") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "version-sync" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0n33s4s4k9sy7rhlrf9lwwyqkjrgwnpfjsz0xzhfh3d3w33jaiq8")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "Cargo.toml" + (("~1.1") "1.1")) + #t)))) + (arguments + `(#:cargo-inputs + (("rust-itertools" ,rust-itertools-0.7) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.1) + ("rust-regex" ,rust-regex-1) + ("rust-semver-parser" ,rust-semver-parser-0.9) + ("rust-syn" ,rust-syn-0.15) + ("rust-toml" ,rust-toml-0.4) + ("rust-url" ,rust-url-1)))))) + (define-public rust-void-1 (package (name "rust-void") @@ -28900,6 +31287,32 @@ specified across Unix and Windows platforms.") ("rust-rand" ,rust-rand-0.3) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) +(define-public rust-want-0.3 + (package + (name "rust-want") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "want" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "181b2zmwfq389x9n2g1n37cvcvvdand832zz6v8i1l8wrdlaks0w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-try-lock" ,rust-try-lock-0.2)) + #:cargo-development-inputs + (("rust-tokio-executor" ,rust-tokio-executor-0.2) + ("rust-tokio-sync" ,rust-tokio-sync-0.2)))) + (home-page "https://github.com/seanmonstar/want") + (synopsis "Detect when another future wants a result") + (description "This package lets you detect when another future wants a +result.") + (license license:expat))) + (define-public rust-want-0.2 (package (name "rust-want") @@ -28941,8 +31354,8 @@ specified across Unix and Windows platforms.") `(#:skip-build? #t #:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1.0) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + ("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 @@ -29034,6 +31447,32 @@ in Rust.") "Backend code generation of the wasm-bindgen tool.") (license (list license:expat license:asl2.0)))) +(define-public rust-wasm-bindgen-console-logger-0.1 + (package + (name "rust-wasm-bindgen-console-logger") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasm-bindgen-console-logger" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vc506dhrk2yl0snkcn45s5adndq9wj7ipxb7awbbxzswxss4c3m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)))) + (home-page "https://github.com/blm768/wasm-bindgen-console-logger") + (synopsis "Rust log and JavaScript console logging integration") + (description + "This package provides a logging facility that integrates the +log crate with JavaScript console logging functions with the help of +wasm-bindgen.") + (license license:cc0))) + (define-public rust-wasm-bindgen-futures-0.4 (package (name "rust-wasm-bindgen-futures") @@ -29112,7 +31551,7 @@ in Rust.") ("rust-wasm-bindgen-macro-support" ,rust-wasm-bindgen-macro-support-0.2)) #:cargo-development-inputs - (("rust-trybuild" ,rust-trybuild-1.0) + (("rust-trybuild" ,rust-trybuild-1) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4)))) (home-page "https://rustwasm.github.io/wasm-bindgen/") @@ -29345,310 +31784,6 @@ attribute that is not in the shared backend crate.") "Support for parsing WebIDL specific to wasm-bindgen.") (license (list license:expat license:asl2.0)))) -(define-public rust-wayland-client-0.23 - (package - (name "rust-wayland-client") - (version "0.23.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-client" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1nmw2kz70llc5mxwzg6bglnqy0qnyr9224zjmq9czazgw3mq045g")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) - ("rust-libc" ,rust-libc-0.2) - ("rust-mio" ,rust-mio-0.6) - ("rust-nix" ,rust-nix-0.14) - ("rust-wayland-commons" ,rust-wayland-commons-0.23) - ("rust-wayland-sys" ,rust-wayland-sys-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)) - #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-tempfile" ,rust-tempfile-3)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Rust bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, client side.") - (license license:expat))) - -(define-public rust-wayland-client-0.21 - (package - (inherit rust-wayland-client-0.23) - (name "rust-wayland-client") - (version "0.21.13") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-client" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "04r7dy074hhdalsi1day482wvmczr40hg7qvrnzkgxpakrgkx5j9")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) - ("rust-libc" ,rust-libc-0.2) - ("rust-mio" ,rust-mio-0.6) - ("rust-nix" ,rust-nix-0.14) - ("rust-wayland-commons" ,rust-wayland-commons-0.21) - ("rust-wayland-sys" ,rust-wayland-sys-0.21) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)) - #:cargo-development-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-tempfile" ,rust-tempfile-3)))))) - -(define-public rust-wayland-commons-0.23 - (package - (name "rust-wayland-commons") - (version "0.23.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-commons" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1nyvcs6xxxzqgh0wvc7z0fgi89bf3h9p4qrbf77bnfbwlb8v0rmv")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-nix" ,rust-nix-0.14) - ("rust-wayland-sys" ,rust-wayland-sys-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Common types and structures used by wayland-client and wayland-server") - (description - "Common types and structures used by wayland-client and wayland-server.") - (license license:expat))) - -(define-public rust-wayland-commons-0.21 - (package - (inherit rust-wayland-commons-0.23) - (name "rust-wayland-commons") - (version "0.21.13") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-commons" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1v1jpcsnn6cwwy5ii5pdl58i6b9slmi8mn4my4fpwrlbfsb8ih20")))) - (arguments - `(#:cargo-inputs - (("rust-nix" ,rust-nix-0.14) - ("rust-wayland-sys" ,rust-wayland-sys-0.21)))))) - -(define-public rust-wayland-protocols-0.23 - (package - (name "rust-wayland-protocols") - (version "0.23.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-protocols" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ygwbzqlnks5xzafka3c8ag6k92g2h6ygj2xsmvjfx2n6rj8dhkc")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-wayland-client" ,rust-wayland-client-0.23) - ("rust-wayland-commons" ,rust-wayland-commons-0.23) - ("rust-wayland-server" ,rust-wayland-server-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Generated API for the officials wayland protocol extensions") - (description - "Generated API for the officials wayland protocol extensions.") - (license license:expat))) - -(define-public rust-wayland-protocols-0.21 - (package - (inherit rust-wayland-protocols-0.23) - (name "rust-wayland-protocols") - (version "0.21.13") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-protocols" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0i91yh3nxk9llhly2ly3nvlfx0lbpvyq919cgmnyx3j25bmf5zaa")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-wayland-client" ,rust-wayland-client-0.21) - ("rust-wayland-commons" ,rust-wayland-commons-0.21) - ("rust-wayland-server" ,rust-wayland-server-0.21) - ("rust-wayland-sys" ,rust-wayland-sys-0.21) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) - -(define-public rust-wayland-scanner-0.23 - (package - (name "rust-wayland-scanner") - (version "0.23.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-scanner" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0g8wcphykjrcpslznyi3qccx1pckw97rckq5b295nfbg6r3j5c4k")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6) - ("rust-xml-rs" ,rust-xml-rs-0.8)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "Generate Rust APIs from XML Wayland protocol files") - (description - "Wayland Scanner generates Rust APIs from XML Wayland protocol files. -It is intended for use with wayland-sys. You should only need this crate if -you are working on custom Wayland protocol extensions. -Look at the wayland-client crate for usable bindings.") - (license license:expat))) - -(define-public rust-wayland-scanner-0.21 - (package - (inherit rust-wayland-scanner-0.23) - (name "rust-wayland-scanner") - (version "0.21.13") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-scanner" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z")))))) - -(define-public rust-wayland-server-0.23 - (package - (name "rust-wayland-server") - (version "0.23.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-server" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1ccsalq6gnf07klnbjx2dxcbibhw03rqsgi578p913s3zsjlcg8a")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) - ("rust-libc" ,rust-libc-0.2) - ("rust-mio" ,rust-mio-0.6) - ("rust-nix" ,rust-nix-0.14) - ("rust-wayland-commons" ,rust-wayland-commons-0.23) - ("rust-wayland-sys" ,rust-wayland-sys-0.23) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.23)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, server side.") - (license license:expat))) - -(define-public rust-wayland-server-0.21 - (package - (inherit rust-wayland-server-0.23) - (name "rust-wayland-server") - (version "0.21.13") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-server" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0ayn4wlrpg0fw04prri9awpkjvbzjil0d3l3a8zs9pdbnspvw6ah")))) - (arguments - `(#:cargo-inputs - (("rust-bitflags" ,rust-bitflags-1) - ("rust-calloop" ,rust-calloop-0.4) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) - ("rust-libc" ,rust-libc-0.2) - ("rust-mio" ,rust-mio-0.6) - ("rust-nix" ,rust-nix-0.14) - ("rust-wayland-commons" ,rust-wayland-commons-0.21) - ("rust-wayland-sys" ,rust-wayland-sys-0.21) - ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) - -(define-public rust-wayland-sys-0.23 - (package - (name "rust-wayland-sys") - (version "0.23.6") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1x2qafvj8hd2x5qfaan2dfpw9amg0f5g9sqrkdy7qvbddsl8jknr")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-dlib" ,rust-dlib-0.4) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2)))) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "FFI bindings to the various libwayland-*.so libraries") - (description - "FFI bindings to the various libwayland-*.so libraries. -You should only need this crate if you are working on custom wayland -protocol extensions. Look at the crate wayland-client for usable bindings.") - (license license:expat))) - -(define-public rust-wayland-sys-0.21 - (package - (inherit rust-wayland-sys-0.23) - (name "rust-wayland-sys") - (version "0.21.13") - (source - (origin - (method url-fetch) - (uri (crate-uri "wayland-sys" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj")))))) - (define-public rust-web-sys-0.3 (package (name "rust-web-sys") @@ -29721,25 +31856,56 @@ Verification.") #:cargo-development-inputs (("rust-base64" ,rust-base64-0.9)))))) -(define-public rust-webpki-roots-0.18 +(define-public rust-webpki-roots-0.20 (package (name "rust-webpki-roots") - (version "0.18.0") + (version "0.20.0") (source (origin (method url-fetch) (uri (crate-uri "webpki-roots" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1d4ss607rgi9pj01zzqa13c1p3m35z314yh6lmjaj4kzvwv5gkci")))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17qpmyym1lsi967b4nc3112nb13ism8731bhjqd9hlajafkxw80g")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-webpki" ,rust-webpki-0.21)))) + `(#:cargo-inputs + (("rust-webpki" ,rust-webpki-0.21)))) (home-page "https://github.com/ctz/webpki-roots") (synopsis "Mozilla's CA root certificates for use with webpki") - (description "Mozilla's CA root certificates for use with webpki") + (description "This package provides Mozilla's CA root certificates for use +with webpki.") (license license:mpl2.0))) +(define-public rust-webpki-roots-0.19 + (package + (inherit rust-webpki-roots-0.20) + (name "rust-webpki-roots") + (version "0.19.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "webpki-roots" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0fapdqwbfv0kncplpvbgnr0bjd5a9krlpij9jdzk0mvaa6vz9vzq")))))) + +(define-public rust-webpki-roots-0.18 + (package + (inherit rust-webpki-roots-0.19) + (name "rust-webpki-roots") + (version "0.18.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "webpki-roots" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1d4ss607rgi9pj01zzqa13c1p3m35z314yh6lmjaj4kzvwv5gkci")))))) + (define-public rust-webpki-roots-0.17 (package/inherit rust-webpki-roots-0.18 (name "rust-webpki-roots") @@ -29790,7 +31956,7 @@ Verification.") "This package provides a WebIDL Parser.") (license license:expat))) -(define-public rust-which-3.1 +(define-public rust-which-3 (package (name "rust-which") (version "3.1.1") @@ -29865,6 +32031,31 @@ Locate installed executable in cross platforms.") #:cargo-development-inputs (("rust-tempdir" ,rust-tempdir-0.3)))))) +(define-public rust-wide-0.4 + (package + (name "rust-wide") + (version "0.4.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "wide" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ad75vnzygj8qfcl1l9n4wi93xmqzvhqlpqn4hfayrwbn6wa69aq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bytemuck" ,rust-bytemuck-1)))) + (home-page "https://github.com/Lokathor/wide") + (synopsis "Rust for wide blocks") + (description "This crate has data types for blocks of primitives packed +together and used as a single unit. This works very well with SIMD/vector +hardware of various targets. Both in terms of explicit SIMD usage and also in +terms of allowing LLVM's auto-vectorizer to do its job.") + (license license:zlib))) + (define-public rust-widestring-0.4 (package (name "rust-widestring") @@ -30039,102 +32230,6 @@ color in a Windows console.") (license (list license:unlicense license:expat)))) -(define-public rust-winit-0.20 - (package - (name "rust-winit") - (version "0.20.0-alpha6") - (source - (origin - (method url-fetch) - (uri (crate-uri "winit" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1g5cchl97zcg525j6jdr77yby8cmhwv1qqwcd3sf4l4zl263195z")) - (patches - (list - (origin - (method url-fetch) - (uri "https://github.com/rust-windowing/winit/commit/d1c6506865c7bddbb5fb4d80a613e43ddc1370b5.patch") - (file-name (string-append name "-fix-bindings.patch")) - (sha256 - (base32 - "03q4bvdq86kii53d0vsywv08g8vqirf9h1lz2cl6rcc7gjfynpds"))))))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-android-glue" ,rust-android-glue-0.2) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-calloop" ,rust-calloop-0.4) - ("rust-cocoa" ,rust-cocoa-0.19) - ("rust-core-foundation" ,rust-core-foundation-0.6) - ("rust-core-graphics" ,rust-core-graphics-0.17) - ("rust-core-video-sys" ,rust-core-video-sys-0.1) - ("rust-dispatch" ,rust-dispatch-0.1) - ("rust-instant" ,rust-instant-0.1) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-objc" ,rust-objc-0.2) - ("rust-parking-lot" ,rust-parking-lot-0.10) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) - ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) - ("rust-serde" ,rust-serde-1) - ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6) - ("rust-stdweb" ,rust-stdweb-0.4) - ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) - ("rust-wayland-client" ,rust-wayland-client-0.23) - ("rust-web-sys" ,rust-web-sys-0.3) - ("rust-winapi" ,rust-winapi-0.3) - ("rust-x11-dl" ,rust-x11-dl-2)) - #:cargo-development-inputs - (("rust-console-log" ,rust-console-log-0.1) - ("rust-env-logger" ,rust-env-logger-0.5) - ("rust-image" ,rust-image-0.21)))) - (home-page "https://github.com/rust-windowing/winit") - (synopsis - "Cross-platform window creation library") - (description - "Cross-platform window creation library.") - (license license:asl2.0))) - -(define-public rust-winit-0.19 - (package - (inherit rust-winit-0.20) - (name "rust-winit") - (version "0.19.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "winit" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1a4lnfyvlc4jabhs30wlmkgdjv7qhbplmyp833kl7ykjni5yp5hy")))) - (arguments - `(#:cargo-inputs - (("rust-android-glue" ,rust-android-glue-0.2) - ("rust-backtrace" ,rust-backtrace-0.3) - ("rust-bitflags" ,rust-bitflags-1) - ("rust-cocoa" ,rust-cocoa-0.18) - ("rust-core-foundation" ,rust-core-foundation-0.6) - ("rust-core-graphics" ,rust-core-graphics-0.17) - ("rust-image" ,rust-image-0.21) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-log" ,rust-log-0.4) - ("rust-objc" ,rust-objc-0.2) - ("rust-parking-lot" ,rust-parking-lot-0.9) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) - ("rust-raw-window-handle" ,rust-raw-window-handle-0.3) - ("rust-serde" ,rust-serde-1) - ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.4) - ("rust-wayland-client" ,rust-wayland-client-0.21) - ("rust-winapi" ,rust-winapi-0.3) - ("rust-x11-dl" ,rust-x11-dl-2)))))) - (define-public rust-winpty-sys-0.4 (package (name "rust-winpty-sys") @@ -30159,6 +32254,33 @@ color in a Windows console.") (description "Rust winpty bindings.") (license license:expat))) +(define-public rust-winreg-0.7 + (package + (name "rust-winreg") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "winreg" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.3) + ("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://github.com/gentoo90/winreg-rs") + (synopsis "Rust bindings to the MS Windows Registry API") + (description "This package provides Rust bindings to MS Windows Registry +API.") + (license license:expat))) + (define-public rust-winreg-0.6 (package (name "rust-winreg") @@ -30236,77 +32358,6 @@ color in a Windows console.") "Contains function definitions for the Windows API library ws2_32.") (license license:expat))) -(define-public rust-x11-2 - (package - (name "rust-x11") - (version "2.18.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "x11" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0dg2d0yrqmwg6prpxkw3vpmwzwxnaki2cn0v64ylh5gp4cqpws9r")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-pkg-config" ,rust-pkg-config-0.3)))) - (home-page "https://github.com/erlepereira/x11-rs.git") - (synopsis "X11 library bindings for Rust") - (description "X11 library bindings for Rust.") - (license license:cc0))) - -(define-public rust-x11-clipboard-0.4 - (package - (name "rust-x11-clipboard") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (crate-uri "x11-clipboard" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0nqdnswiyj28b1izjp5rzbc67cxpb5c8p4vh1xyndkirzs84vqqk")))) - (build-system cargo-build-system) - (arguments - `(#:tests? #f ; Tests require display server. - #:cargo-inputs (("rust-xcb" ,rust-xcb-0.9)))) - (native-inputs - `(("python" ,python))) - (home-page "https://github.com/quininer/x11-clipboard") - (synopsis "x11 clipboard support for Rust") - (description "This package provides x11 clipboard support for Rust.") - (license license:expat))) - -(define-public rust-x11-dl-2 - (package - (name "rust-x11-dl") - (version "2.18.5") - (source - (origin - (method url-fetch) - (uri (crate-uri "x11-dl" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1y7yq4sfvv56shk4v3s7gvlrwk9d0migj622fl4i4c5klpiq3y9b")))) - (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-lazy-static" ,rust-lazy-static-1) - ("rust-libc" ,rust-libc-0.2) - ("rust-maybe-uninit" ,rust-maybe-uninit-2.0) - ("rust-pkg-config" ,rust-pkg-config-0.3)))) - (home-page "https://github.com/erlepereira/x11-rs.git") - (synopsis "X11 library bindings for Rust") - (description "This package provides X11 library bindings for Rust.") - (license license:cc0))) - (define-public rust-xattr-0.2 (package (name "rust-xattr") @@ -30327,7 +32378,7 @@ color in a Windows console.") #:cargo-development-inputs (("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/Stebalien/xattr") - (synopsis "Unix extended filesystem attributes") + (synopsis "Unix extended file system attributes") (description "This package provide a small library for setting, getting, and listing extended attributes.") @@ -30418,6 +32469,29 @@ to XDG Base Directory specification.") (description "An XML library in pure Rust.") (license license:expat))) +(define-public rust-xml-rs-0.7 + (package + (name "rust-xml-rs") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "xml-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hp9kf80y9qm3aiqg5psyshqfkcrjgifbcm2c2nc5qlzs80vc71w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags '("--release" "--lib") + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1)))) + (home-page "https://github.com/netvl/xml-rs") + (synopsis "XML library in pure Rust") + (description "An XML library in pure Rust.") + (license license:expat))) + (define-public rust-xml5ever-0.16 (package (name "rust-xml5ever") @@ -30448,27 +32522,37 @@ to XDG Base Directory specification.") "Push based streaming parser for xml.") (license (list license:expat license:asl2.0)))) -(define-public rust-y4m-0.5 +(define-public rust-xz2-0.1 (package - (name "rust-y4m") - (version "0.5.3") + (name "rust-xz2") + (version "0.1.6") (source - (origin - (method url-fetch) - (uri (crate-uri "y4m" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1933677by64y06zfgip2yq8b2dza8xnljhaksx93czq90b54kscz")))) + (origin + (method url-fetch) + (uri (crate-uri "xz2" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v4jb0193gx8s1kvd2ajsgh0ffmwhqhfmrrw1n1h2z7w6jgqcyf1")))) (build-system cargo-build-system) (arguments - `(#:cargo-development-inputs - (("rust-resize" ,rust-resize-0.3)))) - (home-page "https://github.com/image-rs/y4m") - (synopsis "YUV4MPEG2 (.y4m) Encoder/Decoder.") - (description "YUV4MPEG2 (.y4m) Encoder/Decoder.") - (license license:expat))) + `(#:tests? #f ; Not all files included in the tarball. + #:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-lzma-sys" ,rust-lzma-sys-0.1) + ("rust-tokio-io" ,rust-tokio-io-0.1)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.7) + ("rust-rand" ,rust-rand-0.5) + ("rust-tokio-core" ,rust-tokio-core-0.1)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("xz" ,xz))) + (home-page "https://github.com/alexcrichton/xz2-rs") + (synopsis "Rust bindings to liblzma") + (description "This package provides Rust bindings to liblzma providing +Read/Write streams as well as low-level in-memory encoding and decoding.") + (license (list license:expat license:asl2.0)))) (define-public rust-yaml-rust-0.4 (package @@ -30601,8 +32685,8 @@ implementation that works everywhere, even WASM!") (arguments `(#:cargo-inputs (("rust-bzip2" ,rust-bzip2-0.3) - ("rust-crc32fast" ,rust-crc32fast-1.2) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-crc32fast" ,rust-crc32fast-1) + ("rust-flate2" ,rust-flate2-1) ("rust-podio" ,rust-podio-0.1) ("rust-time" ,rust-time-0.1)) #:cargo-development-inputs @@ -30632,10 +32716,244 @@ implementation that works everywhere, even WASM!") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) + (("rust-byteorder" ,rust-byteorder-1) ("rust-datetime" ,rust-datetime-0.4)))) (home-page "https://github.com/rust-datetime/zoneinfo-compiled/") (synopsis "Library for parsing compiled zoneinfo files") (description "This package provides a library for parsing compiled zoneinfo files.") (license license:expat))) + +(define-public rust-zstd-0.5 + (package + (name "rust-zstd") + (version "0.5.3+zstd.1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n0cgj9i3dk90kn7jcahq5fligqrjfzmnq08hfg71yhyfypjxcq1")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-tokio-io" ,rust-tokio-io-0.1) + ("rust-zstd-safe" ,rust-zstd-safe-2.0.5)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-humansize" ,rust-humansize-1) + ("rust-partial-io" ,rust-partial-io-0.3) + ("rust-quickcheck" ,rust-quickcheck-0.6) + ("rust-walkdir" ,rust-walkdir-2)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Binding to the zstd compression library") + (description "This package provides a binding to the zstd compression +library.") + (license license:expat))) + +(define-public rust-zstd-safe-2 + (package + (name "rust-zstd-safe") + (version "2.0.5+zstd.1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd-safe" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0m8h1x030cj5bj7zxxf6gdp91bp0ays2vi9rlqllgxi71lp69yqw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-zstd-sys" ,rust-zstd-sys-1.4.17)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Safe low-level bindings to the zstd compression library") + (description "This package provides afe low-level bindings to the zstd +compression library.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-zstd-safe-2.0.5 rust-zstd-safe-2) + +;; TODO: Unbundle zstd. +(define-public rust-zstd-sys-1 + (package + (name "rust-zstd-sys") + (version "1.4.17+zstd.1.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06zhk1j5v1sm04xxrw72lgzyi1wcq7kvj6vbd4ibamph9mj4k4mq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-bindgen" ,rust-bindgen-0.54) + ("rust-cc" ,rust-cc-1) + ("rust-glob" ,rust-glob-0.3) + ("rust-itertools" ,rust-itertools-0.9) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Low-level bindings to the zstd compression library") + (description "This package provides low-level Rust bindings to the zstd +compression library.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-zstd-sys-1.4.17 rust-zstd-sys-1) + +(define-public rust-packed-struct + (package + (name "rust-packed-struct") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "packed_struct" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10b2fmxchmcigwagnhi42frj74dl02wyv0xwmbr9839qfh7gijlh")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "http://www.hashmismatch.net/libraries/packed-struct/") + (synopsis "Binary-level structure packing and unpacking generator") + (description "This package provides bit-level packing an unpacking +of structs. The library provides a meta-programming approach, using +attributes to define fields and how they should be packed. The resulting +trait implementations provide safe packing, unpacking and runtime debugging +formatters with per-field documentation generated for each structure. + +@itemize +@item Plain Rust structures, decorated with attributes +@item MSB or LSB integers of user-defined bit widths +@item Primitive enum code generation helper +@item MSB0 or LSB0 bit positioning +@item Documents the field's packing table +@item Runtime packing visualization +@item Nested packed types +@item Arrays of packed structures as fields +@item Reserved fields, their bits are always 0 or 1 +@end itemize") + ;; User can choose either license. + (license (list license:expat license:asl2.0)))) + +(define-public rust-xmltree-0.8 + (package + (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")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-indexmap" ,rust-indexmap-1) + ("rust-xml-rs" ,rust-xml-rs-0.7)))) + (home-page #f) + (synopsis + "Parse an XML file into a simple tree-like structure") + (description + "Parse an XML file into a simple tree-like structure") + (license license:expat))) + +(define-public rust-svd-parser-0.9 + (package + (name "rust-svd-parser") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "svd-parser" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qhvdz3k76i3sfypcy8c84hhb8sqixrckba21kalzcpgy6an45ml")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1.0) + ("rust-either" ,rust-either-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 #f) + (synopsis "A CMSIS-SVD file parser") + (description + "This package provides a CMSIS-SVD file parser") + (license (list license:expat license:asl2.0)))) + +(define-public rust-inflections-1.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 #f) + (synopsis + "High performance inflection transformation library for changing properties of words like the case.") + (description + "High performance inflection transformation library for changing properties of words like the case.") + (license license:expat))) + +(define-public svd2rust + (package + (name "svd2rust") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "svd2rust" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0850pn92a5pmrlavdsm4s9wgrgx9gz0vylf9i594nj8sixmddjd9")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cast" ,rust-cast-0.2) + ("rust-clap" ,rust-clap-2) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-error-chain" ,rust-error-chain-0.12) + ("rust-inflections" ,rust-inflections-1.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)))) + (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)))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 68531ea16e..348e9103ff 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -143,7 +143,7 @@ communication, encryption, decryption, signatures, etc.") (define-public signify (package (name "signify") - (version "29") + (version "30") (home-page "https://github.com/aperezdc/signify") (source (origin (method url-fetch) @@ -151,7 +151,7 @@ communication, encryption, decryption, signatures, etc.") "/download/v" version "/signify-" version ".tar.xz")) (sha256 (base32 - "1bzcax5kb4lr0rmpmrdpq5q0iq6b2dxzpl56li8aanbkck1c7hd9")))) + "11l67j04gyxnlw6zrzsygqs5cgsc1sww1rh0apl05yay131hd17n")))) (build-system gnu-build-system) ;; TODO Build with libwaive (described in README.md), to implement something ;; like OpenBSD's pledge(). @@ -359,10 +359,10 @@ secure operations. ") (base32 "0lj38ldh8vzi11wp4ghw4k0fkwp0s04zv8k8d473p1snmbh7mx98")))) (inputs - `(("openssl" ,openssl))) ; It needs: openssl/{bn,pem,rsa,sha}.h + `(("openssl" ,openssl-1.0))) ; for openssl/{bn,pem,rsa,sha}.h (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc" + `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" (assoc-ref %outputs "out")) (string-append "INSTALL=" "install")) ;; XXX: make test would run a !VERY! long hashing of names with the use diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm index 57333ea13d..a12ac93b25 100644 --- a/gnu/packages/cryptsetup.scm +++ b/gnu/packages/cryptsetup.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +35,7 @@ (define-public cryptsetup (package (name "cryptsetup") - (version "2.3.3") + (version "2.3.4") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v" @@ -43,7 +43,7 @@ "/cryptsetup-" version ".tar.xz")) (sha256 (base32 - "1pw2bq4nv2z3xyycckxkbp7dp9kkp2n6bspna3plryg277z4zjiv")))) + "0wrpz2fzbsszmsgxxbssxjgylpyiindh24z8g13m2fxmjsxyw5lx")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 179a32ef8a..f13fc2f132 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -418,16 +418,17 @@ should only be used as part of the Guix cups-pk-helper service.") (define-public hplip (package (name "hplip") - (version "3.20.6") + (version "3.20.9") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "083w58wpvvm6sir6rf5dwx3r0rman9sv1zpl26chl0a88crjsjy6")) + "1prdbp410405xrfggjc7y34nzljg7jnbgjzalgv4khwwma4i299n")) (modules '((guix build utils))) - (patches (search-patches "hplip-remove-imageprocessor.patch")) + (patches (search-patches "hplip-fix-bug-1898438.patch" + "hplip-remove-imageprocessor.patch")) (snippet '(begin ;; Delete non-free blobs: .so files, pre-compiled @@ -468,10 +469,7 @@ should only be used as part of the Guix cups-pk-helper service.") (assoc-ref %outputs "out") "/lib") ;; Disable until mime.types merging works (FIXME). "--disable-fax-build" - "--enable-hpcups-install" "--enable-new-hpcups" - "--enable-cups_ppd_install" - "--enable-cups_drv_install" ;; TODO add foomatic drv install eventually. ;; TODO --enable-policykit eventually. ,(string-append "--with-cupsfilterdir=" @@ -752,20 +750,19 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (define-public escpr (package (name "escpr") - (version "1.6.30") + (version "1.7.7") ;; 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 ;; available. - (source (origin - (method url-fetch) - ;; The uri has to be chopped up in order to satisfy guix lint. - (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/08/18/20/" - "e94de600e28e510c1cfa158929d8b2c0aadc8aa0/" - "epson-inkjet-printer-escpr-1.6.30-1lsb3.2.tar.gz")) - (sha256 - (base32 - "0m8pyfkixisp0vclwxj340isn15zzisal0v2xvv66kxfd68dzf12")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/10/49/18/" + "f3016be6120a7271a6d9cb64872f817bce1920b8/" + "epson-inkjet-printer-escpr-1.7.7-1lsb3.2.tar.gz")) + (sha256 + (base32 "0khdf2a9iwh9aplj2gzyzl53yyfnfv0kszk3p018jnirl5l475ld")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -774,13 +771,30 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") ,(string-append "--with-cupsfilterdir=" (assoc-ref %outputs "out") "/lib/cups/filter") ,(string-append "--with-cupsppddir=" - (assoc-ref %outputs "out") "/share/ppd")))) - (inputs `(("cups" ,cups-minimal))) + (assoc-ref %outputs "out") "/share/cups/model")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-autotools-version-requirement + (lambda _ + (substitute* "aclocal.m4" + (("1\\.15") + ,(package-version automake))) + (substitute* "configure" + (("^(ACLOCAL=).*" _ match) + (string-append match "aclocal")) + (("^(AUTOMAKE=).*" _ match) + (string-append match "automake"))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (inputs + `(("cups" ,cups-minimal))) (synopsis "ESC/P-R printer driver") (description - "This package provides a filter for the Common UNIX Printing -System (CUPS). It offers high-quality printing with Seiko Epson color ink jet -printers. It can only be used with printers that support the Epson ESC/P-R + "This package provides a filter for @acronym{CUPS, the Common UNIX Printing +System} that offers high-quality printing with Seiko@tie{}Epson color ink jet +printers. It can be used only with printers that support the Epson@tie{}ESC/P-R language.") (home-page "http://download.ebz.epson.net/dsc/search/01/search") (license license:gpl2+))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index fe9978587c..91cf4f7174 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -44,6 +44,7 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,6 +129,7 @@ #:use-module (guix download) #:use-module (guix bzr-download) #:use-module (guix git-download) + #:use-module (guix hg-download) #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) #:use-module (guix build-system go) @@ -716,7 +718,7 @@ Language.") (define-public mariadb (package (name "mariadb") - (version "10.1.45") + (version "10.5.6") (source (origin (method url-fetch) (uri (string-append "https://downloads.mariadb.com/MariaDB" @@ -724,8 +726,7 @@ Language.") version ".tar.gz")) (sha256 (base32 - "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx")) - (patches (search-patches "mariadb-client-test-32bit.patch")) + "1i257h0zdypdfj5wkg6ck9pxlkph0jvjs92k22pjr6gnx5lxs1gz")) (modules '((guix build utils))) (snippet '(begin @@ -743,8 +744,8 @@ Language.") (for-each (lambda (file) (unless (string-suffix? "CMakeLists.txt" file) (delete-file file))) - (append (find-files "extra/yassl") - (find-files "pcre") (find-files "zlib"))) + (append (find-files "extra/wolfssl") + (find-files "zlib"))) #t)))) (build-system cmake-build-system) (outputs '("out" "lib" "dev")) @@ -798,29 +799,20 @@ Language.") "-DINSTALL_SHAREDIR=share") #:phases (modify-phases %standard-phases - ,@(if (string-prefix? "arm" (%current-system)) - ;; XXX: Because of the GCC 5 input, we need to hide GCC 7 from - ;; CPLUS_INCLUDE_PATH so that its headers do not shadow GCC 5. - '((add-after 'set-paths 'hide-default-gcc - (lambda* (#:key inputs #:allow-other-keys) - (let ((gcc (assoc-ref inputs "gcc"))) - (setenv "CPLUS_INCLUDE_PATH" - (string-join - (delete (string-append gcc "/include/c++") - (string-split (getenv "CPLUS_INCLUDE_PATH") - #\:)) - ":")) - #t)))) - '()) - (add-after 'unpack 'fix-pcre-detection + (add-after 'unpack 'adjust-output-references (lambda _ - ;; The bundled PCRE in MariaDB has a patch that was upstreamed - ;; in version 8.34. Unfortunately the upstream patch behaves - ;; slightly differently and the build system fails to detect it. - ;; See <https://bugs.exim.org/show_bug.cgi?id=2173>. - ;; XXX: Consider patching PCRE instead. - (substitute* "cmake/pcre.cmake" - ((" OR NOT PCRE_STACK_SIZE_OK") "")) + ;; The build system invariably prepends $CMAKE_INSTALL_PREFIX + ;; to other variables such as $INSTALL_INCLUDEDIR, which does + ;; not work when the latter uses an absolute file name. + (substitute* "libmariadb/mariadb_config/mariadb_config.c.in" + (("@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@") + "@INSTALL_INCLUDEDIR@")) + (substitute* "libmariadb/mariadb_config/libmariadb.pc.in" + (("\\$\\{prefix\\}/@INSTALL_INCLUDEDIR@") + "@INSTALL_INCLUDEDIR@")) + (substitute* "include/CMakeLists.txt" + (("\\\\\\$\\{CMAKE_INSTALL_PREFIX\\}/\\$\\{INSTALL_INCLUDEDIR\\}") + "${INSTALL_INCLUDEDIR}")) #t)) (add-after 'unpack 'adjust-tests (lambda _ @@ -828,6 +820,7 @@ Language.") '(;; These fail because root@hostname == root@localhost in ;; the build environment, causing a user count mismatch. ;; See <https://jira.mariadb.org/browse/MDEV-7761>. + "funcs_1.is_columns_mysql" "main.join_cache" "main.explain_non_select" "main.stat_tables" @@ -836,20 +829,7 @@ Language.") ;; This file contains a time bomb which makes it fail after ;; 2030-12-31. See <https://bugs.gnu.org/34351> for details. - "main.mysqldump" - - ;; FIXME: This test fails on i686: - ;; -myisampack: Can't create/write to file (Errcode: 17 "File exists") - ;; +myisampack: Can't create/write to file (Errcode: 17 "File exists) - ;; When running "myisampack --join=foo/t3 foo/t1 foo/t2" - ;; (all three tables must exist and be identical) - ;; in a loop it produces the same error around 1/240 times. - ;; montywi on #maria suggested removing the real_end check in - ;; "strings/my_vsnprintf.c" on line 503, yet it still does not - ;; reach the ending quote occasionally. Disable it for now. - "main.myisampack" - ;; FIXME: This test fails on armhf-linux: - "mroonga/storage.index_read_multiple_double")) + "main.mysqldump")) ;; This file contains a list of known-flaky tests for this ;; release. Append our own items. @@ -860,9 +840,10 @@ Language.") disabled-tests) (close-port unstable-tests) - ;; XXX: This test fails because it expects a latin1 charset and + ;; XXX: These fail because they expect a latin1 charset and ;; collation. See <https://jira.mariadb.org/browse/MDEV-21264>. - (substitute* "mysql-test/r/gis_notembedded.result" + (substitute* '("mysql-test/main/gis_notembedded.result" + "mysql-test/main/system_mysql_db.result") (("latin1_swedish_ci") "utf8_general_ci") (("\tlatin1") "\tutf8")) @@ -895,6 +876,10 @@ Language.") "--testcase-timeout=40" "--suite-timeout=600" "--parallel" (number->string (parallel-job-count)) + ;; Skip the replication tests: they are very I/O + ;; intensive and frequently causes indeterministic + ;; failures even on powerful hardware. + "--skip-rpl" "--skip-test-list=unstable-tests")) (format #t "test suite not run~%")) #t)) @@ -905,56 +890,57 @@ Language.") (dev (assoc-ref outputs "dev")) (lib (assoc-ref outputs "lib")) (openssl (assoc-ref inputs "openssl"))) - (substitute* (string-append out "/bin/mysql_install_db") + (substitute* (list (string-append out "/bin/mariadb-install-db") + (string-append out "/bin/mysql_install_db")) (("basedir=\"\"") - (string-append "basedir=\"" out "\""))) + (string-append "basedir=\"" out "\"")) + (("\\$basedir/share/mysql") + (string-append lib "/share/mysql"))) + ;; Remove unneeded files for testing. (with-directory-excursion lib (for-each delete-file-recursively - '("data" "mysql-test" "sql-bench")) + '("mysql-test" "sql-bench")) ;; And static libraries. (for-each delete-file (find-files "lib" "\\.a$"))) (with-directory-excursion out (delete-file "share/man/man1/mysql-test-run.pl.1") ;; Delete huge and unnecessary executables. - (for-each delete-file (find-files "bin" "(test|embedded)"))) + (for-each delete-file (find-files "bin" "test$"))) (mkdir-p (string-append dev "/share")) (mkdir-p (string-append dev "/bin")) + (rename-file (string-append lib "/bin/mariadbd") + (string-append out "/bin/mariadbd")) (rename-file (string-append lib "/bin/mysqld") (string-append out "/bin/mysqld")) - (rename-file (string-append lib "/share/pkgconfig") - (string-append dev "/share/pkgconfig")) + (mkdir-p (string-append dev "/lib")) + (rename-file (string-append lib "/lib/pkgconfig") + (string-append dev "/lib/pkgconfig")) + (rename-file (string-append lib "/bin/mariadb_config") + (string-append dev "/bin/mariadb_config")) (rename-file (string-append out "/bin/mysql_config") (string-append dev "/bin/mysql_config")) - - (substitute* (string-append out "/bin/mysql_install_db") - (("\\$basedir/share/mysql") - (string-append lib "/share/mysql"))) - ;; Embed an absolute reference to OpenSSL in mysql_config ;; and the pkg-config file to avoid propagation. + ;; XXX: how to do this for mariadb_config.c.in? (substitute* (list (string-append dev "/bin/mysql_config") - (string-append dev "/share/pkgconfig/mariadb.pc")) + (string-append dev "/lib/pkgconfig/mariadb.pc")) (("-lssl -lcrypto" all) (string-append "-L" openssl "/lib " all))) #t)))))) (native-inputs `(("bison" ,bison) - ;; XXX: On armhf, use GCC 5 to work around <https://bugs.gnu.org/37605>. - ,@(if (string-prefix? "armhf" (%current-system)) - `(("gcc@5", gcc-5)) - '()) ("perl" ,perl))) (inputs `(("jemalloc" ,jemalloc) ("libaio" ,libaio) ("libxml2" ,libxml2) ("ncurses" ,ncurses) - ("openssl" ,openssl-1.0) + ("openssl" ,openssl) ("pam" ,linux-pam) - ("pcre" ,pcre) + ("pcre2" ,pcre2) ("xz" ,xz) ("zlib" ,zlib))) ;; The test suite is very resource intensive and can take more than three @@ -970,7 +956,7 @@ as a drop-in replacement of MySQL.") (define-public mariadb-connector-c (package (name "mariadb-connector-c") - (version "3.1.9") + (version "3.1.10") (source (origin (method url-fetch) (uri (string-append @@ -979,7 +965,7 @@ as a drop-in replacement of MySQL.") version "-src.tar.gz")) (sha256 (base32 - "1izjzf7yzjqzlk8dkp327fa9lawsv2hnnlnr7g5lshyx5azrk38h")))) + "13v5z4w1cl890lnr2fbwbziw638lqw2aga45vdq1z0cyrc9mcgmg")))) (inputs `(("openssl" ,openssl))) (build-system cmake-build-system) @@ -1139,7 +1125,7 @@ organized in a hash table or B+ tree.") (native-inputs `(("bc" ,bc) ("bash:include" ,bash "include") - ("check" ,check) + ("check" ,check-0.14) ("libuuid" ,util-linux) ("pkg-config" ,pkg-config))) @@ -1343,7 +1329,7 @@ for example from a shell script.") (define-public sqitch (package (name "sqitch") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) @@ -1351,7 +1337,7 @@ for example from a shell script.") "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v" version ".tar.gz")) (sha256 - (base32 "0p4wraqiscvwmmsvfqfy65blgsilwpvd9zj4d2zvm2xdx70ncr7l")))) + (base32 "1ayiwg9kh3w0nbacbcln7h944z94vq5vnnd5diz86033bpbnq57f")))) (build-system perl-build-system) (arguments '(#:phases @@ -1383,6 +1369,7 @@ for example from a shell script.") ("perl-test-file" ,perl-test-file) ("perl-test-file-contents" ,perl-test-file-contents) ("perl-test-mockmodule" ,perl-test-mockmodule) + ("perl-test-mockobject" ,perl-test-mockobject) ("perl-test-nowarnings" ,perl-test-nowarnings) ("perl-test-warn" ,perl-test-warn))) (inputs @@ -1391,7 +1378,9 @@ for example from a shell script.") ("perl-config-gitlike" ,perl-config-gitlike) ("perl-datetime" ,perl-datetime) ("perl-datetime-timezone" ,perl-datetime-timezone) + ("perl-dbd-mysql" ,perl-dbd-mysql) ("perl-dbd-pg" ,perl-dbd-pg) + ("perl-dbd-sqlite" ,perl-dbd-sqlite) ("perl-dbi" ,perl-dbi) ("perl-devel-stacktrace" ,perl-devel-stacktrace) ("perl-encode-locale" ,perl-encode-locale) @@ -1738,7 +1727,7 @@ columns, primary keys, unique constraints and relationships.") (define-public perl-dbd-sqlite (package (name "perl-dbd-sqlite") - (version "1.64") + (version "1.66") (source (origin (method url-fetch) (uri (string-append @@ -1746,7 +1735,7 @@ columns, primary keys, unique constraints and relationships.") version ".tar.gz")) (sha256 (base32 - "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl")))) + "1zljln5nh61gj3k22a1fv2vhx5l83waizmarwkh77hk6kzzmvrw9")))) (build-system perl-build-system) (inputs `(("sqlite" ,sqlite))) (propagated-inputs `(("perl-dbi" ,perl-dbi))) @@ -1777,7 +1766,7 @@ module, and nothing else.") (synopsis "Parse and utilize MySQL's /etc/my.cnf and ~/.my.cnf files") (description "@code{MySQL::Config} emulates the @code{load_defaults} function from -libmysqlclient. It will fill an aray with long options, ready to be parsed by +libmysqlclient. It will fill an array with long options, ready to be parsed by @code{Getopt::Long}.") (license license:perl-license))) @@ -1898,7 +1887,7 @@ valid SQL query.") (define-public unixodbc (package (name "unixodbc") - (version "2.3.7") + (version "2.3.9") (source (origin (method url-fetch) (uri @@ -1906,7 +1895,7 @@ valid SQL query.") "ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-" version ".tar.gz")) (sha256 - (base32 "0xry3sg497wly8f7715a7gwkn2k36bcap0mvzjw74jj53yx6kwa5")))) + (base32 "01xj65d02i3yjy7p9z08y9jakcs5szmz4rask868n7387nn3x0sj")))) (build-system gnu-build-system) (synopsis "Data source abstraction library") (description "Unixodbc is a library providing an API with which to access @@ -2120,14 +2109,14 @@ database.") (define-public perl-db-file (package (name "perl-db-file") - (version "1.853") + (version "1.855") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-" version ".tar.gz")) (sha256 - (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h")))) + (base32 "0q599h7g4jkzks5dxf1zifx9k7l9vif26r2dlgkzxkg6bfif5zyr")))) (build-system perl-build-system) (inputs `(("bdb" ,bdb))) (native-inputs `(("perl-test-pod" ,perl-test-pod))) @@ -2140,8 +2129,7 @@ database.") (("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb"))) #t))))) (home-page "https://metacpan.org/release/DB_File") - (synopsis - "Perl5 access to Berkeley DB version 1.x") + (synopsis "Perl5 access to Berkeley DB version 1.x") (description "The DB::File module provides Perl bindings to the Berkeley DB version 1.x.") (license license:perl-license))) @@ -2450,13 +2438,13 @@ etc., and an SQL engine for performing simple SQL queries.") (define-public python-lmdb (package (name "python-lmdb") - (version "0.99") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "lmdb" version)) (sha256 (base32 - "12fwlzfd82471ss9xzbqwcqc6f5miy51y72y2yya9j5cm9589szr")) + "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1")) (modules '((guix build utils))) (snippet ;; Delete bundled lmdb source files. @@ -2475,6 +2463,7 @@ etc., and an SQL engine for performing simple SQL queries.") (add-before 'build 'use-system-lmdb (lambda* (#:key inputs #:allow-other-keys) (let ((lmdb (assoc-ref inputs "lmdb"))) + (setenv "LMDB_PURE" "set") ; don't apply env-copy-txn.patch (setenv "LMDB_FORCE_SYSTEM" "set") (setenv "LMDB_INCLUDEDIR" (string-append lmdb "/include")) (setenv "LMDB_LIBDIR" (string-append lmdb "/lib")) @@ -2632,13 +2621,13 @@ Database API 2.0T.") (define-public python-sqlalchemy (package (name "python-sqlalchemy") - (version "1.3.18") + (version "1.3.20") (source (origin (method url-fetch) (uri (pypi-uri "SQLAlchemy" version)) (sha256 - (base32 "1rwc6ss1cnz3kxx0p9p6xw0w79r8qw03lcc29k31yb3rcigvfbys")))) + (base32 "18b9am7bsqc4nj3d2h5r93i002apczxfvpfpcqbd6f0385zmrwnj")))) (build-system python-build-system) (native-inputs `(("python-cython" ,python-cython) ; for C extensions @@ -2712,16 +2701,57 @@ You might also want to install the following optional dependencies: (define-public python2-sqlalchemy-utils (package-with-python2 python-sqlalchemy-utils)) +(define-public python-alchemy-mock + (package + (name "python-alchemy-mock") + (version "0.4.3") + (home-page "https://github.com/miki725/alchemy-mock") + (source (origin + (method url-fetch) + (uri (pypi-uri "alchemy-mock" version)) + (sha256 + (base32 + "0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Create pytest.ini that adds doctest options to + ;; prevent test failure. Taken from tox.ini. + (call-with-output-file "pytest.ini" + (lambda (port) + (format port "[pytest] +doctest_optionflags=IGNORE_EXCEPTION_DETAIL +"))) + (invoke "pytest" "-vv" "--doctest-modules" + "alchemy_mock/")))))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-six" ,python-six) + ("python-sqlalchemy" ,python-sqlalchemy))) + (synopsis "Mock helpers for SQLAlchemy") + (description + "This package provides mock helpers for SQLAlchemy that makes it easy +to mock an SQLAlchemy session while preserving the ability to do asserts. + +Normally Normally SQLAlchemy's expressions cannot be easily compared as +comparison on binary expression produces yet another binary expression, but +this library provides functions to facilitate such comparisons.") + (license license:expat))) + (define-public python-alembic (package (name "python-alembic") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (pypi-uri "alembic" version)) (sha256 - (base32 "1gsdrzx9h7wfva200qvvsc9sn4w79mk2vs0bbnzjhxi1jw2b0nh3")))) + (base32 "0if2dgb088clk738p26bwk50735h6jpd2kacdgc5capv2hiz6d2k")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -2897,13 +2927,13 @@ designed to be easy and intuitive to use.") (define-public python-psycopg2 (package (name "python-psycopg2") - (version "2.8.5") + (version "2.8.6") (source (origin (method url-fetch) (uri (pypi-uri "psycopg2" version)) (sha256 - (base32 "06081jk9srkd4ra9j8b93x9ld3a2yxsbsf5bbbcivbm1yx065m7p")))) + (base32 "0hzmk6b1hb5riqkljr5xics6p4zbvmis6knbczb7zhq7273zc8zv")))) (build-system python-build-system) (arguments ;; Tests would require a postgresql database "psycopg2_test" @@ -2948,27 +2978,51 @@ database).") (define-public python2-sadisplay (package-with-python2 python-sadisplay)) +(define-public yoyo-migrations + (package + (name "yoyo-migrations") + (version "7.2.0") + (source + (origin + ;; We use the upstream repository, as the tests are not included in the + ;; PyPI releases. + (method hg-fetch) + (uri (hg-reference + (url "https://hg.sr.ht/~olly/yoyo") + (changeset (string-append "v" version "-release")))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "0q2z9bgdj3wyix7yvqsayfs21grp5av8ilh411lgmjhigszkvhcq")))) + (build-system python-build-system) + (arguments + ;; XXX: Tests require a connection to some pgsql database and psycopg + ;; fails to connect to it. + '(#:tests? #f)) + (propagated-inputs + `(("python-sqlparse" ,python-sqlparse) + ("python-tabulate" ,python-tabulate))) + (home-page "https://ollycope.com/software/yoyo/latest/") + (synopsis "Database migrations with SQL") + (description + "Yoyo is a database schema migration tool. Migrations are written as SQL +files or Python scripts that define a list of migration steps.") + (license license:asl2.0))) + (define-public python-mysqlclient (package (name "python-mysqlclient") - (version "1.3.13") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "mysqlclient" version)) (sha256 (base32 - "0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz")))) + "1rf5l8hazs3v18hmcrm90z3hi9wxv553ipwd5l6kj8j7l6p7abzv")))) (build-system python-build-system) - (native-inputs - `(("nose" ,python-nose) - ("mock" ,python-mock) - ("py.test" ,python-pytest))) + (arguments '(#:tests? #f)) ;XXX: requires a live database (inputs - `(("mysql" ,mariadb "lib") - ("mysql-dev" ,mariadb "dev") - ("libz" ,zlib) - ("openssl" ,openssl))) + `(("mysql-dev" ,mariadb "dev"))) (home-page "https://github.com/PyMySQL/mysqlclient-python") (synopsis "MySQLdb is an interface to the popular MySQL database server for Python") (description "MySQLdb is an interface to the popular MySQL database server @@ -2980,9 +3034,6 @@ for Python. The design goals are: @end enumerate") (license license:gpl2))) -(define-public python2-mysqlclient - (package-with-python2 python-mysqlclient)) - (define-public python-hiredis (package (name "python-hiredis") @@ -3042,13 +3093,13 @@ reasonable substitute.") (define-public python-redis (package (name "python-redis") - (version "3.3.8") + (version "3.5.3") (source (origin (method url-fetch) (uri (pypi-uri "redis" version)) (sha256 - (base32 "0fyxzqax7lcwzwhvnz0i0q6v62hxyv1mv52ywx3bpff9a2vjz8lq")))) + (base32 "18h5b87g15x3j6pb1h2q27ri37p2qpvc9n2wgn5yl3b6m3y0qzhf")))) (build-system python-build-system) ;; Tests require a running Redis server. (arguments '(#:tests? #f)) @@ -3067,14 +3118,35 @@ reasonable substitute.") (define-public python-rq (package (name "python-rq") - (version "0.13.0") + (version "1.5.2") (source (origin - (method url-fetch) - (uri (pypi-uri "rq" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rq/rq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0xvapd2bxnyq480i48bdkddzlqmv2axbsq85rlfy8k3al8zxxxrf")))) + (base32 "0ikqmpq0g1qiqwd7ar1286l4hqjb6aj2wr844gihhb8ijzwhp8va")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'start-redis + (lambda _ + (invoke "redis-server" "--daemonize" "yes"))) + (replace 'check + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Drop test that needs the SDK for Sentry.io. + (delete-file "tests/test_sentry.py") + ;; Ensure 'rq' and 'rqworker' ends up on PATH. + (setenv "PATH" (string-append out "/bin:" + (getenv "PATH"))) + (invoke "pytest" "-vv"))))))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("redis" ,redis))) (propagated-inputs `(("python-click" ,python-click) ("python-redis" ,python-redis))) @@ -3089,6 +3161,44 @@ is designed to have a low barrier to entry.") (define-public python2-rq (package-with-python2 python-rq)) +(define-public python-rq-scheduler + (package + (name "python-rq-scheduler") + (version "0.10.0") + (home-page "https://github.com/rq/rq-scheduler") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xg6yazqs5kbr2ayvhvljs1h5vgx5k5dds613fmhswln7gglf9hk")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'start-redis + (lambda _ + (invoke "redis-server" "--daemonize" "yes"))) + (replace 'check + (lambda _ + (substitute* "run_tests.py" + (("/usr/bin/env") + (which "env"))) + (invoke "./run_tests.py")))))) + (native-inputs + `(("redis" ,redis) + ("which" ,which))) + (propagated-inputs + `(("python-croniter" ,python-croniter) + ("python-rq" ,python-rq))) + (synopsis "Job scheduling capabilities for RQ (Redis Queue)") + (description + "This package provides job scheduling capabilities to @code{python-rq} +(Redis Queue).") + (license license:expat))) + (define-public python-trollius-redis (package (name "python-trollius-redis") @@ -3593,8 +3703,7 @@ The drivers officially supported by @code{libdbi} are: ("sqlite" ,sqlite) ("odbc" ,unixodbc) ("boost" ,boost) - ("mariadb:dev" ,mariadb "dev") - ("mariadb:lib" ,mariadb "lib"))) + ("mariadb:dev" ,mariadb "dev"))) (arguments `(#:tests? #f ; Tests may require running database management systems. #:phases diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index 3203f91608..cd4126b22d 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -37,14 +37,16 @@ (name "gdsl") (version "1.8") (source (origin - (method url-fetch) - (uri (string-append "http://download.gna.org/gdsl/" - "gdsl-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://example.org") ;only hosted on Software Heritage + (commit "6adb53be8b8f9f2e4bbfc92d357eedeefb4c7430"))) + (file-name (git-file-name name version)) (sha256 (base32 - "1v64jvlnj8jfpphphgjgb36p0kv50kwfyqncf0y12f16v8ydyiaw")))) + "0a52g12d9sf9hhcyvwfd7xdazj2a9i9jh97cnlqf2ymvwnvjk1g0")))) (build-system gnu-build-system) - (home-page "http://home.gna.org/gdsl/") + (home-page "https://web.archive.org/web/20170502005430/http://home.gna.org/gdsl/") (synopsis "Generic data structures library") (description "The Generic Data Structures Library (GDSL) is a collection of routines for generic data structures manipulation. It is a re-entrant diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 2f58f8e972..9dc32c70f4 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) + #:use-module (gnu packages c) #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages flex) @@ -624,6 +626,78 @@ GDB/x86 features like hardware data watchpoints, makes debugging much more fun.") (license license:expat))) +(define-public libbacktrace + ;; There are no releases nor tags. + (let ((revision "1") + (commit "5009c113981431ae1843ebd29d6ad24eb32fc1b2")) + (package + (name "libbacktrace") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ianlancetaylor/libbacktrace") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0663zjpfpnsyv9h3pbp7cgmg9gz79n68bqpdl97y6i0jsx93v1zg")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("CFLAGS=-fPIC"))) + (home-page "https://github.com/ianlancetaylor/libbacktrace") + (synopsis "C library for producing symbolic backtraces") + (description "The @code{libbacktrace} library can be linked into a C/C++ +program to produce symbolic backtraces.") + (license license:bsd-3)))) + +(define-public libleak + (package + (name "libleak") + (version "0.3.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/WuBingzheng/libleak") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p8mb0hcfp8hdv1klv6rrpkn2zlhjxgkxbbjsk8kszxv7ijln87d")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test suite + #:parallel-build? #f ;jobserver unavailable + #:phases (modify-phases %standard-phases + (add-after 'unpack 'unbundle-libwuya + (lambda _ + (substitute* "Makefile" + ((".*make -C libwuya.*") "")) + #t)) + (add-before 'build 'set-CC + (lambda _ + (setenv "CC" "gcc") + #t)) + (delete 'configure) ;no configure script + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (install-file "libleak.so" (string-append out "/lib")) + #t)))))) + (inputs `(("libbacktrace" ,libbacktrace) + ("libwuya" ,libwuya))) + (home-page "https://github.com/WuBingzheng/libleak") + (synopsis "Memory leaks detection tool") + (description "The libleak tool detects memory leaks by hooking memory +functions such as @code{malloc}. It comes as a shared object to be pre-loaded +via @code{LD_PRELOAD} when launching the application. It prints the full call +stack at suspicious memory leak points. Modifying or recompiling the target +program is not required, and the detection can be enabled or disabled while +the target application is running. The overhead incurred by libleak is +smaller than that of other tools such as Valgrind, and it aims to be easier to +use than similar tools like @command{mtrace}.") + (license license:gpl2+))) + (define-public mspdebug (package (name "mspdebug") diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm index 44a7a21b6b..ec897d1a8a 100644 --- a/gnu/packages/dico.scm +++ b/gnu/packages/dico.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -39,14 +39,14 @@ (define-public dico (package (name "dico") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/dico/dico-" version ".tar.xz")) (sha256 (base32 - "0i9xqhy3h5nlizcmav4mv5ay8ivdgn4l4k0k7fxix3fsc87nijyr")))) + "0qag47mzs00d53hnrmh381r0jay42766vp5xrffmzmsn2307x8vl")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--with-guile-site-dir=" %output diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index ddc0440d73..f60b3f38d6 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public grammalecte (package (name "grammalecte") - (version "1.12.0") + (version "1.12.2") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://grammalecte.net/grammalecte/zip/" "Grammalecte-fr-v" version ".zip")) (sha256 - (base32 "1aifa7rj8zyxgk5cgmlgcws2hip7a7y6sr7kddjdnpfgdgy4jjgh")))) + (base32 "1qny2l5dr08pfj2dnzmvm5gmwqz8m879ryxfaw4k8dhaacrrrf62")))) (build-system python-build-system) (home-page "https://grammalecte.net") (synopsis "French spelling and grammar checker") diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 9480f1f226..3e7ab7d7ba 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -254,7 +254,7 @@ install.") (inputs `(("python-debian" ,python-debian) ("python-distro" ,python-distro) - ("python-libarchive-c", python-libarchive-c) + ("python-libarchive-c" ,python-libarchive-c) ("python-rstr" ,python-rstr))) (native-inputs `(("diffoscope" ,diffoscope) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 79e187e283..235df8ce9e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -689,7 +689,7 @@ passphrases.") (define-public ndctl (package (name "ndctl") - (version "69") + (version "70.1") (source (origin (method git-fetch) (uri (git-reference @@ -698,7 +698,7 @@ passphrases.") (file-name (git-file-name name version)) (sha256 (base32 - "1l7p0ycj27d4z07gf9qp796xpg16kfsg3rwx6plhilbhip1as4w7")))) + "09ymdibcr18vpmyf2n0xrnzgccfvr7iy3p2l5lbh7cgz7djyl5wq")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -1038,6 +1038,50 @@ of choice for all light thinking Unix addicts!") (home-page "https://savannah.nongnu.org/projects/hddtemp/") (synopsis "Report the temperature of hard drives from S.M.A.R.T. information") (description "@command{hddtemp} is a small utility that gives you the -temperature of your hard drive by reading S.M.A.R.T. informations (for drives +temperature of your hard drive by reading S.M.A.R.T. information (for drives that support this feature).") (license license:gpl2+))) + +(define-public memkind + (package + (name "memkind") + (version "1.10.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/memkind/memkind.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11iz887f3cp5pzf1bzm644wzab8gkbhz3b7x1w6pcps71yd94ylj")))) + (build-system gnu-build-system) + (inputs + `(;; memkind patched jemalloc to add je_arenalookupx, + ;; je_check_reallocatex--i.e. they forked jemalloc. + ;("jemalloc" ,jemalloc) + ("ndctl" ,ndctl) + ("numactl" ,numactl))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + `(#:tests? #f ; Tests require a NUMA-enabled system. + #:phases + (modify-phases %standard-phases + (add-before 'build 'autogen-jemalloc + (lambda _ + (with-directory-excursion "jemalloc" + (substitute* "Makefile.in" + (("/bin/sh") (which "sh"))) + (invoke "autoconf") + (substitute* "configure" + (("/bin/sh") (which "sh")))) + #t))))) + (home-page "https://github.com/memkind/memkind") + (synopsis "Heap manager with memory kinds (for NUMA)") + (description "This package provides a user-extensible heap manager +built on top of jemalloc which enables control of memory characteristics +and a partitioning of the heap between kinds of memory (for NUMA).") + (license license:bsd-3))) diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 2370de62f5..43339720f2 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com> ;;; Copyright © 2019 Sam <smbaines8@gmail.com> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages check) #:use-module (gnu packages geo) + #:use-module (gnu packages openldap) #:use-module (gnu packages python) #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) @@ -45,43 +47,55 @@ (define-public python-django (package (name "python-django") - (version "1.11.29") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "171jsi54fbnxzi2n3l4hkdmmwfnfrwacs180rw59l0bqcvxsw022")))) + "0bzwy58hrxbsh7szak1yfh7qvvfnpdpi8ay1x7d3pvbkm1f15j2r")))) (build-system python-build-system) (arguments - '(#:modules ((srfi srfi-1) - (guix build python-build-system) - (guix build utils)) - #:phases + '(#:phases (modify-phases %standard-phases - (add-before 'check 'set-tzdir + (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) ;; The test-suite tests timezone-dependent functions, thus tzdata ;; needs to be available. (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) - #t)) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - (setenv "PYTHONPATH" - (string-append ".:" (getenv "PYTHONPATH"))) + + ;; Disable test for incorrect timezone: it only raises the + ;; expected error when /usr/share/zoneinfo exists, even though + ;; the machinery gracefully falls back to TZDIR. According to + ;; django/conf/__init__.py, lack of /usr/share/zoneinfo is + ;; harmless, so just ignore this test. + (substitute* "tests/settings_tests/tests.py" + ((".*def test_incorrect_timezone.*" all) + (string-append " @unittest.skipIf(True, 'Disabled by Guix')\n" + all))) + + ;; Preserve the PYTHONPATH created by Guix when running the tests. (substitute* "tests/admin_scripts/tests.py" (("python_path = \\[") (string-append "python_path = ['" - (find (lambda (entry) - (string-prefix? - (assoc-ref inputs "python-pytz") - entry)) - (string-split (getenv "PYTHONPATH") - #\:)) + (string-join + (string-split (getenv "PYTHONPATH") #\:) + "','") "', "))) - (invoke "python" "tests/runtests.py")))))) + + #t)) + (replace 'check + (lambda _ + (with-directory-excursion "tests" + (setenv "PYTHONPATH" + (string-append "..:" (getenv "PYTHONPATH"))) + (invoke "python" "runtests.py" + ;; By default tests run in parallel, which may cause + ;; various race conditions. Run sequentially for + ;; consistent results. + "--parallel=1"))))))) ;; TODO: Install extras/django_bash_completion. (native-inputs `(("tzdata" ,tzdata-for-tests) @@ -95,12 +109,16 @@ ("python-pillow" ,python-pillow) ("python-pyyaml" ,python-pyyaml) ;; optional for tests: ("python-selenium" ,python-selenium) - ("python-sqlparse" ,python-sqlparse) ("python-tblib" ,python-tblib))) (propagated-inputs `(("python-argon2-cffi" ,python-argon2-cffi) + ("python-asgiref" ,python-asgiref) ("python-bcrypt" ,python-bcrypt) - ("python-pytz" ,python-pytz))) + ("python-pytz" ,python-pytz) + + ;; This input is not strictly required, but in practice many Django + ;; libraries need it for test suites and similar. + ("python-sqlparse" ,python-sqlparse))) (home-page "https://www.djangoproject.com/") (synopsis "High-level Python Web framework") (description @@ -109,26 +127,27 @@ development and clean, pragmatic design. It provides many tools for building any Web site. Django focuses on automating as much as possible and adhering to the @dfn{don't repeat yourself} (DRY) principle.") (license license:bsd-3) - (properties `((python2-variant . ,(delay python2-django)) - (cpe-name . "django"))))) + (properties `((cpe-name . "django"))))) -(define-public python2-django - (let ((base (package-with-python2 (strip-python2-variant python-django)))) - (package - (inherit base) - (native-inputs - `(;; Test requirements for Python 2 taken from - ;; tests/requirements/py3.txt: enum34 and mock. - ("python2-enum34" ,python2-enum34) - ("python2-mock" ,python2-mock) - ;; When adding memcached mind: for Python 2 memcached <= 1.53 is - ;; required. - ,@(package-native-inputs base)))))) +(define-public python-django-2.2 + (package + (inherit python-django) + (version "2.2.16") + (source (origin + (method url-fetch) + (uri (pypi-uri "Django" version)) + (sha256 + (base32 + "1535g2r322cl4x52fb0dmzlbg23539j2wx6027j54p22xvjlbkv2")))) + (native-inputs + `(;; XXX: In 2.2 and 3.0, selenium is required for the test suite. + ("python-selenium" ,python-selenium) + ,@(package-native-inputs python-django))))) (define-public python-django-extensions (package (name "python-django-extensions") - (version "2.1.6") + (version "3.0.6") (source (origin (method git-fetch) @@ -139,18 +158,18 @@ to the @dfn{don't repeat yourself} (DRY) principle.") (file-name (string-append name "-" version)) (sha256 (base32 - "0p4qrdinrv6indczlc8dcnm528i5fzmcn9xk1ja7ycfkyk5x6j5w")))) + "0sra6hazqvspxd1pnx5cj7gia1rkaz3hn06ib4wd0frc167f5afy")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ;TODO collected 378 items / 3 errors / 1 skipped + '(#:tests? #f)) ;XXX: requires a Postgres or MySQL database (propagated-inputs `(("python-six" ,python-six) ("python-vobject" ,python-vobject) ("python-werkzeug" ,python-werkzeug) - ("python-dateutil" ,python-dateutil) - ("python-django" ,python-django))) + ("python-dateutil" ,python-dateutil))) (native-inputs - `(("python-mock" ,python-mock) + `(("python-django" ,python-django) + ("python-mock" ,python-mock) ("python-factory-boy" ,python-factory-boy) ("python-tox" ,python-tox) ("python-pytest" ,python-pytest) @@ -168,21 +187,37 @@ commands, additional database fields and admin extensions.") (define-public python-django-simple-math-captcha (package (name "python-django-simple-math-captcha") - (version "1.0.7") + (version "1.0.9") + (home-page "https://github.com/alsoicode/django-simple-math-captcha") (source (origin - (method url-fetch) - (uri (pypi-uri "django-simple-math-captcha" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0906hms6y6znjhpd0g4wmzv9vcla4brkdpsm4zha9zdj8g5vq2hd")))) + "0fhy9k8haqa1296v0qpg1b5w7y3pyw9qi9z9laj5ijry1gk35qaw")))) (build-system python-build-system) (arguments - ;; FIXME: Upstream uses a 'runtests.py' script that is not - ;; present in the pypi tarball. - '(#:tests? #f)) + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-six-imports + (lambda _ + ;; Django no longer bundles six, adjust the imports + ;; accordingly. The six dependency can likely be + ;; removed in the next version. + (substitute* (find-files "." "\\.py$") + (("from django\\.utils import six") + "import six")) + #t)) + (replace 'check + (lambda _ + (invoke "python" "runtests.py")))))) + (native-inputs + `(("python-django" ,python-django) + ("python-mock" ,python-mock))) (propagated-inputs - `(("python-django" ,python-django))) - (home-page "https://github.com/alsoicode/django-simple-math-captcha") + `(("python-six" ,python-six))) (synopsis "Easy-to-use math field/widget captcha for Django forms") (description "A multi-value-field that presents a human answerable question, @@ -190,25 +225,20 @@ with no settings.py configuration necessary, but instead can be configured with arguments to the field constructor.") (license license:asl2.0))) -(define-public python2-django-simple-math-captcha - (package-with-python2 python-django-simple-math-captcha)) - (define-public python-django-classy-tags (package (name "python-django-classy-tags") - (version "1.0.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "django-classy-tags" version)) (sha256 (base32 - "1cayqddvxd5prhybqi77lif2z4j7mmfmxgc61pq9i82q5gy2asmd")))) + "1javam3zqi3y3j0r490mm61v48yh75jaha99gb7lsxkaz6yri7fm")))) (build-system python-build-system) - (arguments '(#:tests? #f)) ; Test script not distributed with release. - (propagated-inputs - `(("python-django" ,python-django) - ("python-six" ,python-six))) + ;; FIXME: How to make the test templates available to Django? + (arguments '(#:tests? #f)) (home-page "https://github.com/divio/django-classy-tags") (synopsis "Class based template tags for Django") (description @@ -221,14 +251,14 @@ when coding custom template tags.") (define-public python-django-taggit (package (name "python-django-taggit") - (version "1.1.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "django-taggit" version)) (sha256 (base32 - "044fzcpmns90kaxdi49qczlam4xsi8rl73rpfwvxx1gkcqzidgq1")))) + "0bbkabbs77z229ps0800gxfhf75yagp4x4j5jzfysbac3zvkp0sa")))) (build-system python-build-system) (arguments '(#:phases @@ -237,10 +267,10 @@ when coding custom template tags.") (lambda _ (invoke "python3" "-m" "django" "test" "--settings=tests.settings")))))) (propagated-inputs - `(("python-django" ,python-django) - ("python-isort" ,python-isort))) + `(("python-isort" ,python-isort))) (native-inputs - `(("python-pytest" ,python-pytest) + `(("python-django" ,python-django) + ("python-pytest" ,python-pytest) ("python-mock" ,python-mock))) (home-page "https://github.com/jazzband/django-taggit") @@ -262,9 +292,10 @@ when coding custom template tags.") (base32 "14gzp5cv24z0qhxb7f7k7v9jgzpaj4n8yhjq83ynpx8183fs1rz4")))) (build-system python-build-system) + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs - `(("python-django" ,python-django) - ("python-pillow" ,python-pillow))) + `(("python-pillow" ,python-pillow))) (home-page "https://github.com/SmileyChris/easy-thumbnails") (synopsis "Easy thumbnails for Django") (description @@ -277,26 +308,43 @@ size and quality.") (define-public python-pytest-django (package (name "python-pytest-django") - (version "3.1.2") + (version "3.10.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-django" version)) (sha256 (base32 - "02932m2sr8x22m4az8syr8g835g4ak77varrnw71n6xakmdcr303")))) + "19nvqsb7b9kz3ikpb50m8ppf7mfhzrapdxsqd5hhd1pdfz8dprjd")))) (build-system python-build-system) (arguments - `(#:tests? #f ; FIXME: How to run tests? - #:phases + `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-setuppy - (lambda _ - (substitute* "setup.py" - (("setuptools_scm==1.11.1") "setuptools_scm")) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (if tests? + (begin + (add-installed-pythonpath inputs outputs) + (setenv "PYTHONPATH" + (string-append ".:" ;for pytest_django_test + (getenv "PYTHONPATH"))) + (setenv "PYTEST_DJANGO_TEST_RUNNER" "pytest") + (setenv "DJANGO_SETTINGS_MODULE" + "pytest_django_test.settings_sqlite_file") + (invoke "pytest" "-vv" "-k" + ;; FIXME: these tests fail to locate Django templates ... + (string-append "not test_django_not_loaded_without_settings" + " and not test_settings" + ;; ... and this does not discover + ;; 'pytest_django_test'. + " and not test_urls_cache_is_cleared"))) + (format #t "test suite not run~%")) #t))))) (native-inputs `(("python-django" ,python-django) - ("python-setuptools-scm" ,python-setuptools-scm))) + ("python-setuptools-scm" ,python-setuptools-scm) + + ;; For tests. + ("python-pytest-xdist" ,python-pytest-xdist))) (propagated-inputs `(("python-pytest" ,python-pytest))) (home-page "https://pytest-django.readthedocs.org/") @@ -305,9 +353,6 @@ size and quality.") useful tools for testing Django applications and projects.") (license license:bsd-3))) -(define-public python2-pytest-django - (package-with-python2 python-pytest-django)) - (define-public python-django-haystack (package (name "python-django-haystack") @@ -335,11 +380,10 @@ useful tools for testing Django applications and projects.") "/lib")) #t))) #:tests? #f)) ; OSError: libgdal.so.27: cannot open shared object file - (propagated-inputs - `(("python-django" ,python-django))) (native-inputs `(("gdal" ,gdal) ("python-coverage" ,python-coverage) + ("python-django" ,python-django) ("python-dateutil" ,python-dateutil) ("python-geopy" ,python-geopy) ("python-mock" ,python-mock) @@ -359,13 +403,13 @@ your code.") (define-public python-django-filter (package (name "python-django-filter") - (version "1.1.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (pypi-uri "django-filter" version)) (sha256 (base32 - "0slpfqfhnjrzlrb6vmswyhrzn01p84s16j2x1xib35gg4fxg23pc")))) + "1bz5qzdk9pk4a2lp2yacrdnqmkv24vxnz4k3lykrnpc3b7bkvrhi")))) (build-system python-build-system) (arguments '(#:phases @@ -387,20 +431,17 @@ filter down a queryset based on a model’s fields, displaying the form to let them do this.") (license license:bsd-3))) -(define-public python2-django-filter - (package-with-python2 python-django-filter)) - (define-public python-django-allauth (package (name "python-django-allauth") - (version "0.40.0") + (version "0.42.0") (source (origin (method url-fetch) (uri (pypi-uri "django-allauth" version)) (sha256 (base32 - "12f5gjidcpb7a0d1f601k0c5dcdmb6fg9sfn7xn5j8zfsg29y63a")))) + "0c0x8izvrnjhrr48w6pwsfk9ddbi6yfxg7v3hh5dm1vz1d0hjwpi")))) (build-system python-build-system) (arguments '(#:phases @@ -415,9 +456,8 @@ them do this.") ("python-requests" ,python-requests) ("python-requests-oauthlib" ,python-requests-oauthlib))) (native-inputs - `(("python-mock" ,python-mock))) - (inputs - `(("python-django" ,python-django))) + `(("python-django" ,python-django) + ("python-mock" ,python-mock))) (home-page "https://github.com/pennersr/django-allauth") (synopsis "Set of Django applications addressing authentication") (description @@ -426,13 +466,10 @@ registration, account management as well as 3rd party (social) account authentication.") (license license:expat))) -(define-public python2-django-allauth - (package-with-python2 python-django-allauth)) - (define-public python-django-debug-toolbar (package (name "python-django-debug-toolbar") - (version "1.10.1") + (version "2.2") (source (origin (method git-fetch) @@ -442,13 +479,13 @@ account authentication.") (file-name (git-file-name name version)) (sha256 (base32 - "0zr6yjsms97wlvvd17rdbrx01irkg887dn9x70c1hzfjmfvp9afk")))) + "14069rlgjd5g724iaglai0nc636g9km4ba56r4j3k84chibqzn03")))) (build-system python-build-system) (propagated-inputs - `(("python-sqlparse" ,python-sqlparse) - ("python-django" ,python-django))) + `(("python-sqlparse" ,python-sqlparse))) (native-inputs - `(("python-django-jinja" ,python-django-jinja) + `(("python-django" ,python-django) + ("python-django-jinja" ,python-django-jinja) ("python-html5lib" ,python-html5lib))) (arguments '(#:phases @@ -464,17 +501,42 @@ account authentication.") request and response as a toolbar on the rendered page.") (license license:bsd-3))) +(define-public python-django-debug-toolbar-alchemy + (package + (name "python-django-debug-toolbar-alchemy") + (version "0.1.5") + (home-page "https://github.com/miki725/django-debug-toolbar-alchemy") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-debug-toolbar-alchemy" version)) + (sha256 + (base32 + "1kmpzghnsc247bc1dl22s4y62k9ijgy1pjms227018h5a4frsa5b")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;XXX: 'make check' does "echo TODO" + (propagated-inputs + `(("python-django-debug-toolbar" ,python-django-debug-toolbar) + ("python-jsonplus" ,python-jsonplus) + ("python-six" ,python-six) + ("python-sqlalchemy" ,python-sqlalchemy))) + (synopsis "Django Debug Toolbar panel for SQLAlchemy") + (description + "This package completely mimics the default Django Debug Toolbar SQL +panel (internally it is actually subclassed), but instead of displaying +queries done via the Django ORM, SQLAlchemy generated queries are displayed.") + (license license:expat))) + (define-public python-django-gravatar2 (package (name "python-django-gravatar2") - (version "1.4.2") + (version "1.4.4") (source (origin (method url-fetch) (uri (pypi-uri "django-gravatar2" version)) (sha256 (base32 - "1qsv40xywbqsf4mkrmsswrpzqd7nfljxpfiim9an2z3dykn5rka6")))) + "1vn921fb6jjx7rf5dzhy66rkb71nwmh9ydd0xs9ys72icw4jh4y8")))) (build-system python-build-system) (arguments '(;; TODO: The django project for the tests is missing from the release. @@ -488,44 +550,22 @@ request and response as a toolbar on the rendered page.") templatetags and a full test suite.") (license license:expat))) -(define-public python2-django-gravatar2 - (package-with-python2 python-django-gravatar2)) - (define-public python-django-assets (package (name "python-django-assets") - (version "0.12") + (version "2.0") (source (origin (method url-fetch) (uri (pypi-uri "django-assets" version)) (sha256 (base32 - "0y0007fvkn1rdlj2g0y6k1cnkx53kxab3g8i85i0rd58k335p365")))) + "0fc6i77faxxv1gjlp06lv3kw64b5bhdiypaygfxh5djddgk83fwa")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'fix-tests - (lambda _ - (begin - ;; https://github.com/miracle2k/django-assets/issues/87 - (substitute* "tests/__init__.py" - (("settings.configure.*") - (string-append - "settings.configure(\n" - "INSTALLED_APPS=['django_assets', " - "'django.contrib.staticfiles'],\n" - "TEMPLATES=[{'BACKEND': " - "'django.template.backends.django.DjangoTemplates'}],\n" - ")\n"))) - ;; These tests fail - (substitute* "tests/test_django.py" - (("TestLoader") "NoTestLoader")))))))) (native-inputs - `(("python-nose" ,python-nose))) - (propagated-inputs `(("python-django" ,python-django) - ("python-webassets" ,python-webassets))) + ("python-nose" ,python-nose))) + (propagated-inputs + `(("python-webassets" ,python-webassets))) (home-page "https://github.com/miracle2k/django-assets") (synopsis "Asset management for Django") (description @@ -534,13 +574,10 @@ files. Integrates the webassets library with Django, adding support for merging, minifying and compiling CSS and Javascript files.") (license license:bsd-2))) -(define-public python2-django-assets - (package-with-python2 python-django-assets)) - (define-public python-django-jinja (package (name "python-django-jinja") - (version "2.4.1") + (version "2.6.0") (source (origin (method git-fetch) @@ -550,11 +587,10 @@ merging, minifying and compiling CSS and Javascript files.") (file-name (git-file-name name version)) (sha256 (base32 - "1fcrxlznlq1xvl26y3j1r22vvy6m08r5l97xi2wj50rdmxhfvhis")))) + "06ldbkfkm6sc0p9sqpjph06gxrqpj78ih3dc2yik2fcba2y5mak1")))) (build-system python-build-system) (propagated-inputs - `(("python-django" ,python-django) - ("python-jinja2" ,python-jinja2) + `(("python-jinja2" ,python-jinja2) ("python-pytz" ,python-pytz) ("python-django-pipeline" ,python-django-pipeline))) (arguments @@ -578,47 +614,20 @@ provides certain advantages over the builtin Jinja2 backend in Django, for example, explicit calls to callables from templates and better performance.") (license license:bsd-3))) +;; JSONField is now built-in to Django, obsoleting this package. (define-public python-django-jsonfield - (package - (name "python-django-jsonfield") - (version "1.0.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "jsonfield" version)) - (sha256 - (base32 - "19x4lak0hg9c20r7mvf27w7i8r6i4sg2g0ypmlmp2665fnk76zvy")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'fix-tests - (lambda _ - (substitute* "jsonfield/tests.py" - (("django.forms.util") "django.forms.utils"))))))) - (propagated-inputs - `(("python-django" ,python-django))) - (home-page "https://github.com/bradjasper/django-jsonfield") - (synopsis "Store validated JSON in your model") - (description - "Django-jsonfield is a reusable Django field that allows you to store -validated JSON in your model. It silently takes care of serialization. To -use, simply add the field to one of your models.") - (license license:expat))) - -(define-public python2-django-jsonfield - (package-with-python2 python-django-jsonfield)) + (deprecated-package "python-django-jsonfield" python-django)) (define-public python-dj-database-url (package (name "python-dj-database-url") - (version "0.4.2") + (version "0.5.0") (source (origin (method url-fetch) (uri (pypi-uri "dj-database-url" version)) (sha256 (base32 - "024zbkc5rli4hia9lz9g8kf1zxhb2gwawj5abf67i7gf8n22v0x6")))) + "0qs16g5y3lflxibsl8gwkwap21crhmmv98l60rdq6x1wawgypsja")))) (build-system python-build-system) (home-page "https://github.com/kennethreitz/dj-database-url") (synopsis "Use Database URLs in your Django Application") @@ -631,24 +640,30 @@ dictionary, populated with all the data specified in your URL. There is also a conn_max_age argument to easily enable Django’s connection pool.") (license license:bsd-2))) -(define-public python2-dj-database-url - (package-with-python2 python-dj-database-url)) - (define-public python-django-picklefield (package (name "python-django-picklefield") - (version "2.1.1") + (version "3.0.1") + (home-page "https://github.com/gintas/django-picklefield") + ;; Use a git checkout because the PyPI release lacks tests. (source (origin - (method url-fetch) - (uri (pypi-uri "django-picklefield" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0imncys5s3vsy2q79nn7k5d670da1xgmcr9gmhn06fry6ibf39b7")))) + "0ni7bc86k0ra4pc8zv451pzlpkhs1nyil1sq9jdb4m2mib87b5fk")))) (build-system python-build-system) - (propagated-inputs `(("python-django" ,python-django))) - (native-inputs `(("python-tox" ,python-tox))) - (home-page "https://github.com/gintas/django-picklefield") + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "-m" "django" "test" "-v2" + "--settings=tests.settings")))))) + (native-inputs `(("python-django" ,python-django))) (synopsis "Pickled object field for Django") (description "Pickled object field for Django") (license license:expat))) @@ -656,23 +671,17 @@ conn_max_age argument to easily enable Django’s connection pool.") (define-public python-django-bulk-update (package (name "python-django-bulk-update") - (version "1.1.10") + (version "2.2.0") (source (origin (method url-fetch) (uri (pypi-uri "django-bulk-update" version)) (sha256 (base32 - "0mbng9m7swfc0dnidipbzlxfhlfjrv755dlnha5s4m9mgdxb1fhc")))) + "0dxkmrm3skyw82i0qa8vklxw1ma1y308kh9w2hcnvhpacn5cxdss")))) (build-system python-build-system) (arguments - ;; tests don't support django 1.10, but the module seems to work. + ;; XXX: Tests require a Postgres database. `(#:tests? #f)) - (native-inputs - `(("six" ,python-six) - ("jsonfield" ,python-django-jsonfield) - ("python-dj-database-url" ,python-dj-database-url))) - (propagated-inputs - `(("python-django" ,python-django))) (home-page "https://github.com/aykut/django-bulk-update") (synopsis "Simple bulk update over Django ORM or with helper function") (description @@ -680,34 +689,30 @@ conn_max_age argument to easily enable Django’s connection pool.") project aims to bulk update given objects using one query over Django ORM.") (license license:expat))) -(define-public python2-django-bulk-update - (package-with-python2 python-django-bulk-update)) - (define-public python-django-contact-form (package (name "python-django-contact-form") - (version "1.3") + (version "1.8.1") (source (origin (method url-fetch) (uri (pypi-uri "django-contact-form" version)) (sha256 (base32 - "0az590y56k5ahv4sixrkn54d3a8ig2q2z9pl6s3m4f533mx2gj17")))) + "1zv7bcjfrg32gcsq3bclkld79l6mcy2wcvlj81h7q2ppv1wm8vqs")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check (lambda _ - ;; the next version will need "make test" - (invoke "flake8" "contact_form") - (invoke "coverage" "run" "contact_form/runtests.py") - (invoke "coverage" "report" "-m" "--fail-under" "0")))))) + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "coverage" "run" "--source" "contact_form" + "runtests.py")))))) (native-inputs `(("python-coverage" ,python-coverage) - ("python-flake8" ,python-flake8))) - (propagated-inputs - `(("python-django" ,python-django))) + ("python-django" ,python-django))) (home-page "https://github.com/ubernostrum/django-contact-form") (synopsis "Contact form for Django") (description @@ -715,22 +720,21 @@ project aims to bulk update given objects using one query over Django ORM.") for Django sites.") (license license:bsd-3))) -(define-public python2-django-contact-form - (package-with-python2 python-django-contact-form)) - (define-public python-django-contrib-comments (package (name "python-django-contrib-comments") - (version "1.8.0") + (version "1.9.2") (source (origin (method url-fetch) (uri (pypi-uri "django-contrib-comments" version)) (sha256 (base32 - "0bxsgw8jrkhg6r5s0z6ksfi4w8yknaqb1s9acmxd9pm3pnsnp5kx")))) + "0ccdiv784a5vnpfal36km4dyg12340rwhpr0riyy0k89wfnjn8yi")))) (build-system python-build-system) - (propagated-inputs + (native-inputs `(("python-django" ,python-django))) + (propagated-inputs + `(("python-six" ,python-six))) (home-page "https://github.com/django/django-contrib-comments") (synopsis "Comments framework") (description @@ -740,53 +744,17 @@ used to attach comments to any model, so you can use it for comments on blog entries, photos, book chapters, or anything else.") (license license:bsd-3))) -(define-public python2-django-contrib-comments - (package-with-python2 python-django-contrib-comments)) - -(define-public python-django-overextends - (package - (name "python-django-overextends") - (version "0.4.3") - (source (origin - (method url-fetch) - (uri (pypi-uri "django-overextends" version)) - (sha256 - (base32 - "0qc2pcf3i56pmfxh2jw7k3pgljd8xzficmkl2541n7bkcbngqfzm")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ (invoke "./test_project/manage.py" "test")))))) - (propagated-inputs - `(("python-django" ,python-django))) - (native-inputs - `(("sphinx-me" ,python-sphinx-me))) - (home-page "https://github.com/stephenmcd/django-overextends") - (synopsis "Circular template inheritance") - (description - "A Django reusable app providing the overextends template tag, a drop-in -replacement for Django's extends tag, which allows you to use circular template -inheritance. The primary use-case for overextends is to simultaneously -override and extend templates from other reusable apps, in your own Django -project.") - (license license:bsd-2))) - -(define-public python2-django-overextends - (package-with-python2 python-django-overextends)) - (define-public python-django-pipeline (package (name "python-django-pipeline") - (version "1.6.14") + (version "2.0.5") (source (origin (method url-fetch) (uri (pypi-uri "django-pipeline" version)) (sha256 (base32 - "1a207y71r7za033ira0qmh2yrgp5rq0l04gw2fg9b8jri7sslrzg")))) + "19vrbd5s12qw4qlg5n8ldv7zz2rs5y2sdid1i7lvgp92m71dayvc")))) (build-system python-build-system) (arguments '(#:phases @@ -806,8 +774,10 @@ project.") (getenv "PYTHONPATH"))) (setenv "DJANGO_SETTINGS_MODULE" "tests.settings") (invoke "django-admin" "test" "tests")))))))) + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs - `(("python-django" ,python-django) + `(("python-css-html-js-minify" ,python-css-html-js-minify) ("python-slimit" ,python-slimit) ("python-jsmin" ,python-jsmin))) (home-page @@ -822,13 +792,13 @@ support, and optional data-URI image and font embedding.") (define-public python-django-redis (package (name "python-django-redis") - (version "4.10.0") + (version "4.12.1") (source (origin (method url-fetch) (uri (pypi-uri "django-redis" version)) (sha256 (base32 - "1rxcwnv9ik0swkwvfqdi9i9baw6n8if5pj6q63fjh4p9chw3j2xg")))) + "0qvsm8yjchl0d3i7g20wba6px9lb5gv8kp3fcnr6hr0y0b3qjr9h")))) (build-system python-build-system) (arguments `(#:phases @@ -839,33 +809,30 @@ support, and optional data-URI image and font embedding.") (with-directory-excursion "tests" (invoke "python" "runtests.py"))))))) (native-inputs - `(("python-fakeredis" ,python-fakeredis) + `(("python-django" ,python-django) + ("python-fakeredis" ,python-fakeredis) ("python-hiredis" ,python-hiredis) ("python-mock" ,python-mock) ("python-msgpack" ,python-msgpack) ("redis" ,redis))) (propagated-inputs - `(("python-django" ,python-django) - ("python-redis" ,python-redis))) + `(("python-redis" ,python-redis))) (home-page "https://github.com/niwibe/django-redis") (synopsis "Full featured redis cache backend for Django") (description "Full featured redis cache backend for Django.") (license license:bsd-3))) -(define-public python2-django-redis - (package-with-python2 python-django-redis)) - (define-public python-django-rq (package (name "python-django-rq") - (version "1.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (pypi-uri "django-rq" version)) (sha256 (base32 - "1ips1ikv5qhgwb58ssn496vgqg9qv6jinwmwbrg9l3s75fskd1l5")))) + "0lksnjn3q3f7y72bj2yr8870w28a5b6x0vjnd9nhpq2ah6xfz6pf")))) (build-system python-build-system) (arguments `(#:phases @@ -877,11 +844,13 @@ support, and optional data-URI image and font embedding.") "--settings=django_rq.tests.settings" "--pythonpath=.")))))) (native-inputs - `(("python-mock" ,python-mock) + `(("python-django" ,python-django) + ("python-django-redis" ,python-django-redis) + ("python-mock" ,python-mock) + ("python-rq-scheduler" ,python-rq-scheduler) ("redis" ,redis))) (propagated-inputs - `(("python-django" ,python-django) - ("python-rq" ,python-rq))) + `(("python-rq" ,python-rq))) (home-page "https://github.com/ui/django-rq") (synopsis "Django integration with RQ") (description @@ -890,37 +859,26 @@ Django-RQ is a simple app that allows you to configure your queues in django's settings.py and easily use them in your project.") (license license:expat))) -(define-public python2-django-rq - (package-with-python2 python-django-rq)) - (define-public python-django-q (package (name "python-django-q") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (pypi-uri "django-q" version)) (sha256 (base32 - "0ac3rjxv37bn97a62ly8b7qvbv765z6paiinzpwxx83nal2icc42")))) + "1fs29767940akbsn3vdzw2rqnn9v77b0b55bi7fvydny1rk7fw6y")))) (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (setenv "DJANGO_SETTINGS_MODULE" "django_q.tests.settings") - (invoke "django-admin" "test" "django_q.tests" - "--pythonpath=.")))))) + ;; FIXME: Tests require disque, Redis, MongoDB, Docker. + (arguments '(#:tests? #f)) + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs `(("python-arrow" ,python-arrow) ("python-blessed" ,python-blessed) - ("python-django" ,python-django) ("python-django-picklefield" ,python-django-picklefield))) - (native-inputs - `(("python-django-redis" ,python-django-redis) - ("python-pytest-django" ,python-pytest-django))) (home-page "https://django-q.readthedocs.io/") (synopsis "Multiprocessing distributed task queue for Django") (description @@ -931,20 +889,25 @@ using Python multiprocessing.") (define-public python-django-sortedm2m (package (name "python-django-sortedm2m") - (version "1.3.3") + (version "3.0.2") (source (origin (method url-fetch) (uri (pypi-uri "django-sortedm2m" version)) (sha256 (base32 - "0axf765i7b3c2s83nlph47asi8s071dhq8l7y382v1pw785s22vi")))) + "0z0yymmrr2l5cznqbzwziw624df0qsiflvbpqwrpan52nww3dk4a")))) (build-system python-build-system) (arguments - ;; no tests. - `(#:tests? #f)) - (propagated-inputs + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" (string-append "./test_project:" + "./build/lib:.:" + (getenv "PYTHONPATH"))) + (invoke "django-admin.py" "test" "--settings=settings")))))) + (native-inputs `(("python-django" ,python-django))) - (home-page "https://github.com/gregmuellegger/django-sortedm2m") + (home-page "https://github.com/jazzband/django-sortedm2m") (synopsis "Drop-in replacement for django's own ManyToManyField") (description "Sortedm2m is a drop-in replacement for django's own ManyToManyField. @@ -952,23 +915,27 @@ The provided SortedManyToManyField behaves like the original one but remembers the order of added relations.") (license license:bsd-3))) -(define-public python2-django-sortedm2m - (package-with-python2 python-django-sortedm2m)) - (define-public python-django-appconf (package (name "python-django-appconf") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) (uri (pypi-uri "django-appconf" version)) (sha256 (base32 - "1qw0p9qh78bvkgi38ba58djwn0rd5j1lrkg2c2wk5wb7snj3rw9m")))) + "101k8nkc7xlffpjdi2qbrp9pc4v8hzvmkzi12qp7vms39asxwn5y")))) (build-system python-build-system) - (propagated-inputs - `(("python-django" ,python-django) - ("python-six" ,python-six))) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" (string-append ".:" + (getenv "PYTHONPATH"))) + (setenv "DJANGO_SETTINGS_MODULE" "tests.test_settings") + (invoke "django-admin.py" "test" "-v2")))))) + (native-inputs + `(("python-django" ,python-django))) (home-page "https://github.com/django-compressor/django-appconf") (synopsis "Handle configuration defaults of packaged Django apps") (description @@ -979,105 +946,42 @@ django-appconf and can't easily be used as a replacement. The similarity in name is purely coincidental.") (license license:bsd-3))) -(define-public python2-django-appconf - (package-with-python2 python-django-appconf)) - (define-public python-django-statici18n (package (name "python-django-statici18n") - (version "1.3.0") + (version "1.9.0") + (home-page "https://github.com/zyegfryed/django-statici18n") (source (origin - (method url-fetch) - (uri (pypi-uri "django-statici18n" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0alcf4g1nv69njhq5k3qw4mfl2k6dc18bik5nk0g1mnp3m8zyz7k")))) + "1p3myp2im6c87yc05alh91jyahqws5lcw3zzdsj4dh8lx9s9cgpf")))) (build-system python-build-system) - (propagated-inputs + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./tests/test_project:./build/lib:" + (getenv "PYTHONPATH"))) + (setenv "DJANGO_SETTINGS_MODULE" "project.settings") + (invoke "pytest" "-vv")))))) + (native-inputs `(("python-django" ,python-django) - ("django-appconf" ,python-django-appconf))) - (home-page "https://github.com/zyegfryed/django-statici18n") + ("python-pytest" ,python-pytest) + ("python-pytest-django" ,python-pytest-django))) + (propagated-inputs + `(("django-appconf" ,python-django-appconf))) (synopsis "Generate JavaScript catalog to static files") (description "A Django app that provides helper for generating JavaScript catalog to static files.") (license license:bsd-3))) -(define-public python2-django-statici18n - (package-with-python2 python-django-statici18n)) - -(define-public pootle - (package - (name "pootle") - (version "2.8.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Pootle" version ".tar.bz2")) - (sha256 - (base32 - "1ng8igq0alsqzasgxdh3fb23581anyzp121h9041pwdzzv98kn4m")))) - (build-system python-build-system) - (arguments - `(; pootle supports only python2. - #:python ,python-2 - ;; tests are not run and fail with "pytest_pootle/data/po/.tmp: No such - ;; file or directory". If we create this directory, - ;; pytest_pootle/data/po/terminology.po is missing. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-before 'build 'fix-requirements - (lambda _ - (substitute* "Pootle.egg-info/requires.txt" - (("1.7.3") "1.8.0") - (("2.0.0") "2.1.0")) - (substitute* "requirements/tests.txt" - (("==3.0.6") ">=3.0.6")) - (substitute* "requirements/base.txt" - (("1.7.3") "1.8.0") - (("2.0.0") "2.1.0"))))))) - (propagated-inputs - `(("django-allauth" ,python2-django-allauth) - ("django-assets" ,python2-django-assets) - ("django-bulk-update" ,python2-django-bulk-update) - ("django-contact-form" ,python2-django-contact-form) - ("django-contrib-comments" ,python2-django-contrib-comments) - ("django-overextends" ,python2-django-overextends) - ("django-redis" ,python2-django-redis) - ("django-rq" ,python2-django-rq) - ("django-sortedm2m" ,python2-django-sortedm2m) - ("django-statici18n" ,python2-django-statici18n) - ("babel" ,python2-babel) - ("cssmin" ,python2-cssmin) - ("diff-match-patch" ,python2-diff-match-patch) - ("dirsync" ,python2-dirsync) - ("elasticsearch" ,python2-elasticsearch) - ("jsonfield" ,python2-django-jsonfield) - ("lxml" ,python2-lxml) - ("dateutil" ,python2-dateutil) - ("levenshtein" ,python2-levenshtein) - ("mysqlclient" ,python2-mysqlclient) - ("psycopg2" ,python2-psycopg2) - ("pytz" ,python2-pytz) - ("rq" ,python2-rq) - ("scandir" ,python2-scandir) - ("stemming" ,python2-stemming) - ("translate-toolkit" ,python2-translate-toolkit))) - (native-inputs - `(("python2-pytest" ,python2-pytest) - ("python2-pytest-django" ,python2-pytest-django) - ("python2-pytest-catchlog" ,python2-pytest-catchlog) - ("python2-pytest-cov" ,python2-pytest-cov) - ("python2-factory-boy" ,python2-factory-boy))) - (home-page "https://pootle.translatehouse.org/") - (synopsis "Community localization server") - (description - "Pootle is an online translation and localization tool. It works to -lower the barrier of entry, providing tools to enable teams to work towards -higher quality while welcoming newcomers.") - (license license:gpl3+))) - (define-public python-django-tagging (package (name "python-django-tagging") @@ -1104,63 +1008,47 @@ higher quality while welcoming newcomers.") (description "This package provides a generic tagging application for Django projects, which allows association of a number of tags with any @code{Model} instance and makes retrieval of tags simple.") - (properties `((python2-variant . ,(delay python2-django-tagging)))) (license license:bsd-3))) -(define-public python2-django-tagging - (let ((base (package-with-python2 - (strip-python2-variant python-django-tagging)))) - (package - (inherit base) - (version "0.4.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "django-tagging" version)) - (sha256 - (base32 - "0s7b4v45j783yaxs7rni10k24san0ya77nqz4s7zdf3jhfpk42r1"))))))) - (define-public python-djangorestframework (package (name "python-djangorestframework") - (version "3.7.7") + (version "3.11.1") (source (origin (method url-fetch) (uri (pypi-uri "djangorestframework" version)) (sha256 (base32 - "11qv117gqwswxjljs7wafxg1hyzzlx3qrviwlk9hw41bsbl997lz")))) + "0chbl1d0m1x23mmpdj7y85k3n32lpxrhcdl07ywnylfj9dd2vl3d")))) (build-system python-build-system) (arguments '(;; No included tests #:tests? #f)) - (propagated-inputs - `(("python-django" ,python-django))) (home-page "https://www.django-rest-framework.org") (synopsis "Toolkit for building Web APIs with Django") (description "The Django REST framework is for building Web APIs with Django. It -provides features like a web browseable API and authentication policies.") +provides features like a Web-browsable API and authentication policies.") (license license:bsd-2))) (define-public python-django-sekizai (package (name "python-django-sekizai") - (version "1.1.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "django-sekizai" version)) (sha256 (base32 - "1nc4sv109valdn6azmgm2j01k7khxy2wnji84z63x7fxsikfdxp2")))) + "0vrkli625b5s1wldri3dyrfvqbxg7zxy2pg0rpjixw3b1ndz0ag8")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; Tests not included with release. + (native-inputs + `(("python-django" ,python-django))) (propagated-inputs - `(("python-django" ,python-django) - ("python-django-classy-tags" ,python-django-classy-tags) + `(("python-django-classy-tags" ,python-django-classy-tags) ("python-six" ,python-six))) (home-page "https://github.com/divio/django-sekizai") (synopsis "Template blocks for Django projects") @@ -1177,19 +1065,19 @@ a single block.") (define-public python-django-crispy-forms (package (name "python-django-crispy-forms") - (version "1.7.2") + (version "1.9.2") (source (origin (method url-fetch) (uri (pypi-uri "django-crispy-forms" version)) (sha256 (base32 - "0pv7y648i8iz7mf64gkjizpbx5d01ap2s4vqqa30n38if6wvlljr")))) + "0fxlf233f49hjax786p4r650rd0ilvhnpyvw8hv1d1aqnkxy1wgj")))) (build-system python-build-system) (arguments '(;; No included tests #:tests? #f)) - (propagated-inputs + (native-inputs `(("python-django" ,python-django))) (home-page "http://github.com/maraujop/django-crispy-forms") @@ -1247,20 +1135,162 @@ template tag.") (define-public python-django-override-storage (package (name "python-django-override-storage") - (version "0.1.6") + (version "0.3.0") + (home-page "https://github.com/danifus/django-override-storage") (source (origin - (method url-fetch) - (uri (pypi-uri "django-override-storage" version)) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "022arq94lxnlyykn8wvfnkykhi2dldnsn93pa2i41na551i0wpiv")))) + (base32 "081kzfk7mmybhihvc92d3hsdg0r2k20ydq88fs1fgd348sq1ax51")))) (build-system python-build-system) - (propagated-inputs - `(("python-django" ,python-django))) - (home-page - "https://github.com/danifus/django-override-storage") + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "runtests.py")))))) + (native-inputs + `(("python-django" ,python-django) + ("python-mock" ,python-mock))) (synopsis "Django test helpers to manage file storage side effects") (description "This project provides tools to help reduce the side effects of using FileFields during tests.") (license license:expat))) + +(define-public python-django-auth-ldap + (package + (name "python-django-auth-ldap") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-auth-ldap" version)) + (sha256 + (base32 + "1gq49l5lv6ar6yf73c8pix8n7md4109yq31s5jfk64w6n1rigbqi")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs #:allow-other-keys) + (let ((openldap (assoc-ref inputs "openldap"))) + ;; The tests need 'slapd' which is installed to the + ;; libexec directory of OpenLDAP. + (setenv "SLAPD" (string-append openldap "/libexec/slapd")) + (setenv "SCHEMA" + (string-append openldap "/etc/openldap/schema")) + (invoke "python" "-m" "django" "test" + "--settings" "tests.settings"))))))) + (native-inputs + `(("openldap" ,openldap) + ("python-django" ,python-django) + ("python-mock" ,python-mock))) + (propagated-inputs + `(("python-ldap" ,python-ldap))) + (home-page "https://github.com/django-auth-ldap/django-auth-ldap") + (synopsis "Django LDAP authentication backend") + (description + "This packages provides a LDAP authentication backend for Django.") + (license license:bsd-2))) + +(define-public python-django-logging-json + (package + (name "python-django-logging-json") + (version "1.15") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-logging-json" version)) + (sha256 + (base32 + "06041a8icazzp73kg93c7k1ska12wvkq7fpcad0l0sm1qnxx5yx7")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;no tests + (native-inputs + `(("python-django" ,python-django))) + (propagated-inputs + `(("python-certifi" ,python-certifi) + ("python-elasticsearch" ,python-elasticsearch) + ("python-six" ,python-six))) + (home-page "https://github.com/cipriantarta/django-logging") + (synopsis "Log requests/responses in various formats") + (description + "This package provides a Django library that logs request, response, +and exception details in a JSON document. It can also send logs directly +to ElasticSearch.") + (license license:bsd-2))) + +(define-public python-django-netfields + (package + (name "python-django-netfields") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "django-netfields" version)) + (sha256 + (base32 + "1c47azr5am0q8g45x0fbn0cay7vyrack6n7k6siliw1j2p0gzi7s")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ;XXX: Requires a running PostgreSQL server + (native-inputs + `(("python-django" ,python-django))) + (propagated-inputs + `(("python-ipaddress" ,python-ipaddress) + ("python-netaddr" ,python-netaddr) + ("python-six" ,python-six))) + (home-page "https://github.com/jimfunk/django-postgresql-netfields") + (synopsis "PostgreSQL netfields implementation for Django") + (description + "This package provides mappings for the PostgreSQL @code{INET} and +@code{CIDR} fields for use in Django projects.") + (license license:bsd-3))) + +(define-public python-django-url-filter + (package + (name "python-django-url-filter") + (version "0.3.15") + (home-page "https://github.com/miki725/django-url-filter") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r4zhqhs8y6cnplwyvcb0zpijizw1ifnszs38n4w8138657f9026")))) + (build-system python-build-system) + (arguments + '(#:tests? #f ;FIXME: Django raises "Apps aren't loaded yet"!? + #:phases (modify-phases %standard-phases + (add-before 'check 'loosen-requirements + (lambda _ + ;; Do not depend on compatibility package for old + ;; Python versions. + (substitute* "requirements.txt" + (("enum-compat") "")) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "PYTHONPATH" + (string-append "./build/lib:.:" + (getenv "PYTHONPATH"))) + (setenv "DJANGO_SETTINGS_MODULE" + "test_project.settings") + (invoke "pytest" "-vv" "--doctest-modules" + "tests/" "url_filter/")) + (format #t "test suite not run~%"))))))) + (native-inputs + `(("python-django" ,python-django))) + (propagated-inputs + `(("python-cached-property" ,python-cached-property) + ("python-six" ,python-six))) + (synopsis "Filter data via human-friendly URLs") + (description + "The main goal of Django URL Filter is to provide an easy URL interface +for filtering data. It allows the user to safely filter by model attributes +and also allows to specify the lookup type for each filter (very much like +Django's filtering system in ORM).") + (license license:expat))) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 8bb34111d2..a27b670d8c 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Simon South <simon@simonsouth.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages datastructures) + #:use-module (gnu packages elf) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) @@ -65,9 +67,11 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages ragel) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages swig) + #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -313,7 +317,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (package (name "bind") ;; When updating, check whether isc-dhcp's bundled copy should be as well. - (version "9.16.6") + (version "9.16.7") (source (origin (method url-fetch) (uri (string-append @@ -321,7 +325,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.xz")) (sha256 (base32 - "1jvi6ms51vyrhpflx05xlb7gblyd59zsyj28b8s3pl3xnkrv0rxm")))) + "1l8lhgnkj3fnl1101bs3pzj5gv2x5m9ahvrbyscsc9mxxc91hzcz")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs @@ -529,14 +533,14 @@ asynchronous fashion.") (define-public nsd (package (name "nsd") - (version "4.3.2") + (version "4.3.3") (source (origin (method url-fetch) (uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-" version ".tar.gz")) (sha256 - (base32 "0ac3mbn5z4nc18782m9aswdpi2m9f4665vidw0ciyigdh0pywp2v")))) + (base32 "0lgdiqnkfvy245h6kkiqic586qjwmg51lsfs86vlc0kwjwddiijz")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -756,16 +760,16 @@ served by AS112. Stub and forward zones are supported.") (define-public yadifa (package (name "yadifa") - (version "2.3.9") + (version "2.3.10") (source - (let ((build "8497")) + (let ((build "9729")) (origin (method url-fetch) (uri (string-append "http://cdn.yadifa.eu/sites/default/files/releases/" "yadifa-" version "-" build ".tar.gz")) (sha256 - (base32 "0xvyr91sfgzkpw6g3h893ldbwnki3w2472n56rr18w67qghs1sa5"))))) + (base32 "0azaignqmylfdzr4x02s8y3pkn4f0xkpz3d1pkiiz8mwk92zgybn"))))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) @@ -803,44 +807,63 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.9.6") + (version "3.0.1") (source (origin - (method url-fetch) - (uri (string-append "https://secure.nic.cz/files/knot-dns/" - "knot-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.nic.cz/knot/knot-dns") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "1rxjjisr6rz1wa4279ghvj5zzhgyjhncmb9dkzqm8nw2qs1jhx5z")) + (base32 "10mlzldxqvbaw78nghkr0s73rlbpz9wg16z14321xw2l9xfibkad")) (modules '((guix build utils))) (snippet '(begin - ;; Delete bundled libraries. - (with-directory-excursion "src/contrib" - (delete-file-recursively "lmdb")) + ;; Remove Ragel-generated C files. We'll recreate them below. + (for-each delete-file (find-files "." "\\.c\\.[gt].")) + (delete-file "src/libknot/yparser/ypbody.c") + ;; Remove bundled library to ensure we always use the system's. + (delete-file-recursively "src/contrib/libbpf") #t)))) (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("fstrm" ,fstrm) - ("gnutls" ,gnutls) - ("jansson" ,jansson) - ("libcap-ng" ,libcap-ng) - ("libedit" ,libedit) - ("libidn" ,libidn) - ("liburcu" ,liburcu) - ("lmdb" ,lmdb) - ("ncurses" ,ncurses) - ("protobuf-c" ,protobuf-c))) + (outputs (list "out" "doc" "lib" "tools")) (arguments - `(#:phases + `(#:configure-flags + (list (string-append "--docdir=" (assoc-ref %outputs "doc") + "/share/" ,name "-" ,version) + (string-append "--infodir=" (assoc-ref %outputs "doc") + "/share/info") + (string-append "--libdir=" (assoc-ref %outputs "lib") "/lib") + "--sysconfdir=/etc" + "--localstatedir=/var" + "--enable-dnstap" ; let tools read/write capture files + "--enable-fastparser" ; disabled by default when .git/ exists + "--enable-xdp=auto" ; XXX [=yes] currently means =embedded + "--with-module-dnstap=yes") ; detailed query capturing & logging + #:phases (modify-phases %standard-phases + (add-after 'unpack 'link-missing-libbpf-dependency + ;; Linking against -lbpf later would fail to find -lz: libbpf.pc has + ;; zlib in its Requires.private (not Requires) field. Add it here. + (lambda _ + (substitute* "configure.ac" + (("enable_xdp=yes" match) + (string-append match "\nlibbpf_LIBS=\"$libbpf_LIBS -lz\""))) + #true)) + (add-before 'bootstrap 'update-parser + (lambda _ + (with-directory-excursion "src" + (invoke "sh" "../scripts/update-parser.sh")))) (add-before 'configure 'disable-directory-pre-creation (lambda _ ;; Don't install empty directories like ‘/etc’ outside the store. ;; This is needed even when using ‘make config_dir=... install’. (substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true")) #t)) + (add-after 'build 'build-info + (lambda _ + (invoke "make" "info"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -848,15 +871,51 @@ Extensions} (DNSSEC).") (etc (string-append doc "/examples/etc"))) (invoke "make" (string-append "config_dir=" etc) - "install"))))) - #:configure-flags - (list "--sysconfdir=/etc" - "--localstatedir=/var" - "--enable-dnstap" ; let tools read/write capture files - "--with-module-dnstap=yes" ; detailed query capturing & logging - (string-append "--with-bash-completions=" - (assoc-ref %outputs "out") - "/etc/bash_completion.d")))) + "install")))) + (add-after 'install 'install-info + (lambda _ + (invoke "make" "install-info"))) + (add-after 'install 'break-circular-:lib->:out-reference + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (assoc-ref outputs "lib"))) + (for-each (lambda (file) + (substitute* file + (("(prefix=).*" _ assign) + (string-append assign lib "\n")))) + (find-files lib "\\.pc$")) + #true))) + (add-after 'install 'split-:tools + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (tools (assoc-ref outputs "tools"))) + (mkdir-p (string-append tools "/share/man")) + (rename-file (string-append out "/bin") + (string-append tools "/bin")) + (rename-file (string-append out "/share/man/man1") + (string-append tools "/share/man/man1")) + #true)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("python-sphinx" ,python-sphinx) + ("ragel" ,ragel) + ("texinfo" ,texinfo))) + (inputs + `(("fstrm" ,fstrm) + ("gnutls" ,gnutls) + ("jansson" ,jansson) + ("libbpf" ,libbpf) + ("libcap-ng" ,libcap-ng) + ("libedit" ,libedit) + ("libelf" ,libelf) + ("libidn" ,libidn) + ("libnghttp2" ,nghttp2 "lib") + ("liburcu" ,liburcu) + ("lmdb" ,lmdb) + ("ncurses" ,ncurses) + ("protobuf-c" ,protobuf-c))) (home-page "https://www.knot-dns.cz/") (synopsis "Authoritative DNS name server") (description "Knot DNS is an authoritative name server for the @dfn{Domain @@ -878,14 +937,14 @@ synthesis, and on-the-fly re-configuration.") (define-public knot-resolver (package (name "knot-resolver") - (version "4.3.0") + (version "5.1.3") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-resolver/" "knot-resolver-" version ".tar.xz")) (sha256 (base32 - "09ffmqx79lv5psr433x4n946njgsn071b9b7161pcb9bmrqz380c")))) + "12s5070nqqf599s1mb6rjas2as481rjf751qk5yrz6p34y885k90")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Ddoc=enabled") @@ -927,16 +986,12 @@ synthesis, and on-the-fly re-configuration.") (inputs `(("fstrm" ,fstrm) ("gnutls" ,gnutls) - ("knot" ,knot) + ("knot:lib" ,knot "lib") ("libuv" ,libuv) ("lmdb" ,lmdb) ("luajit" ,luajit) ;; TODO: Add optional lua modules: basexx and psl. - ("lua-bitop" ,lua5.1-bitop) - ("lua-cqueues" ,lua5.1-cqueues) - ("lua-filesystem" ,lua5.1-filesystem) - ("lua-sec" ,lua5.1-sec) - ("lua-socket" ,lua5.1-socket))) + ("lua-bitop" ,lua5.1-bitop))) (home-page "https://www.knot-resolver.cz/") (synopsis "Caching validating DNS resolver") (description diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index bc7e02ec46..b130298a04 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,6 +49,8 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization)) +;; Note - when changing Docker versions it is important to update the versions +;; of several associated packages (docker-libnetwork and go-sctp). (define %docker-version "19.03.12") (define-public python-docker @@ -190,41 +193,40 @@ Python without keeping their credentials in a Docker configuration file.") `(#:import-path "github.com/containerd/containerd" #:phases (modify-phases %standard-phases - (add-before 'build 'chdir - (lambda _ - (chdir "src/github.com/containerd/containerd") - #t)) (add-after 'chdir 'patch-paths - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key inputs import-path outputs #:allow-other-keys) ;; TODO: Patch "socat", "unpigz". - (substitute* "./runtime/v1/linux/runtime.go" - (("defaultRuntime[ \t]*=.*") - (string-append "defaultRuntime = \"" - (assoc-ref inputs "runc") - "/sbin/runc\"\n")) - (("defaultShim[ \t]*=.*") - (string-append "defaultShim = \"" - (assoc-ref outputs "out") - "/bin/containerd-shim\"\n"))) - (substitute* "./vendor/github.com/containerd/go-runc/runc.go" - (("DefaultCommand[ \t]*=.*") - (string-append "DefaultCommand = \"" - (assoc-ref inputs "runc") - "/sbin/runc\"\n"))) - (substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go" - (("exec\\.Command\\(\"losetup\"") ; ) - (string-append "exec.Command(\"" - (assoc-ref inputs "util-linux") - "/sbin/losetup\""))) ;) - #t)) + (with-directory-excursion (string-append "src/" import-path) + (substitute* "./runtime/v1/linux/runtime.go" + (("defaultRuntime[ \t]*=.*") + (string-append "defaultRuntime = \"" + (assoc-ref inputs "runc") + "/sbin/runc\"\n")) + (("defaultShim[ \t]*=.*") + (string-append "defaultShim = \"" + (assoc-ref outputs "out") + "/bin/containerd-shim\"\n"))) + (substitute* "./vendor/github.com/containerd/go-runc/runc.go" + (("DefaultCommand[ \t]*=.*") + (string-append "DefaultCommand = \"" + (assoc-ref inputs "runc") + "/sbin/runc\"\n"))) + (substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go" + (("exec\\.Command\\(\"losetup\"") ; ) + (string-append "exec.Command(\"" + (assoc-ref inputs "util-linux") + "/sbin/losetup\""))) ;) + #t))) (replace 'build - (lambda* (#:key (make-flags '()) #:allow-other-keys) - (apply invoke "make" make-flags))) + (lambda* (#:key import-path (make-flags '()) #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (apply invoke "make" make-flags)))) (replace 'install - (lambda* (#:key outputs (make-flags '()) #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (apply invoke "make" (string-append "DESTDIR=" out) "install" - make-flags))))))) + (lambda* (#:key import-path outputs (make-flags '()) #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (let* ((out (assoc-ref outputs "out"))) + (apply invoke "make" (string-append "DESTDIR=" out) "install" + make-flags)))))))) (inputs `(("btrfs-progs" ,btrfs-progs) ("libseccomp" ,libseccomp) @@ -246,22 +248,25 @@ network attachments.") (define docker-libnetwork ;; There are no recent release for libnetwork, so choose the last commit of ;; the branch that Docker uses, as can be seen in the Docker source file - ;; 'hack/dockerfile/install/proxy.installer'. - (let ((commit "4725f2163fb214a6312f3beae5991f838ec36326") - (version "18.09") + ;; 'hack/dockerfile/install/proxy.installer'. NOTE - It is important that + ;; this version is kept in sync with the version of Docker being used. + ;; This commit is the "bump_19.03" branch, as mentioned in Docker's vendor.conf. + (let ((commit "026aabaa659832804b01754aaadd2c0f420c68b6") + (version (version-major+minor %docker-version)) (revision "1")) (package (name "docker-libnetwork") - (version (git-version version "1" commit)) + (version (git-version version revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/docker/libnetwork") + ;; Redirected from github.com/docker/libnetwork. + (url "https://github.com/moby/libnetwork") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "1zpnxki8qfzha6ljahpwd3vkzmjhsvkmf73w6crm4ilxxw5vnpfb")) + "0bli21vn5v7bssw3ydym4jfdjsldhb47fld88kng7d138wl70lkw")) ;; Delete bundled ("vendored") free software source code. (modules '((guix build utils))) (snippet '(begin @@ -269,8 +274,8 @@ network attachments.") #t)))) (build-system go-build-system) (arguments - `(#:import-path "github.com/docker/libnetwork/")) - (home-page "https://github.com/docker/libnetwork/") + `(#:import-path "github.com/moby/libnetwork/")) + (home-page "https://github.com/moby/libnetwork/") (synopsis "Networking for containers") (description "Libnetwork provides a native Go implementation for connecting containers. The goal of @code{libnetwork} is to deliver a robust @@ -514,6 +519,7 @@ built-in registry server of Docker.") #t)) (replace 'configure (lambda _ + (setenv "DOCKER_BUILDTAGS" "seccomp") (setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version)) (setenv "VERSION" (string-append ,%docker-version "-ce")) ;; Automatically use bundled dependencies. @@ -651,8 +657,7 @@ provisioning etc.") (string-append etc "/fish/completions")) (install-file "zsh/_docker" (string-append etc "/zsh/site-functions"))) - (chdir "build") - (install-file "docker" out-bin) + (install-file "build/docker" out-bin) #t)))))) (native-inputs `(("go" ,go) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 9c30fc832a..6532bb4704 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -273,7 +273,7 @@ and to some extent D.") (description "DOC++ is a documentation system for C, C++, IDL, and Java. It can generate both TeX output for high-quality hardcopies or HTML output for online -brwosing. The documentation is extracted directly from the C/C++/IDL source +browsing. The documentation is extracted directly from the C/C++/IDL source or Java class files.") (license gpl2+))) diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm index 7bd5935b19..591be38448 100644 --- a/gnu/packages/easyrpg.scm +++ b/gnu/packages/easyrpg.scm @@ -76,7 +76,7 @@ It can read and write LCF and XML files.") (define-public easyrpg-player (package (name "easyrpg-player") - (version "0.6.2.1") + (version "0.6.2.3") (source (origin (method url-fetch) (uri (string-append @@ -84,7 +84,7 @@ It can read and write LCF and XML files.") "/easyrpg-player-" version ".tar.gz")) (sha256 (base32 - "1bai0mxjw1qvl2vcwgssycbyn0crk0b5l69ld9rawcs2nczb44s5")))) + "1lahbhgyhky0hgd3xwhgg2nm8mfa9p2i1fzxi00561hnk2ya86pm")))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index b7c78b6a64..1609a631b7 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -4,8 +4,9 @@ ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,26 +27,32 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages file) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages fribidi) #:use-module (gnu packages gcc) + #:use-module (gnu packages gettext) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) #:use-module (gnu packages glib) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages javascript) #:use-module (gnu packages libusb) #:use-module (gnu packages libreoffice) + #:use-module (gnu packages music) #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -245,29 +252,7 @@ "--path-to-mathjax" (string-append (assoc-ref inputs "js-mathjax") "/share/javascript/mathjax")) - (invoke "python2" "setup.py" "rapydscript"))) - (replace 'wrap - ;; Here we wrap PYTHONPATH exactly as it would be in - ;; python-build-system, plus the addition of - ;; QTWEBENGINEPROCESS_PATH, fixing a bug where Calibre would not - ;; find Qtwebengine. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (python (assoc-ref inputs "python")) - (site-packages - (cons (string-append out "/lib/python" - (python-version python) - "/site-packages") - (search-path-as-string->list (getenv "PYTHONPATH")))) - (qtwebengineprocess - (string-append (assoc-ref inputs "qtwebengine") - "/lib/qt5/libexec/QtWebEngineProcess"))) - (for-each (lambda (program) - (wrap-program program - `("QTWEBENGINEPROCESS_PATH" = (,qtwebengineprocess)) - `("PYTHONPATH" prefix ,site-packages))) - (find-files bin "."))) + (invoke "python2" "setup.py" "rapydscript") #t)) (add-after 'install 'install-man-pages (lambda* (#:key outputs #:allow-other-keys) @@ -285,6 +270,28 @@ "/share/fonts/truetype"))) (delete-file-recursively font-dest) (symlink font-src font-dest)) + #t)) + ;; Make run-time dependencies available to the binaries. + (add-after 'wrap 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (qtwebengine (assoc-ref inputs "qtwebengine"))) + (with-directory-excursion (string-append out "/bin") + (for-each + (lambda (binary) + (wrap-program binary + ;; Make QtWebEngineProcess available. + `("QTWEBENGINEPROCESS_PATH" ":" = + ,(list (string-append + qtwebengine + "/lib/qt5/libexec/QtWebEngineProcess"))))) + ;; Wrap all the binaries shipping with the package, except + ;; for the wrappings created during the 'wrap standard + ;; phase. This extends existing .calibre-real wrappers + ;; rather than create ..calibre-real-real-s. For more + ;; information see: https://issues.guix.gnu.org/43249. + (find-files "." (lambda (file stat) + (not (wrapper? file))))))) #t))))) (home-page "https://calibre-ebook.com/") (synopsis "E-book library management software") @@ -405,6 +412,105 @@ following formats: @end enumerate") (license license:gpl2+))) +(define-public cozy + (package + (name "cozy") + (version "0.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/geigi/cozy") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fmbddi4ga0bppwg3rm3yjmf7jgqc6zfslmavnr1pglbzkjhy9fs")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-desktop-file + (lambda _ + (substitute* "data/com.github.geigi.cozy.desktop.in" + (("Exec=com.github.geigi.cozy") "Exec=cozy")) + #t)) + (add-after 'install 'patch-executable-name + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") "/bin") + (rename-file "com.github.geigi.cozy" "cozy")) + #t)) + (add-after 'wrap 'wrap-libs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pylib (string-append + out "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) + (libmagic-path (string-append + (assoc-ref %build-inputs "file") + "/lib")) + (python-path (getenv "PYTHONPATH"))) + (wrap-program (string-append out "/bin/cozy") + `("LD_LIBRARY_PATH" ":" prefix (,libmagic-path)) + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) + `("PYTHONPATH" ":" prefix (,python-path ,pylib)))) + #t))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) + (inputs + `(("file" ,file) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gst-libav" ,gst-libav) + ("gst-plugins-bad" ,gst-plugins-bad) + ("gst-plugins-good" ,gst-plugins-good) + ("gst-plugins-ugly" ,gst-plugins-ugly) + ("gtk+" ,gtk+) + ("python-apsw" ,python-apsw) + ("python-distro" ,python-distro) + ("python-gst" ,python-gst) + ("python-mutagen" ,python-mutagen) + ("python-packaging" ,python-packaging) + ("python-peewee" ,python-peewee) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pytz" ,python-pytz) + ("python-requests" ,python-requests))) + (home-page "https://cozy.geigi.de/") + (synopsis "Modern audiobook player using GTK+") + (description + "Cozy is a modern audiobook player written in GTK+. + +Some of the current features: + +@itemize +@item Import your audiobooks into Cozy to browse them comfortably +@item Sort your audio books by author, reader & name +@item Remembers your playback position +@item Sleep timer +@item Playback speed control +@item Search your library +@item Offline mode +@item Add multiple storage locations +@item Drag & Drop to import new audio books +@item Support for DRM free mp3, m4a (aac, ALAC, …), flac, ogg, opus, wav files +@item Mpris integration (Media keys & playback info for desktop environment) +@end itemize") + ;; TODO: Unbundle python-inject. + (license (list license:gpl3+ ;cozy + license:asl2.0)))) ;python-inject (bundled dependency) + (define-public xchm (package (name "xchm") diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 32807fa05f..d91c086581 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> @@ -275,7 +275,7 @@ easy.") (define-public snap (package (name "snap") - (version "6.1.4") + (version "6.2.1") (source (origin (method git-fetch) @@ -284,7 +284,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qvnm5jg2hlf32say531m8nmp3aib93mqnllw1g289s58fzk5li6")))) + (base32 "163pskgrssw0l6c73lrdx613fridnv0162lscl4xqx9sgg7hfaxh")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -613,14 +613,14 @@ Portuguese, Spanish and Italian.") (define-public fet (package (name "fet") - (version "5.46.1") + (version "5.47.0") (source (origin (method url-fetch) (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" "fet-" version ".tar.bz2")) (sha256 - (base32 "1sakzizjsyjn6705zl283i81zxn1gxskg2i4jv7iq75vw3nzm6kv")))) + (base32 "1a4mzzd6qy7hpb3yvmf922dbrqrzacz60ld8dsds78m018jf9gaj")))) (build-system gnu-build-system) (arguments `(#:phases @@ -956,30 +956,30 @@ floating through space.") (define-public mdk (package (name "mdk") - (version "1.2.10") + (version "1.2.11") (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mdk/v1.2.10/mdk-" - version ".tar.gz")) - (sha256 + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mdk/v" version "/mdk-" + version ".tar.gz")) + (sha256 (base32 - "1rwcq2b5vvv7318j92nxc5dayj27dpfhzc4rjiv4ccvsc0x35x5h")))) - (build-system gnu-build-system) + "0rrac91ynya4jrhv14j9vvn21c5z80hi1zmmdxjb0d9zz6i7kjgb")))) + (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gui=yes" "-with-readline=yes"))) (native-inputs `(("flex" ,flex) - ("pkg-config" ,pkg-config) ("intltool" ,intltool) - ("ncurses" ,ncurses))) - (inputs - `(("readline" ,readline) - ("glib" ,glib) - ("gtk+" ,gtk+) - ("pango" ,pango) - ("libglade" ,libglade))) - (home-page "https://www.gnu.org/software/mdk/") + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("libglade" ,libglade) + ("ncurses" ,ncurses) + ("pango" ,pango) + ("readline" ,readline))) + (home-page "https://www.gnu.org/software/mdk/") (synopsis "Virtual development environment for Knuth's MIX") (description "GNU MDK is the Mix Development Kit, an emulation of the pedagogical diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index d21ec61039..3f9ca33ede 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -88,7 +88,7 @@ to take care of the OS-specific details when writing software that uses serial p "/share/doc/libsigrokdecode")) #t))))) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("doxygen" ,doxygen) ("graphviz" ,graphviz) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 3aabc6e927..48558d5f14 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Mark Wielaard <mark@klomp.org> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -214,7 +215,7 @@ static analysis of the ELF binaries at hand.") (define-public patchelf (package (name "patchelf") - (version "0.10") + (version "0.11") (source (origin (method url-fetch) (uri (string-append @@ -223,7 +224,7 @@ static analysis of the ELF binaries at hand.") "/patchelf-" version ".tar.bz2")) (sha256 (base32 - "1wzwvnlyf853hw9zgqq5522bvf8gqadk8icgqa41a5n7593csw7n")))) + "16ms3ijcihb88j3x6cl8cbvhia72afmfcphczb9cfwr0gbc22chx")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index 1b881862a9..8a2b6b302c 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -27,7 +27,8 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (gnu packages) - #:use-module (gnu packages erlang)) + #:use-module (gnu packages erlang) + #:use-module (gnu packages version-control)) (define-public elixir (package @@ -99,7 +100,8 @@ #t)) (delete 'configure)))) (inputs - `(("erlang" ,erlang))) + `(("erlang" ,erlang) + ("git" ,git))) (home-page "https://elixir-lang.org/") (synopsis "Elixir programming language") (description "Elixir is a dynamic, functional language used to build diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 342adc6dd0..da11838ea9 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -78,6 +78,9 @@ ;;; Copyright © 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2020 Peng Mei Yu <i@pengmeiyu.com> +;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net> +;;; Copyright © 2020 Marco Grassi <marco.au.grassi98@protonmail.com> +;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -195,16 +198,16 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.11.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/jaor/geiser/") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1khi1bghsjx6cs5acizmlbw9z19s4qycnji9krdbn42cbpv0rysv")))) + (version "0.12") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/jaor/geiser/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n718xpys7v94zaf9lpmsx97qgn6qxif1acr718wyvpmfr4hiv08")))) (build-system gnu-build-system) (arguments '(#:phases @@ -216,7 +219,8 @@ "/share/emacs/site-lisp/" "geiser-autoloads.el")) #t))))) - (inputs `(("guile" ,guile-2.2))) + (inputs + `(("guile" ,guile-2.2))) (native-inputs `(("emacs" ,emacs-minimal) ("autoconf" ,autoconf) @@ -262,14 +266,14 @@ using geiser.") (define-public emacs-hyperbole (package (name "emacs-hyperbole") - (version "7.1.2") + (version "7.1.3") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "hyperbole-" version ".tar")) (sha256 - (base32 "1bspmqnbniwr9385wh823dsr5fgch5qnlkf45s4vi0nvg8jdccp1")) + (base32 "0bizibn4qgxqp89fyik6p47s9hss1g932mg8k7pznn3kkhj5c8rh")) (patches (search-patches "emacs-hyperbole-toggle-messaging.patch")))) (build-system emacs-build-system) @@ -379,29 +383,33 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") (license license:gpl3+))) (define-public emacs-with-editor - (package - (name "emacs-with-editor") - (version "2.9.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/magit/with-editor") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1z3214zjf3dassb31k14gq4nbr3q8g5x87ydfah28hm4j08v0wb3")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-dash" ,emacs-dash))) - (home-page "https://github.com/magit/with-editor") - (synopsis "Emacs library for using Emacsclient as EDITOR") - (description - "This package provides an Emacs library to use the Emacsclient as + ;; This commit fixes an (magit) issue with emacs 28, see + ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2020-10/msg00211.html + (let ((commit "c4768f51c7415119519b4626d8643d60e584098c") + (revision "1")) + (package + (name "emacs-with-editor") + (version (git-version "2.9.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/with-editor") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01ysb9pnscpmingay6njdywkqgj4hn5l5d9igsg3x7p7061jwwix")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/magit/with-editor") + (synopsis "Emacs library for using Emacsclient as EDITOR") + (description + "This package provides an Emacs library to use the Emacsclient as @code{$EDITOR} of child processes, making sure they know how to call home. For remote processes a substitute is provided, which communicates with Emacs on stdout instead of using a socket as the Emacsclient does.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-libgit (let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a") @@ -932,16 +940,16 @@ replacement.") (define-public emacs-haskell-mode (package (name "emacs-haskell-mode") - (version "17.1") + (version "17.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/haskell/haskell-mode") - (commit (string-append "v" version)))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0izcasi2v02zh08c863h43m8mmsldzy8pck43cllrfn0zf24v2qn")))) + (base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5")))) (propagated-inputs `(("emacs-dash" ,emacs-dash))) (native-inputs @@ -1724,14 +1732,14 @@ mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") (define-public emacs-bluetooth (package (name "emacs-bluetooth") - (version "0.1.2") + (version "0.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "bluetooth-" version ".el")) (sha256 - (base32 "1vp2vpyq0ybjni35ics1mg1kiwgvc7x12dlmvygy78sqp52sfkcv")))) + (base32 "1dq04p6ms0zx4awlypp4crkz7dzal4xg8ac7p8fqacz196rczssp")))) (build-system emacs-build-system) (inputs `(("bluez" ,bluez))) @@ -1766,6 +1774,32 @@ always indented. It reindents after every change, making it more reliable than @code{electric-indent-mode}.") (license license:gpl2+))) +(define-public emacs-gcmh + ;; No tagged release upstream. + (let ((commit "84c43a4c0b41a595ac6e299fa317d2831813e580") + (revision "0")) + (package + (name "emacs-gcmh") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/koral/gcmh") + (commit commit))) + (sha256 + (base32 "1r3wiqhrzh7wvqy484nl031fd4bn4cpvkv9646s4cjgvnnnv7jz3")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/koral/gcmh") + (synopsis "Emacs Garbage Collector Magic Hack") + (description + "This package enforces a sneaky @dfn{garbage collector} (GC) strategy +to minimize GC interference with the activity. During normal use a high GC +threshold is set. When idling GC is immediately triggered and a low threshold +is set.") + (license license:gpl3+)))) + (define-public emacs-ctrlf (package (name "emacs-ctrlf") @@ -1921,14 +1955,14 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "12.2.4") + (version "12.2.5") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "auctex-" version ".tar")) (sha256 - (base32 "1yz2h692mr35zgqwlxdq8rzv8n0jixhpaqmbiki00hlysm4zh9py")))) + (base32 "1288n0yna36g2h15gk34gvllifx4qms48355j8l2cafabvkffiph")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -2316,24 +2350,27 @@ written in the Go programming language.") (license license:bsd-3))) (define-public emacs-google-maps - (package - (name "emacs-google-maps") - (version "1.0.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jd/google-maps.el") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "183igr5lp20zcqi7rc01fk76sfxdhksd74i11v16gdsifdkjimd0")))) - (build-system emacs-build-system) - (home-page "https://github.com/jd/google-maps.el") - (synopsis "Access Google Maps from Emacs") - (description "The @code{google-maps} package displays Google -Maps directly inside Emacs.") - (license license:gpl3+))) + ;; There has been no new release tag since 2013. + (let ((commit "2eb16ff609f5a9f8d02c15238a111fbb7db6c146") + (revision "1")) + (package + (name "emacs-google-maps") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jd/google-maps.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bl0dnksbf14d0xcnvdy9qpvzc5c8jwkxpmfvgayj6djikxnw2md")))) + (build-system emacs-build-system) + (home-page "https://github.com/jd/google-maps.el") + (synopsis "Access Google Maps from Emacs") + (description "The @code{google-maps} package displays Google Maps +directly inside Emacs. It requires a Google Map Static API key to function.") + (license license:gpl3+)))) (define-public emacs-graphviz-dot-mode (package @@ -2800,7 +2837,7 @@ running Extempore process, and more.") (description "This package provides many, but not all of the editing primitives in the Kakoune editor. Unlike Evil mode for Vim, this is a very shallow emulation, which seeks to do as little work as possible, leveraging -Emacs native editing commmands and the work of other packages wherever +Emacs native editing commands and the work of other packages wherever possible.") (license license:expat)))) @@ -2878,16 +2915,16 @@ a command.") (define-public emacs-olivetti (package (name "emacs-olivetti") - (version "1.8.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/rnkn/olivetti") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1fbj9s49y5yx5i429awv9rybacfgvhwp7v5h0zw67bpgx4qs44pa")))) + (version "1.11.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rnkn/olivetti") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rghxjdzyfykd4qc2zkavvbyf9xc899k1b8hbk890f1y3vakqvqz")))) (build-system emacs-build-system) (home-page "https://github.com/rnkn/olivetti") (synopsis "Emacs minor mode for a nice writing environment") @@ -2985,6 +3022,27 @@ strings.") Stack Overflow, Super User, and other StackExchange sites.") (license license:gpl3+)))) +(define-public emacs-toc-org + (package + (name "emacs-toc-org") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/snosov1/toc-org") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lk0rji85a1c0c5r9an0fdvsm4n4jyixsknmr8ywha3lfmc2p0l8")))) + (build-system emacs-build-system) + (home-page "https://github.com/snosov1/toc-org") + (synopsis "Table of Contents generator for Emacs Org mode") + (description + "This package generates a table of contents when saving in Org and +Markdown files.") + (license license:gpl2+))) + (define-public emacs-toml-mode (let ((version "0.1.3") (revision "0") @@ -3059,7 +3117,7 @@ files and directories.") (define-public emacs-fountain-mode (package (name "emacs-fountain-mode") - (version "3.2.2") + (version "3.3.0") (source (origin (method git-fetch) @@ -3068,7 +3126,7 @@ files and directories.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0rwdwbw9cq8ljvbmgmz9izank8dqjki79l1bw127lli69fs72gyi")))) + (base32 "04jrv6i4ah3i8c9hcd9wyaw2vrxr46f50qb9qwna2v7qa5vaway3")))) (build-system emacs-build-system) (home-page "https://github.com/rnkn/fountain-mode") (synopsis "Major mode for screenwriting in Fountain markup") @@ -3261,16 +3319,16 @@ This package also includes relevant snippets for yasnippet.") (define-public emacs-gdscript-mode (package (name "emacs-gdscript-mode") - (version "1.2.0") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/godotengine/emacs-gdscript-mode") - (commit (string-append "v" version)))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "02by4bvdayldbjlz6jkp36m5rgcy2h5bwhqx2cj7wma6xf6cw3lf")))) + (base32 "09q0himrz7a6xgz0jmcl85qc5xhk5fwi6d2vw1n8qaiavm96ksdy")))) (build-system emacs-build-system) (home-page "https://github.com/godotengine/emacs-gdscript-mode") (synopsis "GDScript support and syntax highlighting in Emacs") @@ -3792,6 +3850,30 @@ particular, the minor mode works quite well with Org or Markdown modes, or other markup language major modes.") (license license:gpl3+)))) +(define-public emacs-standard-dirs + (package + (name "emacs-standard-dirs") + (version "2.0.0") + (home-page "https://github.com/lafrenierejm/standard-dirs.el") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r814qcrhvx4qlx4sdzwdmrhiryslqclx0bnpp0qcrbx6g8qfl25")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-f" ,emacs-f) + ("emacs-s" ,emacs-s))) + (synopsis "Platform-specific paths for config, cache, and other data") + (description + "This package provides platform-specific paths for reading and writing +configuration, cache, and other data.") + (license license:gpl3+))) + (define-public emacs-string-inflection (package (name "emacs-string-inflection") @@ -4095,6 +4177,30 @@ read from small to large monitors by using colors, a prefix feature, and smart truncation.") (license license:gpl2+))) +(define-public emacs-sqlite + ;; XXX: There is no tagged commit. + (let ((commit "dad42b8bbca4994be1871343dd18fd6528ee5797") + (revision "0")) + (package + (name "emacs-sqlite") + (build-system emacs-build-system) + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/cnngimenez/sqlite.el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06ln4vijl8kii3nzc5cscgsadx1fqgxksflijd3ain83bn8g4wrd")))) + (home-page "https://gitlab.com/cnngimenez/sqlite.el") + (synopsis "SQLite interface for Emacs Lisp") + (description "Emacs SQLite is a simple SQLite interface for connecting +and retrieving information using the SQLite program through Elisp programming. +It is not intended as a user interface.") + (license license:gpl3+)))) + (define-public emacs-sr-speedbar (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47") (revision "0")) @@ -4143,7 +4249,7 @@ the speedbar window.") (define-public emacs-shx (package (name "emacs-shx") - (version "1.4.0") + (version "1.5.0") (source (origin (method git-fetch) (uri (git-reference @@ -4151,15 +4257,10 @@ the speedbar window.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0p9b621rgy34r1hl9xfzxh4xpx9gpsr3n330ypfxhlr0s5754j73")))) + (base32 "1cb5w6p9gnfxgh8qp7yj2f5ibpk1b4b5af3ynldaaj6yfpa8hqzn")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - ;; A docstring provides examples of mapping hosts to programs in /bin. - ;; These examples are valid as-is. - (delete 'patch-el-files)) - #:tests? #t + `(#:tests? #t #:test-command '("emacs" "--batch" "--quiet" "--script" "test/script.el"))) @@ -5275,6 +5376,29 @@ commands and highlighting.") ;; indicates GPL3. (license license:gpl3))) +(define-public emacs-sbt-mode + (package + (name "emacs-sbt-mode") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hvesalai/emacs-sbt-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0lv9ridzk9x6rkf7lj21srnszypyq04vqg05vl10zhpz1yqlnbjd")))) + (build-system emacs-build-system) + (home-page "https://github.com/hvesalai/emacs-sbt-mode") + (synopsis "Basic functionality for interacting with sbt inside Emacs") + (description + "This mode provides basic functionality required for successfully +interacting with sbt inside Emacs. The core functionality includes +interacting with the sbt shell and Scala console, compiling code and +navigation to errors.") + (license license:gpl3+))) + (define-public emacs-scheme-complete (let ((commit "9b5cf224bf2a5994bc6d5b152ff487517f1a9bb5")) (package @@ -5554,6 +5678,59 @@ This provides a basic API and common UI widgets such as popup tooltips and popup menus.") (license license:gpl3+))) +(define-public emacs-python-black + (package + (name "emacs-python-black") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wbolster/emacs-python-black") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fjnd85nlkck156dj6cahk8chhgkbgl2kwywqzi8bl4yj700m4dk")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-reformatter" ,emacs-reformatter) + ("python-black-macchiato" ,python-black-macchiato))) + (arguments `(#:tests? #f)) + (home-page "https://github.com/wbolster/emacs-python-black") + (synopsis "Reformat Python code via @code{python-black}") + (description + "This package makes it easy to reformat Python code using +@code{python-black} and @code{python-black-macchiato} for entire and partial +buffers, respectively.") + (license license:bsd-3))) + +(define-public emacs-py-isort + (package + (name "emacs-py-isort") + (version "2016.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/paetzke/py-isort.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08i55gv392wc12x8v3dca0dmz8a8p9ljsqhyajsb6qv1k120wqhx")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #f)) ;tests fail with "emacs: standard input is not a tty" + (propagated-inputs + `(("python-isort" ,python-isort))) + (home-page "https://github.com/paetzke/py-isort.el") + (synopsis "Sort the imports in Python buffers") + (description + "This package provides commands and a minor mode to sort Python imports +using @code{python-isort}.") + (license license:gpl3+))) + (define-public emacs-python-environment (package (name "emacs-python-environment") @@ -6764,15 +6941,14 @@ line program.") (define-public emacs-rudel (package (name "emacs-rudel") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/rudel-" version ".tar")) (sha256 - (base32 - "0glqa68g509p0s2vcc0i8kzlddnc9brd9jqhnm5rzxz4i050cvnz")))) + (base32 "03hcvpp6ykavidwn5x48gs986w1i5icvh7ks6p74pdaagpgw4jmk")))) (build-system emacs-build-system) (home-page "http://rudel.sourceforge.net/") (synopsis "Collaborative editing framework") @@ -7089,6 +7265,31 @@ called. If there are more, each window will have its first character highlighted. Pressing that character will switch to that window.") (license license:gpl3+))) +(define-public emacs-windsize + ;; There is no proper release. The base version is extracted from the + ;; "Version" keyword in the main file. + (let ((revision "1") + (commit "62c2846bbe95b0a73e996c75e4a644d05f57aaaa")) + (package + (name "emacs-windsize") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/grammati/windsize") + (commit commit))) + (sha256 + (base32 "13kfrmv3vmkfanxv9nym5v43hx5p7xkgqmx65zcxh4gcbaham1mi")))) + (build-system emacs-build-system) + (home-page "https://github.com/grammati/windsize") + (synopsis "Easy resizing of Emacs windows") + (description + "This package allows moving the borders of the active window +with the arrow keys. It prefers to move the right or bottom border when +possible, and falls back to moving the left or top border otherwise.") + (license license:gpl3+)))) + (define-public emacs-iedit ;; Last release version was in 2016. (let ((commit "e2c100cdd67b7d82835d281ac2cd1bf4f374bc8f") @@ -7361,7 +7562,7 @@ asynchronously, with Counsel and Ivy. Simply call (define-public emacs-counsel-projectile (package (name "emacs-counsel-projectile") - (version "0.3.0") + (version "0.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -7370,7 +7571,7 @@ asynchronously, with Counsel and Ivy. Simply call (file-name (git-file-name name version)) (sha256 (base32 - "1inc4ndl0ysfwvxk4avbgpj4qi9rc93da6476a5c81xmwpsv8wmq")))) + "1k4n5lw6wwbgpwv0dg9dw0bjzi0hvbgkzrs1zmq36yhfz6y8gwnh")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-counsel" ,emacs-counsel) @@ -7427,6 +7628,29 @@ be removed from the front. This type of data structure is sometimes called an \"output-restricted deque\".") (license license:gpl3+))) +(define-public emacs-quickrun + (package + (name "emacs-quickrun") + (version "2.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsorphanage/quickrun") + (commit version))) + (sha256 + (base32 "0a1n2v09h0n7d9p2izflqqang4ny0b46dlqvmxvkkik4bb6f4wcz")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/emacsorphanage/quickrun") + (synopsis "Execute editing buffer and show its output quickly") + (description + "This package evaluates the content of a buffer, or region, and displays +the result. Quickrun executes not only script languages (Perl, Ruby, Python +etc), but also compiling languages (C, C++, Go, Java etc) and markup +languages.") + (license license:gpl3+))) + (define-public emacs-pkg-info (package (name "emacs-pkg-info") @@ -7814,7 +8038,7 @@ in Emacs.") (define-public emacs-edit-indirect (package (name "emacs-edit-indirect") - (version "0.1.5") + (version "0.1.6") (source (origin (method git-fetch) @@ -7823,14 +8047,13 @@ in Emacs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r")))) + (base32 "189nvmlkki1jfszm9i0crbb1p4nzgmbly0wpvpg0i8vmw7vrpl40")))) (build-system emacs-build-system) (home-page "https://github.com/Fanael/edit-indirect") (synopsis "Edit regions in separate buffers") (description "This package allows you to edit regions in separate buffers, like @code{org-edit-src-code} but for arbitrary regions.") - (license license:gpl3+))) + (license license:bsd-2))) (define-public emacs-projectile (package @@ -9062,33 +9285,31 @@ using package inferred style.") (license license:gpl3+)))) (define-public emacs-lua-mode - (let ((commit "35b6e4c20b8b4eaf783ccc8e613d0dd06dbd165c") - (revision "0")) - (package - (name "emacs-lua-mode") - (version (git-version "20200508" revision commit)) - (home-page "https://github.com/immerrr/lua-mode/") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1hai6rqjm5py0bp57nhggmj9qigwdj3a46ngacpnjc1qmy9kkgfk")))) - (build-system emacs-build-system) - (arguments - `(#:tests? #t - #:test-command '("buttercup" "-l" "lua-mode.el"))) - (native-inputs - `(("emacs-buttercup" ,emacs-buttercup) - ("lua" ,lua))) - (synopsis "Major mode for lua") - (description - "This Emacs package provides a mode for @uref{https://www.lua.org/, + (package + (name "emacs-lua-mode") + (version "20201010") + (home-page "https://github.com/immerrr/lua-mode/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zf43f7fkrgki6pbc09zak975p4jx1yf3ipfs38hypfl9s5d6xrf")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("buttercup" "-l" "lua-mode.el"))) + (native-inputs + `(("emacs-buttercup" ,emacs-buttercup) + ("lua" ,lua))) + (synopsis "Major mode for lua") + (description + "This Emacs package provides a mode for @uref{https://www.lua.org/, Lua programming language}.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public emacs-ebuild-mode (package @@ -9612,14 +9833,14 @@ distribution, primarily targeting Clojure users") (define-public emacs-orgalist (package (name "emacs-orgalist") - (version "1.12") + (version "1.13") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "orgalist-" version ".el")) (sha256 - (base32 "1hwm7j0hbv2pg9w885ky1c9qga3grcfq8v216jv2ivkw8xzavysd")))) + (base32 "1wkxc5kcy1g4lx6pd78pa8znncjyl9zyhsvz7wpp56qmhq4hlav3")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/orgalist.html") (synopsis "Manage Org-like lists in non-Org buffers") @@ -9677,13 +9898,13 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update it as ;; well. - (version "9.3.8") + (version "9.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar")) (sha256 - (base32 "1az00pi9rw3ibx4061jyqr6ll27kvs99yvd7nk5dckjh0ajd0gni")))) + (base32 "1awkrh3y90q7c0as3327rqj0zylf5cpjzr1pyvbzymli16irhwb6")))) (build-system emacs-build-system) (arguments `(#:phases @@ -9708,14 +9929,18 @@ programming and reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") - (version "20200907") + (version "20200914") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/" "org-plus-contrib-" version ".tar")) (sha256 - (base32 "1rgk3pwhsmbmwlncg60ahwrrkm1ks4xpwy2wzv9q7myl1aihjj54")))) + (base32 "1naq25g4d95cx29axx428rnpc4m9hd0j7w1l0vqwkdjyr5qfj0ab")) + ;; ob-sclang.el is packaged separately to avoid the dependency on + ;; SuperCollider and qtwebengine. + (modules '((guix build utils))) + (snippet '(begin (delete-file "ob-sclang.el") #t)))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -9742,8 +9967,7 @@ programming and reproducible research.") (propagated-inputs `(("arduino-mode" ,emacs-arduino-mode) ("cider" ,emacs-cider) - ("org" ,emacs-org) - ("scel" ,emacs-scel))) + ("org" ,emacs-org))) (synopsis "Contributed packages to Org mode") (description "Org is an Emacs mode for keeping notes, maintaining TODO lists, and project planning with a fast and effective plain-text system. @@ -9751,6 +9975,28 @@ lists, and project planning with a fast and effective plain-text system. This package is equivalent to org-plus-contrib, but only includes additional files that you would find in @file{contrib/} from the git repository."))) +(define-public emacs-ob-sclang + (package + (inherit emacs-org-contrib) + (name "emacs-ob-sclang") + (source + (origin (inherit (package-source emacs-org-contrib)) + (modules '((guix build utils))) + (snippet + '(begin + (for-each (lambda (file) + (unless (equal? file "./ob-sclang.el") + (delete-file file))) + (find-files "." "\\.el")) + #t)))) + (propagated-inputs + `(("org" ,emacs-org) + ("scel" ,emacs-scel))) + (synopsis "Org Babel support for SuperCollider") + (description "This package adds support for evaluating @code{sclang} +Org mode source blocks. It is extracted from the @code{emacs-org-contrib} +package."))) + (define-public emacs-org-edna (package (name "emacs-org-edna") @@ -11063,7 +11309,7 @@ function to be used by other frontend programs.") (home-page "https://github.com/tumashu/pyim-basedict") (synopsis "Input method dictionary of pyim") (description "Pyim-basedict is the default pinyin input method dictionary, -containing words from the rime project.") +containing words from the Rime project.") (license license:gpl2+))) (define-public emacs-pyim @@ -11095,14 +11341,14 @@ and cangjie.") (define-public emacs-posframe (package (name "emacs-posframe") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "posframe-" version ".el")) (sha256 - (base32 "1vzaiiw2pxa0zrc2bkaxljpr4035xrh3d8z3l5f0jvp72cnq49kp")))) + (base32 "01s9lc1liaxfpnfw183a320blp7cv6qg8gh2r22w4wkzi1yrcbb7")))) (build-system emacs-build-system) ;; emacs-minimal does not include the function font-info. (arguments @@ -11300,6 +11546,25 @@ It should enable you to implement low-level X11 applications.") of XELB.") (license license:gpl3+))) +(define-public emacs-xelb-no-x-toolkit + (package + (inherit emacs-xelb) + (name "emacs-xelb-no-x-toolkit") + (arguments + (substitute-keyword-arguments (package-arguments emacs-xelb) + ((#:emacs emacs) `,emacs-no-x-toolkit))))) + +(define-public emacs-exwm-no-x-toolkit + (package + (inherit emacs-exwm) + (name "emacs-exwm-no-x-toolkit") + (synopsis "Emacs X window manager (without an X toolkit)") + (propagated-inputs + `(("emacs-xelb-no-x-toolkit" ,emacs-xelb-no-x-toolkit))) + (arguments + (substitute-keyword-arguments (package-arguments emacs-exwm) + ((#:emacs emacs) `,emacs-no-x-toolkit))))) + (define-public emacs-switch-window (package (name "emacs-switch-window") @@ -12932,7 +13197,7 @@ buffer.") (description "@code{eless} provides a combination of Bash script and a minimal Emacs view-mode. -Feautures: +Features: @itemize @item Independent of a user’s Emacs config. @@ -14280,18 +14545,15 @@ timestamps by providing a @code{ts} struct.") (define-public emacs-peg (package (name "emacs-peg") - (version "0.6") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacsmirror/peg") - (commit version))) - (sha256 - (base32 - "0kjz7ch4bn0m4v9zgqyqcrsasnqc5c5drv2hp22j7rnbb7ny0q3n")) - (file-name (git-file-name name version)))) + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/peg-" version ".tar")) + (sha256 + (base32 "0skr5dz9k34r409hisnj37n1b7n62l3md0glnfx578xkbmxlpcxl")))) (build-system emacs-build-system) - (home-page "https://github.com/emacsmirror/peg/") + (home-page "https://elpa.gnu.org/packages/peg.html") (synopsis "Parsing Expression Grammars in Elisp") (description "This package provides a macro that parses the current buffer according to a parsing expression grammar.") @@ -15251,7 +15513,7 @@ until the top-level form is no longer a macro call.") (define-public emacs-beginend (package (name "emacs-beginend") - (version "2.1.0") + (version "2.2.0") (source (origin (method git-fetch) @@ -15260,7 +15522,7 @@ until the top-level form is no longer a macro call.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ic5z3qb5sc3mjrjdlg0rqm2l59a43gwnakagns4cilln2a3xdg8")))) + (base32 "1r9033zlx2q2dk3bjz004flxdiw79qiswq0zqdjnlzwassvk0f35")))) ;; TODO: Run tests. (build-system emacs-build-system) (inputs @@ -15742,7 +16004,7 @@ downloading manager for Emacs.") (define-public emacs-helpful (package (name "emacs-helpful") - (version "0.17") + (version "0.18") (source (origin (method git-fetch) @@ -15751,7 +16013,7 @@ downloading manager for Emacs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj")))) + (base32 "0gdjxykqkal2x765mi51m99i5ql23i1fy909wy4mzj5ajhjfgqcc")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-elisp-refs" ,emacs-elisp-refs) @@ -15964,10 +16226,10 @@ Magit.") (license license:gpl3+))) (define-public emacs-lice-el - (let ((commit "4339929927c62bd636f89bb39ea999d18d269250")) + (let ((commit "482e58ab83fff86ed754b00be27b62a219597e7c")) (package (name "emacs-lice-el") - (version (git-version "0.2" "1" commit)) + (version (git-version "0.2" "2" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -15976,8 +16238,26 @@ Magit.") (file-name (git-file-name name version)) (sha256 (base32 - "0879z761b7gajkhq176ps745xpdrivch349crransv8fnsc759yb")))) + "0yxkjyhfk8kpr8yqz54gdx6xwkj4s8bnbz60162jh12crj0bs5n7")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-template-directory + (lambda* (#:key outputs #:allow-other-keys) + (chmod "lice.el" #o666) + (emacs-substitute-variables "lice.el" + ("lice:system-template-directory" + (string-append (assoc-ref outputs "out") + "/share/emacs-lice-el/template"))) + #t)) + (add-after 'install 'install-templates + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively + "template" + (string-append (assoc-ref outputs "out") + "/share/emacs-lice-el/template")) + #t))))) (home-page "https://github.com/buzztaiki/lice-el") (synopsis "License and header template for Emacs") (description "@code{lice.el} provides following features: @@ -16924,6 +17204,27 @@ visiting the bookmark, a new @code{eshell} session will be opened in the appropriate directory if no @code{eshell} session is active.") (license license:gpl3+))) +(define-public emacs-eshell-syntax-highlighting + (package + (name "emacs-eshell-syntax-highlighting") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/akreisher/eshell-syntax-highlighting") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0id27874wsb5y169030x8g1ldpa1mnskv1s2j3ygqiyh5fvpfash")))) + (build-system emacs-build-system) + (home-page "https://github.com/akreisher/eshell-syntax-highlighting") + (synopsis "Add syntax highlighting to Eshell") + (description + "This package highlights user commands at the Eshell interactive prompt +to provide feedback on the validity of commands and syntax.") + (license license:gpl3+))) + (define-public emacs-eshell-z (package (name "emacs-eshell-z") @@ -19478,8 +19779,8 @@ stored playlists.") (define-public emacs-vterm (let ((version "0") - (revision "2") - (commit "f41849c2c9c1899f22d1c3d4f871ec47c82627ce")) + (revision "3") + (commit "14e4afdfc160b2e625c3e483d169786ac00cb4fe")) (package (name "emacs-vterm") (version (git-version version revision commit)) @@ -19491,7 +19792,7 @@ stored playlists.") (file-name (git-file-name name version)) (sha256 (base32 - "1b5s1101n7a2lnpkbadm1h4k6z295fpijx0rdpmd05dkhyarax6n")))) + "0wl613rxw493i3397n34qwqnd5fkyqrnn1fx3y2040xhvjl9rx70")))) (build-system emacs-build-system) (arguments `(#:modules ((guix build emacs-build-system) @@ -19616,7 +19917,7 @@ according to their use.") (define-public emacs-dtrt-indent (package (name "emacs-dtrt-indent") - (version "0.8") + (version "1.2") (source (origin (method git-fetch) (uri (git-reference @@ -19625,7 +19926,7 @@ according to their use.") (file-name (git-file-name name version)) (sha256 (base32 - "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z")))) + "0p5v5xwr0s59hv3s0f85byafphc85qv76g41crad9fhnxzab9rly")))) (build-system emacs-build-system) (home-page "https://github.com/jscheid/dtrt-indent") (synopsis "Minor mode that guesses the indentation offset") @@ -21861,7 +22162,7 @@ it forcibly (define-public emacs-elpher (package (name "emacs-elpher") - (version "2.9.1") + (version "2.10.2") (source (origin (method git-fetch) @@ -21870,7 +22171,7 @@ it forcibly (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0vyqmv7dycmad1726yb6yizd21x3kkz5cj33mca11r8nh38f1qzp")))) + (base32 "0xqiisirpvw4ka9417pq4r73x937wl3qbf8cpn2i03akm8d58smd")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -22906,6 +23207,52 @@ icon support, git integration, and several other utilities.") (home-page "https://github.com/seagle0128/doom-modeline/") (license license:gpl3+))) +(define-public emacs-mood-line + (package + (name "emacs-mood-line") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/jessieh/mood-line") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0fh9j9fkgl433nykfzjnzap5labi4sdndfk1nv4f904ij69pmvxb")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/jessieh/mood-line") + (synopsis "Minimal mode-line for Emacs") + (description + "Mood-line is a minimal Emacs mode-line configuration that aims to +replicate some of the features of the Doom modeline package.") + (license license:gpl2+))) + +(define-public emacs-frames-only-mode + (package + (name "emacs-frames-only-mode") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidshepherd7/frames-only-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y0sdjixaxvywrlp2sw51wnczhk51q1svl5aghbk9rkxpwv9ys9v")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/davidshepherd7/frames-only-mode") + (synopsis "Use frames instead of Emacs windows") + (description + "This is an Emacs global minor mode to use Emacs frames instead of Emacs' +internal windowing system. This combines particularly well with tiling window +managers such as XMonad.") + (license license:gpl3+))) + (define-public emacs-shrink-path (package (name "emacs-shrink-path") @@ -23121,30 +23468,26 @@ interface.") (license license:gpl3+)))) (define-public emacs-ivy-posframe - (let ((commit "ae9bafe94fe6b77b6fe45766ae6172646f6a5d50")) - (package - (name "emacs-ivy-posframe") - (version (git-version "0.1.0" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tumashu/ivy-posframe") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1j6yns5d7lh2v1nfcznrirl7qicdli9csciqvfgj4gkh72a97pw1")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-posframe" ,emacs-posframe) - ("emacs-ivy" ,emacs-ivy))) - (home-page "https://github.com/tumashu/ivy-posframe") - (synopsis "Pop a posframe (a child frame) to show Ivy candidates") - (description - "This package provides an Emacs Ivy extension, which let Ivy use + (package + (name "emacs-ivy-posframe") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "ivy-posframe-" version ".el")) + (sha256 + (base32 "1yi5avbgk143xs82yqiia7yhh6jjjm22lpmwaq0ysw5mdpazjxfa")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy) + ("emacs-posframe" ,emacs-posframe))) + (home-page "https://github.com/tumashu/ivy-posframe") + (synopsis "Pop a posframe (a child frame) to show Ivy candidates") + (description + "This package provides an Emacs Ivy extension, which let Ivy use posframe to show its candidate menu.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-shackle (let ((commit "7ccbe513852a1d1700b698547efca14b8940319d") @@ -23783,7 +24126,7 @@ files and subdirectories when appropriate.") (define-public emacs-meson-mode (package (name "emacs-meson-mode") - (version "0.2") + (version "0.3") (source (origin (method git-fetch) @@ -23792,7 +24135,7 @@ files and subdirectories when appropriate.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1720b3hpfqd989zrgcns51jbjrv4vzl9di9mccl55vkmkbqzfin0")))) + (base32 "0hlqvq3j4f6g16nj3bm2wbkncn8hv8c8iqd0sch3w80wwqnr622y")))) (build-system emacs-build-system) (home-page "https://github.com/wentasah/meson-mode") (synopsis "Major mode for Meson build system files") @@ -24046,7 +24389,7 @@ Files} (@url{http://tools.ietf.org/html/rfc4180}).") (define-public emacs-org-journal (package (name "emacs-org-journal") - (version "2.0.0") + (version "2.1.1") (source (origin (method git-fetch) @@ -24055,7 +24398,7 @@ Files} (@url{http://tools.ietf.org/html/rfc4180}).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg")))) + (base32 "1p9i6v3bwi1ab576vc9qg1ki91197d6nkkg857s52zsan1zlkzzw")))) (build-system emacs-build-system) (home-page "https://github.com/bastibe/org-journal") (synopsis "Simple Org mode journaling mode") @@ -24489,7 +24832,7 @@ picked up when copy-pasting text from buffer to buffer.") (define-public emacs-org-webring (package (name "emacs-org-webring") - (version "1.6") + (version "1.9") (source (origin (method git-fetch) @@ -24499,7 +24842,7 @@ picked up when copy-pasting text from buffer to buffer.") (file-name (git-file-name name version)) (sha256 (base32 - "00d7jqsbfa08rhyv3ry87rgy9ikv233spn4rz0d3riy0bp7b7j6b")))) + "09lm2h5d6xcdwilbmi6xs4qz33d0442m9iys9k36q9vhhakl7w4x")))) (build-system emacs-build-system) (arguments `(#:phases @@ -24549,7 +24892,7 @@ displayed for sharing.") buffer on an active webserver to which the user has SSH access. It is similar in purpose to services such as Gist or Pastebin, but is much simpler since it assumes the user has access to a -publically-accessible HTTP server.") +publicly-accessible HTTP server.") (license license:gpl3+)))) (define-public emacs-company-reftex @@ -24576,3 +24919,35 @@ publically-accessible HTTP server.") label references and citations in LaTeX. It is based on RefTeX, which is included with Emacs.") (license license:gpl3+))) + +(define-public emacs-html-to-hiccup + ;; Package has no release. Version is extracted from "Version:" keyword in + ;; main file. + (let ((commit "50a52e2b0d13d865187acdf775b8203d5003f2f1") + (revision "0")) + (package + (name "emacs-html-to-hiccup") + (version (git-version "1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/plexus/html-to-hiccup") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qi092mw2n08v6yr0j6hlpx0pnlcnhxjqbsrlw9pn4yin6zk91yp")))) + (build-system emacs-build-system) + (propagated-inputs + `(("dash" ,emacs-dash) + ("s" ,emacs-s))) + (home-page "https://github.com/plexus/html-to-hiccup") + (synopsis "Turn HTML into Hiccup syntax") + (description + "This is an Emacs package that turns HTML into Hiccup syntax +which is a popular notation to use when doing Clojure/ClojureScript +web development.") + ;; There is a conflict between the repository official LICENSE + ;; file and the header of the main elisp file which indicates + ;; that it is licensed under the GPL version 3 or later. + (license (list license:mpl2.0 license:gpl3+))))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 03c28ee7a7..4963379d74 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -196,11 +196,16 @@ (lambda* (#:key outputs #:allow-other-keys) ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped ;; twice. This also fixes a minor issue, where WMs would not be - ;; able to track emacs back to emacs.desktop. + ;; able to track emacs back to emacs.desktop. The version is + ;; accessed using using THIS-PACKAGE so it "just works" for + ;; inherited Emacs packages of different versions. (with-directory-excursion (assoc-ref outputs "out") (copy-file (string-append "bin/emacs-" - ,(version-major+minor (package-version emacs))) + ,(let ((this-version (package-version this-package))) + (or (false-if-exception + (version-major+minor+point this-version)) + (version-major+minor this-version)))) "bin/emacs") #t))) (add-before 'reset-gzip-timestamps 'make-compressed-files-writable @@ -279,11 +284,10 @@ languages.") (define-public emacs-next (let ((commit "2ea34662c20f71d35dd52a5ed996542c7386b9cb") - (revision "0") - (emacs-version "28.0.50.1")) + (revision "0")) (package/inherit emacs (name "emacs-next") - (version (git-version emacs-version revision commit)) + (version (git-version "28.0.50" revision commit)) (source (origin (inherit (package-source emacs)) @@ -295,24 +299,20 @@ languages.") (sha256 (base32 "0igjm9kwiswn2dpiy2k9xikbdfc7njs07ry48fqz70anljj8y7y3")))) - (arguments - (substitute-keyword-arguments (package-arguments emacs) - ((#:phases phases) - `(modify-phases ,phases - (replace 'strip-double-wrap - (lambda* (#:key outputs #:allow-other-keys) - ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped - ;; twice. This also fixes a minor issue, where WMs would not be - ;; able to track emacs back to emacs.desktop. - (with-directory-excursion (assoc-ref outputs "out") - (copy-file (string-append - "bin/emacs-" - ,(version-major+minor+point (package-version emacs-next))) - "bin/emacs") - #t))))))) (native-inputs `(("autoconf" ,autoconf) - ,@(package-native-inputs emacs)))))) + ,@(package-native-inputs emacs))) + (native-search-paths + (list (search-path-specification + (variable "EMACSLOADPATH") + ;; The versioned entry is for the Emacs' builtin libraries. + (files (list "share/emacs/site-lisp" + (string-append "share/emacs/" + (version-major+minor+point version) + "/lisp")))) + (search-path-specification + (variable "INFOPATH") + (files '("share/info")))))))) (define-public emacs-minimal ;; This is the version that you should use as an input to packages that just diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index d20027dba0..0ce04dfaa5 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -53,6 +53,7 @@ #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages fribidi) #:use-module (gnu packages game-development) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) @@ -1327,34 +1328,20 @@ multi-system game/emulator system.") (define-public scummvm (package (name "scummvm") - (version "2.1.2") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "http://www.scummvm.org/frs/scummvm/" version "/scummvm-" version ".tar.xz")) (sha256 - (base32 "1c4fz1nfg0nqnqx9iipayhzcsiqdmfxm2i95nw9dbhshhsdnrhf4")))) + (base32 "11vknasm5dna2vqr6gk343qynh7nhsq3kf60zayarn1vb5z6as8l")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;require "git" #:configure-flags (list "--enable-release") ;for optimizations #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-build - ;; XXX: The following works around a build failure introduced when - ;; Fluidsynth was updated to version 2.1. It has been applied - ;; upstream as 68758a879e0c8ecc0d40962516d4e808aa4e15e5 and can be - ;; removed once this commit makes it into a release. - (lambda _ - (substitute* "audio/softsynth/fluidsynth.cpp" - (("#include <fluidsynth.h>") "") - (("#include \"common/scummsys.h\"") "#include \"config.h\"") - (("#include \"common/config-manager.h\"" line) - (string-append "#include <fluidsynth.h>\n" - "#include \"common/scummsys.h\"\n" - line))) - #t)) (replace 'configure ;; configure does not work followed by both "SHELL=..." and ;; "CONFIG_SHELL=..."; set environment variables instead @@ -1374,6 +1361,7 @@ multi-system game/emulator system.") ("faad2" ,faad2) ("fluidsynth" ,fluidsynth) ("freetype" ,freetype) + ("fribidi" ,fribidi) ("liba52" ,liba52) ("libflac" ,flac) ("libjpeg-turbo" ,libjpeg-turbo) @@ -1397,7 +1385,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.224") + (version "0.225") (source (origin (method git-fetch) @@ -1406,7 +1394,7 @@ play them on systems for which they were never designed!") (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 "0dpg4hz2f1wlp0rmk5c5xq57fy0sblh97z3l66p814wkgzap4bhx")) + (base32 "1n61v1yqmc69399khcm8gdabqaz8rwwj822m8vm5mbyxnw92icqg")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -1891,7 +1879,7 @@ framework based on QEMU.") (define-public ppsspp (package (name "ppsspp") - (version "1.10") + (version "1.10.3") (source (origin (method git-fetch) @@ -1899,7 +1887,7 @@ framework based on QEMU.") (url "https://github.com/hrydgard/ppsspp") (commit (string-append "v" version)))) (sha256 - (base32 "02yx1w0ygclnmdl0imsvgj24lkzi55wvxkf47q617j0jgrqhy8yl")) + (base32 "0znxlbj6cfw7gn0naay0mzhc0k5saw8nrwpspcn7gap1023p06w2")) (file-name (git-file-name name version)) (patches (search-patches "ppsspp-disable-upgrade-and-gold.patch")) @@ -1950,7 +1938,7 @@ framework based on QEMU.") " spirv-cross-reflect spirv-cross-util"))) (substitute* "ext/CMakeLists.txt" (("add_subdirectory\\(glew\\)") "") - (("add_subdirectory\\(glslang\\)") "") + (("add_subdirectory\\(glslang( [A-Z_]*)*\\)") "") (("add_subdirectory\\(snappy\\)") "") (("add_subdirectory\\(SPIRV-Cross-build\\)") "")) ;; Finally, we can delete the bundled sources. @@ -1993,14 +1981,14 @@ framework based on QEMU.") ;; TODO: unbundle armips. ("armips-source" ,(package-source armips)) ("lang" - ,(let ((commit "d184ba2b607a03435be579406b816c90add334e6")) + ,(let ((commit "1c64b8fbd3cb6bd87935eb53f302f7de6f86e209")) (origin (method git-fetch) (uri (git-reference (url "https://github.com/hrydgard/ppsspp-lang") (commit commit))) (sha256 - (base32 "0s003x6247nx09qd6a1jz1l2hsk5d6k1zmh8mg3m6hjjhvbvd9j9")) + (base32 "0rprn3yd8xfrvi0fm62sgpqa8n73jk7zmlscp8cp0h2fawqpiamd")) (file-name (git-file-name "ppsspp-lang" commit))))) ("tests" ,(let ((commit "328b839c7243e7f733f9eae88d059485e3d808e7")) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index a01548b1b7..14d3de88ba 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -426,16 +427,16 @@ optimizer; and it can produce photorealistic and design review images.") (define-public pcb-rnd (package (inherit pcb) (name "pcb-rnd") - (version "2.2.3") + (version "2.2.4") (source (origin (method url-fetch) (uri (string-append "http://repo.hu/projects/pcb-rnd/releases/" "pcb-rnd-" version ".tar.gz")) (sha256 (base32 - "0j650498d87b4xsggzc0xlk73k0hhj43wfy45qz2lcn0xc3bks1m")))) + "06ylc2rd4yvzp3krk62q9dbi13h0yq1x257fbjkh10vfjn0ga5c2")))) (arguments - `(#:tests? #f ; no check target + `(#:tests? #f ; no check target #:phases (modify-phases %standard-phases (add-after 'unpack 'cc-is-gcc @@ -1328,21 +1329,26 @@ developed at MIT to model electromagnetic systems.") (define-public adms (package (name "adms") - (version "2.3.6") + (version "2.3.7") (source (origin - (method url-fetch) - (uri - (string-append - "mirror://sourceforge/mot-adms/adms-source/" - (version-major+minor version) "/adms-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/Qucs/ADMS") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1rn98l6jxcjhi6ai5f7p588khra9z80m0m0lql4n4sb7773fh1vk")))) + "0i37c9k6q1iglmzp9736rrgsnx7sw8xn3djqbbjw29zsyl3pf62c")))) (build-system gnu-build-system) (native-inputs - `(("flex" ,flex) - ("bison" ,bison))) - (home-page "https://sourceforge.net/projects/mot-adms") + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bison" ,bison) + ("flex" ,flex) + ("libtool" ,libtool) + ("perl" ,perl) + ("perl-xml-libxml" ,perl-xml-libxml))) + (home-page "https://github.com/Qucs/ADMS") (synopsis "Automatic device model synthesizer") (description "ADMS is a code generator that converts electrical compact device models diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index dc3114d58b..ed15cd28d2 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -31,7 +31,6 @@ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages algebra) - #:use-module (gnu packages avahi) #:use-module (gnu packages bittorrent) #:use-module (gnu packages check) #:use-module (gnu packages code) @@ -69,7 +68,7 @@ (define-public efl (package (name "efl") - (version "1.24.3") + (version "1.25.1") (source (origin (method url-fetch) (uri (string-append @@ -77,10 +76,10 @@ version ".tar.xz")) (sha256 (base32 - "0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy")))) + "0svybbrvpf6q955y6fclxh3md64z0dgmh0x54x2j60503hhs071m")))) (build-system meson-build-system) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs @@ -115,8 +114,7 @@ (propagated-inputs ;; All these inputs are in package config files in section ;; Requires.private. - `(("avahi" ,avahi) - ("dbus" ,dbus) + `(("dbus" ,dbus) ("elogind" ,elogind) ("eudev" ,eudev) ("fontconfig" ,fontconfig) @@ -137,13 +135,9 @@ ("wayland" ,wayland) ("zlib" ,zlib))) (arguments - `(#:configure-flags '("-Dsystemd=false" - "-Delogind=true" - "-Dembedded-lz4=false" - "-Devas-loaders-disabler=json" + `(#:configure-flags '("-Dembedded-lz4=false" "-Dbuild-examples=false" "-Decore-imf-loaders-disabler=scim" - "-Davahi=true" "-Dglib=true" "-Dmount-path=/run/setuid-programs/mount" "-Dunmount-path=/run/setuid-programs/umount" @@ -164,6 +158,7 @@ (let ((curl (assoc-ref inputs "curl")) (pulse (assoc-ref inputs "pulseaudio")) (sndfile (assoc-ref inputs "libsndfile")) + (elogind (assoc-ref inputs "elogind")) (lib "/lib/")) (substitute* "src/lib/ecore_con/ecore_con_url_curl.c" (("libcurl.so.?" libcurl) ; libcurl.so.[45] @@ -173,6 +168,9 @@ (string-append pulse lib libpulse)) (("libsndfile.so.1" libsnd) (string-append sndfile lib libsnd))) + (substitute* "src/lib/elput/elput_logind.c" + (("libelogind.so.0" libelogind) + (string-append elogind "/lib/" libelogind))) #t))) (add-after 'unpack 'fix-install-paths (lambda _ @@ -181,6 +179,8 @@ "install_dir: join_paths(dir_data, 'dbus-1', 'services'))\n")) (substitute* "src/tests/elementary/meson.build" (("dir_data") "meson.source_root(), 'test-output'")) + (substitute* "data/eo/meson.build" + (("'usr', 'lib'") "'./' + dir_lib")) #t)) (add-after 'unpack 'set-home-directory ;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2 @@ -385,7 +385,7 @@ embedded systems.") (define-public python-efl (package (name "python-efl") - (version "1.24.0") + (version "1.25.0") (source (origin (method url-fetch) @@ -393,7 +393,7 @@ embedded systems.") "python/python-efl-" version ".tar.xz")) (sha256 (base32 - "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy")) + "0bk161xwlz4dlv56r68xwkm8snzfifaxd1j7w2wcyyk4fgvnvq4r")) (modules '((guix build utils))) ;; Remove files generated by Cython (snippet @@ -470,7 +470,7 @@ Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).") (lambda _ (setenv "HOME" "/tmp") #t))) #:tests? #f)) ; tests require running dbus service (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs @@ -566,19 +566,20 @@ directories. (define-public evisum (package (name "evisum") - (version "0.5.4") + (version "0.5.6") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" "evisum/evisum-" version ".tar.xz")) (sha256 - (base32 "1ip3w2d476g45sivqvm1madfyqmkni9q2i99qqxk53859jgs91pa")))) + (base32 "1l8pym7738kncvic5ga03sj9d5igigvmcxa9lbg47z2yvdjwzv97")))) (build-system meson-build-system) (arguments '(#:tests? #f)) ; no tests (native-inputs - `(("pkg-config" ,pkg-config))) + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) (inputs `(("efl" ,efl))) (home-page "https://www.enlightenment.org") diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm index cacb5ab7f5..49e1060b5f 100644 --- a/gnu/packages/entr.scm +++ b/gnu/packages/entr.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. @@ -21,23 +21,26 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages entr) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages ncurses) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix utils)) (define-public entr (package (name "entr") - (version "4.2") + (version "4.6") (source (origin (method url-fetch) (uri (string-append "http://entrproject.org/code/entr-" version ".tar.gz")) (sha256 (base32 - "0w2xkf77jikcjh15fp9g7661ss30pz3jbnh261vqpaqavwah4c17")))) + "0vcflgagna2gdlpjsd6748c73j2829xlhm276mi838zl1n121phn")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -47,20 +50,24 @@ (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (setenv "CONFIG_SHELL" (which "bash")) - (setenv "CC" (which "gcc")) - (setenv "DESTDIR" (string-append out "/")) - (setenv "PREFIX" "") - (setenv "MANPREFIX" "man") + (setenv "CC" ,(cc-for-target)) + (setenv "PREFIX" out) + (setenv "MANPREFIX" (string-append out "/man")) (invoke "./configure")))) (add-before 'build 'remove-fhs-file-names - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* "entr.c" - (("/bin/sh") (which "sh")) - (("/bin/cat") (which "cat")) - (("/usr/bin/clear") (which "clear"))) + (("/bin/sh" command) + (string-append (assoc-ref inputs "bash") command)) + (("/bin/cat" command) + (string-append (assoc-ref inputs "coreutils") command)) + (("/usr(/bin/clear)" _ command) + (string-append (assoc-ref inputs "ncurses") command))) #t))))) - ;; ncurses provides the `clear' binary - (inputs `(("ncurses" ,ncurses))) + (inputs + `(("bash" ,bash) + ("coreutils" ,coreutils) + ("ncurses" ,ncurses))) (home-page "http://entrproject.org/") (synopsis "Run arbitrary commands when files change") (description diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index 279a9c8186..d52edf1750 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,14 +98,14 @@ by the different predictive algorithms.") (define-public fcitx (package (name "fcitx") - (version "4.2.9.7") + (version "4.2.9.8") (source (origin (method url-fetch) (uri (string-append "http://download.fcitx-im.org/fcitx/" "fcitx-" version "_dict.tar.xz")) (sha256 (base32 - "13vg7yzfq0vj2r8zdf9ly3n243nwwggkhd5qv3z6yqdyj0m3ncyg")))) + "1iik80l7g8yk9iwsls6nl9whwgm0sj8i7s6s0bz4c5anl35iaddw")))) (build-system cmake-build-system) (outputs '("out" "gtk2" "gtk3")) (arguments diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index b8612ac3b2..6ceaad4fd1 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,6 +142,46 @@ large and/or frequently changing (network) environment.") (license (list license:bsd-3 ; modules/cyrus-sasl.c license:gpl2+)))) ; the rest +(define-public bindfs + (package + (name "bindfs") + (version "1.14.8") + (source (origin + (method url-fetch) + (uri (string-append "https://bindfs.org/downloads/bindfs-" + version ".tar.gz")) + (sha256 + (base32 + "15y4brlcrqhxl6z73785m0dr1vp2q3wc6xss08x9jjr0apzmmjp5")))) + (build-system gnu-build-system) + (arguments + ;; XXX: The tests have no hope of passing until there is a "nogroup" + ;; entry (or at least some group to which the guix builder does + ;; not belong) in the /etc/group file of the build environment. + ;; Currently we do not have such a group. Disable tests for now. + '(#:tests? #f)) + (native-inputs + ;; Native inputs to run the tests + ;; ("ruby" ,ruby) + ;; ("valgrind" ,valgrind) + ;; ("which" ,which) + `(("pkg-config" ,pkg-config))) + (inputs + `(("fuse" ,fuse))) + (home-page "https://bindfs.org") + (synopsis "Bind mount a directory and alter permission bits") + (description + "@command{bindfs} is a FUSE filesystem for mounting a directory to +another location, similar to @command{mount --bind}. It can be used for: +@itemize +@item Making a directory read-only. +@item Making all executables non-executable. +@item Sharing a directory with a list of users (or groups). +@item Modifying permission bits using rules with chmod-like syntax. +@item Changing the permissions with which files are created. +@end itemize ") + (license license:gpl2+))) + (define-public fsarchiver (package (name "fsarchiver") @@ -504,8 +545,8 @@ non-determinism in the build process.") (lambda _ (invoke "./autogen.sh")))))) (native-inputs `(("pkg-config" ,pkg-config) - ("libtirpc", libtirpc) - ("rpcsvc-proto", rpcsvc-proto) + ("libtirpc" ,libtirpc) + ("rpcsvc-proto" ,rpcsvc-proto) ("python-2" ,python-2) ; must be version 2 ("flex" ,flex) ("bison" ,bison) @@ -515,15 +556,15 @@ non-determinism in the build process.") ("cmocka" ,cmocka))) (inputs `(("acl" ,acl) - ("fuse", fuse) + ("fuse" ,fuse) ("openssl" ,openssl) ("liburcu" ,liburcu) ("libuuid" ,util-linux "lib") ("libxml2" ,libxml2) ("readline" ,readline) ("zlib" ,zlib) - ("libaio", libaio) - ("rdma-core", rdma-core))) + ("libaio" ,libaio) + ("rdma-core" ,rdma-core))) (home-page "https://www.gluster.org") (synopsis "Distributed file system") (description "GlusterFS is a distributed scalable network file system @@ -768,7 +809,7 @@ community.") (define-public mergerfs (package (name "mergerfs") - (version "2.29.0") + (version "2.31.0") (source (origin (method url-fetch) @@ -776,7 +817,7 @@ community.") version "/mergerfs-" version ".tar.gz")) (sha256 (base32 - "17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk")))) + "0k4asbg5n9dhy5jpjkw6simqqnr1zira2y4i71cq05091dfwm90p")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests exist. @@ -797,8 +838,9 @@ community.") ;; The Makefile does not allow overriding PREFIX via make variables. (substitute* '("Makefile" "libfuse/Makefile") (("= /usr/local") (string-append "= " (assoc-ref outputs "out"))) + (("= /sbin") "= $(EXEC_PREFIX)/sbin") ;; cannot chown as build user - (("chown root:root") "true")) + (("chown root(:root)?") "true")) #t))))) ;; mergerfs bundles a heavily modified copy of libfuse. (inputs `(("util-linux" ,util-linux))) @@ -813,8 +855,8 @@ is similar to mhddfs, unionfs, and aufs.") )))) (define-public mergerfs-tools - (let ((commit "c926779d87458d103f3b674603bf97801ae2486d") - (revision "1")) + (let ((commit "480296ed03d1c3c7909697d7ef96d35840ee26b8") + (revision "2")) (package (name "mergerfs-tools") ;; No released version exists. @@ -828,7 +870,7 @@ is similar to mhddfs, unionfs, and aufs.") (file-name (git-file-name name version)) (sha256 (base32 - "04hhwcib0xv4cf1mkj8zrp2aqpxkncml9iqg4m1mz6a5zhzsk0vm")))) + "0xr06gi4xcr832rzy0hkp5c1n231s7w5iq1nkjvx9kvm0dl7chpq")))) (build-system copy-build-system) (inputs `(("python" ,python) @@ -917,5 +959,5 @@ Dropbox API v2.") (synopsis "User-space file system for Dropbox") (description "@code{dbxfs} allows you to mount your Dropbox folder as if it were a -local filesystem using FUSE.") +local file system using FUSE.") (license license:gpl3+))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 111069cb08..182d38c1a9 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -173,14 +173,14 @@ line client and a client based on Qt.") (define-public homebank (package (name "homebank") - (version "5.4.2") + (version "5.4.3") (source (origin (method url-fetch) (uri (string-append "http://homebank.free.fr/public/homebank-" version ".tar.gz")) (sha256 (base32 - "0bkjvd819kw9cwmr3macggbg8yil3yc8v2za8pjrl6g746s89kn6")))) + "02wd569viwy6ncy0144z9nxr3zmpl4shkqhz7zzwyky4gknxf8lj")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -480,7 +480,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.1.0") + (version "4.1.1") (source (origin (method git-fetch) @@ -489,14 +489,14 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1ccfm6kkmbkvykfdzrisxvr0lx9kgq4l43ixk6v3xnvhnbfwz4s2")))) + (base32 "1fllz2s20lg4hrppzmnlgjy9mrq7gaq66l2apb3vz1avzvsjw3gm")))) (build-system python-build-system) (inputs `(("libevent" ,libevent) - ("libsecp256k1", libsecp256k1-bitcoin-cash) + ("libsecp256k1" ,libsecp256k1-bitcoin-cash) ("openssl" ,openssl) ("python-cython" ,python-cython) - ("python-dateutil", python-dateutil) + ("python-dateutil" ,python-dateutil) ("python-dnspython" ,python-dnspython) ("python-ecdsa" ,python-ecdsa) ("python-hidapi" ,python-hidapi) @@ -555,7 +555,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.16.0.3") + (version "0.17.1.0") (source (origin (method git-fetch) @@ -575,7 +575,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch "external/unbound")) #t)) (sha256 - (base32 "1r9x3712vhb24dxxirfiwj5f9x0h4m7x0ngiiavf5983dfdlgz33")))) + (base32 "1cngniv7sndy8r0fcfgk737640k53q3kwd36g891p5igcb985qdw")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -605,7 +605,6 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch #:configure-flags (list "-DARCH=default" "-DBUILD_TESTS=ON" - "-DBUILD_GUI_DEPS=ON" (string-append "-DReadline_ROOT_DIR=" (assoc-ref %build-inputs "readline"))) #:phases @@ -651,17 +650,11 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (invoke "tests/unit_tests/unit_tests" (string-append "--gtest_filter=-" excluded-unit-tests))))) - (add-after 'install 'install-librandomx - (lambda* (#:key outputs #:allow-other-keys) - (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) - (install-file "external/randomx/librandomx.a" lib) - #t))) - (add-after 'install 'delete-dead-links + (add-after 'install 'delete-unused-files (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (delete-file (string-append out "/lib/libprotobuf.so")) - (delete-file (string-append out "/lib/libusb-1.0.so")) - #t)))))) + (delete-file-recursively (string-append out "/include"))) + #t))))) (home-page "https://web.getmonero.org/") (synopsis "Command-line interface to the Monero currency") (description @@ -672,7 +665,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.16.0.3") + (version "0.17.1.0") (source (origin (method git-fetch) @@ -681,21 +674,15 @@ the Monero command line client and daemon.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0iwjp8x5swy8i8pzrlm5v55awhm54cf48pm1vz98lcq361lhfzk6")))) + (base32 "07r78ipv4g3i6z822kq380vi3qwlb958rccsy6lyybkhj9y0rx84")))) (build-system qt-build-system) (native-inputs - `(("monero-source" ,(package-source monero)) - ("pkg-config" ,pkg-config) - ("qttools" ,qttools))) + `(,@(package-native-inputs monero) + ("monero-source" ,(package-source monero)))) (inputs - `(("boost" ,boost) - ("hidapi" ,hidapi) + `(,@(package-inputs monero) ("libgcrypt" ,libgcrypt) - ("libsodium" ,libsodium) - ("libunwind" ,libunwind) - ("libusb" ,libusb) - ("openssl" ,openssl) - ("protobuf" ,protobuf) + ("monero" ,monero) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtgraphicaleffects" ,qtgraphicaleffects) @@ -704,78 +691,54 @@ the Monero command line client and daemon.") ("qtquickcontrols" ,qtquickcontrols) ("qtquickcontrols2",qtquickcontrols2) ("qtsvg" ,qtsvg) - ("qtxmlpatterns" ,qtxmlpatterns) - ("unbound" ,unbound))) - (propagated-inputs - `(("monero" ,monero))) + ("qtxmlpatterns" ,qtxmlpatterns))) (arguments `(#:tests? #f ; No tests + #:configure-flags + (list "-DARCH=default" + "-DENABLE_PASS_STRENGTH_METER=ON" + (string-append "-DReadline_ROOT_DIR=" + (assoc-ref %build-inputs "readline")) + "-DCMAKE_BUILD_TYPE=Release") #:phases (modify-phases %standard-phases - (add-after 'unpack 'get-monero-extra-files - ;; Some headers and GnuPG public keys of the monero package source - ;; code are required to build the GUI. + (add-after 'unpack 'extract-monero-sources + ;; Some of the monero package source code is required + ;; to build the GUI. (lambda* (#:key inputs #:allow-other-keys) - (invoke "tar" "-xv" "--wildcards" "--strip-components=1" + (invoke "tar" "-xv" "--strip-components=1" "-C" "monero" - "-f" (assoc-ref inputs "monero-source") - "*.asc" "*.h") + "-f" (assoc-ref inputs "monero-source")) #t)) - (add-after 'get-monero-extra-files 'fix-makefile-vars + (add-after 'extract-monero-sources 'fix-build (lambda _ + (substitute* "monero/src/version.cpp.in" + (("@VERSION_IS_RELEASE@") + "false")) + (substitute* "src/version.js.in" + (("@VERSION_TAG_GUI@") + ,version)) (substitute* "src/zxcvbn-c/makefile" (("\\?=") "=")) #t)) - (add-after 'fix-makefile-vars 'fix-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((boost (assoc-ref inputs "boost")) - (monero (assoc-ref inputs "monero")) - (openssl (assoc-ref inputs "openssl")) - (qttools (assoc-ref inputs "qttools")) - (out (assoc-ref outputs "out"))) - (substitute* "monero-wallet-gui.pro" - (("-L/usr/local/lib") - "") - (("-L/usr/local/opt/openssl/lib") - (string-append "-L" openssl "/lib")) - (("-L/usr/local/opt/boost/lib") - (string-append "-L" boost "/lib")) - (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") - (string-append qttools "/bin/lrelease")) - (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") - (string-append qttools "/bin/lupdate"))) - (substitute* "deployment.pri" - (("/opt/\\$\\$\\{TARGET\\}/bin") - (string-append out "/bin"))) - (substitute* "src/daemon/DaemonManager.cpp" - (("QApplication::applicationDirPath\\(\\) \\+ \"/monerod") - (string-append "\"" monero "/bin/monerod"))) - #t))) - (add-after 'fix-paths 'make-qt-deterministic - (lambda _ - (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t)) - (add-after 'make-qt-deterministic 'fix-version + (add-before 'configure 'generate-zxcvbn-c-header (lambda _ - (substitute* "build.sh" - (("echo .*> version.js") - "")) - (with-output-to-file "version.js" - (lambda _ - (format #t - "var GUI_VERSION = \"~a\"~@ - var GUI_MONERO_VERSION = \"~a\"~%" - ,version - ,(package-version monero)))) + (invoke "make" "-C" "src/zxcvbn-c" "dict-src.h"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (install-file "../build/bin/monero-wallet-gui" bin)) #t)) - (replace 'configure - (lambda _ - (mkdir-p "build") - (chdir "build") - (invoke "qmake" "../monero-wallet-gui.pro" "CONFIG+=release"))) - (add-before 'build 'build-zxcvbn-c - (lambda _ - (invoke "make" "-C" "../src/zxcvbn-c")))))) + (add-after 'qt-wrap 'install-monerod-link + ;; The monerod program must be available so that monero-wallet-gui + ;; can start a Monero daemon if necessary. + (lambda* (#:key inputs outputs #:allow-other-keys) + (symlink (string-append (assoc-ref inputs "monero") + "/bin/monerod") + (string-append (assoc-ref outputs "out") + "/bin/monerod")) + #t))))) (home-page "https://web.getmonero.org/") (synopsis "Graphical user interface for the Monero currency") (description @@ -1061,7 +1024,7 @@ amongst which a great number of VAT and other tax numbers, personal identity and company identification codes, international standard numbers (ISBN, IBAN, EAN, etc.) and various other formats. -The module also inclused implementations of the Verhoeff, +The module also includes implementations of the Verhoeff, Luhn and family of ISO/IEC 7064 check digit algorithms. ") (license license:lgpl2.1+))) @@ -1071,26 +1034,18 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ") (define-public python-duniterpy (package (name "python-duniterpy") - (version "0.57.0") + (version "0.60.0") (source (origin (method url-fetch) (uri (pypi-uri "duniterpy" version)) (sha256 - (base32 "0rw2c7r9gcqhymp82gbk1ky45zqbypsi2q5x4vdwjc6g00kh7h6l")))) + (base32 "0djn6ykmqbp8l2xbg6z8r7rkz9ijgygp2pr0gc6i7dsrlsqmjh32")))) (build-system python-build-system) (arguments - ;; FIXME: Tests fail with: "ModuleNotFoundError: No module named - ;; 'tests'". Not sure how to handle this. - `(#:tests? #f - #:phases - (modify-phases %standard-phases - ;; "setup.py" tries to open missing "requirements.txt". - (add-after 'unpack 'ignore-missing-file - (lambda _ - (substitute* "setup.py" - (("open\\('requirements\\.txt'\\)") "[]")) - #t))))) + ;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required + ;; positional argument: 'value'". + `(#:tests? #f)) (propagated-inputs `(("aiohttp" ,python-aiohttp) ("attrs" ,python-attrs) @@ -1399,7 +1354,7 @@ entity management.") (define-public bitcoin-unlimited (package (name "bitcoin-unlimited") - (version "1.9.0.0") + (version "1.9.0.1") (source (origin (method git-fetch) @@ -1408,7 +1363,7 @@ entity management.") (commit (string-append "BCHunlimited" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1a64h7mcqdra4ahnw1nycp4ysx308ymgbl4yn5fj5jfaszdzvy0h")))) + (base32 "1pan24g3d5csa004d7zvlizj4mv58ly5i579341isp944phl3g5v")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1443,32 +1398,20 @@ entity management.") "/bin/lrelease") (string-append "ac_cv_path_LUPDATE=" (assoc-ref %build-inputs "qttools") - "/bin/lupdate")) + "/bin/lupdate") + "--disable-static") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-build - (lambda _ - ;; The 'stack' header was not included in unlimited.cpp, which - ;; caused the build to fail. - (substitute* "src/unlimited.cpp" - (("#include <queue>" all) - (string-append all "\n#include <stack>"))) - #t)) (add-after 'unpack 'fix-tests (lambda _ - ;; TODO: Find why txvalidationcache_tests fails and - ;; utilprocess_tests never ends. Disable for now. + ;; Disable utilprocess_tests because it never ends. + ;; It looks like it tries to start /bin/sleep and waits until it + ;; is in the list of running processes, but /bin/sleep doesn't + ;; exist. (substitute* "src/Makefile.test.include" - (("test/txvalidationcache_tests.cpp") - "") (("test/utilprocess_tests.cpp") "")) #t)) - (add-before 'configure 'make-qt-deterministic - (lambda _ - ;; Make Qt deterministic. - (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t)) (add-before 'check 'set-home (lambda _ (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index c7ce03b2b7..f39c529beb 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org> ;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net> ;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com> -;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> +;;; Copyright © 2019, 2020 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr> ;;; Copyright © 2019 Alva <alva@skogen.is> @@ -951,19 +951,16 @@ designed to work well in user interface environments.") (define-public font-adobe-source-sans-pro (package (name "font-adobe-source-sans-pro") - (version "2.040R-ro-1.090R-it") + (version "3.028R") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/adobe-fonts/source-sans-pro") - (commit (regexp-substitute/global - ;; The upstream tag uses "/" between the roman and italic - ;; versions, so substitute our "-" separator here. - #f "R-ro-" version 'pre "R-ro/" 'post)))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1lzin2hfwidbvhps7shs201p1bpxy6220xmhhprv9fc8bknd4c45")))) + (base32 "0lgjqi4d5p1q1z00ad807v5qy4z54gmp7jpdaypc0rxk8czv6zq7")))) (build-system font-build-system) (home-page "https://github.com/adobe-fonts/source-sans-pro") (synopsis @@ -976,19 +973,16 @@ work well in user interface (UI) environments.") (define-public font-adobe-source-serif-pro (package (name "font-adobe-source-serif-pro") - (version "2.007R-ro-1.007R-it") + (version "3.001R") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/adobe-fonts/source-serif-pro") - (commit (regexp-substitute/global - ;; The upstream tag uses "/" between the roman and italic - ;; versions, so substitute our "-" separator here. - #f "R-ro-" version 'pre "R-ro/" 'post)))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1vvzfhjpi47m84bzkapylkd5fri8bdm8qng2hiylmmlw0wk4gpas")))) + (base32 "1z0pjvx0jpjwb8vzvc6l5gzlg0mqax4v9pizqcxx82l0ydlfh5bj")))) (build-system font-build-system) (home-page "https://github.com/adobe-fonts/source-serif-pro") (synopsis @@ -1154,14 +1148,14 @@ later hand-tweaked with the gbdfed(1) editor: (define-public font-comic-neue (package (name "font-comic-neue") - (version "2.5") + (version "2.51") (source (origin (method url-fetch/zipbomb) (uri (string-append "http://www.comicneue.com/comic-neue-" version ".zip")) (sha256 (base32 - "1ng0m0zs7qr91qy5ff0l01l27npr76961c6zfkxnhxf68zpwz5k4")))) + "0883542v915crz98v1ij6smgy40dg6gxwsid3j5nbmmqjf69kpal")))) (build-system font-build-system) (arguments `(#:phases @@ -1742,7 +1736,7 @@ This package provides the TrueType fonts.") (define-public font-jetbrains-mono (package (name "font-jetbrains-mono") - (version "2.001") + (version "2.002") (source (origin (method url-fetch) @@ -1750,17 +1744,16 @@ This package provides the TrueType fonts.") (string-append "https://download.jetbrains.com/fonts/" "JetBrainsMono-" version ".zip")) (sha256 - (base32 "0r3dk3kn536rik4mvpcjin9mwmifl3v8mawvb4a5l59pww0vcxzq")))) + (base32 "0lcsl718jhkqgld1xqll7fsv8j968jlf292541fkqxwm8i5g93sn")))) (build-system font-build-system) (arguments `(#:phases (modify-phases %standard-phases - (replace 'install-license-files - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/" ,name "-" ,version))) - (install-file "../LICENSE" doc) - #t)))))) + (add-before 'install-license-files 'change-directory-to-archive-root + ;; Find the LICENSE file outside of the default subdirectory. + (lambda _ + (chdir "..") + #t))))) (home-page "https://www.jetbrains.com/lp/mono/") (synopsis "Mono typeface for developers") (description diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index f6c8dc51f4..f55d43db3a 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -303,7 +303,7 @@ work with most software requiring Type 1 fonts.") (inputs `(("brotli" ,google-brotli))) (synopsis "Libraries and tools for WOFF2 font format") - (description "WOFF2 provides libraires and tools to handle the Web Open + (description "WOFF2 provides libraries and tools to handle the Web Open Font Format (WOFF).") (home-page "https://w3c.github.io/woff/woff2/") (license license:expat))) @@ -556,6 +556,7 @@ using the above tables.") (package (name "libspiro") (version "20190731") + (replacement libspiro-20200505) (source (origin (method url-fetch) @@ -574,6 +575,19 @@ smooth contours with constant curvature at the spline joins.") (license license:gpl2+) (home-page "http://libspiro.sourceforge.net/"))) +(define libspiro-20200505 + (package + (inherit libspiro) + (version "20200505") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/fontforge/libspiro/releases" + "/download/" version "/libspiro-dist-" version ".tar.gz")) + (sha256 + (base32 + "0j8fmyj4wz6mqk17dqs6f8jx0i52n68gv5px17qbrjnbilg9mih6")))))) + (define-public libuninameslist (package (name "libuninameslist") diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index f07c7260f7..c43b0059dc 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -340,7 +340,7 @@ FOSS FPGA place and route tool.") (define-public gtkwave (package (name "gtkwave") - (version "3.3.106") + (version "3.3.107") (source (origin (method url-fetch) @@ -350,7 +350,7 @@ FOSS FPGA place and route tool.") (string-append "http://gtkwave.sourceforge.net/" "gtkwave-" version ".tar.gz"))) (sha256 - (base32 "1pyij6dlmapjyzrmn255fkf8gyhz8i4vaipd75a68i2bnq021nn8")))) + (base32 "1ibnhn7w1awalsbndbb5nilbmih3i3dwfry95mq5sn221l5n7zj8")))) (build-system gnu-build-system) (native-inputs `(("gperf" ,gperf) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 481cb3cd1d..5519f04b11 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -286,14 +286,14 @@ freedesktop.org project.") ;; Updating this will rebuild over 700 packages through libinput-minimal. (package (name "libinput") - (version "1.15.5") + (version "1.16.2") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" "libinput-" version ".tar.xz")) (sha256 (base32 - "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9")))) + "1ab0q4iya07kvjd2g1vzamj9h57qldi15h3b8324vg3szr88qggw")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") @@ -372,7 +372,7 @@ the freedesktop.org XDG Base Directory specification.") (define-public elogind (package (name "elogind") - (version "243.4") + (version "243.7") (source (origin (method git-fetch) (uri (git-reference @@ -381,7 +381,7 @@ the freedesktop.org XDG Base Directory specification.") (file-name (git-file-name name version)) (sha256 (base32 - "141frvgyk4fafcxsix94qc0d9ffrwksld8lqq4hq6xsgjlvv0mrs")))) + "1ccj3cbs9nsfg497wg195in1a7b9csm1jdm7z6q7vvx1ynpjxlxz")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -420,14 +420,6 @@ the freedesktop.org XDG Base Directory specification.") (("join_paths\\(bindir, 'pkttyagent'\\)") "'\"/run/current-system/profile/bin/pkttyagent\"'")) #t)) - (add-after 'unpack 'adjust-dbus-socket-address - (lambda _ - ;; Look for the D-Bus socket in /var/run instead of /run. Remove - ;; this for versions > 243.4. - (substitute* "src/libelogind/sd-bus/bus-internal.h" - (("=/run/dbus/system_bus_socket") - "=/var/run/dbus/system_bus_socket")) - #t)) (add-after 'unpack 'adjust-tests (lambda _ ;; This test tries to copy some bytes from /usr/lib/os-release, @@ -738,14 +730,14 @@ Python.") (define-public wayland (package (name "wayland") - (version "1.17.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "https://wayland.freedesktop.org/releases/" name "-" version ".tar.xz")) (sha256 (base32 - "194ibzwpdcn6fvk4xngr4bf5axpciwg2bj82fdvz88kfmjw13akj")))) + "0k995rn96xkplrapz5k648j651wc43kq817xk1x8280h16gsfxa6")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f)) @@ -774,7 +766,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public wayland-protocols (package (name "wayland-protocols") - (version "1.18") + (version "1.20") (source (origin (method url-fetch) (uri (string-append @@ -782,7 +774,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") "wayland-protocols-" version ".tar.xz")) (sha256 (base32 - "1cvl93h83ymbfhb567jv5gzyq08181w7c46rsw4xqqqpcvkvfwrx")))) + "1rsdgvkkvxs3cjhpl6agvbkm53vm7k8rg127j9y2vn33m2hvg0lp")))) (build-system gnu-build-system) (inputs `(("wayland" ,wayland))) @@ -796,7 +788,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public waylandpp (package (name "waylandpp") - (version "0.2.7") + (version "0.2.8") (home-page "https://github.com/NilsBrause/waylandpp") (source (origin (method git-fetch) @@ -804,10 +796,10 @@ applications, X servers (rootless or fullscreen) or other display servers.") (file-name (git-file-name name version)) (sha256 (base32 - "1r4m0xhvwpcqxrqvp3hz1bzlkxqj2jiymd5r6hj8xjzz536hyprz")))) + "1kxiqab48p0n97pwg8c2zx56wqq32m3rcq7qd2pjj33ipcanb3qq")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ;no tests + `(#:tests? #f)) ; no tests (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -909,41 +901,39 @@ multiplexer to the KMS/DRM Linux kernel devices.") (license license:expat))) (define-public wev - ;; There simple tool has no version or release yet. - (let ((commit "cee3dfb2a8b40ee303611018c68ae182d84a7f46")) - (package - (name "wev") - (version (string-append "2020-02-06-" (string-take commit 8))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.sr.ht/~sircmpwn/wev") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0l71v3fzgiiv6xkk365q1l08qvaymxd4kpaya6r2g8yzkr7i2hms")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; no tests - #:make-flags - (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (delete 'configure)))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("scdoc" ,scdoc))) - (inputs - `(("libxkbcommon" ,libxkbcommon) - ("wayland" ,wayland) - ("wayland-protocols" ,wayland-protocols))) - (home-page "https://git.sr.ht/~sircmpwn/wev") - (synopsis "Wayland event viewer") - (description "Wev is a tool that opens a window, printing all events + (package + (name "wev") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~sircmpwn/wev") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0l71v3fzgiiv6xkk365q1l08qvaymxd4kpaya6r2g8yzkr7i2hms")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags + (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("scdoc" ,scdoc))) + (inputs + `(("libxkbcommon" ,libxkbcommon) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) + (home-page "https://git.sr.ht/~sircmpwn/wev") + (synopsis "Wayland event viewer") + (description "Wev is a tool that opens a window, printing all events sent to a Wayland window, such as key presses. It is analogous to the X11 tool XEv.") - (license license:expat)))) + (license license:expat))) (define-public exempi (package @@ -1398,7 +1388,7 @@ wish to perform colour calibration.") (define-public libfprint (package (name "libfprint") - (version "1.90.1") + (version "1.90.3") (source (origin (method git-fetch) @@ -1407,7 +1397,7 @@ wish to perform colour calibration.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0fdaak7qjr9b4482g7fhhqpyfdqpxq5kpmyzkp7f5i7qq2ynb78a")))) + (base32 "1fs0qrfrqnvc6kcsg81l5p89n8jnsx9dr1pzxpb8ghwas8c9v52i")))) (build-system meson-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 651e732ab3..b178063556 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -170,20 +170,25 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.16.0") + (version "0.24.1") (source (origin (method url-fetch) (uri (string-append "https://download.filezilla-project.org/" "libfilezilla/libfilezilla-" version ".tar.bz2")) (sha256 - (base32 "1fd71vmllzvljff5l5ka5wnzbdsxx4i54dpxpklydmbsqpilnv1v")))) + (base32 "1zfnqbn14dx0fl45mfaznr5n5xsxy1kx8z9f80fppbqn37pb9mgx")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-static"))) (native-inputs `(("cppunit" ,cppunit) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs - `(("nettle" ,nettle))) + `(("gnutls" ,gnutls) + ("nettle" ,nettle))) (home-page "https://lib.filezilla-project.org") (synopsis "Cross-platform C++ library used by Filezilla client") (description @@ -208,20 +213,21 @@ output. (define-public filezilla (package (name "filezilla") - (version "3.42.1") + (version "3.50.0") (source (origin (method url-fetch) (uri (string-append "https://download.filezilla-project.org/client/" "FileZilla_" version "_src.tar.bz2")) (sha256 - (base32 "083ycsycwy1szhp3mzf998wsqa74hmdxdsy07x6k81vp2cxjxijg")))) + (base32 "042w2f5cf8g9cr7d3m6294ygx7jggcria9502jnql855khk8gnz0")))) (build-system gnu-build-system) (arguments ;; Don't let filezilla phone home to check for updates. '(#:configure-flags '("--disable-autoupdatecheck"))) (native-inputs - `(("gettext" ,gettext-minimal) + `(("cppunit" ,cppunit) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("xdg-utils" ,xdg-utils))) (inputs diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index c8e0e94099..96ed2f9da4 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -317,14 +317,13 @@ provide connectivity for client applications written in any language.") (define-public nml (package (name "nml") - (version "0.5.2") + (version "0.5.3") (source (origin (method url-fetch) (uri (pypi-uri "nml" version)) (sha256 - (base32 - "1lwf5sc5qqzrkxfx5wkkj3yh2j2nzh5r599ly5psy8yw92km24hy")))) + (base32 "0l5pfs8q7jrl3xscqq7pnwh5h5d17fsyjy7xspkc73sa0ayjm9jx")))) (build-system python-build-system) ;; TODO: Fix test that fails with ;; "AttributeError: partially initialized module 'nml.nmlop' has no @@ -486,6 +485,35 @@ clone.") ;; under BSD-2. (license license:gpl2+))) +(define-public tsukundere + (package + (name "tsukundere") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/leoprikler/tsukundere") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qmqch8hh7vsa8qaz853vwbkz0krb106955dnz8dsl7skbm5jpn6")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf-wrapper) + ("automake" ,automake) + ("guile" ,guile-3.0) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("guile-sdl2" ,guile3.0-sdl2))) + (home-page "https://gitlab.com/leoprikler/tsukundere") + (synopsis "Visual novel engine") + (description "Tsukundere is a game engine geared heavily towards the +development of visual novels, written on top of Guile-SDL2. It is still +experimental and at the time of writing contains little more than the Guile +modules, that make up its runtime.") + (license license:lgpl3+))) + (define-public sfml (package (name "sfml") @@ -581,7 +609,7 @@ sounds from presets such as \"explosion\" or \"powerup\".") (define-public surgescript (package (name "surgescript") - (version "0.5.4.3") + (version "0.5.4.4") (source (origin (method git-fetch) @@ -590,7 +618,7 @@ sounds from presets such as \"explosion\" or \"powerup\".") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "13q81439zg1bn7gskligskjgcfq0rdapp6f3llmrlk48vnyq49s0")))) + (base32 "1vck1wk6r6jrrw5xzpqldplz601dfgpk5s5p45fam00nfsid0p7p")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -1528,7 +1556,7 @@ games.") (define-public godot (package (name "godot") - (version "3.2.2") + (version "3.2.3") (source (origin (method git-fetch) (uri (git-reference @@ -1537,7 +1565,7 @@ games.") (file-name (git-file-name name version)) (sha256 (base32 - "1libz83mbyrkbbsmmi8z2rydv3ls0w9r4vb5v6diqqwn7ka8z804")) + "19vrp5lhyvxbm6wjxzn28sn3i0s8j08ca7nani8l1nrhvlc8wi0v")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f6819873df..af13dc3c5a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -429,7 +429,9 @@ physics settings to tweak as well.") (build-system cmake-build-system) (arguments `(#:tests? #f ;no test - #:configure-flags '("-DDATADIR=share/astromenace") + #:configure-flags (list (string-append "-DDATADIR=" + (assoc-ref %outputs "out") + "/share/astromenace")) #:phases (modify-phases %standard-phases (replace 'install @@ -1811,58 +1813,63 @@ Every puzzle has a complete solution, although there may be more than one.") (license license:gpl2+))) (define-public retux - (package - (name "retux") - (version "1.4") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/retux-game/retux/" - "releases/download/v" - (version-major+minor version) "/retux-" - version "-src.tar.gz")) - (sha256 - (base32 - "1hxy1pvlxhk0ci3wh2i3mmr82faqdjnnxsiwwr5gcr93nfnw9w5f")))) - (build-system python-build-system) - (arguments - `(#:tests? #f ; no check target - #:phases - (modify-phases %standard-phases - ;; no setup.py script - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (data (string-append out "/share/retux"))) - (mkdir-p bin) + (let ((release "1.4.1") + (revision 1)) + (package + (name "retux") + (version (if (zero? revision) + release + (string-append release "-" + (number->string revision)))) + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/retux-game/retux/" + "releases/download/v" + version "/retux-" + release "-src.tar.gz")) + (sha256 + (base32 + "1vrldg2qh2gqfswj7vkpc589ldrrjd903j6cnfdik9zh0jhlq4h2")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + ;; no setup.py script + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (data (string-append out "/share/retux"))) + (mkdir-p bin) - (substitute* "retux.py" - ;; Use the correct data directory. - (("os\\.path\\.join\\(os\\.path\\.dirname\\(__file__\\), \"data\"\\),") - (string-append "\"" data "\","))) + (substitute* "retux.py" + ;; Use the correct data directory. + (("os\\.path\\.join\\(os\\.path\\.dirname\\(__file__\\), \"data\"\\),") + (string-append "\"" data "\","))) - (copy-file "retux.py" (string-append bin "/retux")) - (copy-recursively "data" data) - #t)))))) - (inputs - `(("python-sge-pygame" ,python-sge-pygame) - ("python-six" ,python-six) - ("python-xsge" ,python-xsge))) - (home-page "https://retux-game.github.io/") - (synopsis "Action platformer game") - (description - "ReTux is an action platformer loosely inspired by the Mario games, + (copy-file "retux.py" (string-append bin "/retux")) + (copy-recursively "data" data) + #t)))))) + (inputs + `(("python-sge-pygame" ,python-sge-pygame) + ("python-six" ,python-six) + ("python-xsge" ,python-xsge))) + (home-page "https://retux-game.github.io/") + (synopsis "Action platformer game") + (description + "ReTux is an action platformer loosely inspired by the Mario games, utilizing the art assets from the @code{SuperTux} project.") - ;; GPL version 3 or later is the license for the code and some art. - ;; The rest of the licenses are for the art exclusively, as listed in - ;; data/LICENSES. - (license (list license:cc0 - license:cc-by3.0 - license:cc-by-sa3.0 - license:cc-by-sa4.0 - license:gpl2+ - license:gpl3+)))) + ;; GPL version 3 or later is the license for the code and some art. + ;; The rest of the licenses are for the art exclusively, as listed in + ;; data/LICENSES. + (license (list license:cc0 + license:cc-by3.0 + license:cc-by-sa3.0 + license:cc-by-sa4.0 + license:gpl2+ + license:gpl3+))))) (define-public roguebox-adventures (package @@ -2721,7 +2728,7 @@ interface or via an external visual interface such as GNU XBoard.") (ftp-directory . "/chess"))) (license license:gpl3+))) -(define freedink-engine +(define-public freedink-engine (package (name "freedink-engine") (version "109.6") @@ -2751,7 +2758,16 @@ interface or via an external visual interface such as GNU XBoard.") (invoke "autoreconf") ;; Build fails when autom4te.cache exists. (delete-file-recursively "autom4te.cache") - #t))))) + #t)) + (add-after 'install 'delete-freedinkedit-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; freedinkedit does not know where to find freedink data + ;; freedink data is read-only, so it cannot be edited anyway. + ;; TODO: fix freedink.desktop + (delete-file-recursively (string-append + out "/share/applications")) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("cxxtest" ,cxxtest) @@ -2773,7 +2789,7 @@ game data files but it also supports user-produced game mods or \"D-Mods\". To that extent, it also includes a front-end for managing all of your D-Mods.") (license license:gpl3+))) -(define freedink-data +(define-public freedink-data (package (name "freedink-data") (version "1.08.20190120") @@ -3459,15 +3475,15 @@ This game is based on the GPL version of the famous game TuxRacer.") (define-public supertuxkart (package (name "supertuxkart") - (version "1.1") + (version "1.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/supertuxkart/SuperTuxKart/" - version "/supertuxkart-" version "-src.tar.xz")) + version "/SuperTuxKart-" version "-src.tar.xz")) (sha256 (base32 - "1s0ai07g3sswck9mr0142989mrgzzq1njc1qxk5als5b245jpc79")) + "0dvx56hmy6wdhl7m9dw8zc1n3jqfp05gnxl6zs1rbfdyzl5dybh5")) (modules '((guix build utils))) (snippet ;; Delete bundled library sources @@ -3475,12 +3491,9 @@ This game is based on the GPL version of the famous game TuxRacer.") ;; Supertuxkart uses modified versions of the Irrlicht engine ;; and the bullet library. The developers gave an explanation ;; here: http://forum.freegamedev.net/viewtopic.php?f=17&t=3906 - ;; FIXME: try to unbundle angelscript and libraqm + ;; FIXME: try to unbundle angelscript, libmcpp and libraqm (for-each delete-file-recursively - '("lib/zlib" - "lib/libpng" - "lib/jpeglib" - "lib/glew" + '("lib/glew" "lib/wiiuse" "lib/enet")) #t)))) @@ -3489,34 +3502,31 @@ This game is based on the GPL version of the famous game TuxRacer.") `(#:tests? #f ; no check target #:configure-flags (list "-DUSE_WIIUSE=0" - ;; Do not use the bundled zlib, glew and enet. - "-DNO_IRR_COMPILE_WITH_ZLIB_=TRUE" "-DUSE_SYSTEM_GLEW=TRUE" "-DUSE_SYSTEM_ENET=TRUE" ;; In order to use the system ENet library, IPv6 support (added in ;; SuperTuxKart version 1.1) must be disabled. "-DUSE_IPV6=FALSE" ;; FIXME: needs libopenglrecorder - "-DBUILD_RECORDER=0" - ;; Irrlicht returns an integer instead of a boolean - "-DCMAKE_C_FLAGS=-fpermissive"))) + "-DBUILD_RECORDER=0"))) (inputs - `(("glew" ,glew) - ("zlib" ,zlib) - ("openal" ,openal) - ("libvorbis" ,libvorbis) + `(("curl" ,curl) ("freetype" ,freetype) ("fribidi" ,fribidi) + ("glew" ,glew) ("harfbuzz" ,harfbuzz) - ("mesa" ,mesa) + ("libvorbis" ,libvorbis) ("libx11" ,libx11) ("libxrandr" ,libxrandr) - ("curl" ,curl) + ("mesa" ,mesa) + ("openal" ,openal) + ("sdl2" ,sdl2) + ("zlib" ,zlib) ;; The following input is needed to build the bundled and modified ;; version of irrlicht. + ("enet" ,enet) ("libjpeg" ,libjpeg-turbo) - ("openssl" ,openssl) - ("enet" ,enet))) + ("openssl" ,openssl))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://supertuxkart.net/Main_Page") @@ -3904,7 +3914,7 @@ engine. When you start it you will be prompted to download a graphics set.") (home-page "http://dev.openttdcoop.org/projects/opengfx") (synopsis "Base graphics set for OpenTTD") (description - "The OpenGFX projects is an implementation of the OpenTTD base grahics + "The OpenGFX project is an implementation of the OpenTTD base graphics set that aims to ensure the best possible out-of-the-box experience. OpenGFX provides you with... @@ -4785,7 +4795,7 @@ of war. Widelands also offers an Artificial Intelligence to challenge you.") (define-public starfighter (package (name "starfighter") - (version "2.3.2") + (version "2.3.3") (source (origin (method url-fetch) (uri (string-append @@ -4794,7 +4804,7 @@ of war. Widelands also offers an Artificial Intelligence to challenge you.") version "-src.tar.gz")) (sha256 (base32 - "1nvi277cazsw36b6nhd5nmk0cjvm71rlxasy24mf18j7fsvq9vp8")))) + "0jz2lgvmp299nks6ajg2yxbx4xcaxlc4cpfr61861p7m7z2nv84y")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -5073,7 +5083,7 @@ a style similar to the original Super Mario games.") (define-public tintin++ (package (name "tintin++") - (version "2.02.02") + (version "2.02.04") (source (origin (method url-fetch) @@ -5081,7 +5091,7 @@ a style similar to the original Super Mario games.") (string-drop-right version 1) "/tintin-" version ".tar.gz")) (sha256 - (base32 "11ylbp8ip7dwmh4gzb53z147pcfxkl3lwhyy8ngyn2zc634vdn65")))) + (base32 "1w1y20vqcikg59gnbxjbhyq2yanwqz1a6wp8vd1qnmil240id4j7")))) (inputs `(("gnutls" ,gnutls) ("pcre" ,pcre) @@ -7172,7 +7182,7 @@ original.") ("pkg-config" ,pkg-config))) (inputs `(("cmocka" ,cmocka) - ("perl-env-path", perl-env-path) + ("perl-env-path" ,perl-env-path) ("perl-inline" ,perl-inline) ("perl-inline-c" ,perl-inline-c) ("perl-string-shellquote" ,perl-string-shellquote) @@ -7767,7 +7777,7 @@ their own levels.") (define-public libmanette (package (name "libmanette") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libmanette/" @@ -7775,7 +7785,7 @@ their own levels.") "libmanette-" version ".tar.xz")) (sha256 (base32 - "1xrc6rh73v5w3kbkflzv1yg8sbxk4wf06hfk95raxhxlssza9q2g")))) + "0awsl0d34k3w18jdiyh377r7qi00s4kmh5gc97vx9jy0h22f01l0")))) (build-system meson-build-system) (native-inputs `(("glib" ,glib "bin") ; for glib-compile-resources @@ -10168,7 +10178,7 @@ This package is part of the KDE games module.") `(("extra-cmake-modules" ,extra-cmake-modules) ("kdoctools" ,kdoctools))) (inputs - `(("karchive", karchive) + `(("karchive" ,karchive) ("kconfig" ,kconfig) ("kconfigwidgets" ,kconfigwidgets) ("kcoreaddons" ,kcoreaddons) @@ -10314,7 +10324,7 @@ This package is part of the KDE games module.") `(("extra-cmake-modules" ,extra-cmake-modules) ("kdoctools" ,kdoctools))) (inputs - `(("kcompletion", kcompletion) + `(("kcompletion" ,kcompletion) ("kconfig" ,kconfig) ("kconfigwidgets" ,kconfigwidgets) ("kcoreaddons" ,kcoreaddons) @@ -10706,7 +10716,7 @@ This package is part of the KDE games module.") ("kdbusaddons" ,kdbusaddons) ("ki18n" ,ki18n) ("kio" ,kio) - ("knewstuff", knewstuff) + ("knewstuff" ,knewstuff) ("ktextwidgets" ,ktextwidgets) ("kxmlgui" ,kxmlgui) ("libkdegames" ,libkdegames) @@ -11399,7 +11409,7 @@ etc. You can also play games on FICS or against an engine.") (define-public stockfish (package (name "stockfish") - (version "11") + (version "12") (source (origin (method git-fetch) @@ -11408,8 +11418,15 @@ etc. You can also play games on FICS or against an engine.") (commit (string-append "sf_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12mppipinymj8s1ipq9a7is453vncly49c32ym9wvyklsgyxfzlk")))) + (base32 "0vcymbwp5nf114pp3ax40s21ki5dckda15vmhr77d1mnq3fn0l32")))) (build-system gnu-build-system) + (inputs + `(("neural-network" + ,(origin + (method url-fetch) + (uri "https://tests.stockfishchess.org/api/nn/nn-82215d0fd0df.nnue") + (sha256 + (base32 "1r4yqrh4di05syyhl84hqcz84djpbd605b27zhbxwg6zs07ms8c2")))))) (arguments `(#:tests? #f #:make-flags (list "-C" "src" @@ -11425,10 +11442,17 @@ etc. You can also play games on FICS or against an engine.") ("mips64el-linux" "general-64") (_ "general-32")))) #:phases (modify-phases %standard-phases - (delete 'configure)))) + (delete 'configure) + ;; The official neural network file is needed for building + ;; and is embedded in the resulting binary. + (add-after 'unpack 'copy-net + (lambda* (#:key inputs #:allow-other-keys) + (copy-file (assoc-ref inputs "neural-network") + "src/nn-82215d0fd0df.nnue") + #t))))) (synopsis "Strong chess engine") (description - "Stockfish is a very strong chess engines. It is much stronger than the + "Stockfish is a very strong chess engine. It is much stronger than the best human chess grandmasters. It can be used with UCI-compatible GUIs like ChessX.") (home-page "https://stockfishchess.org/") diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 11e0bb3e76..9b96fd180b 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -41,17 +41,18 @@ #:use-module (guix build-system gnu) #:use-module (srfi srfi-1)) -(define-public gdb-9.1 +(define-public gdb (package (name "gdb") - (version "9.1") + (version "9.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gdb/gdb-" version ".tar.xz")) + (patches (search-patches "gdb-hurd.patch")) (sha256 (base32 - "0dqp1p7w836iwijg1zb4a784n0j4pyjiw5v6h8fg5lpx6b40x7k9")))) + "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n")))) (build-system gnu-build-system) (arguments @@ -71,20 +72,14 @@ #t)) (add-after 'install 'remove-libs-already-in-binutils - (lambda* (#:key inputs outputs - ;; TODO: Inline the native-inputs addition and - ;; below usage in the next rebuild cycle. - ,@(if (%current-target-system) - '(native-inputs) - '()) + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) ;; Like Binutils, GDB installs libbfd, libopcodes, etc. ;; However, this leads to collisions when both are ;; installed, and really is none of its business, ;; conceptually. So remove them. - (let* ((binutils ,@(if (%current-target-system) - '((assoc-ref native-inputs "binutils")) - '((assoc-ref inputs "binutils")))) + (let* ((binutils (or (assoc-ref inputs "binutils") + (assoc-ref native-inputs "binutils"))) (out (assoc-ref outputs "out")) (files1 (with-directory-excursion binutils (append (find-files "lib") @@ -117,10 +112,16 @@ `(("texinfo" ,texinfo) ("dejagnu" ,dejagnu) ("pkg-config" ,pkg-config) - ,@(if (hurd-target?) `(("mig" ,mig)) '()))) - ;; TODO: Add support for the GDB_DEBUG_FILE_DIRECTORY environment variable - ;; in GDB itself instead of relying on some glue code in the Guix-provided - ;; .gdbinit file. + ,@(if (hurd-target?) + ;; When cross-compiling from x86_64-linux, make sure to use a + ;; 32-bit MiG because we assume target i586-pc-gnu. + `(("mig" ,(if (%current-target-system) + mig/32-bit + mig))) + '()))) + ;; TODO: Add support for the GDB_DEBUG_FILE_DIRECTORY environment + ;; variable in GDB itself instead of relying on some glue code in + ;; the Guix-provided .gdbinit file. (native-search-paths (list (search-path-specification (variable "GDB_DEBUG_FILE_DIRECTORY") (files '("lib/debug"))))) @@ -134,11 +135,18 @@ the program is running to try to fix bugs. It can be used to debug programs written in C, C++, Ada, Objective-C, Pascal and more.") (license gpl3+))) +(define-public gdb-minimal + (package/inherit + gdb + (name "gdb-minimal") + (inputs (fold alist-delete (package-inputs gdb) + '("libxml2" "ncurses" "python-wrapper" "source-highlight"))))) + ;; This version of GDB is required by some of the Rust compilers, see ;; <https://bugs.gnu.org/37810>. (define-public gdb-8.2 (package - (inherit gdb-9.1) + (inherit gdb) (version "8.2.1") (source (origin (method url-fetch) @@ -147,28 +155,3 @@ written in C, C++, Ada, Objective-C, Pascal and more.") (sha256 (base32 "00i27xqawjv282a07i73lp1l02n0a3ywzhykma75qg500wll6sha")))))) - -(define-public gdb - ;; This is the fixed version that packages depend on. Update it rarely - ;; enough to avoid massive rebuilds. - gdb-9.1) - -(define-public gdb-9.2 - (package - (inherit gdb) - (version "9.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gdb/gdb-" - version ".tar.xz")) - (patches (search-patches "gdb-hurd.patch")) - (sha256 - (base32 - "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n")))))) - -(define-public gdb-minimal - (package/inherit - gdb-9.2 - (name "gdb-minimal") - (inputs (fold alist-delete (package-inputs gdb) - '("libxml2" "ncurses" "python-wrapper" "source-highlight"))))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 291b928338..09afa658c7 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1277,7 +1277,7 @@ to the OSM opening hours specification.") (define-public josm (package (name "josm") - (version "16812") + (version "17013") (source (origin (method svn-fetch) (uri (svn-reference @@ -1286,7 +1286,7 @@ to the OSM opening hours specification.") (recursive? #f))) (sha256 (base32 - "131ly6ah9ygrah1wq1h2199v4hyzgflnh62ychs4jqvy9wz0dal6")) + "12mcqswjijvx2n7hz7lnx83i3vjr5ib58cazqin10hczcwnd778q")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet @@ -1761,7 +1761,7 @@ track your position right from your laptop.") license:zlib)))) (define-public grass - (let* ((version "7.8.2") + (let* ((version "7.8.4") (majorminor (string-join (list-head (string-split version #\.) 2) "")) (grassxx (string-append "grass" majorminor))) (package @@ -1773,10 +1773,10 @@ track your position right from your laptop.") (uri (string-append "https://grass.osgeo.org/" grassxx "/source/grass-" version ".tar.gz")) (sha256 - (base32 "1fwsm99kz0bxvjk7442qq1h45ikrmhba8bqclafb61gqg1q6ymrk")))) + (base32 "1yfghvp522ijww3n3l5xarjbc21rm0gmlgr3lvwxrv23bvxmllyr")))) (build-system gnu-build-system) (inputs - `(("bzip2", bzip2) + `(("bzip2" ,bzip2) ("cairo" ,cairo) ("fftw" ,fftw) ("freetype" ,freetype) @@ -1865,8 +1865,14 @@ track your position right from your laptop.") (symlink (string-append dir "/lib") (string-append out "/lib"))) #t)) - (add-after 'install-links 'wrap-python - (assoc-ref python:%standard-phases 'wrap))))) + (add-after 'install-links 'python:wrap + (assoc-ref python:%standard-phases 'wrap)) + (add-after 'python:wrap 'wrap-with-python-interpreter + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/" ,grassxx) + `("GRASS_PYTHON" = (,(which "python3")))) + #t)))))) (synopsis "GRASS Geographic Information System") (description "GRASS (Geographic Resources Analysis Support System), is a Geographic diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 4166cee248..c955a0d286 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Miguel <rosen644835@gmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (guix build-system perl) #:use-module (gnu packages docbook) #:use-module (gnu packages emacs) + #:use-module (gnu packages hurd) #:use-module (gnu packages libunistring) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) @@ -106,7 +108,11 @@ #t))))) ;; When tests fail, we want to know the details. - #:make-flags '("VERBOSE=yes"))) + #:make-flags '("VERBOSE=yes" + ,@(if (hurd-target?) + ;; Linking to libgettextlib.so makes test-raise fail + '("XFAIL_TESTS=test-raise") + '())))) (home-page "https://www.gnu.org/software/gettext/") (synopsis "Tools and documentation for translation (used to build other packages)") diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index cfbe81f20f..c45c7d4937 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -624,21 +624,6 @@ It also contains adaptor classes for connection of dissimilar callbacks and has an ease of use unmatched by other C++ callback libraries.") (license license:lgpl2.1+))) -(define-public libsigc++-2 - (package - (inherit libsigc++) - (name "libsigc++") - (version "2.10.3") - (source - (origin - (method url-fetch) - (uri - (string-append "mirror://gnome/sources/libsigc++/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 "11j7j1jv4z58d9s7jvl42fnqa1dzl4idgil9r45cjv1w673dys0b")))))) - (define glibmm (package (name "glibmm") @@ -697,7 +682,7 @@ useful for C++.") (sha256 (base32 "1v6lp23fr2qh4zshcnm28sn29j3nzgsvcqj2nhmrnvamipjq4lm7")))) (propagated-inputs - `(("libsigc++" ,libsigc++-2) + `(("libsigc++" ,libsigc++) ("glib" ,glib))))) (define-public python2-pygobject-2 @@ -955,7 +940,7 @@ programming language. It also contains the utility (define-public appstream-glib (package (name "appstream-glib") - (version "0.7.17") + (version "0.7.18") (source (origin (method url-fetch) (uri (string-append "https://people.freedesktop.org/~hughsient/" @@ -963,7 +948,7 @@ programming language. It also contains the utility "appstream-glib-" version ".tar.xz")) (sha256 (base32 - "0jg58m1p5xfrh8zkpqhhg00nqs727z5i1qy6sb0a3vyc98fyk9vw")))) + "00j0kkgf224nzmrha72g8pd72mymhph7vaisj35i4ffy7cpd47na")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 75ba0f5636..7f3ae41d17 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -234,7 +234,7 @@ some media players, are meant to run long-term in the background even after you close their window. These applications remain accessible by adding an icon to the GNOME Shell Legacy Tray. However, the Legacy Tray was removed in GNOME 3.26. TopIcons Redux brings those icons back into the top panel so that it's -easier to keep track of apps running in the backround.") +easier to keep track of applications running in the background.") (license license:gpl2+))) (define-public gnome-shell-extension-dash-to-dock diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 85b95a7507..4e7427fdb9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -74,6 +74,7 @@ (define-module (gnu packages gnome) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages aidc) #:use-module (gnu packages aspell) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) @@ -89,6 +90,8 @@ #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-graphics) + #:use-module (gnu packages crates-gtk) #:use-module (gnu packages cups) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -105,6 +108,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages game-development) + #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gimp) @@ -357,8 +361,8 @@ services.") ("libsoup" ,libsoup) ("libxml2" ,libxml2))) (synopsis "Glib library for feeds") - (description "LibGRSS is a Glib abstaction to handle feeds in RSS, Atom and -other formats.") + (description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom, +and other formats.") (home-page "https://wiki.gnome.org/Projects/Libgrss") (license license:lgpl3+))) @@ -986,7 +990,7 @@ freedesktop.org desktop notification specification.") (define-public mm-common (package (name "mm-common") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/mm-common/" @@ -994,7 +998,7 @@ freedesktop.org desktop notification specification.") "mm-common-" version ".tar.xz")) (sha256 (base32 - "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8")))) + "07b4s5ckcz9q5gwx8vchim19mhfgl8wysqwi30pndks3m4zrzad2")))) (build-system meson-build-system) (arguments `(#:phases @@ -1299,7 +1303,7 @@ and implementation of UPnP A/V profiles.") `(("gdk-pixbuf" ,gdk-pixbuf) ("gettext" ,gettext-minimal) ("gobject-introspection" ,gobject-introspection) - ("gtk+:doc", gtk+ "doc") + ("gtk+:doc" ,gtk+ "doc") ("vala" ,vala))) (synopsis "Media art library for the GNOME desktop") (description @@ -1663,6 +1667,44 @@ uses duplicity as the backend, which supports incremental backups and storage either on a local, or remote machine via a number of methods.") (license license:gpl3+))) +(define-public gnome-commander + (package + (name "gnome-commander") + (version "1.10.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + "gnome-commander-" version ".tar.xz")) + (sha256 + (base32 "0bis36awb73vhkncq8yr0qlnyaxynqkvmyqbg57ijqwd0m8hh4zg")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gcc" ,gcc-8) ;required for -Wcast-function-type + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("googletest" ,googletest) + ("intltool" ,intltool) + ("itstool" ,itstool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("gconf" ,gconf) + ("gnome-vfs" ,gnome-vfs) + ("gtk+" ,gtk+-2) + ("libxml2" ,libxml2))) + (home-page "https://gcmd.github.io/") + (synopsis "Two-pane graphical file manager for the GNOME desktop") + (description + "GNOME Commander is a two-pane graphical file manager using GNOME +libraries. It aims to fulfill the demands of more advanced users who +like to focus on file management, their work through special applications +and running smart commands.") + (license license:gpl2+))) + (define-public gnome-user-docs (package (name "gnome-user-docs") @@ -1961,7 +2003,7 @@ commonly used macros.") ("telepathy-glib" ,telepathy-glib) ("vala" ,vala))) (propagated-inputs - `(("folks", folks) + `(("folks" ,folks) ("telepathy-mission-control" ,telepathy-mission-control))) (synopsis "GNOME's integrated address book") (description @@ -2501,6 +2543,104 @@ on the GNOME Desktop with a single simple application.") for settings shared by various components of the GNOME desktop.") (license license:lgpl2.1+))) +(define-public python-liblarch + (package + (name "python-liblarch") + (version "3.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/getting-things-gnome/liblarch") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xv2mfvyzipbny3iz8vll77wsqxfwh28xj6bj1ff0l452waph45m")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-xserver + (lambda* (#:key inputs #:allow-other-keys) + (system (format #f "~a/bin/Xvfb :1 &" + (assoc-ref inputs "xorg-server"))) + (setenv "DISPLAY" ":1") + #t))))) + (native-inputs + `(("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("gtk+" ,gtk+))) + (propagated-inputs + `(("python-pygobject" ,python-pygobject))) + (home-page "https://wiki.gnome.org/Projects/liblarch") + (synopsis "Library to easily handle complex data structures") + (description + "Liblarch is a Python library built to easily handle data structures such +as lists, trees and acyclic graphs. There's also a GTK binding that will +allow you to use your data structure in a @code{Gtk.Treeview}. + +Liblarch support multiple views of one data structure and complex filtering. +That way, you have a clear separation between your data themselves (Model) +and how they are displayed (View).") + (license license:lgpl3+))) + +(define-public gtg + (package + (name "gtg") + (version "0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/getting-things-gnome/gtg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r28vyr88rj3kd3cg4gj7sd29wadjchi92wzmbx67d4hlg25h8kk")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/gtg")) + (pylib (string-append (assoc-ref outputs "out") + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("python-dbus" ,python-dbus) + ("python-liblarch" ,python-liblarch) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pyxdg" ,python-pyxdg))) + (home-page "https://wiki.gnome.org/Apps/GTG") + (synopsis "Personal organizer for the GNOME desktop") + (description + "Getting Things GNOME! (GTG) is a personal tasks and TODO list items +organizer for the GNOME desktop environment inspired by the Getting Things +Done (GTD) methodology. GTG is designed with flexibility, adaptability, +and ease of use in mind so it can be used as more than just GTD software. +GTG is intended to help you track everything you need to do and need to +know, from small tasks to large projects.") + (license license:gpl3+))) + (define-public icon-naming-utils (package (name "icon-naming-utils") @@ -3066,7 +3206,7 @@ library.") (define-public librsvg-next (package (name "librsvg") - (version "2.48.8") + (version "2.50.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/librsvg/" @@ -3074,7 +3214,7 @@ library.") "librsvg-" version ".tar.xz")) (sha256 (base32 - "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l")) + "02csvx2nzygh8kyal2qiy3y6xb7d52vszxxr37dzav704a9pkncv")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor") @@ -3086,6 +3226,7 @@ library.") ((guix build cargo-build-system) (guix build utils) ((guix build gnu-build-system) #:prefix gnu:)) + #:rust ,rust-1.40 #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-cairo-rs" ,rust-cairo-rs-0.8) @@ -3093,9 +3234,8 @@ library.") ("rust-cast" ,rust-cast-0.2) ("rust-cssparser" ,rust-cssparser-0.27) ("rust-data-url" ,rust-data-url-0.1) - ("rust-downcast-rs" ,rust-downcast-rs-1.1) ("rust-encoding" ,rust-encoding-0.2) - ("rust-float-cmp" ,rust-float-cmp-0.6) + ("rust-float-cmp" ,rust-float-cmp-0.8) ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8) ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9) ("rust-gio" ,rust-gio-0.8) @@ -3103,14 +3243,14 @@ library.") ("rust-glib" ,rust-glib-0.9) ("rust-glib-sys" ,rust-glib-sys-0.9) ("rust-gobject-sys" ,rust-gobject-sys-0.9) - ("rust-itertools" ,rust-itertools-0.8) + ("rust-itertools" ,rust-itertools-0.9) ("rust-language-tags" ,rust-language-tags-0.2) ("rust-libc" ,rust-libc-0.2) ("rust-locale-config" ,rust-locale-config-0.3) ("rust-markup5ever" ,rust-markup5ever-0.10) - ("rust-nalgebra" ,rust-nalgebra-0.19) + ("rust-nalgebra" ,rust-nalgebra-0.21) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-once-cell" ,rust-once-cell-1.2) + ("rust-once-cell" ,rust-once-cell-1) ("rust-pkg-config" ,rust-pkg-config-0.3) ("rust-pango" ,rust-pango-0.8) ("rust-pango-sys" ,rust-pango-sys-0.9) @@ -3120,11 +3260,20 @@ library.") ("rust-rgb" ,rust-rgb-0.8) ("rust-regex" ,rust-regex-1) ("rust-selectors" ,rust-selectors-0.22) - ("rust-url" ,rust-url-2.1) + ("rust-string-cache" ,rust-string-cache-0.8) + ("rust-tinyvec" ,rust-tinyvec-0.3) + ("rust-url" ,rust-url-2) ("rust-xml5ever" ,rust-xml5ever-0.16)) #:cargo-development-inputs - (("rust-cairo-rs" ,rust-cairo-rs-0.8) - ("rust-criterion" ,rust-criterion-0.3)) + (("rust-assert-cmd" ,rust-assert-cmd-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.8) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-float-cmp" ,rust-float-cmp-0.8) + ("rust-lopdf" ,rust-lopdf-0.25) + ("rust-png" ,rust-png-0.16) + ("rust-predicates" ,rust-predicates-1) + ("rust-tempfile" ,rust-tempfile-3)) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-docbook-xml @@ -3177,6 +3326,31 @@ library.") #t)) (replace 'build (assoc-ref gnu:%standard-phases 'build)) + (add-before 'check 'ignore-failing-tests + ;; stderr=```/tmp/guix-build-.../librsvg-2.50.1/rsvg-convert: line 150: ls: command not found + (lambda _ + (substitute* "tests/src/cmdline/rsvg_convert.rs" + (("fn background_color_option_invalid_color_yields_error" all) + (string-append "#[ignore] " all)) + (("fn empty_input_yields_error" all) + (string-append "#[ignore] " all)) + (("fn empty_svg_yields_error" all) + (string-append "#[ignore] " all)) + (("fn env_source_data_epoch_empty" all) + (string-append "#[ignore] " all)) + (("fn env_source_data_epoch_no_digits" all) + (string-append "#[ignore] " all)) + (("fn env_source_data_epoch_trailing_garbage" all) + (string-append "#[ignore] " all)) + (("fn export_id_option_error" all) + (string-append "#[ignore] " all)) + (("fn huge_zoom_factor_yields_error" all) + (string-append "#[ignore] " all)) + (("fn multiple_input_files_not_allowed_for_png_output" all) + (string-append "#[ignore] " all)) + (("fn stylesheet_option_error" all) + (string-append "#[ignore] " all))) + #t)) (replace 'check (lambda* args ((assoc-ref gnu:%standard-phases 'check) @@ -3796,14 +3970,14 @@ Hints specification (EWMH).") (define-public goffice (package (name "goffice") - (version "0.10.47") + (version "0.10.48") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/goffice/" (version-major+minor version) "/" "goffice-" version ".tar.xz")) (sha256 - (base32 "0xmigfdzvmlpa0fw79mf3xwchmxc8rlidryn5syv8bz7msmrb215")))) + (base32 "1z6f3q8fxkd1ysqrwdxdi0844zqa00vjpf07gq8mh3kal8picfd4")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 4.0 MiB of gtk-doc @@ -3860,7 +4034,7 @@ Hints specification (EWMH).") (define-public gnumeric (package (name "gnumeric") - (version "1.12.46") + (version "1.12.48") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnumeric/" @@ -3868,7 +4042,7 @@ Hints specification (EWMH).") "gnumeric-" version ".tar.xz")) (sha256 (base32 - "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z")))) + "14556b0vyxdvdwjlin0rv7jk0vq4nplbmvp9j89bhkfk84xf7k2p")))) (build-system glib-or-gtk-build-system) (arguments `(;; The gnumeric developers don't worry much about failing tests. @@ -3896,8 +4070,8 @@ Hints specification (EWMH).") ("librsvg" ,librsvg) ("libxml2" ,libxml2) ("libxslt" ,libxslt) - ("python" ,python-2) - ("python2-pygobject" ,python2-pygobject) + ("python" ,python) + ("python-pygobject" ,python-pygobject) ("zlib" ,zlib))) (native-inputs `(("bison" ,bison) @@ -3957,7 +4131,7 @@ engineering.") (define-public seahorse (package (name "seahorse") - (version "3.34") + (version "3.36.2") (source (origin (method url-fetch) @@ -3965,8 +4139,7 @@ engineering.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 - "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v")))) + (base32 "16wmxxppgcgfj8zkagcny5af1c81x32ysm9d6j9f2k7bmik21ss5")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -3986,6 +4159,7 @@ engineering.") ("openldap" ,openldap) ("openssh" ,openssh) ("avahi" ,avahi) + ("libhandy" ,libhandy-0.0) ("libpwquality" ,libpwquality) ("libsecret" ,libsecret) ("libsoup" ,libsoup))) @@ -4207,17 +4381,16 @@ and RDP protocols.") (define-public dconf (package (name "dconf") - (version "0.34.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" (version-major+minor version) "/" name "-" version ".tar.xz")) - (patches (search-patches "dconf-meson-0.52.patch")) (sha256 (base32 - "0lnsl85cp2vpzgp8pkf6l6yd2i3lp02jdvga1icfa78j2smr8fll")))) + "0bfs069pjv6lhp7xrzmrhz3876ay2ryqxzc6mlva1hhz34ibprlz")))) (build-system meson-build-system) (propagated-inputs ;; In Requires of dconf.pc. @@ -4236,10 +4409,17 @@ and RDP protocols.") ("pkg-config" ,pkg-config) ("vala" ,vala))) (arguments - `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id - ; or /etc/machine-id. - #:glib-or-gtk? #t - #:configure-flags '("-Denable-gtk-doc=true"))) + `(#:glib-or-gtk? #t + #:configure-flags '("-Denable-gtk-doc=true") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'increase-test-timeout + (lambda _ + ;; On big-memory systems, the engine test may take + ;; much longer than the default of 30 seconds. + (substitute* "tests/meson.build" + (("test\\(unit_test\\[0\\], exe" all) + (string-append all ", timeout : 90"))) + #t))))) (home-page "https://developer.gnome.org/dconf/") (synopsis "Low-level GNOME configuration system") (description "Dconf is a low-level configuration system. Its main purpose @@ -4562,7 +4742,7 @@ and the GLib main loop, to integrate well with GNOME applications.") (define-public libsecret (package (name "libsecret") - (version "0.20.3") + (version "0.20.4") (source (origin (method url-fetch) (uri (string-append @@ -4571,7 +4751,7 @@ and the GLib main loop, to integrate well with GNOME applications.") "libsecret-" version ".tar.xz")) (sha256 (base32 - "1r4habxdzmn02id324m0m4mg5isf22q1z436bg3vjjmcz1b3rjsg")))) + "0a4xnfmraxchd9cq5ai66j12jv2vrgjmaaxz25kl031jvda4qnij")))) (build-system gnu-build-system) (outputs '("out" "doc")) (arguments @@ -4597,6 +4777,8 @@ and the GLib main loop, to integrate well with GNOME applications.") (propagated-inputs `(("glib" ,glib))) ; required by libsecret-1.pc (inputs + ;; The ‘build’ phase complains about missing docbook-xml-4.2 but adding it + ;; doesn't seem to affect the build result. `(("docbook-xsl" ,docbook-xsl) ("libgcrypt" ,libgcrypt) ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES @@ -4927,7 +5109,7 @@ output devices.") ("gobject-introspection" ,gobject-introspection) ("modem-manager" ,modem-manager) ("libnotify" ,libnotify) - ("gtk-doc", gtk-doc) + ("gtk-doc" ,gtk-doc) ("intltool" ,intltool))) (inputs `(("avahi" ,avahi) @@ -5114,7 +5296,8 @@ services for numerous locations.") name "-" version ".tar.xz")) (sha256 (base32 - "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr")))) + "07y1gbicz0pbxmdgwrdzyc4byy30wfwpbqgvnx27gnpqmc5s50cr")) + (patches (search-patches "gnome-settings-daemon-gc.patch")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -5127,6 +5310,21 @@ services for numerous locations.") (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib/gnome-settings-daemon-3.0")) + + #:phases (modify-phases %standard-phases + (add-before 'configure 'set-baobab-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Hard-code the file name of Baobab instead of looking + ;; it up in $PATH. This ensures users get the "Examine" + ;; button in the low disk space notification of GDM even + ;; if they don't have GNOME in their main profile. + (let ((baobab (assoc-ref inputs "baobab"))) + (substitute* "plugins/housekeeping/gsd-disk-space.c" + (("g_find_program_in_path \\(DISK_SPACE_ANALYZER\\)") + (string-append "g_strdup (\"" baobab + "/bin/baobab\")"))) + #t)))) + ;; Color management test can't reach the colord system service. #:tests? #f)) (native-inputs @@ -5139,6 +5337,7 @@ services for numerous locations.") ("docbook-xsl" ,docbook-xsl))) (inputs `(("alsa-lib" ,alsa-lib) + ("baobab" ,baobab) ("colord" ,colord) ("libgudev" ,libgudev) ("upower" ,upower) @@ -6224,14 +6423,14 @@ almost all of them.") (define-public eolie (package (name "eolie") - (version "0.9.98.1") + (version "0.9.99") (source (origin (method url-fetch) (uri (string-append "https://adishatz.org/eolie/eolie-" version ".tar.xz")) (sha256 (base32 - "1d844zva5w4p9pnp9c2g7zyb4vayr2g2drf78spxsdlc5lbd7lqr")))) + "0zj5v7wxqj7c20bmil127ah0vnjfzvvf6kzz82b9ip3846h43j02")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -7850,7 +8049,7 @@ libxml2.") ("xmllint" ,libxml2))) (inputs `(("accountsservice" ,accountsservice) - ("check" ,check) ; for testing + ("check" ,check-0.14) ;for testing ("elogind" ,elogind) ("gnome-session" ,gnome-session) ("gnome-settings-daemon" ,gnome-settings-daemon) @@ -7895,7 +8094,7 @@ usage and information about running processes.") (define-public gnome-bluetooth (package (name "gnome-bluetooth") - (version "3.34.0") + (version "3.34.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7903,7 +8102,7 @@ usage and information about running processes.") name "-" version ".tar.xz")) (sha256 (base32 - "1bvbxcsjkyl0givy8nfm7112bq3c0vn1v89fdk2pip714dsfcrz8")))) + "0lmjvb49vgr4jjplrisv6pi29jsn1q42715i6c5a0p9ad3gawyyv")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc. @@ -8887,6 +9086,75 @@ specified duration and save it as a GIF encoded animated image file.") (home-page "https://git.gnome.org/browse/byzanz") (license license:gpl2+)))) +(define-public authenticator + (package + (name "authenticator") + (version "3.32.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/World/Authenticator") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/authenticator")) + (pylib (string-append (assoc-ref outputs "out") + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("libhandy" ,libhandy-0.0) + ("libsecret" ,libsecret) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-pillow" ,python-pillow) + ("python-pyfavicon" ,python-pyfavicon) + ("python-pygobject" ,python-pygobject) + ("python-pyotp" ,python-pyotp) + ("python-pyzbar" ,python-pyzbar) + ("yoyo-migrations" ,yoyo-migrations) + ("zbar" ,zbar))) + (home-page "https://gitlab.gnome.org/World/Authenticator/") + (synopsis "Two-factor authentication application built for GNOME") + (description + "Authenticator is a two-factor authentication (2FA) application built for +the GNOME desktop environment. + +Features: + +@itemize +@item QR code scanner +@item Beautiful UI +@item Huge database of more than 560 supported services +@item Keep your PIN tokens secure by locking the application with a password +@item Automatically fetch an image for services using their favicon +@item The possibility to add new services +@end itemize") + (license license:gpl3+))) + (define-public gsound (package (name "gsound") @@ -9937,14 +10205,14 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (define-public lollypop (package (name "lollypop") - (version "1.2.32") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://adishatz.org/lollypop/" "lollypop-" version ".tar.xz")) (sha256 - (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a")))) + (base32 "1hfl68gkvqy5kxlmrsalz78mw1bs1yvqvy2rhg7pzgwiazsdvwzz")))) (build-system meson-build-system) (arguments `(#:imported-modules @@ -9979,6 +10247,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.") ("gst-plugins-base" ,gst-plugins-base) ("libnotify" ,libnotify) ("libsecret" ,libsecret) + ("libhandy" ,libhandy) ("libsoup" ,libsoup) ("python" ,python) ("python-beautifulsoup4" ,python-beautifulsoup4) @@ -10006,7 +10275,7 @@ automatically and it can stream songs from online music services and charts.") (define-public gnome-video-effects (package (name "gnome-video-effects") - (version "0.4.3") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -10014,14 +10283,10 @@ automatically and it can stream songs from online music services and charts.") version ".tar.xz")) (sha256 (base32 - "06c2f1kihyhawap1s3zg5w7q7fypsybkp7xry4hxkdz4mpsy0zjs")))) - (build-system glib-or-gtk-build-system) - (arguments - `(#:out-of-source? #f)) + "1j6h98whgkcxrh30bwvnxvyqxrxchgpdgqhl0j71xz7x72dqxijd")))) + (build-system meson-build-system) (native-inputs - `(("glib:bin" ,glib "bin") - ("intltool" ,intltool) - ("gettext" ,gettext-minimal) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://wiki.gnome.org/Projects/GnomeVideoEffects") (synopsis "Video effects for Cheese and other GNOME applications") @@ -10033,7 +10298,7 @@ photo-booth-like software, such as Cheese.") (define-public cheese (package (name "cheese") - (version "3.34.0") + (version "3.38.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -10041,7 +10306,7 @@ photo-booth-like software, such as Cheese.") version ".tar.xz")) (sha256 (base32 - "0wvyc9wb0avrprvm529m42y5fkv3lirdphqydc9jw0c8mh05d1ni")))) + "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8")))) (arguments `(#:glib-or-gtk? #t ;; Tests require GDK. @@ -10054,6 +10319,15 @@ photo-booth-like software, such as Cheese.") (substitute* "meson_post_install.py" (("gtk-update-icon-cache") (which "true"))) #t)) + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + ;; Avoid a network connection attempt during the build. + (substitute* '("docs/reference/cheese.xml" + "docs/reference/cheese-docs.xml") + (("http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/docbookx.dtd"))) + #t)) (add-after 'install 'wrap-cheese (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -10064,6 +10338,7 @@ photo-booth-like software, such as Cheese.") (build-system meson-build-system) (native-inputs `(("docbook-xsl" ,docbook-xsl) + ("docbook-xml" ,docbook-xml-4.3) ("glib:bin" ,glib "bin") ("gtk-doc" ,gtk-doc) ("intltool" ,intltool) @@ -10096,6 +10371,60 @@ photo-booth-like software, such as Cheese.") apply fancy special effects and lets you share the fun with others.") (license license:gpl2+))) +(define-public passwordsafe + (package + (name "passwordsafe") + (version "3.99.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/World/PasswordSafe") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0pi2l4gwf8paxm858mxrcsk5nr0c0zw5ycax40mghndb6b1qmmhf")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/gnome-passwordsafe")) + (pylib (string-append (assoc-ref outputs "out") + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("libhandy" ,libhandy-0.0) + ("libpwquality" ,libpwquality) + ("python-pygobject" ,python-pygobject) + ("python-pykeepass" ,python-pykeepass))) + (home-page "https://gitlab.gnome.org/World/PasswordSafe") + (synopsis "Password manager for the GNOME desktop") + (description + "Password Safe is a password manager which makes use of the KeePass v4 +format. It integrates perfectly with the GNOME desktop and provides an easy +and uncluttered interface for the management of password databases.") + (license license:gpl3+))) + (define-public sound-juicer (package (name "sound-juicer") @@ -10769,6 +11098,44 @@ versions of Adwaita, Adwaita-dark and HighContrast themes. It also provides index files needed for Adwaita to be used outside of GNOME.") (license license:lgpl2.1+))) +(define-public gnote + (package + (name "gnote") + (version "3.38.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + "gnote-" version ".tar.xz")) + (sha256 + (base32 "1ingbaw4d8vpjn083xvzqw7kz8z0k2bx7msk78pbzd68bwgkadpx")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("unittest-cpp" ,unittest-cpp))) ;FIXME: not found by pkg-config + (inputs + `(("glibmm" ,glibmm) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gspell" ,gspell) + ("gtk+" ,gtk+) + ("gtkmm" ,gtkmm) + ("libsecret" ,libsecret) + ("libuuid" ,util-linux "lib") + ("libxml2" ,libxml2) + ("libxslt" ,libxslt))) + (synopsis "Note-taking application for the GNOME desktop") + (description + "Gnote is a note-taking application written for the GNOME desktop +environment.") + (home-page "https://wiki.gnome.org/Apps/Gnote") + (license license:gpl3+))) + (define-public polari (package (name "polari") @@ -11004,6 +11371,49 @@ designed to work with various laser/ink-jet peel-off label and business card sheets that you’ll find at most office supply stores.") (license license:gpl3+))) +;; Version 3.38.0 is out but requires tepl>=5 which requires glib>=2.64. +(define-public gnome-latex + (package + (name "gnome-latex") + (version "3.36.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + "gnome-latex-" version ".tar.xz")) + (sha256 + (base32 "1869kr1zhcp04mzbi67lwgk497w840dbbc7427i9yh9b9s7j6mqn")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("amtk" ,amtk) + ("dconf" ,dconf) + ("glib" ,glib) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gspell" ,gspell) + ("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview) + ("libgee" ,libgee) + ("tepl" ,tepl) + ("uchardet" ,uchardet))) + (home-page "https://wiki.gnome.org/Apps/GNOME-LaTeX") + (synopsis "LaTeX editor for the GNOME desktop") + (description + "GNOME LaTeX is a LaTeX editor for the GNOME desktop. It has features +such as build tools, completion of LaTeX commands, structure navigation, +symbol tables, document templates, project management, spell-checking, menus +and toolbars.") + (license license:gpl3+))) + (define-public libratbag (package (name "libratbag") @@ -11375,7 +11785,7 @@ integrated profiler via Sysprof, debugging support, and more.") (define-public komikku (package (name "komikku") - (version "0.19.0") + (version "0.21.1") (source (origin (method git-fetch) @@ -11385,7 +11795,7 @@ integrated profiler via Sysprof, debugging support, and more.") (file-name (git-file-name name version)) (sha256 (base32 - "16d7k500nd9klnjqqcgk3glhv2sy78yndkz3n0x7lynvblsy45kk")))) + "17ss5k2hnymk6xyx1dy3q0y2pwcld78cw7d0cs9c0hnhskh5dirh")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -11438,3 +11848,130 @@ integrated profiler via Sysprof, debugging support, and more.") (description "Komikku is an online/offline manga reader for GNOME, developed with the aim of being used with the Librem 5 phone.") (license license:gpl3+))) + +(define-public libgda + (package + (name "libgda") + (version "5.2.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/libgda.git/") + (commit "LIBGDA_5_2_9"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "122anbk15vj2dfxrw7s48b6zwlpp7cyppshxizynvf3zmc0ygw3j")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-vala") + ;; There's a race between check_cnc_lock and check_threaded_cnc + ;; in tests/multi-threading. + #:parallel-tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-glade-install + (lambda _ + (substitute* "configure.ac" + (("`\\$PKG_CONFIG --variable=catalogdir gladeui-2\\.0`") + "${datadir}/glade/catalogs") + (("`\\$PKG_CONFIG --variable=pixmapdir gladeui-2\\.0`") + "${datadir}/glade/pixmaps")) + #t)) + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + #t)) + (add-after 'install 'symlink-glade-module + (lambda* (#:key outputs #:allow-other-keys) + (let* ((shlib "libgda-ui-5.0.so") + (out (assoc-ref outputs "out")) + (out/lib (string-append out "/lib")) + (moduledir (string-append out/lib "/glade/modules"))) + (mkdir-p moduledir) + (symlink (string-append out/lib "/" shlib) + (string-append moduledir "/" shlib)) + #t)))))) + (propagated-inputs + `(("libxml2" ,libxml2))) ; required by libgda-5.0.pc + (inputs + `(("glib" ,glib) + ("glade" ,glade3) + ("gtk+" ,gtk+) + ("libsecret" ,libsecret) + ("libxslt" ,libxslt) + ("openssl" ,openssl) + ("vala" ,vala))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib:bin" ,glib "bin") + ("gnome-common" ,gnome-common) + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("vala" ,vala) + ("which" ,which) + ("xorg-server" ,xorg-server-for-tests) + ("yelp-tools" ,yelp-tools))) + (home-page "https://gitlab.gnome.org/GNOME/libgda") + (synopsis "Uniform data access") + (description + "GNU Data Access (GDA) is an attempt to provide uniform access to +different kinds of data sources (databases, information servers, mail spools, +etc). It is a complete architecture that provides all you need to access +your data.") + (license license:lgpl2.1+))) + +(define-public gtranslator + (package + (name "gtranslator") + (version "3.36.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1lxd2nkji4jk8g2xmyc1a1r3ww710ddk91zh9psmx8xlb4xivaid")))) + (build-system meson-build-system) + (inputs + `(("json-glib" ,json-glib) + ("jsonrpc-glib" ,jsonrpc-glib) + ("gettext" ,gettext-minimal) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gspell" ,gspell) + ("libdazzle" ,libdazzle) + ("libgda" ,libgda) + ("libsoup" ,libsoup))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("itstool" ,itstool) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("gtksourceview" ,gtksourceview))) ; required for source view + (arguments + `(#:build-type "release" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + (lambda _ + (substitute* "build-aux/meson/meson_post_install.py" + (("gtk-update-icon-cache") (which "true"))) + #t))))) + (home-page "https://wiki.gnome.org/Apps/Gtranslator") + (synopsis "Translation making program") + (description + "gtranslator is a quite comfortable gettext po/po.gz/(g)mo files editor +for the GNOME 3.x platform with many features. It aims to be a very complete +editing environment for translation issues within the GNU gettext/GNOME desktop +world.") + (license license:gpl3+))) diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm index 6eb8224cef..321a7f87d7 100644 --- a/gnu/packages/gnu-pw-mgr.scm +++ b/gnu/packages/gnu-pw-mgr.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +30,7 @@ (define-public gnu-pw-mgr (package (name "gnu-pw-mgr") - (version "2.4.2") + (version "2.7") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "1yvdzc5w37qrjrkby5699ygj9bhkvgi3zk9k9jcjry1j6b7wdl17")))) + "1ra8in91qx6n8jydb8kwl2rnqaa2hix5pyawn6nvyqs815h9gx17")))) (build-system gnu-build-system) (arguments '(#:phases @@ -47,6 +47,12 @@ (lambda _ (substitute* "tests/dom.test" (("/usr/bin/printf") (which "printf"))) + #t)) + (add-before 'check 'pre-check + (lambda _ + ;; In build environment, There is no /dev/tty + (substitute* "tests/base.test" + (("/dev/tty") "/dev/null")) #t))))) (native-inputs `(("which" ,which))) diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index 43aad3ed02..8f58ce332a 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -293,7 +293,7 @@ applications and libraries. It is used by AqBanking.") ("gnutls" ,gnutls))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext-minimal", gettext-minimal) + ("gettext-minimal" ,gettext-minimal) ("libltdl" ,libltdl))) (home-page "https://www.aquamaniac.de/sites/aqbanking/index.php") (synopsis "Interface for online banking tasks") diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 7d6ed6b11a..06b00038bd 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -418,9 +418,9 @@ in C/C++.") (method hg-fetch) (uri (hg-reference (url "https://hg.mozilla.org/l10n/compare-locales/") - (changeset "RELEASE_3_3_0"))) + (changeset "RELEASE_8_0_0"))) (file-name "mozilla-compare-locales") - (sha256 (base32 "0biazbq7vbi99b99rfn4szwyx032dkpi09c9z4zs6f1br0f86iy1")))) + (sha256 (base32 "0052wq92sg4i776x407b5838jx9h3phl9xy69m2q34f31n3gdyk2")))) (define (mozilla-locale locale changeset hash-string) (origin @@ -440,108 +440,102 @@ in C/C++.") (mozilla-locales ;; sha256 changeset locale ;;--------------------------------------------------------------------------- - ("0pybx6j2ycbrr1xmv0spv19sd8a1dyzcs8kf6pzn71w8y6kiagcf" "35959cf2343c" "ach") - ("0dixmkha738w7fkx20nx95xkfyrqb9vczpy6m03qnqfvb76xaxj5" "e8dc1010f909" "af") - ("124j09va25gwfxdzyfixrli0skxv53c7niagjyp7g3a3kcv2lbhc" "4c67f6b96a7b" "an") - ("0flgqll3xx0ym0zj0w9j2jw3fmhs6h9m4l5da6m0bpnk5ff80r06" "34cbea5f44a5" "ar") - ("0kdb1yqfbfz508f4p77z3p1v6fwy190vs5ipj58hgdixjgbxkqay" "b4790b27633c" "ast") - ("1vm5xw6wg12pygswd3p0qpkaxyryah6nif5n15chb4sb42c1gqcm" "96d341bf49d4" "az") - ("1j2qrrws51qij6haz5b77n5vzqhsxgs1ppqqw4mdrkacwvz4ciwh" "4adaede00646" "be") - ("0ydr8f9lbd51prgcbjb5yacb461j8va0s5bqfs0rnglkvhmk6ard" "d1140972aefe" "bg") - ("0wyw90zjp8kpd1gljng00in9wr2cf59ww6z002lgx5k4gibnqcfd" "2b3ce92c2310" "bn") - ("0kkq621h1qdmimyrmms9g5p70m54z2ddw4cd962nqbkrnmabq9vn" "426896350893" "br") - ("0vibhnb3cbpbgf10db04g6vm372kb9i27p0jkwif019f7qprswd8" "7463f339ce07" "bs") - ("1l8cn2fqfvx7bswzfy9vavv8cd32ha9ygdxxdbxi64wcgw0f80bf" "dab3f05125e4" "ca") - ("0fik17y8zyg9w82lq501ic73a53c0q9r8v4zgn9bnzgsygig8qpq" "ebb9d989275a" "cak") - ("0sj29v6144h39wzb4rvxph3cwgvs4gzkgpr0463d3fcs6jdi0kjs" "522352780348" "cs") - ("1nz8jlx62l69jcdi59hlk8jysm15sh3d1cxqginjmx7w351wsidm" "0791b954c333" "cy") - ("1vc01q1vlq26xm1vm1x0119jawxxp975p9k8ashmiwncl1bvqb48" "121f5f876f4c" "da") - ("1iqny61rg57banfbbskc2y3pr6d35fabnxmynv7vxm9jd86pndz3" "95fb3e99a2bc" "de") - ("06v9j8acx5h8za7m65v6qm0wjbkx6vm46m8sigcp69phyg3fjc96" "90e681b74587" "dsb") - ("0lbk90x2dxdbh63fycqxspx6jqq2zlzys6grg45balw8yyvzqrkz" "58ba4c13fd42" "el") - ("0c2ypvy0z8g78s5158v6h9khckq1xps34r5wbiiciix289m43dgl" "8953d8c98a30" "en-CA") - ("0z3riz3w2z6p710p90ridmwwam4snnz5mn90gd4jc1h2n7vc9mr0" "5a2b9bca3f52" "en-GB") - ("102gn3h4ap8c3x1p7vfc88vapkfiz6264y6byhxy1axxjk3x3a77" "e87cb1c61d6e" "eo") - ("148wj6wsx0aq7cpaxk8njj7cb1wfjr2m96dgxq6b3qcv781ldvjn" "5db15fdf95d5" "es-AR") - ("0r11d8vzvbyz17n371byvkrnszcv1zhr7rg64i58xra3y6d7is7n" "ce2ee0e51a92" "es-CL") - ("1xmqa8p7lpqvkgg879hfnmf6kxcpawjk8z31cdzfp1hrdlmxg8n7" "7346617620f3" "es-ES") - ("0jxv3jh2018lnybr9mzqrffvwmr87yab9bh8lxqjj294fxw1hrxm" "687f05eb0c58" "es-MX") - ("1rpgv7pajv4xldsn1xxsia5j72vn3x8zl5wmbzkyw56lvn9fckvf" "839a5029c496" "et") - ("0hxp4fr3y05rkpamdb1hlmybn6d3bv3rcawjm3axbpqxbyfdpfzc" "54e8d87230c9" "eu") - ("1y50knymnmcihw8bhvahicc386mjm6dx4hx0j6fv8sl23wzx2h9m" "c5ffca960f9c" "fa") - ("0pj9zgi0c3yl3myhvb5afiijayp2lqzhlk630ahxn5hgjgkz0lx7" "75c000a8538d" "ff") - ("199jg0zv7wp1cq0ik2hf84j99jx5vq2jwac0gaayvjzkh2z83jqr" "f11b2e689e7b" "fi") - ("1vxkiwwni7470ywy99arxxa56ljkhjrhxslsp1l1l61g6gdbbspr" "49ec4f791806" "fr") - ("0d8gwdcj0jpjv03nhjds8jrg86pg371xpylaibwri76wlyl7m54i" "faa761a5cfdc" "fy-NL") - ("0nipbxx11a2sjadzhbi88vgknw5hzr4nqy2722q3kc1212jbi754" "5bd9466f9f9d" "ga-IE") - ("0bay8mrm65cvmnvqpwqgzr0h3cb18ifzg5kbsbxcvdfm9xv0zi9g" "a4f6a47e82dd" "gd") - ("00kn5w3nnpw1pxg6hhrn9asf9hgpjd6ia4038iwzcqs68w887qcy" "6c2aa01ada4e" "gl") - ("0jj13i0ach85c975vaz2rr83mibs29ipssa7qsjkb0y2ch6xya1k" "c2d607e36cb5" "gn") - ("1nhqbgzilcb0pr7941dxkhg079bf8v7ldikp1s5xli34wf9sabm2" "f34465d6ac1c" "gu-IN") - ("11bh0541d996cfin1zy72l66753q94i4idgv2waf0h40h9g3z1bm" "c2ecb2762274" "he") - ("1lslji7hh5lx5ig1xgfjh4cdindsgh3n2a7qlvzwz96gda43lvv4" "94d2bb10ee03" "hi-IN") - ("1nx5yw00l25i3m3grdm29mi9mi7h0cy5qx02pypir754pk3hiwcc" "08df0d94edd5" "hr") - ("19yc9dk2pwqycynmx58d1ik6x4mnyfxscgr6sg676dpl613xd7nq" "21b614e77025" "hsb") - ("0l3z64jlx6b6ivk1b5hwqyx9hm1m5721ywnb2m4zmg3g9fw4vn7f" "f82cad7170af" "hu") - ("1sn0dxbbf2zwcpybwcw77qb4p0hf6fxapnsnn4avaab5g55dlgz4" "d94c30920396" "hy-AM") - ("0c92cqxrhv4317kirmhpjk7mrq44yn6fp3v6syxnhz7xwxnhshjm" "6a5f176b0626" "ia") - ("03gyg9gqsd6pwb9nydglhm46fi2wk2p2qygmhmrf8hnav3ba7n0r" "94e4302e0f85" "id") - ("0ky8aaps92mn56rvkwn0i13wg8av8hzi1fvr0ahqhjcpj5sfgdwq" "eca348a59888" "is") - ("01py0sfg7nljcsgpivryrvai4p4wzbcvhgc2ymr19r579nv1vw7g" "d541a6197359" "it") - ("0iv7vmj43njmi7g1gjzsv68ax4j502d2wnkvbfz1rx11lrqs7yw1" "a5ab3a1d95b7" "ja") - ("1sr9ccshcw6agbj4hbnpblxixb1jz0m36glas6f9ahxmi7m605si" "63763ffa5a94" "ja-JP-mac") - ("1as33pzcsdkynrj16dv7w642vl6plbhk650am4l5djwm64f2rgms" "aa83e8555ddc" "ka") - ("1jwaqb5qps3i5y9iw8l2hrwa0n8lfnx1k9x0p54y3jkh6p3q3fzc" "0e0e25c26247" "kab") - ("0cjfiwv0q5i8d7fpwb4m2w5ahq687dqjlwlicgpa443yi2zsxr4s" "33117723ceb1" "kk") - ("0k5b56cv39aaxf9r0p9c27f3fp6yq2ffd4w6qmd0ibpl69sm629d" "aff7b2a7825e" "km") - ("1a0zg96jgq4zn9cz0h2qwc0vv1fbkfzs5qrgabg62wqgz286jvvv" "ea91638cb1dd" "kn") - ("0jhmv2n3yx55r6fg3myg7j1c1nhsv25g016m6lh2j023xbr723gp" "88821009b5b3" "ko") - ("06bybgv4m4i7r9p0qld65j31vbrnljhsdj649dl93msv2r69ilif" "88685d5f07b3" "lij") - ("1bzjf8smw6ngi88j5g3fawrg54m8fifbhshwjbgkpj7rnrpjgh4w" "e046c7ffa7d0" "lt") - ("18dmzmpavijb7fwzffas0j5nb6byqp8h6ki7hhf6qb35diqgfq6n" "c520ef4f576c" "lv") - ("055zf7xj5h1h8mzxj1cjzhngpcvg2p5vs2dmffsa5zfprj02d0dm" "9e43723f18ad" "mk") - ("1496fbyyzcl075gzcd3xy50h9jyhnzgb544k1scji56yhyfajacb" "ce615fef92c1" "mr") - ("1wc1q8ksry181pvnysqsq4dhhsg5adw5vgqafmmq5sf6i2bwn2z0" "4fefe88cfaee" "ms") - ("0awf6mrdwdhy2yvxynssvp1zg1nc2fqbmg2d2bhjcib69zx944xw" "3987a06866fd" "my") - ("1hycvz7i4jd40hfs5abx6sgfdkafg0jhdgqih9b7lb08aqcl35pj" "2b3b8997d9a1" "nb-NO") - ("048z1ib46izwryyy8l1x71kq4775n7l2ilbskhsyrbxqryma13k8" "f25324281615" "ne-NP") - ("1qkxqpyr4la9bn1bqsgc2h9869arglh9n2kwpkq6722jzdbynkz2" "04c7d32c57f6" "nl") - ("08gnmdll55dbqj7qs63gq1kljbvg24nzns6q4m0av3sszsic0jv5" "5587520e5019" "nn-NO") - ("1yh2p4ipj5p2b7gh0xxj0n7ndvwn5bw2773ibrh7vz932mkzhhjn" "499386b02695" "oc") - ("0kjbnixjzv9hvyba4ll20gs76vx84pviy134fvpjp9lfjpnpib55" "31c01c325675" "pa-IN") - ("0g61imvr4639bbydyi0kwc1il7l1gzlfij4ywx7hdcmq2x6vgb9v" "fb5f3b8dea09" "pl") - ("13n68d7z94d7943m6fwl4kizbqm3wp82xz69vng4w9vyqlvv7d41" "9a541cbdc748" "pt-BR") - ("1j8afvrl1afmj2zixrp91rrhag5w4xw90raca1ic6mxyih9kvdi4" "edc959a685c2" "pt-PT") - ("0wf4a6q9nvcmam2g8ksbymjdnrz59pdr5nirfpjprfhifjmxx4nn" "d2699db715cd" "rm") - ("1k9qalir5pbh490w1mxyq31yhy9hbxsyrrk11hwlwlgn6syp9nvp" "b5460a9017bc" "ro") - ("1avy6wyfa5lbvy36wai6mwhhh6x1y8a0jyjk8hvjn52yfxj1gypk" "59ffa8ad047a" "ru") - ("1cakhm4jxcw1ij0l1vhxw74hsp5wg68i3319dkdncyyc5a2s1qv9" "8b3c8a7ebdfa" "si") - ("0s534r09bqdfvw3q17y9b1035kzzlafjv656v73mqhyz3fkffsx5" "cb39dc77980e" "sk") - ("1s58vgmnb9aiaiaqwwcivq3iyzpzj527w2aqh2nrh6xmaw7f43sr" "17d7969b1d9a" "sl") - ("147qm7x5z8rkf24jpqvkdlqg0fjz1l3zwnaxvkh9y2jpzv7m0x7z" "c55b0e9ff99d" "son") - ("0nn4r1rxi8cy7x9nmn5ljd8gcsn2rjl2ma2j7waxkafkm4rs6n20" "2bb3808072da" "sq") - ("0jsb01b94z7qbm59yaj56nb7yx7a6hpgw8v6nzwhbvmnmcsird4p" "c323c0d02d61" "sr") - ("1n7vv9y4sk3gig56rgfd2jk8jr2160grxk31bd1wkm7fvbndd259" "4220ce487cbc" "sv-SE") - ("06270mq7gajxfrsb8gqd25v2dac68ask5vvlh6kkkp3hrgy02vid" "6a1dbc2fe1d3" "ta") - ("10az7pd3npa7n8wq0qywvsj2qrx9592i2wffs3rnc1fviv1i1q0y" "028505b5ecd1" "te") - ("0yj0c3iyibb3jyypvyiyhbr9asxa48v0nq21kcf9gphi8fnyp5if" "e44d38b6a67b" "th") - ("1qc4nvhw834lx7p304fxma0fjdr4xfj4lf69dhh6biqz795lx45p" "1e0771d95708" "tr") - ("1g4y2yq5xp61ncy7c08j7fqqr1jc0m1hjxmbg5659wzif3b3dkg4" "e3c96943e98f" "uk") - ("1zbi28z1c3p5il7ndixyjsv4nrimzq36zjvlmq10am38ycqr9df8" "f35da1b02691" "ur") - ("1jrxjjj8k771y0wljqbadxdj4pasg0771jmg4l3hvpgs929i3j9g" "6fd2084b3efe" "uz") - ("1f8sqgxzgqmw6vzjv3f49lg43q09i3j62f471864vr71815agl8n" "33b5dfd0cd63" "vi") - ("0ssnsbxw3q5k88fa081gkn1mbqn4j7bm6vb7yvz6h44j214xkz9x" "2d87c0740715" "xh") - ("0kd3mrvvgczhsmw4rvpxxxc71bb469ayr8r4azf7gc0y5nmlm950" "a2b6625688d3" "zh-CN") - ("0qy1asyfplkyc89z3g3gfm7b32aka92350b3ayv9d9dcgwxmfdwz" "4d6e959a13d1" "zh-TW"))) - -(define (mozilla-patch file-name changeset hash) - "Return an origin for CHANGESET from the mozilla-esr60 repository." - (origin - (method url-fetch) - (uri (string-append "https://hg.mozilla.org/releases/mozilla-esr60/raw-rev/" - changeset)) - (sha256 (base32 hash)) - (file-name file-name))) + ("1q1p7nl97478hkf1msbbcdh98k6fn87xwqihbw8np00ll5gk9k4v" "97cf3c155484" "ach") + ("0sajpblp639l448xywx7xlybjr5dm0rfrzx511a8pa9wn7dma4mf" "46929b4dda4e" "af") + ("04s756aaf1yyli1dn1vfdjymgyjs1pz2n7jvz76j27x4nzdgss7l" "96ffd2b04ba3" "an") + ("16nw7slm7irsnjf81r6zl273kbzri8sdbimzgzxwm0vh6xr61rgs" "1c4231166ddf" "ar") + ("0i0qrj4j8zjv55cisbmr21dp8mz933hc9wkpn3abz5k5pn84gpry" "bc4384b8be78" "ast") + ("1r77mmwg9x1jfa7g5lqa31rgyfrnix1zj80ibn5rq9gyhhsdrwbd" "dd56aead51fa" "az") + ("1kzjpy5bnvps8di72ksynhbhc9bpw1ml6hvphm74z8dz55ai4c18" "9d2bff64ddfb" "be") + ("1fygvjgph3siknfm7l0fh9y4ava72z1rxkip1zgmcdgq7jz8wzpf" "3808f4fe4db6" "bg") + ("1x9nlqia441xh04rhkmkw6qrgpwnyqw0grrf5n2qw96939wnmgl7" "5ca8752ed8df" "bn") + ("18yyxqzab44bgqx7h052d5nxyhv0l5bidgr16z1b3ak2crsfyx9q" "4c5d30ca9bf2" "br") + ("11bschjz7pgsm4r1qan5l4s3nkzm5jb0kivpp186wd1xsjci5bjb" "cf2478a7eae1" "bs") + ("12bak64nl6qi092l55xv330vh38mfsicrrf4wi693nn7zqb3mbpw" "4aa2cc349211" "ca") + ("0p97d7pnxqs971rr5c57i6cw3mx1mp3iasa0xdmdk0zpz9pjd3s4" "806914072144" "ca-valencia") + ("1rligf98h9r16mw3r3n5jalzi74xn2dnh6hkiixp7s2bvhjicwa4" "db2163383129" "cak") + ("18y5j8ljh72mj2nbx0m64mi3fyjbwyx992i004sv3zvs4d4z18w4" "d1d09eedddde" "cs") + ("12i4m9q6f8sl8arm8ja4gs4sl9m59p3kddlqi68srpz9mk66rqxz" "1caf58c64227" "cy") + ("16wacsd23zd4j0yi6vbj033wylia8hlpswx949x5hy1h9817j4vn" "9ef3b56aa243" "da") + ("1ddxnqpfi1wnciwmzkvvjinb51h22bg70r0dn7db17q64p4271rk" "a050b0eaec0a" "de") + ("0gw5h52rw3bc2lwffnv845sjwwj22gmabchmpa1rw2y6087dc7zk" "613135cb0759" "dsb") + ("0v17da37w1kbs73i6xql4c9xng6rfachyylpy3w8hpibpvi7i30n" "903db7c76b31" "el") + ("0ky1nj4kp070nriw0igsa64l39plcv2365zl8lqpbydyp6clwc3m" "6bb74673e9aa" "en-CA") + ("15jck6si2l4h5lrs8zjx56y97p70njpi26nnq6xfmvj1dk5qb4g2" "c06bd83a9295" "en-GB") + ("1gc400n8j8qk70vdw7fkf4m9yviia35cmj6361pxnyvsjrgm4qvm" "ae0fda5114c4" "eo") + ("0y01lahdrd3krsh6nrr3iw36r2x4advh5qw54vf92w11l3aiyvfz" "0c294dc9ce40" "es-AR") + ("16jjbsfa62dxk36ccziv7nmh26c1s0b05960in6zs5nnfrv4yh35" "7c30b2981fb4" "es-CL") + ("0qh8c8f8dsv1v56n1mcpn84l39bpnqfl8v8iacq12zh322srr549" "ad1444f4f833" "es-ES") + ("1vh3hm5r4ch6mk3ymbk12b9rppwc75fmbi0i7cml82kxsi77bzw5" "0a26cdb23536" "es-MX") + ("159l92jxx48lgba1g8ig3mdzhwsf3jpg3nx1g9blq4majk5hqr6q" "65a38a830795" "et") + ("1ha8y1wbgb66dqm26x1q2xwygy7bblkjz40y9vh5d2qlpr3fn0av" "21e0930b221d" "eu") + ("0rq4pcw6klm0bbljm1wdfvna8bpa35cm47hh2s63i2xdax4scahf" "5a4bb020cf09" "fa") + ("1py2594gsvpgrxnplz278ffb7grsf384kzjskrl1zyps0jw8fb1x" "4a4f712cd4aa" "ff") + ("1dyd55ngsglp1w2gh0yaacwb0vsq23gdvnj76f2x6g39h1li9s0z" "9c51cd915e2b" "fi") + ("0kimwivpq6pr63jh1k9fszsv8bi8vns3scg76mmnvbhh2ca8q7wj" "4f9e24a696ee" "fr") + ("1sbbnnp12lgy5qan2kix02942830b1969bd7jxrv7piwqfch9i06" "9e21a0eeb5b1" "fy-NL") + ("0dsvvyfrzkx5h44gqgdci7arb8h4lq48w20cnr8fc7j17grvnkzz" "999a995bc09d" "ga-IE") + ("1487msbsgrfzmyijhf6a4wbqdjpd7b7ki9nwrjjjjlnbw0h0ljpb" "6a9ddcab3240" "gd") + ("1kzc4fwr18kgisdzba2acj1ag8mxbifqpk5p30jv68nmvqfsvl8d" "51eb5e352db9" "gl") + ("13gy3wn44kcxr7j3sbl69fp415875f4vb0gm91hx0fysqlvryhcs" "b9de1ffe3224" "gn") + ("0w5nvzpjn5vr35c1852rlff581vpy71nc096cz125852kyqkzkc3" "5b3307475ada" "gu-IN") + ("1ycakc4qpy9vcy50j3ricryjfnjr9v3a5ijj6bbfl4y6aks157fy" "c742df968ffd" "he") + ("1b2jf83c500wm5wcdnijq0b7y4m8n6271smq8pygahn5nq17f0gq" "1a3039a52b8a" "hi-IN") + ("19bbw8ix5m83cf4yarcmjl7jqa8xfabwqnh3nj6vi52rwvn7whk5" "8dc50e269ef3" "hr") + ("12rrsvgg6bb2h8fhni7jbx8pv983q8ym5fhfjim957n9q2yp5db6" "67e40f48dec7" "hsb") + ("0apyh713p3hrlj8041xwblcssahbmsqp9v9hbmb50ayf4z850kr1" "40073a597b1b" "hu") + ("0q0r076lq250d3vmnz9d92wj137c2v8i362c2avmkgp5zr3mcl0z" "2ea33335afdb" "hy-AM") + ("0qza33gdc1i9259dwd2f7vd78s0a6rg34aqdkhcn7f2l6ybw6xd6" "930041db15eb" "ia") + ("1211h0gp7gianh3qf76w04gfzk4n2bnyc9i8dviyz0vh4cjbx11m" "08811a49b41c" "id") + ("12lcr841g1j7453s7gb51vrvxmshx4ha3h1jx4vh8wr891xv8l6a" "2f7a8d31e0ba" "is") + ("1x585g0r2kcv0d3phnxx85bk5g0pi1yl0hwp4idv19yc9hslr04s" "188357cc04b4" "it") + ("09v35g9v7j6x0p1hggydm3a1rmq2fh4z7g1l88z3w5k6wq2nhj1b" "45cee0ba4771" "ja") + ("0prs3vycfvvaffjigdgyxiq41ak2rc34lnan5a6cwdqjgy7z450s" "d60a19d9bf17" "ja-JP-mac") + ("1nskzm8rgczrbgcxlzzq5zqdfd456ad0cylq27nf0wjiyq6kjzcm" "00cb00e78672" "ka") + ("0g6zznmhiam172nm7g2qzfpk415mna8kiihm73z2sdns64xb3ymg" "77a293a4bced" "kab") + ("17dld9lrym7rpvpvnkssivp4wx1f11zpk86wczbq1h52qgd70p55" "2c9b33a56d5d" "kk") + ("1nlzl8930c8ql3yq425wyqlxvq8arrjv20xpm5g7yfxd54av89ac" "9cddd42af05c" "km") + ("07hkrcdksvrqk816yimd036dlw15nc4sjk4gmw16ywbp093v0mqq" "e0c2969a8398" "kn") + ("08aqggvk3qbv5bzks9i1iba9akhkpm01d2c9k0zf41mpr2r5yfg2" "827567d0dafc" "ko") + ("0vagaiwy80bs1k3gkacshlzb5zchkcshx0ypwirvayc63sw4yl8l" "694b2a24e868" "lij") + ("1r43kp1kzahrbza0hiyavqplk9h08pzsb6rpjy79jr6l1iqb89sy" "d6728db7e060" "lt") + ("0sq2wbsj79xl7fi454k6q5xdhxyck1whjz315rv37vphqpx86b9b" "61e9b33f4d94" "lv") + ("0q8jxg1af22hs9wjdf0jd3bqk4rafxyzvsjl35k75am7l2y1fl3c" "9e482f6dd72c" "mk") + ("1zsfzjrzbc58d30a9yz12h5vphywgpw8xg6y6zn3677a785dvr20" "1fd2763336a4" "mr") + ("1rzygkkpn1a59daygd3hdaqph2np6sqvpgh68j0xr4il958ymnsm" "67ddab62dab4" "ms") + ("16jp6w5gizfxs7jvncg3ly13m59vqvh4rlmjd0q23m5g5ff9sklc" "3ed015b51bf3" "my") + ("1wfv023j67lb4iyf49fsknwm4z3xy0xqcf25b2nzanggxj26n01x" "d01801233a8f" "nb-NO") + ("1946vfia58vbjfippb5pfsskbjj95w7hb340smn6ry2vmza99mxp" "582defb08fb2" "ne-NP") + ("12w5ywh4c3s55y3zqc48cp1gcpwwjg444yfh1bghhhb9ni1xkh5i" "05f6359a29a6" "nl") + ("17jb076320cgkw1ypwmws2vjxsqlv2ww8aaisa3j334vbrw1m4zx" "50b41a1ddded" "nn-NO") + ("1y840j0v5zdgj94cbacy6j1snf44rynmzxq3yk8i26arcar62akl" "a6a138531a44" "oc") + ("0jq1hq4xhqxpa26r8pb1bgbaljgfkhn9l6p5pbnslkllpbh70q6l" "e70a3afaef25" "pa-IN") + ("1hih138skwy2gb8q10ngg6zalrk3aa3d549mg79gqzxbi5zy19fw" "e035f33389eb" "pl") + ("1hhif4hx4k351wm1bzykzycfzb5q8msxmiwh5r1cy32rh8wkxwhh" "54098495f37f" "pt-BR") + ("0gkjs12rxjml1m3mljskpz1gr6aph0c31nwpwdqybfg54w9qslib" "3fdf021f624e" "pt-PT") + ("0anyvwd9v6mr8y3ww33s6qnxkawqn5lz65vrxx3m3kzky63ai1xk" "794f9374eb87" "rm") + ("1p4drj25gsfv7lwgm5saazh38iqrh53952n8i4bmxpn0nadbm2n5" "71ce18bcf6cc" "ro") + ("17yssf4axd3zvncl4ka4wkfnwcn0z0arp3390vb9cps67na29p36" "3a9587227699" "ru") + ("0xk6rksspcw1222v4rgk5a6gzrpx64k29hm7p9qkqwd70s34yj46" "c020582a72ce" "si") + ("1ax5ibydyn7sj208r66zcxlcr8dxdqrw28vqyjif4jx583rp4lfp" "745a699b7f51" "sk") + ("13rin7hm1dv8g0hbcv8mp2hiwpk1k5bhzvkqpqajkkik4lx523mc" "8e437e2351ef" "sl") + ("0yh5jkl5zw3f7x1w2w6zfj3dyvcl4wj1zv4di7qsq2nl2yyizf7x" "2d99e2eff94f" "son") + ("0vzq7s27jsdbw5k59wfykysg1kd8w229ab5d4zjdf30l59igkahh" "69bbdf07bd80" "sq") + ("1mwivvs8vrk6vjq6i33kwlrlisra7dy35521ayps9p2rz2dll4rr" "215df5c5125c" "sr") + ("0g97yz1rg5cfflj8vvq3sqliyvm06x818z9yldfh5rjg1y6n9fjd" "8be00a1a50d4" "sv-SE") + ("0ii02jn3lh2i6d0s95whx9aj6w3x8axc7w1rlzj0lc2s9n52krz3" "170a84339dbe" "ta") + ("1ss7symad2crapxjqc0xhc0n17l79r5vf7flvkgk7npjky4vb7nv" "72a79a304f7f" "te") + ("11iqmg8zamgscnvs4n2xpw3g9azn6w38qs313wiwm86pyx6694ss" "8e91ce3064c5" "th") + ("1zgkvn9flb8by62ip9r3gmpgxwgkww1zhml5mwa0djq3ppfdgi1c" "0f914d0cda56" "tl") + ("1filkhdak6dbrd83q602x1qw1703nlm53nm9gcyab8s16gsx6ylz" "62ca6a8eaeba" "tr") + ("0cgagdy0ixprk3knczdmkqxkmx4ybmshhh0956kxbd0iab0dfcf6" "f110ccac4cde" "trs") + ("1f1ghk67zwnwc5x3nk82vcv94nf8glngkfya1hg074q3088sj9pa" "56c0102d5f1c" "uk") + ("0iyw1b2jjylkdwxv9sxvj4ikxl64sx612b2dvvmf1di8bw86w74r" "7d53bce5ae98" "ur") + ("1q83cp5pfgs8l03zirwi8r5qp8qyh4zvxdx1ilgaqqlyg42yql7c" "9b500e1a054d" "uz") + ("1d4nkybz2hk64ay04k965b9lc5nhhpmzcs5ww3b6q4n93rf9c2z7" "2a000025928a" "vi") + ("1cnrsfnyl3sw3sxsggmjwydvphb2diy0vzknvxdhpnvq3ln18hga" "74724087c25b" "xh") + ("1j6l66v1xw27z8w78mpsnmqgv8m277mf4r0hgqcrb4zx7xc2vqyy" "527e5e090608" "zh-CN") + ("1frwx35klpyz3sdwrkz7945ivb2dwaawhhyfnz4092h9hn7rc4ky" "6cd366ad2947" "zh-TW"))) (define* (computed-origin-method gexp-promise hash-algo hash #:optional (name "source") @@ -556,8 +550,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "68.12.0-guix0-preview1") -(define %icecat-build-id "20200825000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "78.3.1-guix0-preview1") +(define %icecat-build-id "20200926000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -579,11 +573,11 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "1k17pi4zh9hrvkzbw4rzzw879a15hpvwriylp75wl22rl7r2nsdf")))) + "1savwk91vhvg096w289xwpjvqbbd2ibfad90081hirlzd1kpvljz")))) - (upstream-icecat-base-version "68.12.0") ; maybe older than base-version + (upstream-icecat-base-version "78.3.1") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "15a7c3d991a670b6489d4f432b52a188358f4ca5") + (gnuzilla-commit "cd2af837fce69145effef83def6993d244887b03") (gnuzilla-source (origin (method git-fetch) @@ -595,12 +589,16 @@ from forcing GEXP-PROMISE." (string-take gnuzilla-commit 8))) (sha256 (base32 - "0n7p067yay413iy0gzprz0xrdkcxj5f8ywhkcghhhzw1nwajckba")))) + "0266gp8vs4avlfdnr8dj7b47msxv1vkd0xpnifp04v4scvgj0yaj")))) - (makeicecat-patch - (local-file (search-patch "icecat-makeicecat.patch"))) + ;; 'search-patch' returns either a valid file name or #f, so wrap it + ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. (gnuzilla-fixes-patch - (local-file (search-patch "icecat-use-older-reveal-hidden-html.patch")))) + (local-file (assume-valid-file-name + (search-patch "icecat-use-older-reveal-hidden-html.patch")))) + (makeicecat-patch + (local-file (assume-valid-file-name + (search-patch "icecat-makeicecat.patch"))))) (origin (method computed-origin-method) @@ -645,9 +643,9 @@ from forcing GEXP-PROMISE." (with-directory-excursion "/tmp/gnuzilla" (make-file-writable "makeicecat") (invoke "patch" "--force" "--no-backup-if-mismatch" - "-p1" "--input" #+makeicecat-patch) - (invoke "patch" "--force" "--no-backup-if-mismatch" "-p1" "--input" #+gnuzilla-fixes-patch) + (invoke "patch" "--force" "--no-backup-if-mismatch" + "-p1" "--input" #+makeicecat-patch) (patch-shebang "makeicecat") (substitute* "makeicecat" (("^FFMAJOR=(.*)" all ffmajor) @@ -738,16 +736,16 @@ from forcing GEXP-PROMISE." ("glib" ,glib) ("gtk+" ,gtk+) ("gtk+-2" ,gtk+-2) - ("graphite2" ,graphite2) + ;; UNBUNDLE-ME! ("graphite2" ,graphite2) ("pango" ,pango) ("freetype" ,freetype) - ("harfbuzz" ,harfbuzz) + ;; UNBUNDLE-ME! ("harfbuzz" ,harfbuzz) ("libcanberra" ,libcanberra) ("libgnome" ,libgnome) ("libjpeg-turbo" ,libjpeg-turbo) - ("libogg" ,libogg) - ;; ("libtheora" ,libtheora) ; wants theora-1.2, not yet released - ("libvorbis" ,libvorbis) + ;; UNBUNDLE-ME! ("libogg" ,libogg) + ;; UNBUNDLE-ME! ("libtheora" ,libtheora) ; wants theora-1.2, not yet released + ;; UNBUNDLE-ME! ("libvorbis" ,libvorbis) ("libxft" ,libxft) ("libevent" ,libevent) ("libxinerama" ,libxinerama) @@ -756,8 +754,8 @@ from forcing GEXP-PROMISE." ("libxt" ,libxt) ("libffi" ,libffi) ("ffmpeg" ,ffmpeg) - ("libvpx" ,libvpx) - ("icu4c" ,icu4c) + ;; UNBUNDLE-ME! ("libvpx" ,libvpx) + ("icu4c" ,icu4c-67) ("pixman" ,pixman) ("pulseaudio" ,pulseaudio) ("mesa" ,mesa) @@ -767,11 +765,11 @@ from forcing GEXP-PROMISE." ;; UNBUNDLE-ME! ("nspr" ,nspr) ;; UNBUNDLE-ME! ("nss" ,nss) ("shared-mime-info" ,shared-mime-info) - ("sqlite" ,sqlite) - ("startup-notification" ,startup-notification) + ;; UNBUNDLE-ME! ("sqlite" ,sqlite) ("unzip" ,unzip) ("zip" ,zip) - ("zlib" ,zlib))) + ;; UNBUNDLE-ME! ("zlib" ,zlib) + )) (native-inputs ;; The following patches are specific to the Guix packaging of IceCat, ;; and therefore we prefer to leave them out of 'source', which should be @@ -787,13 +785,13 @@ from forcing GEXP-PROMISE." ("patch" ,(canonical-package patch)) - ("rust" ,rust) - ("cargo" ,rust "cargo") - ("rust-cbindgen" ,rust-cbindgen) + ("rust" ,rust-1.41) + ("cargo" ,rust-1.41 "cargo") + ("rust-cbindgen" ,rust-cbindgen-0.14) ("llvm" ,llvm) ("clang" ,clang) ("perl" ,perl) - ("node" ,node) + ("node" ,node-10.22) ("python" ,python) ("python-2" ,python-2) ("python2-pysqlite" ,python2-pysqlite) @@ -812,22 +810,21 @@ from forcing GEXP-PROMISE." ;; practice somehow. See <http://hydra.gnu.org/build/378133>. #:validate-runpath? #f - #:configure-flags `("--enable-default-toolkit=cairo-gtk3" + #:configure-flags `("--enable-default-toolkit=cairo-gtk3-wayland" "--with-distribution-id=org.gnu" - ;; Do not require addons in the global app - ;; directory to be signed by Mozilla. - "--with-unsigned-addon-scopes=app" + ;; Do not require addons in the global app or + ;; system directories to be signed by Mozilla. + "--with-unsigned-addon-scopes=app,system" + "--allow-addon-sideload" - "--enable-startup-notification" "--enable-pulseaudio" "--disable-tests" "--disable-updater" "--disable-crashreporter" "--disable-eme" - "--disable-gconf" ;; Building with debugging symbols takes ~5GiB, so ;; disable it. @@ -853,22 +850,22 @@ from forcing GEXP-PROMISE." "--enable-official-branding" ;; Avoid bundled libraries. - "--with-system-zlib" - "--with-system-bz2" "--with-system-jpeg" ; must be libjpeg-turbo + ;; UNBUNDLE-ME! "--with-system-zlib" + ;; UNBUNDLE-ME! "--with-system-bz2" ;; UNBUNDLE-ME! "--with-system-libevent" ;; UNBUNDLE-ME! "--with-system-ogg" ;; UNBUNDLE-ME! "--with-system-vorbis" ;; UNBUNDLE-ME! "--with-system-theora" ; wants theora-1.2, not yet released ;; UNBUNDLE-ME! "--with-system-libvpx" "--with-system-icu" - + ;; See <https://bugs.gnu.org/32833> ;; and related comments in the ;; 'remove-bundled-libraries' phase below. ;; UNBUNDLE-ME! "--with-system-nspr" ;; UNBUNDLE-ME! "--with-system-nss" - + ;; UNBUNDLE-ME! "--with-system-harfbuzz" ;; UNBUNDLE-ME! "--with-system-graphite2" "--enable-system-pixman" @@ -951,8 +948,8 @@ from forcing GEXP-PROMISE." ;; * speex ;; "modules/freetype2" - "modules/zlib" ;; "media/libjpeg" ; needed for now, because media/libjpeg/moz.build is referenced from config/external/moz.build + ;; UNBUNDLE-ME! "modules/zlib" ;; UNBUNDLE-ME! "ipc/chromium/src/third_party/libevent" ;; UNBUNDLE-ME! "media/libvpx" ;; UNBUNDLE-ME! "media/libogg" @@ -1017,10 +1014,31 @@ from forcing GEXP-PROMISE." (lambda _ (use-modules (guix build cargo-utils)) (let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")) - (substitute* '("Cargo.lock" "gfx/wr/Cargo.lock") - (("(\"checksum .* = )\".*\"" all name) - (string-append name "\"" null-hash "\""))) - (generate-all-checksums "third_party/rust")) + (for-each (lambda (file) + (format #t "patching checksums in ~a~%" file) + (substitute* file + (("^checksum = \".*\"") + (string-append "checksum = \"" null-hash "\"")))) + (find-files "." "Cargo.lock$")) + (for-each generate-all-checksums + '("services" + "js" + "third_party/rust" + "dom/media" + "dom/webauthn" + "toolkit" + "gfx" + "storage" + "modules" + "xpcom/rust" + "media" + "mozglue/static/rust" + "netwerk" + "remote" + "intl" + "servo" + "security/manager/ssl" + "build"))) #t)) (replace 'configure ;; configure does not work followed by both "SHELL=..." and @@ -1120,6 +1138,10 @@ from forcing GEXP-PROMISE." (libxscrnsaver-lib (string-append libxscrnsaver "/lib"))) (wrap-program (car (find-files lib "^icecat$")) `("XDG_DATA_DIRS" prefix (,gtk-share)) + ;; The following line is commented out because the icecat + ;; package on guix has been observed to be unstable when + ;; using wayland, and the bundled extensions stop working. + ;; `("MOZ_ENABLE_WAYLAND" = ("1")) `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib ,mesa-lib ,libxscrnsaver-lib))) #t)))))) (home-page "https://www.gnu.org/software/gnuzilla/") @@ -1129,7 +1151,7 @@ from forcing GEXP-PROMISE." software, which does not recommend non-free plugins and addons. It also features built-in privacy-protecting features. -WARNING: IceCat 68 has not yet been released by the upstream IceCat project. +WARNING: IceCat 78 has not yet been released by the upstream IceCat project. This is a preview release, and does not currently meet the privacy-respecting standards of the IceCat project.") (license license:mpl2.0) ;and others, see toolkit/content/license.html @@ -1139,11 +1161,11 @@ standards of the IceCat project.") (cpe-version . ,(first (string-split version #\-))))))) ;; Update this together with icecat! -(define %icedove-build-id "20200825000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-build-id "20201007000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "68.12.0") + (version "78.3.2") (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) @@ -1169,10 +1191,15 @@ standards of the IceCat project.") (lambda _ (use-modules (guix build cargo-utils)) (let ((null-hash "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")) - (substitute* '("Cargo.lock" "gfx/wr/Cargo.lock") - (("(\"checksum .* = )\".*\"" all name) - (string-append name "\"" null-hash "\""))) - (generate-all-checksums "third_party/rust")) + (for-each (lambda (file) + (format #t "patching checksums in ~a~%" file) + (substitute* file + (("^checksum = \".*\"") + (string-append "checksum = \"" null-hash "\"")))) + (find-files "." "Cargo.lock$")) + (for-each generate-all-checksums + '("third_party/rust" + "toolkit/library/rust"))) #t)) ;; Fixes issue where each installation directory generates its own profile. ;; See e.g. https://trac.torproject.org/projects/tor/ticket/31457 @@ -1214,12 +1241,10 @@ standards of the IceCat project.") (("mozilla.org") "guix.gnu.org"))) ;; Remove other mentions of Thunderbird in user-visible text. (with-directory-excursion "comm/mail/base/content" - (substitute* '("newInstallPage.xhtml" - "overrides/app-license-name.html" - "newInstall.xul") + (substitute* '("overrides/app-license-name.html") (("Thunderbird") "Icedove"))) (with-directory-excursion "comm/mail/components/" - (substitute* '("mailGlue.js" + (substitute* '("MailGlue.jsm" "extensions/schemas/addressBook.json" "extensions/schemas/tabs.json" "extensions/schemas/cloudFile.json" @@ -1229,14 +1254,9 @@ standards of the IceCat project.") "im/messages/mail/Info.plist" "enterprisepolicies/moz.build" "enterprisepolicies/helpers/moz.build" - "enterprisepolicies/schemas/moz.build" - "preferences/chat.inc.xul") + "enterprisepolicies/schemas/moz.build") (("Thunderbird") "Icedove"))) - (substitute* "comm/calendar/lightning/lightning-packager.mk" - (("ifeq \\(thunderbird") - "ifeq (icedove")) (substitute* '("comm/mailnews/base/prefs/content/accountUtils.js" - "comm/mailnews/extensions/newsblog/content/feed-subscriptions.js" "comm/common/src/customizeToolbar.js") (("AppConstants.MOZ_APP_NAME (.)= \"thunderbird" _ e) (format #f "AppConstants.MOZ_APP_NAME ~a= \"icedove" e))) @@ -1309,8 +1329,7 @@ standards of the IceCat project.") "ac_add_options --disable-debug\n" "ac_add_options --disable-debug-symbols\n" "ac_add_options --disable-elf-hack\n" - "ac_add_options --disable-gconf\n" - "ac_add_options --disable-ion\n" + "ac_add_options --disable-jit\n" "ac_add_options --disable-necko-wifi\n" "ac_add_options --disable-official-branding\n" "ac_add_options --disable-tests\n" @@ -1318,16 +1337,13 @@ standards of the IceCat project.") "ac_add_options --disable-webrtc\n" "ac_add_options --enable-application=comm/mail\n" "ac_add_options --enable-calendar\n" - "ac_add_options --enable-content-sandbox\n" "ac_add_options --enable-default-toolkit=\"cairo-gtk3\"\n" "ac_add_options --enable-optimize\n" "ac_add_options --enable-pulseaudio\n" "ac_add_options --enable-release\n" - "ac_add_options --enable-startup-notification\n" "ac_add_options --enable-strip\n" "ac_add_options --enable-system-ffi\n" "ac_add_options --enable-system-pixman\n" - "ac_add_options --enable-system-sqlite\n" "ac_add_options --prefix=" out "\n" "ac_add_options --with-clang-path=" (assoc-ref %build-inputs "clang") "/bin/clang\n" "ac_add_options --with-distribution-id=org.gnu\n" @@ -1398,7 +1414,7 @@ standards of the IceCat project.") ("gtk+" ,gtk+) ("gtk+-2" ,gtk+-2) ("hunspell" ,hunspell) - ("icu4c" ,icu4c) + ("icu4c" ,icu4c-67) ("libcanberra" ,libcanberra) ("libevent" ,libevent) ("libffi" ,libffi) @@ -1429,28 +1445,28 @@ standards of the IceCat project.") ;; in the Thunderbird release tarball. We don't use the release ;; tarball because it duplicates the Icecat sources and only adds the ;; "comm" directory, which is provided by this repository. - ,(let ((changeset "b41cdff70b185358d9c4c1d4a36cfad15a24f001")) + ,(let ((changeset "6ee0e0ff64f4ccda9c478426d0b5d15cd583f8e6")) (origin (method hg-fetch) (uri (hg-reference - (url "https://hg.mozilla.org/releases/comm-esr68") + (url "https://hg.mozilla.org/releases/comm-esr78") (changeset changeset))) (file-name (string-append "thunderbird-" version "-checkout")) (sha256 (base32 - "1xvky8p5r41mxdyg9amydy94p51wmmdwdz0zq2vzspr9viixf7xm"))))) + "0w8p35x53g5anck69xnpn688600n2pyx9c7y640szl1ssdsgch82"))))) ("autoconf" ,autoconf-2.13) - ("cargo" ,rust "cargo") + ("cargo" ,rust-1.41 "cargo") ("clang" ,clang) ("llvm" ,llvm) ("nasm" ,nasm) - ("node" ,node) + ("node" ,node-10.22) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python) ("python2" ,python-2.7) - ("rust" ,rust) - ("rust-cbindgen" ,rust-cbindgen) + ("rust" ,rust-1.41) + ("rust-cbindgen" ,rust-cbindgen-0.14) ("which" ,which) ("yasm" ,yasm))) (home-page "https://www.thunderbird.net") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 8723592b51..0c9b269c2a 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -12,13 +12,16 @@ ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright @ 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> -;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu> -;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> +;;; Copyright © 2019 Giovanni Biscuolo <g@xelera.eu> +;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2020 raingloom <raingloom@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -146,6 +149,11 @@ ("os/os_test.go" "(.+)(TestHostname.+)") ("time/format_test.go" "(.+)(TestParseInSydney.+)") + ;; XXX: This test fails with tzdata 2020b and newer. Later + ;; Go releases work fine, so just disable this for the + ;; bootstrap Go. + ("time/example_test.go" "(.+)(ExampleParseInLocation.+)") + ("os/exec/exec_test.go" "(.+)(TestEcho.+)") ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") @@ -559,6 +567,30 @@ per-goroutine.") (home-page "https://github.com/jtolds/gls") (license license:expat))) +(define-public go-github-com-saracen-walker + (package + (name "go-github-com-saracen-walker") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/saracen/walker") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rq1lrp99lx7k1ysbfznn4c1iagnxdhb4lnnklsadnnzi3gvygqz")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/saracen/walker")) + (inputs + `(("go-golang-org-x-sync" ,go-golang-org-x-sync))) + (home-page "https://github.com/saracen/walker") + (synopsis "Faster, parallel version of Go's filepath.Walk") + (license license:expat) + (description "The @code{walker} function is a faster, parallel version, of +@code{filepath.Walk}"))) + (define-public go-github-com-tj-docopt (package (name "go-github-com-tj-docopt") @@ -741,9 +773,39 @@ for the Go language.") processing.") (license license:bsd-3)))) +(define-public go-golang-org-x-sync + (let ((commit "6e8e738ad208923de99951fe0b48239bfd864f28") + (revision "1")) + (package + (name "go-golang-org-x-sync") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/sync") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1avk27pszd5l5df6ff7j78wgla46ir1hhy2jwfl9a3c0ys602yx9")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/sync" + #:tests? #f + ;; Source-only package + #:phases + (modify-phases %standard-phases + (delete 'build)))) + (synopsis "Additional Go concurrency primitives") + (description "This package provides Go concurrency primitives in addition +to the ones provided by the language and “sync” and “sync/atomic” +packages.") + (home-page "https://go.googlesource.com/sync/") + (license license:bsd-3)))) + (define-public go-golang-org-x-sys - (let ((commit "c709ea063b76879dc9915358f55d4d77c16ab6d5") - (revision "6")) + (let ((commit "05986578812163b26672dabd9b425240ae2bb0ad") + (revision "7")) (package (name "go-golang-org-x-sys") (version (git-version "0.0.0" revision commit)) @@ -755,7 +817,7 @@ processing.") (file-name (git-file-name name version)) (sha256 (base32 - "15nq53a6kcqchng4j0d1pjw0m6hny6126nhjdwqw5n9dzh6a226d")))) + "1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/sys" @@ -2822,7 +2884,7 @@ cross-compilation.") (synopsis "Walk a value in Go using reflection") (description "reflectwalk is a Go library for \"walking\" a value in Go using reflection, in the same way a directory tree can be \"walked\" on the -filesystem. Walking a complex structure can allow you to do manipulations on +file system. Walking a complex structure can allow you to do manipulations on unknown structures such as those decoded from JSON.") (license license:expat))) @@ -3295,6 +3357,32 @@ format in Go.") (home-page "https://github.com/kr/pretty") (license license:expat))) +(define-public go-github-com-kylelemons-godebug + (package + (name "go-github-com-kylelemons-godebug") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kylelemons/godebug") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dkk3friykg8p6wgqryx6745ahhb9z1j740k7px9dac6v5xjp78c")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kylelemons/godebug/diff" + #:unpack-path "github.com/kylelemons/godebug")) + (home-page "https://github.com/kylelemons/godebug") + (synopsis "Pretty printer for Go values.") + (description + "This package will pretty print a compact representation of a Go data +structure. It can also produce a much more verbose, one-item-per-line +representation suitable for computing diffs.") + (license license:asl2.0))) + (define-public go-github-com-kr-text (package (name "go-github-com-kr-text") @@ -5237,11 +5325,11 @@ errors (warnings).") (native-inputs `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1))) (home-page "https://github.com/go-git/go-billy/") - (synopsis "Filesystem abstraction for Go") - (description "Billy implements an interface based on the os standard -library, allowing to develop applications without dependency on the underlying -storage. Makes it virtually free to implement mocks and testing over -filesystem operations.") + (synopsis "File system abstraction for Go") + (description "Billy implements an interface based on the OS's standard +library to develop applications without depending on the underlying storage. +This makes it virtually free to implement mocks and testing over +file system operations.") (license license:asl2.0))) (define-public go-github-com-jbenet-go-context @@ -5656,3 +5744,86 @@ Included are the following: except that it adds convenience functions that use the fmt package to format error messages.") (license license:bsd-3))) + +(define-public go-github-com-arceliar-phony + (let ((commit "d0c68492aca0bd4b5c5c8e0452c9b4c8af923eaf") + (revision "0")) + (package + (name "go-github-com-arceliar-phony") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Arceliar/phony") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0876y0hlb1zh8hn0pxrb5zfdadvaqmqwlr66p19yl2a76galz992")))) + (arguments + '(#:import-path "github.com/Arceliar/phony")) + (build-system go-build-system) + (home-page "https://github.com/Arceliar/phony") + (synopsis "Very minimal actor model library") + (description "Phony is a very minimal actor model library for Go, +inspired by the causal messaging system in the Pony programming language.") + (license license:expat)))) + +(define-public go-github-com-cheggaaa-pb + (package + (name "go-github-com-cheggaaa-pb") + (version "3.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cheggaaa/pb/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xhsv9yf3fz918ay6w0d87jnb3hk9vxvi16jk172kqq26x7jixd0")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/cheggaaa/pb/")) + (propagated-inputs + `(("go-github-com-fatih-color" ,go-github-com-fatih-color) + ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable) + ("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth) + ("go-golang-org-x-sys" ,go-golang-org-x-sys))) + (native-inputs + `(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty))) + (home-page "https://github.com/cheggaaa/pb/") + (synopsis "Console progress bar for Go") + (description "This package is a Go library that draws progress bars on +the terminal.") + (license license:bsd-3))) + +(define-public go-github-com-gologme-log + ;; this is the same as v1.2.0, only the LICENSE file changed + (let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55")) + (package + (name "go-github-com-gologme-log") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gologme/log") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0z3gs5ngv2jszp42ypp3ai0pn410v3b2m674g73ma7vsbn2yjk1n")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/gologme/log")) + (home-page "https://github.com/gologme/log/") + (synopsis + "Fork of the golang built in log package to add support for levels") + (description "This package is a drop in replacement for the built-in Go +log package. All the functionality of the built-in package still exists and +is unchanged. This package contains a series of small enhancements and +additions.") + (license license:bsd-3)))) diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 92ba884f46..fcb6ffc9bb 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -151,7 +151,7 @@ between two other data points.") (define-public gama (package (name "gama") - (version "2.09") + (version "2.10") (source (origin (method url-fetch) @@ -159,7 +159,7 @@ between two other data points.") version ".tar.gz")) (sha256 (base32 - "0c1b28frl6109arj09v4zr1xs859krn8871mkvis517g5pb55dc9")))) + "14im3ahh849rildvs4qsk009jywf9w84vcmh7w44ajmlwcw7xiys")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f)) ; race condition (native-inputs @@ -179,7 +179,7 @@ coordinates as well as partial support for adjustments in global coordinate syst (define-public gpxsee (package (name "gpxsee") - (version "7.30") + (version "7.34") (source (origin (method git-fetch) (uri (git-reference @@ -188,7 +188,7 @@ coordinates as well as partial support for adjustments in global coordinate syst (file-name (git-file-name name version)) (sha256 (base32 - "09gajwqc30r9a2sn972qdx3gx0gki9n0zafq986hn6zsr3z43mfs")))) + "0cdq2bqgkcqcyvasnrlgpl97b0kfi65iq2q6yy7dpp9xw4w764b1")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index a307fee808..db390fed5e 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -121,34 +121,6 @@ more.") (home-page "https://pypi.org/project/python-igraph/") (synopsis "Python bindings for the igraph network analysis library"))) -(define-public r-rgraphviz - (package - (name "r-rgraphviz") - (version "2.32.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "Rgraphviz" version)) - (sha256 - (base32 - "1calpvzgcz6v7s4x6bf35kj83sga95zjp7x87p5d3qnbv7q2wz5y")))) - (properties `((upstream-name . "Rgraphviz"))) - (build-system r-build-system) - ;; FIXME: Rgraphviz bundles the sources of an older variant of - ;; graphviz. It does not build with the latest version of graphviz, so - ;; we do not add graphviz to the inputs. - (inputs `(("zlib" ,zlib))) - (propagated-inputs - `(("r-graph" ,r-graph))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://bioconductor.org/packages/Rgraphviz") - (synopsis "Plotting capabilities for R graph objects") - (description - "This package interfaces R with the graphviz library for plotting R graph -objects from the @code{graph} package.") - (license license:epl1.0))) - (define-public r-rbiofabric (let ((commit "666c2ae8b0a537c006592d067fac6285f71890ac") (revision "1")) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index cf52984183..d0bf577139 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -614,6 +615,39 @@ NOTE: This older version of Blender is the last release that does not require OpenGL 3. It is retained for use with older computers.") (license license:gpl2+))) +(define-public goxel + (package + (name "goxel") + (version "0.10.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/guillaumechereau/goxel") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wmxy5wfk1xrqgz0y0zcr4vkddylqc70cv4vzk117x6whjnldsm3")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases (modify-phases %standard-phases (delete 'configure)) + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "release"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("gtk3" ,gtk+) + ("glfw" ,glfw) + ("scons" ,scons))) + (home-page "https://goxel.xyz/") + (synopsis "Voxel editor") + (description + "Goxel is a voxel editor that features unlimited scene size, unlimited +history buffer, 24-bit RGB colors, layers, procedural rendering, ray tracing, +and export to various formats including the format used by Magicavoxel.") + (license license:gpl3+))) + (define-public assimp (package (name "assimp") diff --git a/gnu/packages/groff.scm b/gnu/packages/groff.scm index 3a44497594..0803a2a7f5 100644 --- a/gnu/packages/groff.scm +++ b/gnu/packages/groff.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> @@ -191,17 +191,21 @@ is usually the formatter of \"man\" documentation pages.") (build-system gnu-build-system) (arguments `(#:test-target "test" - #:make-flags - (list (string-append "INSTALLDIR=" - (assoc-ref %outputs "out") "/bin")) #:phases (modify-phases %standard-phases (delete 'configure) - (add-before 'install 'pre-install + (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (mkdir-p (string-append (assoc-ref outputs "out") - "/bin")) - #t))))) + (let ((out (assoc-ref outputs "out"))) + (install-file "roffit" (string-append out "/bin")) + (install-file "roffit.1" (string-append out "/share/man/man1")) + #t))) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/roffit") + `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))) + #t)))))) (native-inputs `(("html-tree" ,perl-html-tree))) ; for test (inputs `(("perl" ,perl))) diff --git a/gnu/packages/groovy.scm b/gnu/packages/groovy.scm index e21c4e3775..c44a17b59e 100644 --- a/gnu/packages/groovy.scm +++ b/gnu/packages/groovy.scm @@ -31,7 +31,7 @@ (define java-groovy-bootstrap (package (name "java-groovy-bootstrap") - (version "2.4.15") + (version "3.0.5") (source (origin (method git-fetch) @@ -43,57 +43,69 @@ version))))) (file-name (git-file-name name version)) (sha256 - (base32 "1q4cplimr18j93zz92kgq8b6wdv0p9svr7cdr47q8b2mbjpd0x3j")) + (base32 "00556qxjmcn3a3xhfy6n0zw3d69mnw72vzm2rb6n4ihzkk7579nm")) (patches (search-patches "groovy-add-exceptionutilsgenerator.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "groovy.jar" - #:source-dir "src/main:subprojects/groovy-test/src/main/java" + #:source-dir "src/main/java:src/main/antlr2:subprojects/parser-antlr4/src/main/java:src/antlr" #:test-dir "src/test" #:tests? #f - #:jdk ,icedtea-8 + #:jdk ,openjdk9 #:main-class "groovy.ui.GroovyMain" #:phases (modify-phases %standard-phases - (add-before 'build 'fix-java8 - ;; Fix "Reference to plus is ambiguous" - (lambda _ - (substitute* "src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java" - (("toList\\(left\\)") - "(List<T>)toList(left)")) - #t)) (add-before 'build 'generate-parsers (lambda _ - (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr/java" (invoke "antlr" "java.g")) - (with-directory-excursion "src/main/org/codehaus/groovy/antlr" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr" (mkdir "parser") (with-directory-excursion "parser" (invoke "antlr" "../groovy.g"))) + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyLexer.g4") + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyParser.g4") #t)) (add-before 'build 'generate-exception-utils (lambda _ (invoke "javac" "-cp" (getenv "CLASSPATH") + "-source" "1.8" "-target" "1.8" "config/ant/src/org/codehaus/groovy/ExceptionUtilsGenerator.java") (invoke "java" "-cp" (string-append (getenv "CLASSPATH") ":config/ant/src") "org.codehaus.groovy.ExceptionUtilsGenerator" "build/classes/org/codehaus/groovy/runtime/ExceptionUtils.class") + #t)) + (add-before 'build 'set-source-level + (lambda _ + (substitute* "build.xml" + (("<javac") "<javac source=\"1.8\" target=\"1.8\"")) #t))))) (native-inputs - `(("java-junit" ,java-junit) + `(("antlr2" ,antlr2) + ("antlr4" ,java-tunnelvisionlabs-antlr4) + ("java-jsr305" ,java-jsr305) + ("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core) - ("antlr2" ,antlr2) ("java-jmock-1" ,java-jmock-1) ("java-xmlunit-legacy" ,java-xmlunit-legacy))) (inputs - `(("java-commons-cli" ,java-commons-cli) - ("java-asm" ,java-asm) + `(("java-antlr4-runtime" ,java-tunnelvisionlabs-antlr4-runtime) + ("java-antlr4-runtime-annotations" + ,java-tunnelvisionlabs-antlr4-runtime-annotations) + ("java-asm" ,java-asm-8) + ("java-asm-util" ,java-asm-util-8) ("java-classpathx-servletapi" ,java-classpathx-servletapi) - ("java-xstream" ,java-xstream) + ("java-commons-cli" ,java-commons-cli) ("java-jansi" ,java-jansi) - ("java-jline-2" ,java-jline-2))) + ("java-jline-2" ,java-jline-2) + ("java-picocli" ,java-picocli) + ("java-xstream" ,java-xstream))) (home-page "http://groovy-lang.org/") (synopsis "Groovy's java bootstrap") (description "This package contains the java bootstrap that is used to build @@ -106,26 +118,25 @@ groovy submodules.") (name "groovy-bootstrap") (arguments `(#:jar-name "groovy.jar" - #:jdk ,icedtea-8 + #:jdk ,openjdk9 ;Requires groovy-xml and logback-classic which are circular dependencies #:tests? #f #:phases (modify-phases %standard-phases - (add-before 'build 'fix-java8 - ;; Fix "Reference to plus is ambiguous" - (lambda _ - (substitute* "src/main/org/codehaus/groovy/runtime/DefaultGroovyMethods.java" - (("toList\\(left\\)") - "(List<T>)toList(left)")) - #t)) (add-before 'build 'generate-parser (lambda _ - (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr/java" (invoke "antlr" "java.g")) - (with-directory-excursion "src/main/org/codehaus/groovy/antlr" + (with-directory-excursion "src/main/antlr2/org/codehaus/groovy/antlr" (mkdir "parser") (with-directory-excursion "parser" (invoke "antlr" "../groovy.g"))) + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyLexer.g4") + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyParser.g4") #t)) (add-before 'build 'generate-exception-utils (lambda _ @@ -141,19 +152,19 @@ groovy submodules.") (mkdir-p "target/classes/org/codehaus/groovy/runtime") (mkdir-p "target/classes/META-INF") (invoke "javac" "-cp" (getenv "CLASSPATH") - "src/main/org/codehaus/groovy/tools/DgmConverter.java") + "src/main/java/org/codehaus/groovy/tools/DgmConverter.java") (invoke "java" "-cp" (string-append (getenv "CLASSPATH") - ":src/main") + ":src/main/java") "org.codehaus.groovy.tools.DgmConverter") #t)) (add-before 'build 'copy-resources (lambda _ - (with-directory-excursion "src/main" + (with-directory-excursion "src/main/java" (for-each (lambda (file) - (mkdir-p (string-append "../../target/classes/" + (mkdir-p (string-append "../../../target/classes/" (dirname file))) (copy-file file - (string-append "../../target/classes/" + (string-append "../../../target/classes/" file))) (find-files "." ".*.(txt|properties|xml|html)"))) #t)) @@ -162,6 +173,7 @@ groovy submodules.") (mkdir-p "build/jar") (apply invoke "java" "-cp" (getenv "CLASSPATH") "org.codehaus.groovy.tools.FileSystemCompiler" + "-cp" (getenv "CLASSPATH") "-d" "target/classes" "-j"; joint compilation (find-files "src/main" @@ -186,7 +198,7 @@ is used to build the groovy submodules written in groovy."))) (name "groovy-tests-bootstrap") (arguments `(#:jar-name "groovy-tests-bootstrap.jar" - #:jdk ,icedtea-8 + #:jdk ,openjdk9 #:tests? #f; no tests #:phases (modify-phases %standard-phases @@ -196,17 +208,20 @@ is used to build the groovy submodules written in groovy."))) (mkdir-p "build/jar") (apply invoke "java" "-cp" (getenv "CLASSPATH") "org.codehaus.groovy.tools.FileSystemCompiler" + "-cp" (getenv "CLASSPATH") "-d" "build/classes" "-j"; joint compilation (append (find-files "src/test" "TestSupport.java") (find-files "src/test" "HeadlessTestSupport.java") + (find-files "src/test" "AstAssert.groovy") (find-files "src/test" "XmlAssert.java"))) (invoke "jar" "-cf" "build/jar/groovy-tests-bootstrap.jar" "-C" "build/classes" ".") #t))))) (inputs `(("groovy-test" ,groovy-test) + ("groovy-parser-antlr4" ,groovy-parser-antlr4) ,@(package-inputs groovy-bootstrap))) (native-inputs `(("groovy-bootstrap" ,groovy-bootstrap) @@ -215,14 +230,15 @@ is used to build the groovy submodules written in groovy."))) (description "This package contains three classes required for testing other groovy submodules."))) -(define groovy-test +(define (groovy-subproject name) (package (inherit groovy-bootstrap) - (name "groovy-test") + (name name) (arguments - `(#:jar-name "groovy-test.jar" - #:jdk ,icedtea-8 - #:test-dir "subprojects/groovy-test/src/test" + `(#:jar-name ,(string-append name ".jar") + #:test-dir ,(string-append name "/src/test") + #:test-include (list "**/*Test.java" "**/*.groovy") + #:jdk ,openjdk9 #:phases (modify-phases %standard-phases (replace 'build @@ -231,839 +247,531 @@ other groovy submodules."))) (mkdir-p "build/jar") (apply invoke "java" "-cp" (getenv "CLASSPATH") "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "subprojects/groovy-test/src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-test.jar" + "-cp" (getenv "CLASSPATH") + "-d" "build/classes" "-j" + (append + (find-files ,(string-append "subprojects/" name "/src/main/java") + ".*\\.(groovy|java)$") + (find-files ,(string-append "subprojects/" name "/src/main/groovy") + ".*\\.(groovy|java)$"))) + (invoke "jar" "-cf" ,(string-append "build/jar/" name ".jar") "-C" "build/classes" ".") #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "subprojects/groovy-test/src/test" - ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy test submodule") - (description "This package contains the test submodules used to test -other groovy submodules."))) - -(define groovy-xml - (package - (inherit groovy-bootstrap) - (name "groovy-xml") - (arguments - `(#:jar-name "groovy-xml.jar" - #:jdk ,icedtea-8 - #:test-dir "src/test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-xml") - #t)) - (replace 'build + (add-before 'build 'copy-resources (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-xml.jar" - "-C" "build/classes" ".") + (let ((resource-dir ,(string-append "subprojects/" name + "/src/main/resources"))) + (when (file-exists? resource-dir) + (copy-recursively resource-dir "build/classes"))) #t)) (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy XML") - (description "This package contains XML-related utilities for groovy."))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (mkdir-p "build/test-classes") + (substitute* "build.xml" + (("depends=\"compile-tests\"") "depends=\"\"") + (("}/java") "}/")) + (apply invoke "java" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "org.codehaus.groovy.tools.FileSystemCompiler" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "-d" "build/test-classes" "-j" + (append + (find-files ,(string-append "subprojects/" name "/src/test/java") + ".*\\.(groovy|java)$") + (find-files ,(string-append "subprojects/" name "/src/test/groovy") + ".*\\.(groovy|java)$"))) + (invoke "ant" "check")) + #t))))))) + +(define groovy-parser-antlr4 + (let ((base (groovy-subproject "parser-antlr4"))) + (package + (inherit base) + (name "groovy-parser-antlr4") + (arguments + `(#:tests? #f + ,@(substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'build 'generate-parser + (lambda _ + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyLexer.g4") + (invoke "antlr4" "-lib" "src/antlr" + "-package" "org.apache.groovy.parser.antlr4" + "-visitor" "-no-listener" "src/antlr/GroovyParser.g4") + (for-each + (lambda (file) + (install-file file + "subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4")) + (find-files "src/antlr" ".*.java$")) + #t))))))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ,@(package-native-inputs java-groovy-bootstrap))) + (synopsis "Groovy antlr4 parser submodule") + (description "This package contains the new parser Parrot for Groovy, which +is based on Antlr4. The new parser can parse Groovy source code and construct +the related AST, which is almost identical to the one generated by the old +parser. Currently all features of Groovy are available.")))) + +(define groovy-test + (let ((base (groovy-subproject "groovy-test"))) + (package + (inherit base) + (arguments + `(;#:tests? #f + ,@(package-arguments base))) + (synopsis "Groovy test submodule") + (description "This package contains the test submodules used to test +other groovy submodules.")))) + +(define groovy-xml + (let ((base (groovy-subproject "groovy-xml"))) + (package + (inherit base) + (native-inputs + `(("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (inputs + `(("groovy-parser-antlr4" ,groovy-parser-antlr4) + ,@(package-inputs base))) + (synopsis "Groovy XML") + (description "This package contains XML-related utilities for groovy.")))) (define groovy-templates - (package - (inherit groovy-bootstrap) - (name "groovy-templates") - (arguments - `(#:jar-name "groovy-templates.jar" - #:jdk ,icedtea-8 - #:test-dir "subprojects/groovy-templates/src/test" - #:tests? #f;Requires spock-framework which is a circular dependency - #:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "subprojects/groovy-templates/src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-templates.jar" - "-C" "build/classes" ".") - #t))))) - (inputs - `(("groovy-xml" ,groovy-xml) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy template engine") - (description "This package contains a template framework which is + (let ((base (groovy-subproject "groovy-templates"))) + (package + (inherit base) + (arguments + `(#:tests? #f;Requires spock-framework which is a circular dependency + ,@(substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + ;; These annotations are used for QA, but do not affect build output. + ;; They require findbugs, which we don't have yet. + (add-before 'build 'remove-annotation + (lambda _ + (substitute* '("subprojects/groovy-templates/src/main/groovy/groovy/text/StreamingTemplateEngine.java" + "subprojects/groovy-templates/src/main/groovy/groovy/text/TemplateEngine.java") + (("import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;") "") + (("@SuppressFBWarnings.*") "")) + #t))))))) + (inputs + `(("groovy-xml" ,groovy-xml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy template engine") + (description "This package contains a template framework which is well-suited to applications where the text to be generated follows the form of -a static template."))) +a static template.")))) (define groovy-groovydoc - (package - (inherit groovy-bootstrap) - (name "groovy-groovydoc") - (arguments - `(#:jar-name "groovy-groovydoc.jar" - #:jdk ,icedtea-8 - #:test-dir "subprojects/groovy-groovydoc/src/test" - #:tests? #f; Requires groovy-ant which is a circular dependency - #:phases - (modify-phases %standard-phases - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "subprojects/groovy-groovydoc/src/main/resources" - "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" - "-j"; joint compilation - (find-files "subprojects/groovy-groovydoc/src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-groovydoc.jar" - "-C" "build/classes" ".") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy documentation generation") - (description "This package contains the groovy documentation generator, -similar to javadoc."))) + (let ((base (groovy-subproject "groovy-groovydoc"))) + (package + (inherit base) + (arguments + `(#:tests? #f; Requires groovy-ant which is a circular dependency + ,@(package-arguments base))) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-parser-antlr4" ,groovy-parser-antlr4) + ("java-javaparser" ,java-javaparser) + ,@(package-inputs groovy-bootstrap))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs java-groovy-bootstrap))) + (synopsis "Groovy documentation generation") + (description "This package contains the groovy documentation generator, +similar to javadoc.")))) (define groovy-ant - (package - (inherit groovy-bootstrap) - (name "groovy-ant") - (arguments - `(#:jar-name "groovy-ant.jar" - #:jdk ,icedtea-8 - #:test-dir "src/test" - ;; FIXME: Excluding all tests because they fail - #:test-exclude (list - "**/GroovyTest.java" - "**/GroovycTest.java") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-ant") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-ant.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (find-files "src/test" ".*\\.(groovy|java)$")) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-groovydoc" ,groovy-groovydoc) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-xml" ,groovy-xml) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy ant tasks") - (description "This package contains groovy-related ant tasks definitions."))) + (let ((base (groovy-subproject "groovy-ant"))) + (package + (inherit base) + (arguments + `(;#:tests? #f;Requires spock-framework which is a circular dependency + #:ant ,ant/java8; ant is actually a dependency of this package, and we need 1.10 + ,@(substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + ;; These annotations are used for QA, but do not affect build output. + ;; They require findbugs, which we don't have yet. + (add-before 'build 'remove-annotation + (lambda _ + (substitute* (find-files "subprojects/groovy-ant" + ".*.java$") + (("import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;") "") + (("@SuppressFBWarnings.*") "")) + #t))))))) + (inputs + `(("groovy-groovydoc" ,groovy-groovydoc) + ("java-asm-tree" ,java-asm-tree-8) + ("java-asm-analysis" ,java-asm-analysis-8) + ,@(package-inputs base))) + (native-inputs + `(("ant-junit" ,ant-junit) + ("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-xml" ,groovy-xml) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy ant tasks") + (description "This package contains groovy-related ant tasks definitions.")))) + +(define groovy-astbuilder + (let ((base (groovy-subproject "groovy-astbuilder"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (delete 'copy-resources) + (add-after 'build 'copy-resources + (lambda _ + (copy-recursively + "subprojects/groovy-astbuilder/src/main/resources" + "build/classes") + (substitute* "build.xml" + (("depends=\"compile,") "depends=\"")) + (invoke "ant" "jar") + #t)))))) + (inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Transformation to capture ASTBuilder from code statements") + (description "This package contains an AST transformation for use with +ASTBuilder when building \"from string\" Groovy statements.")))) (define groovy-bsf - (package - (inherit groovy-bootstrap) - (name "groovy-bsf") - (arguments - `(#:jar-name "groovy-bsf.jar" - #:jdk ,icedtea-8 - #:test-dir "src/test" - #:test-exclude (list + (let ((base (groovy-subproject "groovy-bsf"))) + (package + (inherit base) + (arguments + `(#:test-exclude (list ;; exception from Groovy: org.codehaus.groovy.runtime.InvokerInvocationException: ;; groovy.lang.MissingMethodException: No signature of method: ;; java.util.ArrayList.each() is applicable for argument types: ;; (groovy.script.MapFromList$_doit_closure1) values: ;; [groovy.script.MapFromList$_doit_closure1@17e554d5] "**/BSFTest.java") - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-bsf") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-bsf.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (find-files "src/test" ".*\\.(groovy|java)$")) - (invoke "ant" "check") - #t))))) - (inputs - `(("java-commons-bsf" ,java-commons-bsf) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy BSF engine") - (description "This package defines the BSF engine for using Groovy inside -any @dfn{Bean Scripting Framework} (BSF) application."))) + ,@(package-arguments base))) + (inputs + `(("java-commons-bsf" ,java-commons-bsf) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ,@(package-native-inputs base))) + (synopsis "Groovy BSF engine") + (description "This package defines the BSF engine for using Groovy inside +any @dfn{Bean Scripting Framework} (BSF) application.")))) + +(define groovy-cli-commons + (let ((base (groovy-subproject "groovy-cli-commons"))) + (package + (inherit base) + (inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Groovy CLI common classes") + (description "This package defines common classes for dealing with +command-line arguments in Groovy.")))) + +(define groovy-cli-picocli + (let ((base (groovy-subproject "groovy-cli-picocli"))) + (package + (inherit base) + (inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("java-picocli" ,java-picocli) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Groovy CLI classes that use picocli") + (description "This package defines classes for dealing with command-line +arguments in Groovy using the picocli library.")))) (define groovy-swing - (package - (inherit groovy-bootstrap) - (name "groovy-swing") - (arguments - `(#:jar-name "groovy-swing.jar" - #:jdk ,icedtea-8 - ;; FIXME: tests are not run - #:test-dir "src/test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-swing") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-swing.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "src/test/groovy/groovy/util/GroovySwingTestCase.groovy" - (("HeadlessTestSupport.headless") "isHeadless()")) - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (find-files "src/test" ".*\\.(groovy|java)$")) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy graphical library") - (description "This package contains the groovy bindings to Java Swing, a -library used to build graphical interfaces."))) + (let ((base (groovy-subproject "groovy-swing"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'fix-test + (lambda _ + (substitute* + "subprojects/groovy-swing/src/test/groovy/groovy/swing/GroovySwingTestCase.groovy" + (("HeadlessTestSupport.headless") "isHeadless()")) + #t)))))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ,@(package-native-inputs base))) + (synopsis "Groovy graphical library") + (description "This package contains the groovy bindings to Java Swing, a +library used to build graphical interfaces.")))) (define groovy-console - (package - (inherit groovy-bootstrap) - (name "groovy-console") - (arguments - `(#:jar-name "groovy-console.jar" - #:jdk ,icedtea-8 - ;; FIXME: tests are not run - #:test-dir "src/test" - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-console") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-console.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (substitute* - "../groovy-swing/src/test/groovy/groovy/util/GroovySwingTestCase.groovy" - (("HeadlessTestSupport.headless") "isHeadless()")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append - (find-files "../groovy-swing/src/test" ".*\\.(groovy|java)$") - (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-swing" ,groovy-swing) - ("groovy-templates" ,groovy-templates) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ("java-commons-logging-minimal" ,java-commons-logging-minimal) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy graphical interface") - (description "This package contains a graphical interface to run groovy."))) + (let ((base (groovy-subproject "groovy-console"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'build-swing + (lambda _ + (substitute* + "subprojects/groovy-swing/src/test/groovy/groovy/swing/GroovySwingTestCase.groovy" + (("HeadlessTestSupport.headless") "isHeadless()")) + (mkdir-p "build/test-classes") + (apply invoke "java" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "org.codehaus.groovy.tools.FileSystemCompiler" "-cp" + (string-append (getenv "CLASSPATH") ":build/classes") + "-d" "build/test-classes" "-j" + (append + (find-files "subprojects/groovy-swing/src/test/java" + ".*\\.(groovy|java)$") + (find-files "subprojects/groovy-swing/src/test/groovy" + ".*\\.(groovy|java)$"))) + #t)))))) + (inputs + `(("groovy-swing" ,groovy-swing) + ("groovy-templates" ,groovy-templates) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ,@(package-native-inputs base))) + (synopsis "Groovy graphical interface") + (description "This package contains a graphical interface to run groovy.")))) + +(define groovy-datetime + (let ((base (groovy-subproject "groovy-datetime"))) + (package + (inherit base) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Date/Time API for Groovy") + (description "This package defines new Groovy methods which appear on +normal JDK Date/Time API (@code{java.time}) classes inside the Groovy +environment.")))) + +(define groovy-dateutil + (let ((base (groovy-subproject "groovy-dateutil"))) + (package + (inherit base) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Date and Calendar API for Groovy") + (description "This package defines new groovy methods which appear on +normal JDK Date and Calendar classes inside the Groovy environment.")))) (define groovy-docgenerator - (package - (inherit groovy-bootstrap) - (name "groovy-docgenerator") - (arguments - `(#:jar-name "groovy-docgenerator.jar" - #:jdk ,icedtea-8 - #:tests? #f; No tests - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-docgenerator") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-docgenerator.jar" - "-C" "build/classes" ".") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ("groovy-swing" ,groovy-swing) - ("java-qdox-1.12" ,java-qdox-1.12) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy documentation generation") - (description "This package contains a command line tool to generate -documentation for groovy applications."))) + (let ((base (groovy-subproject "groovy-docgenerator"))) + (package + (inherit base) + (arguments + `(#:tests? #f; No tests + ,@(package-arguments base))) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-swing" ,groovy-swing) + ("java-qdox-1.12" ,java-qdox-1.12) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy documentation generation") + (description "This package contains a command line tool to generate +documentation for groovy applications.")))) (define groovy-groovysh - (package - (inherit groovy-bootstrap) - (name "groovy-groovysh") - (arguments - `(#:jar-name "groovy-groovysh.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-groovysh") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-groovysh.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-xml" ,groovy-xml) - ("groovy-console" ,groovy-console) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy REPL") - (description "This package contains the Groovy REPL."))) + (let ((base (groovy-subproject "groovy-groovysh"))) + (package + (inherit base) + (inputs + `(("groovy-xml" ,groovy-xml) + ("groovy-console" ,groovy-console) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy REPL") + (description "This package contains the Groovy REPL.")))) (define groovy-jmx - (package - (inherit groovy-bootstrap) - (name "groovy-jmx") - (arguments - `(#:jar-name "groovy-jmx.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-jmx") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-jmx.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy JMX extension") - (description "This package contains the JMX extension of Groovy, for -management and monitoring of JVM-based solutions."))) + (let ((base (groovy-subproject "groovy-jmx"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy JMX extension") + (description "This package contains the JMX extension of Groovy, for +management and monitoring of JVM-based solutions.")))) (define groovy-json - (package - (inherit groovy-bootstrap) - (name "groovy-json") - (arguments - `(#:jar-name "groovy-json.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-json") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-json.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy JSON") - (description "This package contains JSON-related utilities for groovy."))) + (let ((base (groovy-subproject "groovy-json"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy JSON") + (description "This package contains JSON-related utilities for groovy.")))) (define groovy-jsr223 - (package - (inherit groovy-bootstrap) - (name "groovy-jsr223") - (arguments - `(#:jar-name "groovy-jsr223.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-jsr223") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-jsr223.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy's own JSR223 implementation") - (description "This package contains Groovy's own JSR223 implementation. This -module is used for interaction between Groovy and Java code."))) + (let ((base (groovy-subproject "groovy-jsr223"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy's own JSR223 implementation") + (description "This package contains Groovy's own JSR223 implementation. This +module is used for interaction between Groovy and Java code.")))) (define groovy-nio - (package - (inherit groovy-bootstrap) - (name "groovy-nio") - (arguments - `(#:jar-name "groovy-nio.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:tests? #f; Requires spock-framework - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-nio") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-nio.jar" - "-C" "build/classes" ".") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy input-output library") - (description "This package implements an input/output library that extends -the functionality of the common library of Java."))) + (let ((base (groovy-subproject "groovy-nio"))) + (package + (inherit base) + (arguments + `(#:tests? #f; Require spock-framework + ,@(package-arguments base))) + (synopsis "Groovy input-output library") + (description "This package implements an input/output library that extends +the functionality of the common library of Java.")))) (define groovy-servlet - (package - (inherit groovy-bootstrap) - (name "groovy-servlet") - (arguments - `(#:jar-name "groovy-servlet.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-servlet") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" - "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-servlet.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" - "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ("groovy-xml" ,groovy-xml) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-json" ,groovy-json) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy's servlet implementation") - (description "This package contains a library to create groovlets, Groovy's -version of Java servlets."))) + (let ((base (groovy-subproject "groovy-servlet"))) + (package + (inherit base) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-xml" ,groovy-xml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-json" ,groovy-json) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy's servlet implementation") + (description "This package contains a library to create groovlets, Groovy's +version of Java servlets.")))) (define groovy-sql - (package - (inherit groovy-bootstrap) - (name "groovy-sql") - (arguments - `(#:jar-name "groovy-sql.jar" - #:test-dir "src/test" - #:tests? #f;TODO: Requires hsqldb - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-sql") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" - ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-sql.jar" - "-C" "build/classes" ".") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy SQL library") - (description "This package contains a facade over Java's normal JDBC APIs -providing greatly simplified resource management and result set handling."))) + (let ((base (groovy-subproject "groovy-sql"))) + (package + (inherit base) + (arguments + `(#:tests? #f;TODO: Requires hsqldb + ,@(package-arguments base))) + (synopsis "Groovy SQL library") + (description "This package contains a facade over Java's normal JDBC APIs +providing greatly simplified resource management and result set handling.")))) (define groovy-testng - (package - (inherit groovy-bootstrap) - (name "groovy-testng") - (arguments - `(#:jar-name "groovy-testng.jar" - #:tests? #f; No tests - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-testng") - #t)) - (add-before 'build 'copy-resources - (lambda _ - (copy-recursively "src/main/resources" "build/classes") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" - "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-testng.jar" - "-C" "build/classes" ".") - #t))))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy testing framework") - (description "This package contains integration code for running TestNG -tests in Groovy."))) + (let ((base (groovy-subproject "groovy-testng"))) + (package + (inherit base) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy testing framework") + (description "This package contains integration code for running TestNG +tests in Groovy.")))) (define groovy-macro - (package - (inherit groovy-bootstrap) - (name "groovy-macro") - (arguments - `(#:jar-name "groovy-macro.jar" - #:test-dir "src/test" - #:jdk ,icedtea-8 - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "subprojects/groovy-macro") - #t)) - (replace 'build - (lambda _ - (mkdir-p "build/classes") - (mkdir-p "build/jar") - (apply invoke "java" "-cp" (getenv "CLASSPATH") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/classes" "-j"; joint compilation - (find-files "src/main" ".*\\.(groovy|java)$")) - (invoke "jar" "-cf" "build/jar/groovy-macro.jar" - "-C" "build/classes" ".") - #t)) - (replace 'check - (lambda _ - (mkdir-p "build/test-classes") - (substitute* "build.xml" - (("depends=\"compile-tests\"") "depends=\"\"") - (("}/java") "}/groovy")) - (apply invoke "java" "-cp" - (string-append (getenv "CLASSPATH") ":build/classes") - "org.codehaus.groovy.tools.FileSystemCompiler" - "-d" "build/test-classes" "-j" - (append (find-files "src/test" ".*\\.(groovy|java)$"))) - (invoke "ant" "check") - #t))))) - (inputs - `(("groovy-templates" ,groovy-templates) - ("groovy-xml" ,groovy-xml) - ,@(package-inputs groovy-bootstrap))) - (native-inputs - `(("groovy-bootstrap" ,groovy-bootstrap) - ("groovy-json" ,groovy-json) - ("groovy-test" ,groovy-test) - ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) - ,@(package-native-inputs java-groovy-bootstrap))) - (synopsis "Groovy macro processor") - (description "This package contains a high-level library to create macro -and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) + (let ((base (groovy-subproject "groovy-macro"))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (delete 'copy-resources) + (add-after 'build 'copy-resources + (lambda _ + (copy-recursively "subprojects/groovy-macro/src/main/resources" + "build/classes") + (substitute* "build.xml" + (("depends=\"compile,") "depends=\"")) + (invoke "ant" "jar") + #t)))))) + (inputs + `(("groovy-templates" ,groovy-templates) + ("groovy-xml" ,groovy-xml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-bootstrap" ,groovy-bootstrap) + ("groovy-json" ,groovy-json) + ("groovy-test" ,groovy-test) + ("groovy-tests-bootstrap" ,groovy-tests-bootstrap) + ,@(package-native-inputs base))) + (synopsis "Groovy macro processor") + (description "This package contains a high-level library to create macro +and modify groovy's @dfn{Abstract Syntax Tree} (AST).")))) + +(define groovy-yaml + (let ((base (groovy-subproject "groovy-yaml"))) + (package + (inherit base) + (inputs + `(("groovy-json" ,groovy-json) + ("java-fasterxml-jackson-annotations" ,java-fasterxml-jackson-annotations) + ("java-fasterxml-jackson-core" ,java-fasterxml-jackson-core) + ("java-fasterxml-jackson-databind" ,java-fasterxml-jackson-databind) + ("java-fasterxml-jackson-dataformat-yaml" ,java-fasterxml-jackson-dataformat-yaml) + ,@(package-inputs base))) + (native-inputs + `(("groovy-test" ,groovy-test) + ,@(package-native-inputs base))) + (synopsis "Groovy YAML") + (description "This package contains YAML-related utilities for groovy.")))) (define-public groovy (package @@ -1071,7 +779,7 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (name "groovy") (arguments `(#:tests? #f; No tests - #:jdk ,icedtea-8 + #:jdk ,openjdk9 #:phases (modify-phases %standard-phases (delete 'configure) @@ -1089,7 +797,7 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (("@GROOVYJAR@") "groovy.jar") (("MAX_FD=\"maximum\"") (string-append - "MAX_FD=\"maximum\"\nJAVAHOME=" + "MAX_FD=\"maximum\"\nJAVA_HOME=" (assoc-ref inputs "jdk")))) ;; Groovy uses class loading. It's not enough to put the class ;; in the loader's classpath, as it causes breakages: @@ -1105,14 +813,17 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (lambda (jar) (symlink jar (string-append out-lib "/" (basename jar)))) (find-files (assoc-ref inputs input) ".*.jar"))) - '("groovy-bootstrap" "groovy-ant" "groovy-bsf" - "groovy-console" "groovy-docgenerator" - "groovy-groovydoc" "groovy-groovysh" - "groovy-jmx" "groovy-json" "groovy-jsr223" - "groovy-nio" "groovy-servlet" "groovy-sql" + '("groovy-bootstrap" "groovy-ant" "groovy-astbuilder" + "groovy-bsf" "groovy-cli-commons" "groovy-cli-picocli" + "groovy-console" "groovy-datetime" "groovy-dateutil" + "groovy-docgenerator" "groovy-groovydoc" "groovy-groovysh" + "groovy-jmx" "groovy-json" "groovy-jsr223" "groovy-nio" + "groovy-parser-antlr4" "groovy-servlet" "groovy-sql" "groovy-swing" "groovy-templates" "groovy-testng" - "groovy-xml" "java-commons-cli" "java-asm" - "java-classpathx-servletapi" "java-xstream" + "groovy-xml" "groovy-yaml" "java-commons-cli" + "java-tunnelvisionlabs-antlr4-runtime" "java-asm" + "java-asm-analysis" "java-asm-tree" "java-asm-util" + "java-classpathx-servletapi" "java-xstream" "java-picocli" "java-jansi" "java-jline-2")) ;; antlr.jar is present twice in antlr2. Symlink doesn't like ;; it, so we symlink it here. @@ -1130,8 +841,13 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) (inputs `(("groovy-bootstrap" ,groovy-bootstrap) ("groovy-ant" ,groovy-ant) + ("groovy-astbuilder" ,groovy-astbuilder) ("groovy-bsf" ,groovy-bsf) + ("groovy-cli-commons" ,groovy-cli-commons) + ("groovy-cli-picocli" ,groovy-cli-picocli) ("groovy-console" ,groovy-console) + ("groovy-datetime" ,groovy-datetime) + ("groovy-dateutil" ,groovy-dateutil) ("groovy-docgenerator" ,groovy-docgenerator) ("groovy-groovydoc" ,groovy-groovydoc) ("groovy-groovysh" ,groovy-groovysh) @@ -1139,18 +855,26 @@ and modify groovy's @dfn{Abstract Syntax Tree} (AST)."))) ("groovy-json" ,groovy-json) ("groovy-jsr223" ,groovy-jsr223) ("groovy-nio" ,groovy-nio) + ("groovy-parser-antlr4" ,groovy-parser-antlr4) ("groovy-servlet" ,groovy-servlet) ("groovy-sql" ,groovy-sql) ("groovy-swing" ,groovy-swing) ("groovy-templates" ,groovy-templates) ("groovy-testng" ,groovy-testng) ("groovy-xml" ,groovy-xml) + ("groovy-yaml" ,groovy-yaml) + ("java-tunnelvisionlabs-antlr4-runtime" + ,java-tunnelvisionlabs-antlr4-runtime) ("java-commons-cli" ,java-commons-cli) - ("java-asm" ,java-asm) + ("java-asm" ,java-asm-8) + ("java-asm-analysis" ,java-asm-analysis-8) + ("java-asm-tree" ,java-asm-tree-8) + ("java-asm-util" ,java-asm-util-8) ("java-classpathx-servletapi" ,java-classpathx-servletapi) - ("java-xstream" ,java-xstream) + ("java-picocli" ,java-picocli) ("java-jansi" ,java-jansi) ("java-jline-2" ,java-jline-2) + ("java-xstream" ,java-xstream) ("antlr2" ,antlr2))) (synopsis "Programming language for the JVM") (description "Apache Groovy is a powerful, optionally typed and dynamic diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 7124e17518..0ab93e3a65 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; @@ -33,6 +33,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) + #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages audio) @@ -42,7 +43,6 @@ #:use-module (gnu packages cdrom) #:use-module (gnu packages curl) #:use-module (gnu packages compression) - #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) #:use-module (gnu packages flex) @@ -360,14 +360,14 @@ http://www.tux.org/~ricdude/overview.html") (define-public orc (package (name "orc") - (version "0.4.31") + (version "0.4.32") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/data/src/" "orc/orc-" version ".tar.xz")) (sha256 (base32 - "0xb0c7q3xv1ldmz5ipybazb01gy3cijj8622dcx7rbm9lq85zax0")))) + "1w0qmyj3v9sb2g7ff39pp38b9850y9hyy0bag26ifrby5f7ksvm6")))) (build-system meson-build-system) (arguments `(#:phases @@ -394,6 +394,58 @@ arrays of data.") ;; under the 3-clause BSD license, the rest is under 2-clause BSD license. (license (list license:bsd-2 license:bsd-3)))) +(define-public gstreamer-docs + (package + (name "gstreamer-docs") + (version "1.18.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://gstreamer.freedesktop.org/src/gstreamer-docs" + "/gstreamer-docs-" version ".tar.xz")) + (sha256 + (base32 + "0x6ix6dj3ndc1y133xidb21a4bamdfjh88mxxxld05d78wd1ayda")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules ((guix build utils))) + (let* ((source (assoc-ref %build-inputs "source")) + (tar (assoc-ref %build-inputs "tar")) + (xz (assoc-ref %build-inputs "xz")) + (out (assoc-ref %outputs "out")) + (books (string-append out "/share/devhelp/books"))) + (setenv "PATH" (string-append xz "/bin")) + (mkdir-p books) + (with-directory-excursion books + (invoke (string-append tar "/bin/tar") "-xvf" source + "--strip-components=3" + (string-append ,name "-" ,version + "/devhelp/books/GStreamer"))) + #t)))) + (native-inputs + `(("tar" ,tar) + ("xz" ,xz))) + (home-page "https://gstreamer.freedesktop.org/") + (synopsis "Developer documentation for GStreamer") + (description + "This package contains manuals, tutorials, and API reference for +the GStreamer multimedia framework.") + ;; The documentation is covered by multiple licenses. Anything not + ;; explicitly mentioned below is LGPL2.1+. See README.md for details. + (license (list + ;; The tutorial code can be used with either of these licenses, + ;; at the users option. + license:lgpl2.1+ license:bsd-2 license:expat + ;; The developer manual and plugin writer guide carries + ;; the Open Publication License v1.0. + (license:fsf-free "https://opencontent.org/openpub/" + "The Open Publication License v1.0") + ;; Tutorials are covered by CC-BY-SA 4.0. + license:cc-by-sa4.0)))) + ;; Increase the test timeouts to accommodate slow or busy machines. (define %common-gstreamer-phases '((add-after 'unpack 'increase-test-timeout @@ -408,7 +460,7 @@ arrays of data.") (define-public gstreamer (package (name "gstreamer") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -417,9 +469,8 @@ arrays of data.") version ".tar.xz")) (sha256 (base32 - "0kp93622y29pck8asvil1fmzf55s2gx76wv475a6izc3cwj49w73")))) + "01bq1k0gj603zyhq975zl09q4zla12mxqvhmk9fyn2kcn12r5w0g")))) (build-system meson-build-system) - (outputs '("out" "doc")) (arguments `(#:phases (modify-phases %standard-phases @@ -437,23 +488,13 @@ arrays of data.") (("tcase_add_test \\(tc_chain, test_stress_reschedule.*") "")) #t))) - '()) - (add-after 'install 'move-docs - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (mkdir-p (string-append doc "/share")) - (copy-recursively (string-append out "/share/gtk-doc") - (string-append doc "/share/gtk-doc")) - (delete-file-recursively (string-append out "/share/gtk-doc")) - #t)))))) + '())))) (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc. (native-inputs `(("bison" ,bison) ("flex" ,flex) ("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) - ("gtk-doc" ,gtk-doc) ("perl" ,perl) ("pkg-config" ,pkg-config) ("python-wrapper" ,python-wrapper))) @@ -479,7 +520,7 @@ This package provides the core library and elements.") (define-public gst-plugins-base (package (name "gst-plugins-base") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -487,7 +528,7 @@ This package provides the core library and elements.") name "-" version ".tar.xz")) (sha256 (base32 - "0sl1hxlyq46r02k7z70v09vx1gi4rcypqmzra9jid93lzvi76gmi")))) + "15vqvcy842vhbic3w7l4yvannzazdgwggzv2x8f9m02hm78vsakn")))) (build-system meson-build-system) (propagated-inputs `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc @@ -522,10 +563,7 @@ This package provides the core library and elements.") ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper))) (arguments - `(#:configure-flags '("-Dgl=disabled" - ;; FIXME: Documentation fails to build without - ;; enabling GL above, which causes other problems. - "-Ddoc=false") + `(#:configure-flags '("-Dgl=disabled") #:phases (modify-phases %standard-phases ,@%common-gstreamer-phases @@ -544,7 +582,7 @@ for the GStreamer multimedia library.") (define-public gst-plugins-good (package (name "gst-plugins-good") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -553,22 +591,13 @@ for the GStreamer multimedia library.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "068k3cbv1yf3gbllfdzqsg263kzwh21y8dpwr0wvgh15vapkpfs0")))) + (base32 "1b4b3a6fm2wyqpnx300pg1sz01m9qhfajadk3b7sbzisg8vvqab3")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "docs" - (substitute* "plugins/gst-plugins-good-plugins-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t)) - (add-before - 'check 'pre-check + (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. (system "Xvfb :1 +extension GLX &") @@ -581,8 +610,7 @@ for the GStreamer multimedia library.") (setenv "DBUS_FATAL_WARNINGS" "0") #t))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.1.2) - ("gettext" ,gettext-minimal) + `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) @@ -643,14 +671,14 @@ model to base your own plug-in on, here it is.") (define-public gst-plugins-bad (package (name "gst-plugins-bad") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "0x0y0hm0ga3zqi5q4090hw5sjh59y1ry9ak16qsaascm72i7mjzi")))) + "0pqqq5bs9fjwcmbwgsgxs2dx6gznhxs7ii5pmjkslr6xmlfap0pk")))) (build-system meson-build-system) (arguments `(#:phases @@ -667,20 +695,26 @@ model to base your own plug-in on, here it is.") "")) #t))) '()) - (add-after 'unpack 'disable-failing-test - (lambda _ - ;; FIXME: Why is this failing. - (substitute* "tests/check/meson.build" - ((".*elements/dash_mpd\\.c.*") - "")) - #t))))) + (add-after 'unpack 'adjust-tests + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((gst-plugins-good (assoc-ref (or native-inputs inputs) + "gst-plugins-good"))) + (substitute* "tests/check/meson.build" + ;; Make gst-plugin-good available for tests, see + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1426 + (("'GST_PLUGIN_SYSTEM_PATH_1_0', ''") + (string-append "'GST_PLUGIN_SYSTEM_PATH_1_0', '" + gst-plugins-good "/lib/gstreamer-1.0'")) + ;; This test occasionally times out, see + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1412 + ((".*elements/dtls\\.c.*") "")) + #t)))))) (propagated-inputs `(("gst-plugins-base" ,gst-plugins-base))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) - ;; TODO: Enable documentation for 1.18. - ;;("gtk-doc" ,gtk-doc) + ("gst-plugins-good" ,gst-plugins-good) ;for tests ("pkg-config" ,pkg-config) ("python" ,python))) (inputs @@ -723,6 +757,8 @@ model to base your own plug-in on, here it is.") ;("qtdeclarative" ,qtdeclarative) ;("qtx11extras" ,qtx11extras) ("soundtouch" ,soundtouch) + ;; GStreamer is not yet compatible with srt > 1.4.1. + ("srt" ,srt-1.4.1) ("x265" ,x265) ("wayland" ,wayland))) (home-page "https://gstreamer.freedesktop.org/") @@ -735,7 +771,7 @@ par compared to the rest.") (define-public gst-plugins-ugly (package (name "gst-plugins-ugly") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -743,22 +779,13 @@ par compared to the rest.") (string-append "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m")))) + (base32 "10p0nyzighvkciaspxnhlr7d7n4acrv96lf483i8l988bvj48rk8")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "docs" - (substitute* "plugins/gst-plugins-ugly-plugins-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t)) - (add-before - 'check 'pre-check + (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. (system "Xvfb :1 +extension GLX &") @@ -771,8 +798,7 @@ par compared to the rest.") (setenv "DBUS_FATAL_WARNINGS" "0") #t))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.1.2) - ("gettext" ,gettext-minimal) + `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) @@ -803,7 +829,7 @@ think twice about shipping them.") (define-public gst-libav (package (name "gst-libav") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) @@ -812,28 +838,10 @@ think twice about shipping them.") "https://gstreamer.freedesktop.org/src/" name "/" name "-" version ".tar.xz")) (sha256 - (base32 "1wpfilc98bad9nsv3y1qapxp35dvn2mvwvrmqwrsj58cf09gc967")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Drop bundled ffmpeg. - (delete-file-recursively "gst-libs/ext/libav") - #t)))) + (base32 "0sm0sfdlalimpkf7a7rk7whvyvmmfi2kly2z3q2j5z53x5f3zya2")))) (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "docs" - (substitute* "plugins/gst-libav-plugins-docs.sgml" - (("http://www.oasis-open.org/docbook/xml/4.1.2/") - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/")))) - #t))))) (native-inputs - `(("docbook-xml" ,docbook-xml-4.1.2) - ("perl" ,perl) + `(("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python-wrapper) ("ruby" ,ruby))) @@ -851,15 +859,15 @@ decoders, muxers, and demuxers provided by FFmpeg.") (define-public gst-editing-services (package (name "gst-editing-services") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "https://gstreamer.freedesktop.org/src/" name "/" - "gstreamer-editing-services-" version ".tar.xz")) + "gst-editing-services-" version ".tar.xz")) (sha256 (base32 - "05hcf3prna8ajjnqd53221gj9syarrrjbgvjcbhicv0c38csc1hf")))) + "1a00f07v0yjqz1hydhgkjjarm4rk99yjicbz5wkfl5alhzag1bjd")))) (build-system meson-build-system) (arguments ;; FIXME: 16/22 failing tests. @@ -886,7 +894,7 @@ non-linear editors.") (define-public python-gst (package (name "python-gst") - (version "1.16.2") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append @@ -894,9 +902,7 @@ non-linear editors.") "gst-python-" version ".tar.xz")) (sha256 (base32 - "1a48ca66izmm8hnp608jv5isg3jxb0vlfmhns0bg9nbkilag7390")) - (patches - (search-patches "python-gst-fix-build-with-python-3.8.patch")))) + "0ifx2s2j24sj2w5jm7cxyg1kinnhbxiz4x0qp3gnsjlwbawfigvn")))) (build-system meson-build-system) (arguments `(#:modules ((guix build meson-build-system) @@ -919,18 +925,7 @@ non-linear editors.") (description "This package contains GObject Introspection overrides for Python that can be used by Python applications using GStreamer.") - (license license:lgpl2.1+) - (properties `((python2-variant . ,(delay python2-gst)))))) - -(define-public python2-gst - (package (inherit python-gst) - (name "python2-gst") - (native-inputs - `(("pkg-config" ,pkg-config) - ("python" ,python-2))) - (propagated-inputs - `(("gst-plugins-base" ,gst-plugins-base) - ("python-pygobject" ,python2-pygobject))))) + (license license:lgpl2.1+))) (define-public gst123 (package diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index ff8547d00b..d378e6557b 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -824,7 +824,7 @@ application suites.") (define-public gtk+ (package (inherit gtk+-2) (name "gtk+") - (version "3.24.20") + (version "3.24.23") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -832,7 +832,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d")) + "1cg2vbwbcp7bc84ky0b69ipgdr9djhspnf5k8lajb8jphcj4v1jx")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (propagated-inputs @@ -1217,7 +1217,7 @@ library.") (base32 "1xlfl0fm5mgv53lr8xjv2kqsk3bz67qkk6qzvbrqmbvbvvbqp9wp")))) (propagated-inputs `(("cairo" ,cairo) - ("sigc++" ,libsigc++-2))))) + ("sigc++" ,libsigc++))))) (define-public pangomm (package @@ -1613,7 +1613,7 @@ and routines to assist in editing internationalized text.") (sha256 (base32 "08rpw9hkaprm4r853xy1d35i2af1pji8c3mzzl01mmwmyr9p0x8k")))) (native-inputs `(("pkg-config" ,pkg-config) - ("check" ,check) + ("check" ,check-0.14) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("xorg-server" ,xorg-server-for-tests))) @@ -1899,14 +1899,14 @@ does not deal with windowing system surfaces, drawing, scene graphs, or input.") (define-public spread-sheet-widget (package (name "spread-sheet-widget") - (version "0.6") + (version "0.7") (source (origin (method url-fetch) (uri (string-append "https://alpha.gnu.org/gnu/ssw/" "spread-sheet-widget-" version ".tar.gz")) (sha256 - (base32 "08ck9l697xg8vpya5h07raq837i4pqxjqzx30vhscq4xpps2b8kj")))) + (base32 "09rzgp7gabnzab460x874a1ibgyjiibpwzsz5srn9zs6jv2jdxjb")))) (build-system gnu-build-system) (native-inputs `(("glib" ,glib "bin") ; for glib-genmarshal, etc. diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 3090c6078b..88c0586dc9 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -701,8 +701,8 @@ It has a nice, simple s-expression based syntax.") (inputs `(("guile" ,guile-2.2))))) (define-public guile-squee - (let ((commit "a85902a92bf6f58a1d35fd974a01ade163deda8d") - (revision "0")) + (let ((commit "7dcd22b54fd56c9e629489191bb27ac80ecea9db") + (revision "1")) (package (name "guile-squee") (version (string-append "0-" revision "." (string-take commit 7))) @@ -714,7 +714,7 @@ It has a nice, simple s-expression based syntax.") (file-name (git-file-name name version)) (sha256 (base32 - "0p1lpsp4kx57j3ai1dkxilm4ziavzzx8wbbc42m3hpziq0a7qz5z")))) + "1568sk6ada7x9qpfhax0qq1bq93qll1q7nyjrb7h3c1c3lc9sc15")))) (build-system guile-build-system) (arguments '(#:phases @@ -845,8 +845,8 @@ Vicare Scheme and IronScheme. Right now it contains: (license license:bsd-3))) (define-public guile-prometheus - (let ((commit "cbc6e1b03512443a03d66414c426adb8470b5f2b") - (revision "0")) + (let ((commit "8980f39bafb3e59d6de17e7b311df4932e5b5182") + (revision "1")) (package (name "guile-prometheus") (version (git-version "0" revision commit)) @@ -857,13 +857,14 @@ Vicare Scheme and IronScheme. Right now it contains: (commit commit))) (sha256 (base32 - "1k1qg4ia87w2ipnf8cpikdc67lxi5bmahkhgk2x0i9ibdyvqb7np")) + "04vwza78b5nq0szzxzvpnfjyfkb4pqf2w4dx3kz1f082n01xnwss")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) - ("automake" ,automake))) + ("automake" ,automake) + ("guile" ,guile-3.0))) (inputs `(("guile" ,guile-3.0))) (home-page "https://git.cbaines.net/guile/prometheus") @@ -1621,15 +1622,16 @@ The library is shipped with documentation in Info format and usage examples.") (define-public guile-wisp (package (name "guile-wisp") - (version "1.0.2") + (version "1.0.3") (source (origin - (method url-fetch) - (uri (string-append "https://bitbucket.org/ArneBab/" - "wisp/downloads/wisp-" - version ".tar.gz")) + (method hg-fetch) + (uri (hg-reference + (url "https://hg.sr.ht/~arnebab/wisp") + (changeset (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "03pz7pj9jyallynhflp5s7qax8dj1fs8la434wrfgz7g1kgjnvf6")))) + "10g97jz3ahpb5mg933ajsc3pa9jxlg14f42yf01qwx0dwq1b06d5")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -1643,11 +1645,9 @@ The library is shipped with documentation in Info format and usage examples.") (guix build emacs-utils)) #:phases (modify-phases %standard-phases - (add-after 'unpack 'support-guile-3.0 + (replace 'bootstrap (lambda _ - (substitute* "configure" - (("_guile_versions_to_search=\"2.2") - "_guile_versions_to_search=\"3.0 2.2")) + (invoke "autoreconf" "-vif") #t)) (add-before 'configure 'patch-/usr/bin/env (lambda _ @@ -1689,7 +1689,9 @@ The library is shipped with documentation in Info format and usage examples.") (inputs `(("guile" ,guile-3.0))) (native-inputs - `(("emacs" ,emacs-minimal) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("emacs" ,emacs-minimal) ("python" ,python) ("pkg-config" ,pkg-config))) (synopsis "Whitespace to lisp syntax for Guile") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index dd252179bb..912df146f1 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -411,11 +411,13 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its ;; A procedure that rewrites the dependency tree of the given package to use ;; GUILE-2.0 instead of GUILE-3.0. (package-input-rewriting `((,guile-3.0 . ,guile-2.0)) - (guile-variant-package-name "guile2.0"))) + (guile-variant-package-name "guile2.0") + #:deep? #f)) (define package-for-guile-2.2 (package-input-rewriting `((,guile-3.0 . ,guile-2.2)) - (guile-variant-package-name "guile2.2"))) + (guile-variant-package-name "guile2.2") + #:deep? #f)) (define-syntax define-deprecated-guile3.0-package (lambda (s) @@ -812,7 +814,7 @@ Guile's foreign function interface.") (define-public guile-lzlib (package (name "guile-lzlib") - (version "0.0.1") + (version "0.0.2") (source (origin (method url-fetch) @@ -822,7 +824,7 @@ Guile's foreign function interface.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0rdmszn1qix085ci2mddwq5cypipc004fk7arrrkgn9bv39hazza")))) + "11sggvncyx08ssp1s5xii4d6nskh1qwqihnbpzzvkrs7sivxn8w6")))) (build-system gnu-build-system) (arguments '(#:make-flags diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 211a5a34ac..e4a8112a7d 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -52,14 +52,14 @@ (define-public ddcutil (package (name "ddcutil") - (version "0.9.8") + (version "0.9.9") (source (origin (method url-fetch) (uri (string-append "https://www.ddcutil.com/tarballs/" "ddcutil-" version ".tar.gz")) (sha256 - (base32 "13ccxbqgyz4ah9jwbcylnfkgl8j3ida8xd00xkcq4xnfyyv5mg6v")))) + (base32 "0anyxy53k2613hq9glaad16llqlv6iim5p8gz0rs5pnpp8p00dg1")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 07bf26669b..1de8b040f1 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -339,14 +339,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20200908") + (version "8.20201007") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "1113inl10f4m0699ba2zglaqlfqvwhqjkqg6r6m1d5rqv5brswb1")))) + (base32 "0v11yc4kkxnzvwqry277dpjwlavinrjiagfw0ayhrfwd703j1y8a")))) (build-system haskell-build-system) (arguments `(#:configure-flags @@ -628,7 +628,7 @@ and mIRC chat codes.") (define-public kmonad (package (name "kmonad") - (version "0.4.0") + (version "0.4.1") (source (origin (method git-fetch) @@ -637,7 +637,7 @@ and mIRC chat codes.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "064gnzzcm6fnxfiildbjmgbdxkhqvp61zrl6qhkl1pgbn27j1mll")))) + (base32 "1rp880zxvrznx0y1k464wjrds441dpsz94syhrkaw5dnmxf74yjd")))) (build-system haskell-build-system) (arguments `(#:phases diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 7f7bc22da5..6176b95988 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -501,12 +501,9 @@ use HUnit assertions as QuickCheck properties.") (base32 "0426j43af8v3qmdjjqxivazsvr3a2brac8yw09vpgpjkb2m0nmkv")))) (build-system haskell-build-system) - (arguments - `(#:tests? #f)) ; FIXME: currently missing libraries used for tests. (inputs `(("ghc-random" ,ghc-random) - ("ghc-splitmix" ,ghc-splitmix-bootstrap) - ("ghc-tf-random" ,ghc-tf-random))) + ("ghc-splitmix" ,ghc-splitmix-bootstrap))) (home-page "https://github.com/nick8325/quickcheck") (synopsis "Automatic testing of Haskell programs") (description @@ -1033,7 +1030,7 @@ library's promised without anyone noticing. This package provides a disciplined way of specifying such properties, and have them checked by the compiler. This way, this checking can be part of the -ususal development cycle and regressions caught early. +regular development cycle and regressions caught early. See the documentation in \"Test.Inspection\" or the project webpage for more examples and more information.") diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 98d163566c..a4269599f6 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -1349,7 +1349,7 @@ from Yesod.") ("ghc-hspec" ,ghc-hspec))) (home-page "https://www.yesodweb.com") (synopsis "Form handling support for Yesod Web Framework") - (description "This Haskell package provies a set of basic form inputs such + (description "This Haskell package provides a set of basic form inputs such as text, number, time, checkbox, select, textarea, etc through the @code{Yesod.Form.Fields} module. Also, there is @code{Yesod.Form.Nic} module providing richtext field using Nic editor. ") diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index f4af00283c..5b9da15630 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -5524,8 +5524,8 @@ Vim.") (build-system haskell-build-system) (home-page "https://hackage.haskell.org/package/hex") (synopsis "Convert strings into hexadecimal and back") - (description "This package provides conversion functions between -bytestrings and their hexademical representation.") + (description "This package converts between bytestrings and their +hexadecimal string representation.") (license license:bsd-3))) (define-public ghc-highlighting-kate diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 98fe594b7f..47c7e17573 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -157,6 +157,17 @@ for other software in the GNU system that uses Mach-based inter-process communication.") (license gpl2+))) +(define-public mig/32-bit + ;; When cross-compiling from x86_64-linux to i586-gnu, we need this 32-bit + ;; native MIG. + (package + (inherit mig) + (arguments + (substitute-keyword-arguments (package-arguments mig) + ((#:system _ #f) + "i686-linux"))) + (properties `((hidden? . #t))))) + (define-public hurd-headers ;; Resort to a post-0.9 snapshot that provides the 'file_utimens' and ;; 'file_exec_paths' RPCs that glibc 2.28 expects. @@ -536,9 +547,7 @@ exec ${system}/rc \"$@\" ("mig" ,(if (%current-target-system) ;; XXX: When targeting i586-pc-gnu, we need a 32-bit MiG, ;; hence this hack. - (package - (inherit mig) - (arguments `(#:system "i686-linux"))) + mig/32-bit mig)) ("perl" ,perl) ("texinfo" ,texinfo-4) diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm index c1b8215584..82680cd5e4 100644 --- a/gnu/packages/hyperledger.scm +++ b/gnu/packages/hyperledger.scm @@ -141,7 +141,7 @@ Originally Ed25519 consists of three modules: @itemize @item digital signature algorithm itself @item SHA512 hash function -@item random number generator, to generate keypairs +@item random number generator, to generate key pairs @end itemize This project offers at least two different C implementations for every diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index b48f21b551..ecf33cb570 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -300,7 +300,7 @@ Japanese language input in most graphical applications.") (define-public librime (package (name "librime") - (version "1.5.3") + (version "1.6.1") (source (origin (method git-fetch) @@ -310,7 +310,7 @@ Japanese language input in most graphical applications.") (file-name (git-file-name name version)) (sha256 (base32 - "0xskhdhk7dgpc71r39pfzxi5vrlzy90aqj1gzv8nnapq91p2awhv")) + "1avmy2yyag22cl2j8085n5czsk93sxv440pdb3a2diwcxwwmzm9v")) (modules '((guix build utils))) (snippet '(begin @@ -330,6 +330,7 @@ Japanese language input in most graphical applications.") #t))))) (inputs `(("boost" ,boost) + ("capnproto" ,capnproto) ("glog" ,glog) ("leveldb" ,leveldb) ("marisa" ,marisa) @@ -337,6 +338,7 @@ Japanese language input in most graphical applications.") ("yaml-cpp" ,yaml-cpp))) (native-inputs `(("googletest" ,googletest) + ("pkg-config" ,pkg-config) ("xorgproto" ,xorgproto))) ; keysym.h (home-page "https://rime.im/") (synopsis "The core library of Rime Input Method Engine") diff --git a/gnu/packages/idutils.scm b/gnu/packages/idutils.scm index 81715591b4..26472c6900 100644 --- a/gnu/packages/idutils.scm +++ b/gnu/packages/idutils.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 208 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 9158e14938..e313b14ebf 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (guix utils) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system qt) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -1011,7 +1013,54 @@ full-featured UI aimed at clinical researchers.") (description "Metapixel is a program for generating photomosaics. It can generate classical photomosaics, in which the source image is viewed as a matrix of equally sized rectangles for each of which a matching image is -substitued, as well as collage-style photomosaics, in which rectangular parts +substituted, as well as collage-style photomosaics, in which rectangular parts of the source image at arbitrary positions (i.e. not aligned to a matrix) are substituted by matching images.") (license license:gpl2)))) + +(define-public scantailor-advanced + (let ((commit "3d1e74e6ace413733511086934a66f4e3f7a6027")) + (package + (name "scantailor-advanced") + (version (string-append "1.0.16-" (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/4lex4/scantailor-advanced") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kixwjb2x457dq7927hkh34c803p7yh1pmn6n61rk9shqrcg492h")))) + (build-system qt-build-system) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("boost" ,boost) + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("zlib" ,zlib))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Some tests require a display and fail with offscreen mode. + (add-after 'unpack 'disable-failing-tests + (lambda _ + (setenv "ARGS" "--exclude-regex \"imageproc_.*\"") + #t))))) + (home-page "https://github.com/4lex4/scantailor-advanced") + (synopsis "Clean up scanned pages") + (description "Scan Tailor is an interactive post-processing tool for +scanned pages. It performs operations such as page splitting, deskewing, +adding/removing borders, and others. You give it raw scans, and you get pages +ready to be printed or assembled into a PDF or DJVU file. Scanning, optical +character recognition, and assembling multi-page documents are out of scope of +this project. + +Scan Tailer Advanced is a fork of Scan Tailer that merges Scan Tailor Featured +and Scan Tailor Enhanced versions as well as including many more bug fixes.") + (license license:gpl3+)))) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index cc865e2777..03bcf1a2fa 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> @@ -130,7 +130,7 @@ code is Valgrind-clean and unit tested.") (define-public libpng (package (name "libpng") - (version "1.6.37") + (version "1.6.37") ; Remember to also update libpng-apng if possible! (source (origin (method url-fetch) (uri (list (string-append "mirror://sourceforge/libpng/libpng16/" @@ -163,7 +163,7 @@ library. It supports almost all PNG features and is extensible.") (define-public libpng-apng (package (name "libpng-apng") - (version "1.6.28") + (version "1.6.37") (source (origin (method url-fetch) @@ -177,7 +177,7 @@ library. It supports almost all PNG features and is extensible.") "/libpng16/libpng-" version ".tar.xz"))) (sha256 (base32 - "0ylgyx93hnk38haqrh8prd3ax5ngzwvjqw5cxw7p9nxmwsfyrlyq")))) + "1jl8in381z0128vgxnvn33nln6hzckl7l7j9nqvkaf1m9n1p0pjh")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -211,7 +211,7 @@ library. It supports almost all PNG features and is extensible.") version "/libpng-" version "-apng.patch.gz")) (sha256 (base32 - "0m5nv70n9903x3xzxw9qqc6sgf2rp106ha0x6gix0xf8wcrljaab")))))) + "1dh0250mw9b2hx7cdmnb2blk7ddl49n6vx8zz7jdmiwxy38v4fw2")))))) (native-inputs `(("libtool" ,libtool))) ;; libpng.la says "-lz", so propagate it. @@ -337,7 +337,7 @@ Currently all documentation resides in @file{pnglite.h}.") (define-public libimagequant (package (name "libimagequant") - (version "2.12.5") + (version "2.12.6") (source (origin (method git-fetch) @@ -346,7 +346,7 @@ Currently all documentation resides in @file{pnglite.h}.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0cp68w04ja5pv77ssfafsn958w9hh9zb8crrlb5j3gsrcmdc032k")))) + (base32 "00w7fny3xf14cfyhbdnmqyh9ddqdh1irvgzxd35a2z65kp7vnvj0")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target @@ -976,7 +976,7 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") (define-public imlib2 (package (name "imlib2") - (version "1.6.1") + (version "1.7.0") (source (origin (method url-fetch) (uri (string-append @@ -984,8 +984,10 @@ Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") "/imlib2-" version ".tar.bz2")) (sha256 (base32 - "0v8n3dswx7rxqfd0q03xwc7j2w1mv8lv18rdxv487a1xw5vklfad")))) + "0zdk4afdrrr1539f2q15zja19j4wwfmpswzws2ffgflcnhywlxhr")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags (list "--disable-static"))) (native-inputs `(("pkgconfig" ,pkg-config))) (inputs @@ -1410,7 +1412,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (define-public jasper (package (name "jasper") - (version "2.0.20") + (version "2.0.22") (source (origin (method git-fetch) (uri (git-reference @@ -1419,21 +1421,10 @@ convert, manipulate, filter and display a wide variety of image formats.") (file-name (git-file-name name version)) (sha256 (base32 - "1bn4mg6l5afryrlyk3y7p3accdq113fis8hpwywy5g51ycablz3h")))) + "1qw96mwwd9xw21jg5s7njqgbam566skj93i81aflijy40s31dfwz")))) (build-system cmake-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-checking-disabled-things - (lambda _ - ;; The MIF codec was disabled for security reasons in JasPer 2.0.20 - ;; but its test suite still assumes that the format is supported. - (for-each delete-file - (find-files "data/test" "\\.mif$")) ; for run_test_1 - (substitute* "test/bin/run_test_2" - (("image_formats\\+=\\(mif\\)") "")) - #t))))) - (inputs `(("libjpeg" ,libjpeg-turbo))) + (inputs + `(("libjpeg" ,libjpeg-turbo))) (synopsis "JPEG-2000 library") (description "The JasPer Project is an initiative to provide a reference implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e., @@ -1542,33 +1533,6 @@ files (known as @dfn{steganography}). Neither color nor sample frequencies are changed, making the embedding resistant against first-order statistical tests.") (license license:gpl2+))) -(define-public stb-image-for-extempore - (let ((revision "1") - (commit "152a250a702bf28951bb0220d63bc0c99830c498")) - (package - (name "stb-image-for-extempore") - (version (string-append "0-" revision "." (string-take commit 9))) - (source - (origin (method git-fetch) - (uri (git-reference - (url "https://github.com/extemporelang/stb") - (commit commit))) - (sha256 - (base32 - "0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv")) - (file-name (string-append name "-" version "-checkout")))) - (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; no tests included - ;; Extempore refuses to build on architectures other than x86_64 - (supported-systems '("x86_64-linux")) - (home-page "https://github.com/extemporelang/stb") - (synopsis "Image library for Extempore") - (description - "This package is a collection of assorted single-file libraries. Of -all included libraries only the image loading and decoding library is -installed as @code{stb_image}.") - (license license:public-domain)))) - (define-public optipng (package (name "optipng") @@ -1950,7 +1914,8 @@ identical visual appearance.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0fjmjq0ws9rlblkcqxxw2lv7zvvyi618jqzlnz5z9zb477jwdfib")))) + (base32 "0fjmjq0ws9rlblkcqxxw2lv7zvvyi618jqzlnz5z9zb477jwdfib")) + (patches (search-patches "grim-revert-output-rotation.patch")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("scdoc" ,scdoc))) @@ -2181,12 +2146,12 @@ by AOM, including with alpha.") `(("imlib2" ,imlib2) ("libtiff" ,libtiff) ("libpng" ,libpng) - ("libungif", libungif) - ("libjpeg", libjpeg-turbo) + ("libungif" ,libungif) + ("libjpeg" ,libjpeg-turbo) ("libwebp" ,libwebp) ("openjpeg" ,openjpeg) ("lcms" ,lcms) - ("zlib", zlib) + ("zlib" ,zlib) ("glib" ,glib) ;; Support for gtk3 is in the testing stage. ("gtk+" ,gtk+-2))) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index ccc0cfb493..e4efea4e45 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -48,14 +48,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.11-11") + (version "6.9.11-34") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "1b67rrppvm04aqr76qky5h2a0j2d161h8kwa04fv611w5xwandr2")))) + "0acdjkkgjgpfcwj9h9zncywjjrrgb9sh0cvfn3jamjxh5byf638s")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 85b0ba9fcf..4ac3cf3966 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Boris A. Dekshteyn <boris.dekshteyn@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,7 +118,7 @@ as the native format.") (define-public inkscape-1.0 (package (name "inkscape") - (version "1.0") + (version "1.0.1") (source (origin (method url-fetch) @@ -126,7 +127,7 @@ as the native format.") "inkscape-" version ".tar.xz")) (sha256 (base32 - "1fwl7yjkykqb86555k4fm24inhc40mrvxqwgl2v2vi9alv8j7hc9")) + "1hjp5nnyx2m3miji6q4lcb6zgbi498v641dc7apkqqvayknrb4ng")) (modules '((guix build utils) (ice-9 format))) (snippet diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 222607b91a..417956a394 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -214,7 +214,7 @@ written in Go.") (define-public go-ipfs (package (name "go-ipfs") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch/tarbomb) @@ -222,7 +222,7 @@ written in Go.") "https://dist.ipfs.io/go-ipfs/v" version "/go-ipfs-source.tar.gz")) (sha256 - (base32 "14bgq2j2bjjy0pspy2lsj5dm3w9rmfha0l8kyq5ig86yhc4nzn80")) + (base32 "1fkzwm4qxxpmbjammk6s5qcyjxivfa0ydqz4mpz1w756c4jq0jf3")) (file-name (string-append name "-" version "-source")))) (build-system go-build-system) (arguments diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 3590ea9c1e..97bb0b5d41 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -37,6 +37,7 @@ #:use-module (guix hg-download) #:use-module (guix git-download) #:use-module (guix svn-download) + #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix utils) #:use-module (guix build-system ant) #:use-module (guix build-system gnu) @@ -290,7 +291,8 @@ language.") (uri (string-append "mirror://sourceforge/jamvm/jamvm/" "JamVM%20" version "/jamvm-" version ".tar.gz")) - (patches (search-patches "jamvm-arm.patch")) + (patches (search-patches "jamvm-1.5.1-aarch64-support.patch" + "jamvm-1.5.1-armv7-support.patch")) (sha256 (base32 "06lhi03l3b0h48pc7x58bk9my2nrcf1flpmglvys3wyad6yraf36")) @@ -306,13 +308,30 @@ language.") (assoc-ref %build-inputs "classpath")) "--disable-int-caching" "--enable-runtime-reloc-checks" - "--enable-ffi"))) + "--enable-ffi") + #:phases + ,(if (string-prefix? "aarch64" (or (%current-system) + (%current-target-system))) + ;; Makefiles and the configure script need to be regenerated to + ;; incorporate support for AArch64. + '(modify-phases %standard-phases + (replace 'bootstrap + (lambda _ (invoke "autoreconf" "-vif")))) + '%standard-phases))) (inputs `(("classpath" ,classpath-bootstrap) ("jikes" ,jikes) ("libffi" ,libffi) ("zip" ,zip) ("zlib" ,zlib))) + (native-inputs + (if (string-prefix? "aarch64" (or (%current-system) + (%current-target-system))) + ;; Additional packages needed for autoreconf. + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool)) + '())) (home-page "http://jamvm.sourceforge.net/") (synopsis "Small Java Virtual Machine") (description "JamVM is a Java Virtual Machine conforming to the JVM @@ -697,7 +716,8 @@ machine."))) (file-name (string-append "classpath-" version "-checkout")) (sha256 (base32 - "1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4")))) + "1v2rww76ww322mpg3s12a1kkc6gkp31bm9gcxs532h0wq285fiw4")) + (patches (search-patches "classpath-aarch64-support.patch")))) (arguments `(#:make-flags ;; Ensure that the initial heap size is smaller than the maximum @@ -763,7 +783,9 @@ machine."))) (base32 "1nl0zxz8y5x8gwsrm7n32bry4dx8x70p8z3s9jbdvs8avyb8whkn")) (patches - (search-patches "jamvm-2.0.0-disable-branch-patching.patch")) + (search-patches "jamvm-2.0.0-disable-branch-patching.patch" + "jamvm-2.0.0-opcode-guard.patch" + "jamvm-2.0.0-aarch64-support.patch")) (snippet '(begin ;; Remove precompiled software. @@ -771,9 +793,10 @@ machine."))) #t)))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list (string-append "--with-classpath-install-dir=" - (assoc-ref %build-inputs "classpath"))))) + (substitute-keyword-arguments (package-arguments jamvm-1-bootstrap) + ((#:configure-flags _) + '(list (string-append "--with-classpath-install-dir=" + (assoc-ref %build-inputs "classpath")))))) (inputs `(("classpath" ,classpath-devel) ("ecj-javac-wrapper" ,ecj-javac-wrapper) @@ -2409,14 +2432,14 @@ new Date();")) (define-public ant/java8 (package (inherit ant-bootstrap) (name "ant") - (version "1.10.1") + (version "1.10.8") (source (origin (method url-fetch) (uri (string-append "mirror://apache/ant/source/apache-ant-" version "-src.tar.gz")) (sha256 (base32 - "10p3dh77lkzzzcy32dk9azljixzadp46fggjfbvgkl8mmb8cxxv8")) + "066k2isig5xm70cihj9p73hkp5w7h5zbfqz5kxb6cwr9cb86xl2k")) (modules '((guix build utils))) (snippet '(begin @@ -2444,7 +2467,7 @@ new Date();")) ;; "check" phase, because the dependency on "test-jar" would always ;; result in the tests to be run. (substitute* "build.xml" - (("depends=\"jars,test-jar\"") "depends=\"jars\"")) + (("depends=\"jars,test-jar") "depends=\"jars")) (invoke "bash" "bootstrap.sh" (string-append "-Ddist.dir=" (assoc-ref outputs "out"))))))))) @@ -2457,14 +2480,14 @@ new Date();")) ;; requires Java 8. (define-public ant (package (inherit ant/java8) - (version "1.9.9") + (version "1.9.15") (source (origin (method url-fetch) (uri (string-append "mirror://apache/ant/source/apache-ant-" version "-src.tar.gz")) (sha256 (base32 - "1k28mka0m3isy9yr8gz84kz1f3f879rwaxrd44vdn9xbfwvwk86n")))) + "1xy30f1w5gaqk6g3f0vw7ygix4rb6032qkcw42y4z8wd9jihgygd")))) (native-inputs `(("jdk" ,icedtea-7 "jdk") ("zip" ,zip) @@ -5118,6 +5141,72 @@ including java-asm.") ((#:tests? _) #f))) (native-inputs `()))) +(define-public java-asm-8 + (package + (inherit java-asm) + (version "8.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.ow2.org/asm/asm") + (commit (string-append + "ASM_" (string-join (string-split version #\.) + "_"))))) + (file-name (git-file-name "java-asm" version)) + (sha256 + (base32 + "1s6j27zc1i76gh891w2g48b1c3abp9w8zp5j54yb1vm5h8djkd69")))) + (arguments + `(#:jar-name "asm8.jar" + #:source-dir "asm/src/main/java" + #:test-dir "asm/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (propagated-inputs '()) + (native-inputs '()))) + +(define-public java-asm-tree-8 + (package + (inherit java-asm-8) + (name "java-asm-tree") + (arguments + `(#:jar-name "asm-tree.jar" + #:source-dir "asm-tree/src/main/java" + #:test-dir "asm-tree/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (inputs + `(("java-asm" ,java-asm-8))))) + +(define-public java-asm-analysis-8 + (package + (inherit java-asm-8) + (name "java-asm-analysis") + (arguments + `(#:jar-name "asm-analysis.jar" + #:source-dir "asm-analysis/src/main/java" + #:test-dir "asm-analysis/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (inputs + `(("java-asm" ,java-asm-8) + ("java-asm-tree" ,java-asm-tree-8))))) + +(define-public java-asm-util-8 + (package + (inherit java-asm-8) + (name "java-asm-util") + (arguments + `(#:jar-name "asm-util8.jar" + #:source-dir "asm-util/src/main/java" + #:test-dir "asm-util/src/test" + ;; tests depend on junit5 + #:tests? #f)) + (inputs + `(("java-asm" ,java-asm-8) + ("java-asm-analysis" ,java-asm-analysis-8) + ("java-asm-tree" ,java-asm-tree-8))))) + (define-public java-cglib (package (name "java-cglib") @@ -8146,6 +8235,410 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (propagated-inputs `(("stringtemplate" ,java-stringtemplate-3))))) +(define-public java-treelayout + (package + (name "java-treelayout") + (version "1.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abego/treelayout") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "18my8ql9b1y0n0zrvkih7xfhf3dpgfhyfifvkcfhmwcvw3divxak")))) + (build-system ant-build-system) + (arguments + `(#:jar-name (string-append ,name "-" ,version ".jar") + #:source-dir "org.abego.treelayout/src/main/java" + #:test-dir "org.abego.treelayout/src/test")) + (inputs + `(("java-junit" ,java-junit))) + (native-inputs + `(("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "http://treelayout.sourceforge.net") + (synopsis "Tree Layout Algorithm in Java") + (description "TreeLayout creates tree layouts for arbitrary trees. It is +not restricted to a specific output or format, but can be used for any kind of +two dimensional diagram. Examples are Swing based components, SVG files, etc. +This is possible because TreeLayout separates the layout of a tree from the +actual rendering.") + (license license:bsd-3))) + +(define-public java-antlr4-runtime + (package + (name "java-antlr4-runtime") + (version "4.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antlr/antlr4") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qal3add26qxskm85nk7r758arladn5rcyjinmhlhznmpbbv9j8m")) + (patches + (search-patches "java-antlr4-Add-standalone-generator.patch" + "java-antlr4-fix-code-too-large.java")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-antlr4-runtime.jar" + #:source-dir "runtime/Java/src/org" + #:tests? #f; tests depend on java-antlr4 itself + #:phases + (modify-phases %standard-phases + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "runtime/Java/src/main/dot" + "build/classes") + #t))))) + (home-page "https://antlr.org") + (synopsis "ANTLR runtime library") + (description "This package contains the runtime library used with generated +sources by ANTLR.") + (license license:bsd-3))) + +(define-public antlr4 + (package + (inherit java-antlr4-runtime) + (name "antlr4") + (arguments + `(#:jar-name "antlr4.jar" + #:source-dir "tool/src" + #:test-dir "tool-testsuite/test:runtime-testsuite/test:runtime-testsuite/annotations/src" + #:test-include (list "**/Test*.java") + #:test-exclude (list + ;; no runnable method + "**/TestOutputReading.java" + ;; no @Test methods + "**/TestParserErrors.java" + "**/TestSemPredEvalParser.java" + "**/TestSets.java" + "**/TestListeners.java" + "**/TestParseTrees.java" + "**/TestParserExec.java" + "**/TestLexerErrors.java" + "**/TestPerformance.java" + "**/TestCompositeParsers.java" + "**/TestLexerExec.java" + "**/TestSemPredEvalLexer.java" + "**/TestLeftRecursion.java" + "**/TestFullContextParsing.java" + "**/TestCompositeLexers.java" + ;; Null pointer exception + "**/TestCompositeGrammars.java" + ;; Wrong assumption on emoji + "**/TestUnicodeData.java") + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-build.xml + (lambda _ + ;; tests are not in a java subdirectory + (substitute* "build.xml" + (("\\$\\{test.home\\}/java") "${test.home}")) + #t)) + ;; tests require to have a working antlr4 binary + (delete 'check) + (add-after 'bin-install 'check + (lambda _ + (invoke "ant" "compile-tests") + (invoke "ant" "check" "-Dtest.home=runtime-testsuite/annotations/src") + (invoke "ant" "check" "-Dtest.home=runtime-testsuite/test") + (invoke "ant" "check" "-Dtest.home=tool-testsuite/test") + #t)) + (add-before 'check 'remove-unrelated-languages + (lambda _ + ;; There are tests for other languages that ANTLR can generate, but + ;; we don't have the infrastructure for that yet. Let's test Java + ;; generation only. + (for-each + (lambda (language) + (delete-file-recursively + (string-append "runtime-testsuite/test/org/antlr/v4/test/runtime/" + language))) + '("cpp" "csharp" "go" "javascript" "php" "python" "python2" + "python3" "swift")) + #t)) + (add-before 'check 'generate-test-parsers + (lambda* (#:key outputs #:allow-other-keys) + (define (run-antlr dir filename package) + (invoke "antlr4" "-lib" dir "-visitor" "-no-listener" + "-package" package (string-append dir "/" filename) + "-Xlog")) + (setenv "PATH" (string-append (getenv "PATH") ":" + (assoc-ref outputs "out") "/bin")) + (run-antlr "runtime-testsuite/test/org/antlr/v4/test/runtime/java/api" + "Java.g4" "org.antlr.v4.test.runtime.java.api") + (run-antlr "runtime-testsuite/test/org/antlr/v4/test/runtime/java/api" + "VisitorBasic.g4" "org.antlr.v4.test.runtime.java.api") + (run-antlr "runtime-testsuite/test/org/antlr/v4/test/runtime/java/api" + "VisitorCalc.g4" "org.antlr.v4.test.runtime.java.api") + #t)) + (add-before 'check 'remove-graphemes + (lambda _ + ;; When running antlr on grahemes.g4, we get a runtime exception: + ;; set is empty. So delete the file that depends on it. + (delete-file + "runtime-testsuite/test/org/antlr/v4/test/runtime/java/api/perf/TimeLexerSpeed.java") + #t)) + (add-after 'install 'bin-install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((jar (string-append (assoc-ref outputs "out") "/share/java")) + (bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (with-output-to-file (string-append bin "/antlr4") + (lambda _ + (display + (string-append "#!" (which "sh") "\n" + "java -cp " jar "/antlr4.jar:" + (string-join + (apply + append + (map + (lambda (input) + (find-files (assoc-ref inputs input) + ".*\\.jar")) + '("antlr3" "java-stringtemplate" + "java-antlr4-runtime" "java-treelayout" + "java-jsonp-api" "java-icu4j"))) + ":") + " org.antlr.v4.Tool $*")))) + (chmod (string-append bin "/antlr4") #o755) + #t))) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "tool/resources/" "build/classes") + #t)) + (add-before 'build 'generate-unicode + (lambda _ + ;; First: build the generator + (invoke "javac" "-cp" (getenv "CLASSPATH") + "tool/src/org/antlr/v4/unicode/UnicodeRenderer.java" + "tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java") + ;; Then use it + (invoke "java" "-cp" (string-append (getenv "CLASSPATH") + ":tool/src:runtime/Java") + "org.antlr.v4.unicode.UnicodeRenderer" + "tool/resources/org/antlr/v4/tool/templates" + "unicodedata" + "tool/src/org/antlr/v4/unicode/UnicodeData.java") + ;; It seems there is a bug with our ST4 + (substitute* "tool/src/org/antlr/v4/unicode/UnicodeData.java" + (("\\\\>") ">")) + ;; Remove the additional file + (delete-file "tool/src/org/antlr/v4/unicode/UnicodeRenderer.java") + #t)) + (add-before 'build 'generate-grammar + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "tool/src/org/antlr/v4/parse" + (for-each (lambda (file) + (display file) + (newline) + (invoke "antlr3" file)) + '("ANTLRLexer.g" "ANTLRParser.g" "BlockSetTransformer.g" + "GrammarTreeVisitor.g" "ATNBuilder.g" + "ActionSplitter.g" "LeftRecursiveRuleWalker.g"))) + (with-directory-excursion "tool/src/org/antlr/v4/codegen" + (install-file "../parse/ANTLRParser.tokens" ".") + (display "SourceGenTriggers.g\n") + (invoke "antlr3" "SourceGenTriggers.g")) + #t))))) + (inputs + `(("antlr3" ,antlr3) + ("java-antlr4-runtime" ,java-antlr4-runtime) + ("java-icu4j" ,java-icu4j) + ("java-jsonp-api" ,java-jsonp-api) + ("java-stringtemplate" ,java-stringtemplate) + ("java-treelayout" ,java-treelayout))) + (native-inputs + `(("java-junit" ,java-junit))) + (synopsis "Parser and lexer generator in Java") + (description "ANTLR (ANother Tool for Language Recognition) is a powerful +parser generator for reading, processing, executing, or translating structured +text or binary files. It's widely used to build languages, tools, and +frameworks. From a grammar, ANTLR generates a parser that can build and walk +parse trees."))) + +(define-public java-antlr4-runtime-4.1 + (package + (inherit java-antlr4-runtime) + (version "4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antlr/antlr4") + (commit version))) + (file-name (git-file-name "antlr4" version)) + (sha256 + (base32 + "1i8hmx5an58cjyvhji0xgpvd6lq00z1k1mjys025q2wqc25wv4c1")))) + (arguments + (substitute-keyword-arguments (package-arguments java-antlr4-runtime) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'chmod + (lambda _ + (chmod "build.xml" #o644) + #t)))))) + (inputs + `(("java-treelayout" ,java-treelayout))))) + +(define-public antlr4-4.1 + (package + (inherit antlr4) + (version (package-version java-antlr4-runtime-4.1)) + (source (package-source java-antlr4-runtime-4.1)) + (arguments + (substitute-keyword-arguments (package-arguments antlr4) + ((#:test-dir _) + "tool/test") + ((#:test-exclude excludes) + `(list "**/TestParseErrors.java" + "**/TestTopologicalSort.java" + ,@excludes)) + ((#:phases phases) + `(modify-phases ,phases + (delete 'generate-unicode) + (replace 'check + (lambda _ + (invoke "ant" "check") + #t)) + (add-before 'configure 'chmod + (lambda _ + (chmod "build.xml" #o644) + #t)) + (delete 'remove-graphemes) + (delete 'remove-unrelated-languages) + (delete 'generate-test-parsers))))) + (inputs + (alist-replace + "java-antlr4-runtime" (list java-antlr4-runtime-4.1) + (package-inputs antlr4))))) + +(define-public java-tunnelvisionlabs-antlr4-runtime-annotations + (package + (inherit java-antlr4-runtime) + (name "java-tunnelvisionlabs-antlr4-runtime-annotations") + (version "4.7.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tunnelvisionlabs/antlr4") + (commit (string-append version "-opt")))) + (file-name (git-file-name "java-tunnelvisionlabs-antlr4" version)) + (sha256 + (base32 + "1mf2lvvsszpialsk23ma83pwp50nd32lrbjpa847zlm5gmranbr8")) + (patches + (search-patches "java-antlr4-Add-standalone-generator.patch" + "java-tunnelvisionlabs-antlr-code-too-large.patch")))) + (arguments + `(#:jar-name "java-antlr4-runtime-annotations.jar" + #:source-dir "runtime/JavaAnnotations/src" + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-after 'build 'copy-resources + (lambda _ + (copy-recursively "runtime/JavaAnnotations/resources" + "build/classes") + #t)) + (add-after 'copy-resources 'rebuild-jar + (lambda _ + (invoke "ant" "jar") + #t))))) + (inputs '()) + (native-inputs '()) + (synopsis "Annotations for ANTLR's runtime library") + (description "This package contains annotations used during the build of +the runtime library of ANTLR."))) + +;; the runtime of this library requires a lexer that is generated by antlr4. +;; However, antlr4 itself requires this library at build and run-time. We +;; use antlr4@4.1, the closest version of antlr that doesn't need this +;; bootstrap process, to generate the lexer. The generated lexer is built +;; for the 4.1 runtime, which is slightly different from this runtime. +;; So, we build the runtime with antlr 4.1, with a broken xml lexer, that we +;; use to build antlr4. We then re-use this antlr4 to build the runtime, and +;; the proper, working, runtime to build antlr4 again. +(define java-tunnelvisionlabs-antlr4-runtime-bootstrap + (package + (inherit java-antlr4-runtime) + (name "java-tunnelvisionlabs-antlr4-runtime") + (version (package-version java-tunnelvisionlabs-antlr4-runtime-annotations)) + (source (package-source java-tunnelvisionlabs-antlr4-runtime-annotations)) + (arguments + `(#:jar-name "java-antlr4-runtime.jar" + #:source-dir "runtime/Java/src" + #:tests? #f; tests require antlr4, but antlr4 depends on this package + #:phases + (modify-phases %standard-phases + (add-before 'build 'generate-xpath-lexer + (lambda _ + (invoke "antlr4" "-lib" "runtime/Java/src/org/antlr/v4/runtime/tree/xpath" + "-visitor" "-no-listener" + "-package" "org.antlr.v4.runtime.tree.xpath" + "runtime/Java/src/org/antlr/v4/runtime/tree/xpath/XPathLexer.g4") + ;; Generated code is for an incompatible version of the runtime + (substitute* "runtime/Java/src/org/antlr/v4/runtime/tree/xpath/XPathLexer.java" + (("LexerATNSimulator\\(this,_ATN,_decisionToDFA,_sharedContextCache\\)") + "LexerATNSimulator(this,_ATN)")) + #t)) + (add-before 'build 'copy-resources + (lambda _ + (copy-recursively "runtime/Java/src/main/dot" + "build/classes") + #t))))) + (native-inputs + `(("antlr4" ,antlr4-4.1) + ("java-tunnelvisionlabs-antlr4-runtime-annotations" + ,java-tunnelvisionlabs-antlr4-runtime-annotations))))) + +(define java-tunnelvisionlabs-antlr4-bootstrap + (package + (inherit antlr4) + (name "java-tunnelvisionlabs-antlr4") + (version (package-version java-tunnelvisionlabs-antlr4-runtime-annotations)) + (source (package-source java-tunnelvisionlabs-antlr4-runtime-annotations)) + (arguments + (substitute-keyword-arguments (package-arguments antlr4) + ((#:test-dir _) + "tool/test:runtime-testsuite/src") + ((#:phases phases) + `(modify-phases ,phases + (delete 'remove-unrelated-languages) + (delete 'remove-graphemes) + (delete 'generate-test-parsers) + (delete 'check))))) + (native-inputs '()) + (inputs + `(("antlr3" ,antlr3) + ("java-antlr4-runtime" ,java-tunnelvisionlabs-antlr4-runtime-bootstrap) + ("java-tunnelvisionlabs-antlr4-runtime-annotations" + ,java-tunnelvisionlabs-antlr4-runtime-annotations) + ("java-icu4j" ,java-icu4j) + ("java-jsonp-api" ,java-jsonp-api) + ("java-stringtemplate" ,java-stringtemplate) + ("java-treelayout" ,java-treelayout))))) + +(define-public java-tunnelvisionlabs-antlr4-runtime + (package + (inherit java-tunnelvisionlabs-antlr4-runtime-bootstrap) + (native-inputs + (alist-replace + "antlr4" (list java-tunnelvisionlabs-antlr4-bootstrap) + (package-native-inputs java-tunnelvisionlabs-antlr4-runtime-bootstrap))))) + +(define-public java-tunnelvisionlabs-antlr4 + (package + (inherit java-tunnelvisionlabs-antlr4-bootstrap) + (inputs + (alist-replace + "java-antlr4-runtime" (list java-tunnelvisionlabs-antlr4-runtime) + (package-inputs java-tunnelvisionlabs-antlr4-bootstrap))))) + (define-public java-commons-cli-1.2 ;; This is a bootstrap dependency for Maven2. (package @@ -9538,18 +10031,24 @@ make data-binding work.") (name "java-hdrhistogram") (version "2.1.9") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/HdrHistogram/HdrHistogram/" - "archive/HdrHistogram-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/HdrHistogram/HdrHistogram") + (commit (string-append "HdrHistogram-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1sicbmc3sr42nw93qbkb26q9rn33ag33k6k77phjc3j5h5gjffqv")))) + "1cw8aa1vk258k42xs6wpy72m4gbai540jq032qsa7c5586iawx2d")))) (build-system ant-build-system) (arguments `(#:jar-name "java-hdrhistogram.jar" #:source-dir "src/main/java" #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (add-before 'configure 'set-version (lambda _ (let* ((version-java "src/main/java/org/HdrHistogram/Version.java") @@ -10717,7 +11216,7 @@ application components to create, send, receive, and read messages.") `(("junit" ,java-junit) ("hamcrest" ,java-hamcrest-core))) (home-page "https://javaee.github.io/javamail/") - (synopsis "Mail-related functionnalities in Java") + (synopsis "Mail-related functionality in Java") (description "The JavaMail API provides a platform-independent and protocol-independent framework to build mail and messaging applications.") ;; General Public License Version 2 only ("GPL") or the Common Development @@ -11994,7 +12493,7 @@ Java method invocation.") (inputs `(("java-native-access" ,java-native-access))) (synopsis "Cross-platform mappings for jna") - (description "java-native-access-platfrom has cross-platform mappings + (description "java-native-access-platform has cross-platform mappings and mappings for a number of commonly used platform functions, including a large number of Win32 mappings as well as a set of utility classes that simplify native access."))) @@ -12945,3 +13444,98 @@ in Java, usable from Groovy, Kotlin, Scala, etc.") used in JVM-based languages. They serve as an additional documentation and can be interpreted by IDEs and static analysis tools to improve code analysis.") (license license:expat))) + +(define-public java-javaparser + (package + (name "java-javaparser") + (version "3.16.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/javaparser/javaparser") + (commit (string-append "javaparser-parent-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1a4jk12ffa31fa0y8vda0739vpfj1206p0nha842b7bixbvwamv9")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + (find-files "." "\\.jar$")) + #t)))) + (build-system ant-build-system) + (arguments + `(#:tests? #f; tests require jbehave and junit5 + #:phases + (modify-phases %standard-phases + (add-before 'build 'fill-template + (lambda _ + (with-directory-excursion "javaparser-core/src/main" + (copy-file "java-templates/com/github/javaparser/JavaParserBuild.java" + "java/com/github/javaparser/JavaParserBuild.java") + (substitute* "java/com/github/javaparser/JavaParserBuild.java" + (("\\$\\{project.version\\}") ,version) + (("\\$\\{project.name\\}") "javaparser") + (("\\$\\{project.build.finalName\\}") "javaparser") + (("\\$\\{maven.version\\}") "fake") + (("\\$\\{maven.build.version\\}") "fake") + (("\\$\\{build.timestamp\\}") "0") + (("\\$\\{java.vendor\\}") "Guix") + (("\\$\\{java.vendor.url\\}") "https://gnu.org/software/guix") + (("\\$\\{java.version\\}") "1.8") + (("\\$\\{os.arch\\}") "any") + (("\\$\\{os.name\\}") "GuixSD") + (("\\$\\{os.version\\}") "not available"))) + #t)) + (add-before 'build 'generate-javacc + (lambda _ + (with-directory-excursion "javaparser-core/src/main/java" + (invoke "java" "javacc" "../javacc/java.jj")) + #t)) + (add-before 'build 'copy-javacc-support + (lambda _ + (with-directory-excursion "javaparser-core/src/main" + (copy-recursively "javacc-support" "java")) + #t)) + (replace 'build + (lambda _ + (define (build name) + (format #t "Building ~a~%" name) + (delete-file-recursively "build/classes") + (mkdir-p "build/classes") + (apply invoke "javac" + "-cp" (string-append (getenv "CLASSPATH") ":" + (string-join (find-files "build/jar" ".") + ":")) + "-d" "build/classes" + (find-files (string-append name "/src/main/java") + ".*.java")) + (invoke "jar" "-cf" (string-append "build/jar/" name ".jar") + "-C" "build/classes" ".")) + (mkdir-p "build/classes") + (mkdir-p "build/test-classes") + (mkdir-p "build/jar") + (build "javaparser-core") + (build "javaparser-core-serialization") + (build "javaparser-core-generators") + (build "javaparser-core-metamodel-generator") + (build "javaparser-symbol-solver-core") + #t)) + (replace 'install + (install-jars "build/jar"))))) + (inputs + `(("java-guava" ,java-guava) + ("java-jboss-javassist" ,java-jboss-javassist) + ("java-jsonp-api" ,java-jsonp-api))) + (native-inputs + `(("javacc" ,javacc))) + (home-page "http://javaparser.org/") + (synopsis "Parser for Java") + (description + "This project contains a set of libraries implementing a Java 1.0 - Java +11 Parser with advanced analysis functionalities.") + (license (list + ;; either lgpl or asl + license:lgpl3+ + license:asl2.0)))) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 78488a4e99..65fa726d92 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,7 +54,7 @@ (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1") (revision "1")) ;; When upgrading Julia, also upgrade this. Get the commit from - ;; https://github.com/JuliaLang/julia/blob/v1.4.1/deps/libuv.version + ;; https://github.com/JuliaLang/julia/blob/v1.5.2/deps/libuv.version (package (inherit libuv) (name "libuv-julia") @@ -103,7 +104,7 @@ "/deps/patches/" name ".patch")) (define (julia-patch name sha) - (let ((version "1.4.1")) + (let ((version "1.5.2")) (origin (method url-fetch) (uri (julia-patch-url version name)) (sha256 (base32 sha)) @@ -111,63 +112,52 @@ (define llvm-julia (package - (inherit llvm-8) + (inherit llvm-9) (name "llvm-julia") (source (origin - (inherit (package-source llvm-8)) + (inherit (package-source llvm-9)) ;; 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-7.0-D44650" - "1h55kkmkiisfj6sk956if2bcj9s0v6n5czn8dxb870vp5nccj3ir") - '("llvm-6.0-DISABLE_ABI_CHECKS" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - '("llvm-6.0-NVPTX-addrspaces" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - '("llvm-D27629-AArch64-large_model_6.0.1" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - '("llvm8-D34078-vectorize-fdiv" - "19spqc3xsazn1xs9gpcgv9ldadfkv49rmc5khl7sf1dlmhgi4602") - '("llvm7-D50010-VNCoercion-ni" - "18scg6aa036xa1508s7q93w9dvc5gp69fz6yl6fkh4yffw4gymw6") - '("llvm-8.0-D50167-scev-umin" - "0g9w2x8yryjdkihnrf18x0yi5bi14c5p8wffda1w732dr5ckzk94") - '("llvm-D57118-powerpc" - "0vxz5s0s9b625v1rv8lg1566yhxh1i91ydzmvy5s7njvzc7p19aw") - '("llvm8-WASM-addrspaces" - "1176agj9hh7csdm2lnklb42zcdsb3q6lx9jiyp2shn4p2678y76q") - '("llvm-exegesis-mingw" - "0ph1cj1j7arvf1xq2xcr7qf9g0cpdl14fincgr67vpi520zvd3vp") - '("llvm-test-plugin-mingw" - "12z738cnahbf6n381im7i0hxp1m6k9hrnfjlmq9sac46nxly9gnj") - '("llvm-8.0-D66401-mingw-reloc" - "15v3p5sznn979cfnd7gdn3nd701fd7xd5aks6lnj1mslvljlq3ls") - '("llvm7-revert-D44485" - "0f59kq3p3mpwsbmskypbi4zn01l6ig0x7v2rjp08k2r8z8m6fa8n") - '("llvm-8.0-D63688-wasm-isLocal" - "0i9wi5n63ip3802z6m7aj3p07hkqjlmp4vg4wq3xkf9f6w9rksab") - '("llvm-8.0-D55758-tablegen-cond" - "1l08mg7qigravi7plsq3yzya80fljnp95n8faddr29wbr2qr0655") - '("llvm-8.0-D59389-refactor-wmma" - "0rgrwk4xlwpk7yai2j7xadcfws93rmk2hhh44fysa88imvrbp478") - '("llvm-8.0-D59393-mma-ptx63-fix" - "094jcsxbcx9fljj623mgmc0rjpk12s2rs0di0ck0hakzhr8mbv5n") - '("llvm-8.0-D66657-codegen-degenerate" - "1n1ddx19h90bbpimdyd9dh8fsm6gb93xxyqm4ljkxa1k3cx2vm72") - '("llvm-8.0-D71495-vectorize-freduce" - "1zff08wvji9lnpskk4b3p5zyjsy5hhy23ynxjqlj9dw7jvvfrf0p") - '("llvm-8.0-D75072-SCEV-add-type" - "0amlyyndsc90ml2k6prdahf24q0j23nfmlbqf8gcqcxpl5sqq3i6") - '("llvm-8.0-D65174-limit-merge-stores" - "1ls5114fhgip9rbqabqc16mi367ra0k75ngc1vyqqhq1ghm9x7y9")))))) + (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") + '("llvm9-D50010-VNCoercion-ni" + "1s1d3sjsiq4vxg7ncy5cz56zgy5vcq6ls3iqaiqkvr23wyryqmdx") + '("llvm-exegesis-mingw" + "0ph1cj1j7arvf1xq2xcr7qf9g0cpdl14fincgr67vpi520zvd3vp") + '("llvm-test-plugin-mingw" + "12z738cnahbf6n381im7i0hxp1m6k9hrnfjlmq9sac46nxly9gnj") + '("llvm7-revert-D44485" + "0f59kq3p3mpwsbmskypbi4zn01l6ig0x7v2rjp08k2r8z8m6fa8n") + '("llvm-8.0-D66657-codegen-degenerate" + "1n1ddx19h90bbpimdyd9dh8fsm6gb93xxyqm4ljkxa1k3cx2vm72") + '("llvm-8.0-D71495-vectorize-freduce" + "1zff08wvji9lnpskk4b3p5zyjsy5hhy23ynxjqlj9dw7jvvfrf0p") + '("llvm-D75072-SCEV-add-type" + "029a3fywsm233vf48mscina24idd50dc75wr70lmimrhwnw27p0z") + '("llvm-9.0-D65174-limit-merge-stores" + "04bff1mnblfj9mxfdwr1qdnw3i3szmp60gnhxwas5y68qg33z6j0") + '("llvm9-D71443-PPC-MC-redef-symbol" + "1c93nv7rgc9jg5mqrnvv08xib1789qvlql94fwggh18mp3b9hbgy") + '("llvm-9.0-D78196" + "08a43hyg7yyqjq2vmfsmppf34xcz60wq6y9zw5fdyhw2h1mcnmns") + '("llvm-julia-tsan-custom-as" + "0awh40kf6lm4wn1nsjd1bmhfwq7rqj811szanp2xkpspykw9hg9s") + '("llvm-9.0-D85499" + "0vxlr35srvbvihlgrxq15v6dylp90vgi0qahj22j01jgqmdasjkm")))) + (patch-flags '("-p1")))) (arguments - (substitute-keyword-arguments (package-arguments llvm-8) + (substitute-keyword-arguments (package-arguments llvm-9) ((#:configure-flags flags) `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so "-DCMAKE_BUILD_TYPE=Release" @@ -231,7 +221,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (define-public julia (package (name "julia") - (version "1.4.1") + (version "1.5.2") (source (origin (method url-fetch) (uri (string-append @@ -239,7 +229,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") version "/julia-" version ".tar.gz")) (sha256 (base32 - "030aza3qj5zcinxbrbqgi7p64q6klwq2bhwccraarx7l0hg9lw3i")) + "08wazf3f1lb2c2c5s700kyak8llfqwki8xlnqyrbwmwxjj801p2n")) (patches (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) @@ -344,16 +334,6 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\",\"precompile\", \"client\",\"stacktraces\"]), testnames)")) - ;; precompile test is broken, fixed in - ;; fed29f893544d1dc8f86444c65d632c68168d0f3 - (substitute* "test/precompile.jl" - (("@test !isdefined\\(Base.Nothing.name.mt") - "# @test !isdefined(Base.Nothing.name.mt")) - ;; When HOME is not set, julia calls uv_os_homedir, which in - ;; turns call getpwuid_r. Add the HOME env variable to the - ;; external julia call to fix this - (substitute* "test/cmdlineargs.jl" - (("\"JULIA_PROJECT\"") "\"HOME\"=>\"/tmp\", \"JULIA_PROJECT\"")) ;; Marking the test as broken as it's a known bug: ;; https://github.com/JuliaLang/julia/issues/32377 (substitute* "stdlib/REPL/test/replcompletions.jl" @@ -361,11 +341,16 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") ;; Dates has a similar bug: ;; https://github.com/JuliaLang/julia/issues/34655 (substitute* "stdlib/Dates/test/io.jl" + (("\"Dates.Date") "\"Date") (("\"Dates.Time") "\"Time")) ;; Upstream bug I found when packaging ;; https://github.com/JuliaLang/julia/issues/35785 (substitute* "test/file.jl" (("@test dirname\\(t\\) == d") "@test_broken dirname(t) == d")) + ;; Deprecation test fails with --depwarn=no + ;; https://github.com/JuliaLang/julia/issues/37673 + (substitute* "test/Makefile" + (("./runtests.jl") "--depwarn=error ./runtests.jl")) #t)) (add-after 'install 'make-wrapper (lambda* (#:key inputs outputs #:allow-other-keys) @@ -416,7 +401,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (assoc-ref %build-inputs "utf8proc") "/include") "USE_SYSTEM_LLVM=1" - "LLVM_VER=8.0.0" + "LLVM_VER=9.0.1" "USE_LLVM_SHLIB=1" "USE_SYSTEM_LIBUNWIND=1" diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index d264ca5bbe..c4479de995 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -2215,7 +2215,7 @@ maintaining an index of the contents of your files.") (home-page "https://community.kde.org/Frameworks") (synopsis "Access usage statistics collected by the activity manager") (description "The KActivitiesStats library provides a querying mechanism for -the data that the activitiy manager collects - which documents have been opened +the data that the activity manager collects---which documents have been opened by which applications, and what documents have been linked to which activity.") ;; triple licensed (license (list license:lgpl2.0+ license:lgpl2.1+ license:lgpl3+)))) diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm index f9cd29e9b8..6c576223e1 100644 --- a/gnu/packages/kde-internet.scm +++ b/gnu/packages/kde-internet.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -177,15 +178,14 @@ This package is part of the KDE networking module.") (define-public konversation (package (name "konversation") - (version "1.7.5") + (version "1.7.6") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/konversation/" version "/src/konversation-" version ".tar.xz")) (sha256 - (base32 "0h098yhlp36ls6pdvs2r93ig8dv4fys62m0h6wxccprb0qrpbgv0")) - (patches (search-patches "konversation-Fix-build-with-Qt-5.11.patch")))) + (base32 "14x0rs867grb1xjddycn9l6bfl3h3rp4cmx4zqd2gsvkihn4zlpx")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -297,7 +297,7 @@ Features are: ("libxml2" ,libxml2) ("libxstl" ,libxslt) ;; TODO: Mediastreamer - ("openssl", openssl) + ("openssl" ,openssl) ("ortp" ,ortp) ("phonon" ,phonon) ("qca" ,qca) @@ -403,7 +403,7 @@ This package is part of the KDE networking module.") ("knotifyconfig" ,knotifyconfig) ("kparts" ,kparts) ("kplotting" ,kplotting) - ("kross", kross) + ("kross" ,kross) ("kwidgetsaddons" ,kwidgetsaddons) ("kwindowsystem" ,kwindowsystem) ("kxmlgui" ,kxmlgui) diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm index 5e6a872314..00ef15b9d9 100644 --- a/gnu/packages/kde-utils.scm +++ b/gnu/packages/kde-utils.scm @@ -149,7 +149,7 @@ artists to web-designers to people with low vision.") (inputs `(("kauth" ,kauth) ("kcoreaddons" ,kcoreaddons) - ("kconfigwidgets", kconfigwidgets) + ("kconfigwidgets" ,kconfigwidgets) ("kdbusaddons" ,kdbusaddons) ("ki18n" ,ki18n) ("kiconthemes" ,kiconthemes) @@ -187,8 +187,8 @@ whom pressing buttons hurts.") ("kdoctools" ,kdoctools))) (inputs `(("kcompletion" ,kcompletion) - ("kconfig", kconfig) - ("kconfigwidgets", kconfigwidgets) + ("kconfig" ,kconfig) + ("kconfigwidgets" ,kconfigwidgets) ("kcoreaddons" ,kcoreaddons) ("kcrash" ,kcrash) ("ki18n" ,ki18n) @@ -228,7 +228,7 @@ sentences to be re-spoken.") (inputs `(("kauth" ,kauth) ("kconfig" ,kconfig) - ("kconfigwidgets", kconfigwidgets) + ("kconfigwidgets" ,kconfigwidgets) ("kcoreaddons" ,kcoreaddons) ("kcrash" ,kcrash) ("ki18n" ,ki18n) @@ -289,7 +289,7 @@ twin-panel (commander-style) file manager, similar to Midnight Commander or Total Commander It provides all the file management features you could possibly want. Plus: -extensive archive handling, mounted filesystem support, FTP, advanced search +extensive archive handling, mounted file system support, FTP, advanced search module, an internal viewer/editor, directory synchronisation, file content comparisons, powerful batch renaming and much much more. It supports a wide variety of archive formats and can handle other KIO slaves such as smb or diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index a9ac23e049..f0a5c62856 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -134,7 +135,7 @@ This package contains GUI widgets for baloo.") (list license:lgpl2.1+ license:fdl1.2+)))) (define-public kdenlive - (let ((version "20.04.1")) + (let ((version "20.08.2")) (package (name "kdenlive") (version version) @@ -142,15 +143,15 @@ This package contains GUI widgets for baloo.") (origin (method git-fetch) (uri (git-reference - (url "https://anongit.kde.org/kdenlive.git") + (url "https://invent.kde.org/multimedia/kdenlive") (commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 - "0n0x34xmcn0k87rqnz0mk462b3al4gq56kn4m00rr428hafscdz7")))) + (base32 "1zcckv4wj12pvxjg85c8l67vi3amz79yv8mf7m4fbxnam3yxhy90")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config) ("qttools" ,qttools))) (inputs `(("shared-mime-info" ,shared-mime-info) @@ -177,6 +178,9 @@ This package contains GUI widgets for baloo.") ("qtquickcontrols" ,qtquickcontrols) ("qtquickcontrols2" ,qtquickcontrols2) ("kiconthemes" ,kiconthemes) + ("breeze" ,breeze) + ("purpose" ,purpose) + ("qtwebkit" ,qtwebkit) ("qtgraphicaleffects" ,qtgraphicaleffects) ("kplotting" ,kplotting))) (arguments @@ -186,29 +190,23 @@ This package contains GUI widgets for baloo.") (add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (qtquickcontrols (assoc-ref inputs "qtquickcontrols")) - (qtquickcontrols2 (assoc-ref inputs "qtquickcontrols2")) (qtbase (assoc-ref inputs "qtbase")) - (qtdeclarative (assoc-ref inputs "qtdeclarative")) (frei0r (assoc-ref inputs "frei0r-plugins")) (ffmpeg (assoc-ref inputs "ffmpeg")) - (qml "/lib/qt5/qml")) + (breeze (assoc-ref inputs "breeze"))) (wrap-program (string-append out "/bin/kdenlive") `("PATH" ":" prefix ,(list (string-append ffmpeg "/bin"))) + `("XDG_DATA_DIRS" ":" prefix + ,(list (string-append breeze "/share"))) `("QT_PLUGIN_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/plugins/")) - '("qtbase" "qtsvg"))) + ,(list (getenv "QT_PLUGIN_PATH"))) `("FREI0R_PATH" ":" = (,(string-append frei0r "/lib/frei0r-1/"))) `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = (,(string-append qtbase "/lib/qt5/plugins/platforms"))) `("QML2_IMPORT_PATH" ":" prefix - (,(string-append qtquickcontrols qml) - ,(string-append qtquickcontrols2 qml) - ,(string-append qtdeclarative qml))) + ,(list (getenv "QML2_IMPORT_PATH"))) `("MLT_PREFIX" ":" = (,(assoc-ref inputs "mlt"))))) #t))))) @@ -376,7 +374,7 @@ illustrate project schedules.") (define-public krita (package (name "krita") - (version "4.3.0") + (version "4.4.0") (source (origin (method url-fetch) (uri (string-append @@ -384,7 +382,7 @@ illustrate project schedules.") "/krita-" version ".tar.gz")) (sha256 (base32 - "1njbxv7b56if838gv7ydzm1sprgmaabnp0jlj0bxryxzfdy8hwfh")))) + "13r7x4gql5wp88hmpv9m6m3lh7gsybm4la48hqbjcb3iwiv86pzw")))) (build-system cmake-build-system) (arguments `(#:tests? #f @@ -447,7 +445,7 @@ illustrate project schedules.") ("openexr" ,openexr) ("perl" ,perl) ("poppler-qt5" ,poppler-qt5) - ("qtbase" ,qtbase-for-krita) + ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtmultimedia" ,qtmultimedia) ("qtsvg" ,qtsvg) @@ -629,7 +627,10 @@ different notification systems.") ("qca" ,qca) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtmultimedia" ,qtmultimedia) + ("qtquickcontrols" ,qtquickcontrols) + ("qtquickcontrols2" ,qtquickcontrols2) ("qtx11extras" ,qtx11extras))) (home-page "https://community.kde.org/KDEConnect") (synopsis "Enable your devices to communicate with each other") diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 2edf5c0614..9ccdea46ef 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -435,7 +435,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("lzo" ,lzo) - ("mariadb" ,mariadb "lib") + ("mariadb-dev" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("openssl" ,openssl) ("pcre" ,pcre) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 0c59cd1bf7..5ccc94167c 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Nikita <nikita@n0.is> ;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> @@ -56,7 +56,7 @@ (define-public liblouis (package (name "liblouis") - (version "3.14.0") + (version "3.15.0") (source (origin (method git-fetch) @@ -66,7 +66,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0v6w8b9r994mkkbm2gqgd7k5yfmdhgbabh0j1gmn375nyvhy4qqh")))) + (base32 "1ljy5xsy7vf2r0ix0d7bqcr6qvr6897f8madsx9zlm1mrj31n5px")))) (build-system gnu-build-system) (outputs '("out" "bin" "doc" "python")) (arguments @@ -76,7 +76,6 @@ "--enable-ucs4") #:phases (modify-phases %standard-phases - ;; To install the sub-package "python". (add-after 'install 'install-python-extension (lambda* (#:key outputs #:allow-other-keys) (with-directory-excursion "python" @@ -104,17 +103,13 @@ support a rule- or dictionary based approach. Tools for testing and debugging tables are also included. Liblouis also supports math braille, Nemeth and Marburg.") (home-page "http://liblouis.org/") - (license - (list - ;; Library - lgpl2.1+ - ;; Tools - gpl3+)))) + (license (list lgpl2.1+ ; library + gpl3+)))) ; tools (define-public liblouisutdml (package (name "liblouisutdml") - (version "2.8.0") + (version "2.9.0") (source (origin (method git-fetch) @@ -124,15 +119,12 @@ Marburg.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "11xxky3crjm8bidfljzpqaz1m1i1m1yskmdpavf9b4jpf87nzjj2")) - (patches - (search-patches "liblouisutdml-fix-tests.patch")))) + (base32 "0c32cfcfp0lyfd655c9ihhh3p7lhrb9q3xbll7q5dw4km86gaq6w")))) (build-system gnu-build-system) (outputs '("out" "bin" "doc")) (arguments `(#:configure-flags - (list - "--disable-static"))) + (list "--disable-static"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -152,12 +144,8 @@ transcription services for xml, html and text documents. It translates into appropriate braille codes and formats according to its style sheet and the specifications in the document.") (home-page "http://liblouis.org/") - (license - (list - ;; Library - lgpl3+ - ;; Tools - gpl3+)))) + (license (list lgpl3+ ; library + gpl3+)))) ; tools (define-public libstemmer (package @@ -1065,7 +1053,7 @@ noun phrases, verb phrases, etc.).") (define-public praat (package (name "praat") - (version "6.1.16") + (version "6.1.27") (source (origin (method git-fetch) (uri (git-reference @@ -1074,10 +1062,10 @@ noun phrases, verb phrases, etc.).") (file-name (git-file-name name version)) (sha256 (base32 - "1rx4qvl0dd85x0r6pl0zk4bysx9ykxl05kywjr4pyvv6dvpswkrm")))) + "0wd2xy5shyk00d91yrif1c2xwzdl4i7qpdfa530f845yzn7k2ks1")))) (build-system gnu-build-system) (arguments - `(#:tests? #f; no test target + `(#:tests? #f ; no test target #:phases (modify-phases %standard-phases (replace 'configure @@ -1100,7 +1088,7 @@ noun phrases, verb phrases, etc.).") `(("pkg-config" ,pkg-config))) (home-page "http://www.fon.hum.uva.nl/praat/") (synopsis "Doing phonetics by computer") - (description "Praat is a tool to perform phonetics tasks. It can do speach -analysis (pitch, formant, intensity, ...), speach synthesis, labeling, segmenting + (description "Praat is a tool to perform phonetics tasks. It can do speech +analysis (pitch, formant, intensity, ...), speech synthesis, labelling, segmenting and manipulation.") (license gpl2+))) diff --git a/gnu/packages/libcanberra.scm b/gnu/packages/libcanberra.scm index 32d1cd3605..2d08fb46e3 100644 --- a/gnu/packages/libcanberra.scm +++ b/gnu/packages/libcanberra.scm @@ -69,7 +69,8 @@ ;; his pleasure. (patch-flags '("-p0")) (patches - (search-patches "libcanberra-sound-theme-freedesktop.patch")))) + (search-patches "libcanberra-sound-theme-freedesktop.patch" + "libcanberra-wayland-crash.patch")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index b85a3a60ac..fdc62e8825 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de> +;;; Copyright © 2018, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> ;;; @@ -42,6 +42,7 @@ #:use-module (ice-9 match) #:use-module (gnu packages) #:use-module (gnu packages aidc) + #:use-module (gnu packages aspell) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) @@ -712,14 +713,14 @@ text documents, vector drawings, presentations and spreadsheets.") (define-public libmwaw (package (name "libmwaw") - (version "0.3.15") + (version "0.3.16") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libmwaw/libmwaw/libmwaw-" version "/libmwaw-" version ".tar.xz")) - (sha256 (base32 - "1cdhm9yhanyv3w4vr73zhgyynmkhhkp3dyld7m11jd2yy04vnh04")))) + (sha256 + (base32 "0s0qvrmxzs8wv4304p7zx9mrasglyaszafqrfmaxwyr9lpdrwqqc")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -739,14 +740,14 @@ spreadsheet documents.") (define-public libstaroffice (package (name "libstaroffice") - (version "0.0.6") + (version "0.0.7") (source (origin (method url-fetch) (uri (string-append "https://github.com/fosnola/libstaroffice/releases/download/" version "/libstaroffice-" version ".tar.xz")) (sha256 (base32 - "1i0ykl0c94lc1qzb5mbyf9jr7qw8p38ja424whmhgrllh7ny203b")))) + "1ny8411273k2bq7mnpmcvri3rd46b2j67wfypqkp3y8nhanv0kzr")))) (build-system gnu-build-system) (inputs `(("librevenge" ,librevenge) @@ -971,6 +972,41 @@ library.") (license (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0)))) +(define-public hunspell-dict-de + (package + (name "hunspell-dict-de") + (version "20161207") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.j3e.de/ispell/igerman98/dict/" + "igerman98-" version ".tar.bz2")) + (sha256 + (base32 "1a3055hp2bc4q4nlg3gmg0147p3a1zlfnc65xiv2v9pyql1nya8p")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("hunspell/de_DE.dic") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install ;no install target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share/hunspell/"))) + (install-file "hunspell/de_DE.aff" share) + (install-file "hunspell/de_DE.dic" share) + #t)))) + #:tests? #f)) ; no tests + (native-inputs + `(("hunspell" ,hunspell) + ("ispell" ,ispell) + ("perl" ,perl))) + (synopsis "Hunspell dictionary for German (de_DE)") + (description "This package provides a dictionary for the Hunspell +spell-checking library.") + (home-page "https://www.j3e.de/ispell/igerman98/") + (license (list license:gpl2 license:gpl3)))) + (define-public hyphen (package (name "hyphen") diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 5ebc066ac8..f109ca0d8b 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com> @@ -492,14 +492,14 @@ over USB.") (define-public libmtp (package (name "libmtp") - (version "1.1.17") + (version "1.1.18") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libmtp/libmtp/" version "/libmtp-" version ".tar.gz")) (sha256 (base32 - "1p3r38nvdip40ab1h4scj3mzfjkx6kd14szjqyw9r6wz5pslr8zq")))) + "1w41l93yi0dmw218daiw36rylkc8rammxx37csh1ij24q18gx03j")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index a6492893c8..777485b9ea 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -483,7 +483,7 @@ including media capture, encoding and decoding, and rendering.") `(("bctoolbox" ,bctoolbox) ("belcard" ,belcard) ("bellesip" ,belle-sip) - ("bzrtp", bzrtp) + ("bzrtp" ,bzrtp) ("iconv" ,libiconv) ("glib" ,glib) ("gtk2" ,gtk+-2) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f635c2343c..4e97ae9b5c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -49,6 +49,8 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Greg Hogan <code@greghogan.com> +;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -155,6 +157,7 @@ #:use-module (guix store) #:use-module (guix monads) #:use-module (guix utils) + #:use-module (guix deprecation) ;for libcap/next #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) #:use-module (srfi srfi-26) @@ -195,9 +198,9 @@ defconfig. Return the appropriate make target if applicable, otherwise return (method url-fetch) (uri (string-append "https://linux-libre.fsfla.org" "/pub/linux-libre/releases/" version "-gnu/" - "deblob-" version)) + "deblob-" (version-major+minor version))) (file-name (string-append "linux-libre-deblob-" - (version-major+minor version))) + version)) (sha256 deblob-hash)) (origin (method url-fetch) @@ -349,15 +352,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernel. That is, the most recently released major ;; version. -(define-public linux-libre-5.8-version "5.8.7") +(define-public linux-libre-5.8-version "5.8.15") (define deblob-scripts-5.8 (linux-libre-deblob-scripts linux-libre-5.8-version (base32 "07z7sglyrfh0706icqqf3shadf638pvyid9386r661ds5lbsa2mw") - (base32 "0j6jba5fcddqlb42f95gjl78jisfla4nswqila074gglcrbnl9q7"))) + (base32 "0z28yj4f7hhc253hssslm6xl9sg92agbiw50jxb9y72d8zp6sksq"))) (define-public linux-libre-5.8-pristine-source (let ((version linux-libre-5.8-version) - (hash (base32 "1zhpzlhl2ykna2nc70m72wlgyv1pkvkpfssb4k8p5pwlkh1ga2vv"))) + (hash (base32 "0hfnq4n902pws8sjxd1lsdxxa0v45g988imp73xnqfqv2d71r0bj"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.8))) @@ -365,46 +368,46 @@ 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.4-version "5.4.64") +(define-public linux-libre-5.4-version "5.4.71") (define deblob-scripts-5.4 (linux-libre-deblob-scripts - "5.4.63" + linux-libre-5.4-version (base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25") - (base32 "1b3q88i2qfdxyvpi9f7jds0qlb8hfpw87mgia096ax6822c2cmyb"))) + (base32 "1h6gbc9cfhb7dqx669iq26a23whka6km5av0ysk61aaz2z57vkrk"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1vymhl6p7i06gfgpw9iv75bvga5sj5kgv46i1ykqiwv6hj9w5lxr"))) + (hash (base32 "1ivcimngj5h7lxslkrdljpfw9hfvdhrm8wrp7gp4d3gk7kpljw3k"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.144") +(define-public linux-libre-4.19-version "4.19.151") (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.143" + linux-libre-4.19-version (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0jnj65bdy5y9lcj5zhrn4iaszpww8z41ac66j00l75sd931l1g9k"))) + (hash (base32 "0vm3nsi9la3azxrsvndbd6fpz79pch7309f2144xyxszsk339cf7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.197") +(define-public linux-libre-4.14-version "4.14.201") (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.196" + linux-libre-4.14-version (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "029h46yki2hxdbn7afmnf3yar1pnwrpszx76irsa5mf8gnrasyp0"))) + (hash (base32 "0nr3w5m7dz28v7qfhp99ih4c369qrhq751wfikbz8ga3di0dqa72"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.235") +(define-public linux-libre-4.9-version "4.9.239") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -412,12 +415,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1hqcb3zw4546h6x5xy2mywdznha8813lx15mxbgfbvwm4qhsc9g6"))) + (hash (base32 "0lfbn5amykvwz1svvxayzhsz1dvm4mgzsnq1g0wqffclxm148hr3"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.235") +(define-public linux-libre-4.4-version "4.4.239") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -425,7 +428,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0w5pkv936zb0shjgnpv17gcp5n8f91djznzq54p6j1bl5q2qdyqd"))) + (hash (base32 "03myd9ngmjmnddh4iqqsgcfg9rd11vyvwym38yh4m1p08j1zbg0k"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -1109,8 +1112,8 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.") (license license:gpl2+)))) (define-public rtl8821ce-linux-module - (let ((commit "69765eb288a8dfad3b055b906760b53e02ab1dea") - (revision "0")) + (let ((commit "fe97b5003f2f3dd070f76ec38c00b83798c1cdea") + (revision "1")) (package (name "rtl8821ce-linux-module") (version (git-version "0.0.0" revision commit)) @@ -1123,7 +1126,7 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.") (file-name (git-file-name name version)) (sha256 (base32 - "17jiw25k74kv5lnvgycvj2g1n06hbrpjz6p4znk4a62g136rhn4s")))) + "10mrp63npbqb39c442vx8mra278hw7sczb3b6bjrpr3gan6ljshn")))) (build-system linux-module-build-system) (arguments `(#:make-flags @@ -1166,27 +1169,30 @@ between the CDemu userspace daemon and linux kernel.") (license license:gpl2+))) (define-public bbswitch-module - (package - (name "bbswitch-module") - (version "0.8") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Bumblebee-Project/bbswitch") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1glch4j0x1dzlp2yrb67v2r5jg9609jb6p8m251y78m74advqw0l")))) - (build-system linux-module-build-system) - (arguments - ;; No tests. - `(#:tests? #f)) - (home-page "https://github.com/Bumblebee-Project/bbswitch") - (synopsis "Kernel module that disables discrete Nvidia graphics cards") - (description "The bbswitch module provides a way to toggle the Nvidia + ;; Use "develop" branch since stable release does not build on Linux >= 5.6. + ;; See https://github.com/Bumblebee-Project/bbswitch/issues/205. + (let ((commit "ddbd243638c7bc2baecf43a78aff46cdc12e9b2e")) + (package + (name "bbswitch-module") + (version (git-version "0.8" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Bumblebee-Project/bbswitch") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pgldnza7mzd0flrxg4q69dwbq1fhl58m5c62ary5drb0xyf3lqb")))) + (build-system linux-module-build-system) + (arguments + ;; No tests. + `(#:tests? #f)) + (home-page "https://github.com/Bumblebee-Project/bbswitch") + (synopsis "Kernel module that disables discrete Nvidia graphics cards") + (description "The bbswitch module provides a way to toggle the Nvidia graphics card on Optimus laptops.") - (license license:gpl2))) + (license license:gpl2)))) (define-public ddcci-driver-linux (package @@ -1271,7 +1277,7 @@ application by hooking GStreamer into the loopback device.") (define-public linux-pam (package (name "linux-pam") - (version "1.3.1") + (version "1.4.0") (source (origin (method url-fetch) @@ -1280,7 +1286,7 @@ application by hooking GStreamer into the loopback device.") version "/Linux-PAM-" version ".tar.xz")) (sha256 (base32 - "1nyh9kdi3knhxcbv5v4snya0g3gff0m671lnvqcbygw3rm77mx7g")) + "0d6hvz6lpkac08hw5wnlhfdm0fhqd0n6jf6v7fz3jhg6a6694vfd")) (patches (search-patches "linux-pam-no-setfsuid.patch")))) (build-system gnu-build-system) @@ -2026,7 +2032,7 @@ intercept and print the system calls executed by the program.") (define-public alsa-lib (package (name "alsa-lib") - (version "1.2.2") + (version "1.2.3.2") (source (origin (method url-fetch) (uri (string-append @@ -2034,7 +2040,7 @@ intercept and print the system calls executed by the program.") version ".tar.bz2")) (sha256 (base32 - "1v5kb8jyvrpkvvq7dq8hfbmcj68lml97i4s0prxpfx2mh3c57s6q")))) + "05dyk856ppvqymazyk1cmpln53g88cq1wjpnsygqrvnamyvwa7z8")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" @@ -2050,14 +2056,14 @@ MIDI functionality to the Linux-based operating system.") (define-public alsa-utils (package (name "alsa-utils") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.alsa-project.org/pub/utils/" name "-" version ".tar.bz2")) (sha256 (base32 - "1wz460by17rmxrcydn583rd4lhj6wlvqs6x1j5pdzxn5g3app024")))) + "1ai1z4kf91b1m3qrpwqkc1af5vm2fkdkknqv95xdwf19q94aw6gz")))) (build-system gnu-build-system) (arguments ;; XXX: Disable man page creation until we have DocBook. @@ -2268,7 +2274,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "5.8.0") + (version "5.9.0") (source (origin (method url-fetch) (uri (string-append @@ -2276,7 +2282,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "0vk4vickrpahdhl3zazr2qn2bf99v5549ncirjpwiy4h0a4izkfg")))) + "1kys6dmhrl43iaq95n5sh02p39d7bq8i5y672qrzgwnwpjaaqpd2")))) (build-system gnu-build-system) (arguments `( ;; There is a test suite, but it wants network namespaces and sudo. @@ -2402,7 +2408,7 @@ network hardware types (plipconfig, slattach) and advanced aspects of IP configuration (iptunnel, ipmaddr).") (license license:gpl2+)))) -(define-public libcap +(define-public libcap-2.31 (package (name "libcap") (version "2.31") @@ -2441,12 +2447,13 @@ Linux-based operating systems.") ;; License is BSD-3 or GPLv2, at the user's choice. (license license:gpl2))) -;; libcap 2.31 causes problems for 'fakeroot', so provide this newer variant. +;; libcap 2.31 has problems with newer kernels, so provide this newer variant. +;; Keep the old libcap around to avoid rebuilding 'coreutils' and 'avahi'. ;; To be merged with libcap on the next rebuild cycle. -(define-public libcap/next +(define-public libcap (package - (inherit libcap) - (version "2.34") + (inherit libcap-2.31) + (version "2.44") (source (origin (method url-fetch) (uri (string-append @@ -2454,19 +2461,34 @@ Linux-based operating systems.") "libcap2/libcap-" version ".tar.xz")) (sha256 (base32 - "048n1gy2p48vl9hkrr9wymfxxcpwj2aslz2bv79nhl4m2lhd9kdf")))))) + "1qf80lifygbnxwvqjf8jz5j24n6fqqx4ixnkbf76xs2vrmcq664j")))) + (arguments + (substitute-keyword-arguments (package-arguments libcap-2.31) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda _ + ;; Add $libdir to the RUNPATH of executables. + (substitute* "Make.Rules" + (("LDFLAGS \\?= #-g") + (string-append "LDFLAGS ?= -Wl,-rpath=" + %output "/lib"))) + #t)))))))) + +(define-deprecated libcap/next libcap) +(export libcap/next) (define-public bridge-utils (package (name "bridge-utils") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) - (uri (string-append "mirror://kernel.org/linux/utils/net/bridge-utils/" - "bridge-utils-" version ".tar.xz")) + (uri (string-append "mirror://kernel.org/linux/kernel/people/shemminger/" + "bridge-utils/bridge-utils-" version ".tar.xz")) (sha256 - (base32 "1j16kr44csyr4yqxly26l1yw2bh4nkiasgwvask2i2gvsnsyyryc")))) + (base32 "0zlrigizac2nfwgvksm92v4wafrpgxlbci3gwimc795ib7k8g6ck")))) (build-system gnu-build-system) ;; The tarball lacks all the generated files. @@ -2932,7 +2954,7 @@ compressed, transparent to other programs, without decompressing them.") (define-public numactl (package (name "numactl") - (version "2.0.13") + (version "2.0.14") (source (origin (method url-fetch) (uri (string-append @@ -2940,7 +2962,7 @@ compressed, transparent to other programs, without decompressing them.") version "/numactl-" version ".tar.gz")) (sha256 (base32 - "16lcypvcmx1ydkpi2s82kqhg13kak7qhpbnj8hd9bdbyhr5ja7lr")))) + "1xngddsph43bxljywahi9d44fxr022slsap4hh91w8xnq54d2sw2")))) (build-system gnu-build-system) (arguments '(;; There's a 'test' target, but it requires NUMA support in the kernel @@ -4621,7 +4643,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") (define-public bluez (package (name "bluez") - (version "5.54") + (version "5.55") (source (origin (method url-fetch) (uri (string-append @@ -4629,7 +4651,7 @@ Bluetooth audio output devices like headphones or loudspeakers.") version ".tar.xz")) (sha256 (base32 - "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8")))) + "124v9s4y1s7s6klx5vlmzpk1jlr4x84ch7r7scm7x2f42dqp2qw8")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4638,6 +4660,8 @@ Bluetooth audio output devices like headphones or loudspeakers.") "--localstatedir=/var" "--enable-library" "--disable-systemd" + ;; TODO: is this needed? Not installed by default since 5.55. + "--enable-hid2hci" ;; Install dbus/udev files to the correct location. (string-append "--with-dbusconfdir=" out "/etc") (string-append "--with-udevdir=" out "/lib/udev"))) @@ -5271,7 +5295,8 @@ supported.") ("fuse" ,fuse))) ;libuuid (native-inputs `(("pkg-config" ,pkg-config))) (arguments - '(#:configure-flags (list "--exec-prefix=${prefix}" + '(#:configure-flags (list "--disable-static" + "--exec-prefix=${prefix}" "--with-fuse=external" ;use our own FUSE "--enable-mount-helper" "--enable-posix-acls" @@ -5706,14 +5731,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") (define-public mcelog (package (name "mcelog") - (version "170") + (version "172") (source (origin (method url-fetch) (uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/" "mcelog.git/snapshot/v" version ".tar.gz")) (sha256 (base32 - "1m11v1y7cvpm7hwsghj23z77ps1w5jzn8000iwiyxpb939h2km5l")) + "17666056masfly83791q831yzw6sy1m6rwkxw7sqgjrhchn9sc4w")) (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (snippet @@ -6011,10 +6036,8 @@ under GNU/Linux. Features include: @item Light can automatically figure out the best controller to use, making full use of underlying hardware. @item It is possible to set a minimum brightness value, as some controllers -set the screen to be pitch black at a vaĺue of 0 (or higher). -@end itemize - -Light is the successor of lightscript.") +set the screen to be pitch black at a value of 0 (or higher). +@end itemize\n") (license license:gpl3+))) (define-public brightnessctl @@ -6426,17 +6449,18 @@ available in the kernel Linux.") (define-public cpuid (package (name "cpuid") - (version "20200427") + (version "20201006") (source (origin (method url-fetch) (uri (string-append "http://www.etallen.com/cpuid/cpuid-" version ".src.tar.gz")) (sha256 (base32 - "1m31238z2ya8f8pzpyklwp0ksf5xicqrw1z941hhhx913wzldaf1")))) + "19jnkh57f979b78ak5mpxmdvnkgc33r55cw9shgd2hc380b3zi8k")))) (build-system gnu-build-system) (arguments - '(#:make-flags '("CC=gcc") + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target))) #:tests? #f ; no tests #:phases (modify-phases %standard-phases (delete 'configure) ; no configure script @@ -7003,19 +7027,25 @@ the superuser to make device nodes.") (define-public fakeroot (package (name "fakeroot") - (version "1.24") + (version "1.25.3") (source (origin + ;; There are no tags in the repository, so take this snapshot. (method url-fetch) (uri (string-append "https://deb.debian.org/debian/pool/main/f/" "fakeroot/fakeroot_" version ".orig.tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vb6f93hjyqnwx8dc8mm3dgma7axgqk8s7sdsjs8l2rpc0qmn11f")))) + "0v4m3v1bdqvblwj3vqsb3mllgbci6dsgsydq6765nzvz6n1kd44f")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + ;; The "preroll" script takes care of Autoconf and also + ;; prepares the translated manuals. + (invoke "sh" "./preroll"))) (add-after 'configure 'patch-Makefile (lambda _ ;; Note: The root of the problem is already in "Makefile.am". @@ -7055,21 +7085,21 @@ the superuser to make device nodes.") ;; We don't have an /etc/passwd entry for "root" - use numeric IDs. (substitute* "test/compare-tar" (("tar -tvf") "tar --numeric-owner -tvf")) - - ;; coreutils 8.32 changed 'ls' to use the statx() syscall instead - ;; of lstat(). fakeroot 1.24 does not support the former, so - ;; adjust these tests to use 'test -b' instead of 'ls' to test for - ;; block device. See <https://bugs.gnu.org/41090>. - (substitute* '("test/t.mknod" "test/t.chmod_dev") - (("ls -ld? \\$tmp/hda3") - "test -b $tmp/hda3 && echo block || echo fail")) #t))))) (native-inputs - `(("acl" ,acl) - ("sharutils" ,sharutils) ; for the tests - ("xz" ,xz))) ; for the tests + `(;; For bootstrapping the package. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("gettext" ,gettext-minimal) + ("po4a" ,po4a) + + ;; For tests. + ("sharutils" ,sharutils) + ("xz" ,xz))) (inputs - `(("libcap" ,libcap/next) + `(("acl" ,acl) + ("libcap" ,libcap) ("util-linux" ,util-linux) ("sed" ,sed) ("coreutils" ,coreutils))) @@ -7201,7 +7231,7 @@ of Linux application development.") (package (inherit pipewire) (name "pipewire") - (version "0.3.10") + (version "0.3.13") (source (origin (method git-fetch) (uri (git-reference @@ -7210,7 +7240,7 @@ of Linux application development.") (file-name (git-file-name name version)) (sha256 (base32 - "1y293sfhhmzbgnlvs46bpiyimlii5nk71f8115qxs8sviwlsdr3w")))) + "19j5kmb7iaivkq2agfzncfm2qms41ckqi0ddxvhpc91ihwprdc5w")))) (arguments '(#:configure-flags (list (string-append "-Dudevrulesdir=" (assoc-ref %outputs "out") @@ -7366,16 +7396,16 @@ persistent over reboots.") (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) - (inputs + (propagated-inputs + ;; In Requires.private of libbpf.pc. `(("libelf" ,libelf) ("zlib" ,zlib))) (arguments - `(#:tests? #f ; No tests + `(#:tests? #f ; no tests #:make-flags (list - (string-append "PREFIX=''") - (string-append "DESTDIR=" (assoc-ref %outputs "out")) - (string-append "LIBDIR=/lib") + (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "LIBDIR=$(PREFIX)/lib") (string-append "CC=" (assoc-ref %build-inputs "gcc") "/bin/gcc")) #:phases @@ -7549,3 +7579,75 @@ created by Alastair Robertson.") provide a serial device @code{/dev/ttyebus} with almost no latency upon receiving. It is dedicated to the PL011 UART of the Raspberry Pi.") (license license:gpl3+)))) + +(define-public ipset + (package + (name "ipset") + (version "7.6") + (source (origin + (method url-fetch) + (uri (string-append "http://ipset.netfilter.org/ipset-" version ".tar.bz2")) + (sha256 + (base32 + "1ny2spcm6bmpj8vnazssg99k59impr7n84jzkdmdjly1m7548z8f")))) + (build-system gnu-build-system) + (inputs + `(("libmnl" ,libmnl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags '("--with-kmod=no"))) + (home-page "http://ipset.netfilter.org/") + (synopsis "Administration tool for IP sets") + (description "IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel which +can be administered by the ipset utility. Depending on the type, +currently an IP set may store IP addresses, (TCP/UDP) port numbers or +IP addresses with MAC addresses in a way which ensures lightning speed +when matching an entry against a set. + +If you want to +@itemize @bullet +@item store multiple IP addresses or port numbers and match against the entire +collection using a single iptables rule. +@item dynamically update iptables rules against IP addresses or ports without +performance penalty. +@item express complex IP address and ports based rulesets with a single +iptables rule and benefit from the speed of IP sets. +@end itemize\n +then IP sets may be the proper tool for you.") + (license license:gpl2+))) + +(define-public liburing + (package + (name "liburing") + (version "0.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.dk/liburing") + (commit (string-append "liburing-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15z44l7y4c6s6dlf7v8lq4znlsjbja2r4ifbni0l8cdcnq0w3zh3")))) + (build-system gnu-build-system) + (arguments + `(;; Tests are dependent on kernel version and features + #:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; configure fails if it is followed by SHELL, CONFIG_SHELL, + ;; --enable-fast-install, and --build + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + (invoke "./configure" (string-append "--prefix=" out)))))))) + (home-page "https://github.com/axboe/liburing") + (synopsis "Interface to the Linux kernel @code{io_uring} interface") + (description "This is the io_uring library, liburing. liburing provides +helpers to setup and teardown io_uring instances, and also a simplified +interface for applications that don't need (or want) to deal with the full +kernel side implementation.") + (license license:expat))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index f73709515f..1f0006964b 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -75,6 +75,7 @@ #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (ice-9 match) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-19)) (define-public sbcl-alexandria @@ -321,7 +322,18 @@ streams which are similar to string streams.") (sha256 (base32 "0dwvr29diqzcg5n6jvbk2rnd90i05l7n828hhw99khmqd0kz7xsi")))) (build-system asdf-build-system/sbcl) - (native-inputs `(("flexi-streams" ,sbcl-flexi-streams))) + (native-inputs + `(("flexi-streams" ,sbcl-flexi-streams))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-ppcre-unicode + ;; cl-ppcre and cl-ppcre-unicode are put in different packages + ;; to work around the circular dependency between edicl/cl-ppcre + ;; and edicl/cl-unicode. + (lambda _ + (delete-file "cl-ppcre-unicode.asd") + #t))))) (synopsis "Portable regular expression library for Common Lisp") (description "CL-PPCRE is a portable regular expression library for Common Lisp, which is compatible with perl. It is pretty fast, thread-safe, and @@ -335,9 +347,9 @@ compatible with ANSI-compliant Common Lisp implementations.") (define-public ecl-cl-ppcre (sbcl-package->ecl-package sbcl-cl-ppcre)) -(define sbcl-cl-unicode-base +(define-public sbcl-cl-unicode (package - (name "sbcl-cl-unicode-base") + (name "sbcl-cl-unicode") (version "0.1.6") (source (origin (method git-fetch) @@ -349,9 +361,8 @@ compatible with ANSI-compliant Common Lisp implementations.") (base32 "0ykx2s9lqfl74p1px0ik3l2izd1fc9jd1b4ra68s5x34rvjy0hza")))) (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "cl-unicode.asd" - #:asd-system-name "cl-unicode/base")) + (native-inputs + `(("flexi-streams" ,sbcl-flexi-streams))) (inputs `(("cl-ppcre" ,sbcl-cl-ppcre))) (home-page "http://weitz.de/cl-unicode/") @@ -361,23 +372,36 @@ is compatible with perl. It is pretty fast, thread-safe, and compatible with ANSI-compliant Common Lisp implementations.") (license license:bsd-2))) -(define-public sbcl-cl-unicode - (package - (inherit sbcl-cl-unicode-base) - (name "sbcl-cl-unicode") - (inputs - `(("cl-unicode/base" ,sbcl-cl-unicode-base) - ,@(package-inputs sbcl-cl-unicode-base))) - (native-inputs - `(("flexi-streams" ,sbcl-flexi-streams))) - (arguments '()))) - (define-public ecl-cl-unicode (sbcl-package->ecl-package sbcl-cl-unicode)) (define-public cl-unicode (sbcl-package->cl-source-package sbcl-cl-unicode)) +(define-public sbcl-cl-ppcre-unicode + (package (inherit sbcl-cl-ppcre) + (name "sbcl-cl-ppcre-unicode") + (inputs + `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) + ("sbcl-cl-unicode" ,sbcl-cl-unicode))) + (arguments + `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-ppcre + ;; cl-ppcre and cl-ppcre-unicode are put in different packages + ;; to work around the circular dependency between edicl/cl-ppcre + ;; and edicl/cl-unicode. + (lambda _ + (delete-file "cl-ppcre.asd") + #t))))))) + +(define-public cl-ppcre-unicode + (sbcl-package->cl-source-package sbcl-cl-ppcre-unicode)) + +(define-public ecl-cl-ppcre-unicode + (sbcl-package->ecl-package sbcl-cl-ppcre-unicode)) + (define-public sbcl-zpb-ttf (package (name "sbcl-zpb-ttf") @@ -407,9 +431,9 @@ file.") (define-public cl-zpb-ttf (sbcl-package->cl-source-package sbcl-zpb-ttf)) -(define-public sbcl-cl-aa +(define-public sbcl-cl-vectors (package - (name "sbcl-cl-aa") + (name "sbcl-cl-vectors") (version "0.1.5") (source (origin @@ -420,67 +444,17 @@ file.") (base32 "04lhwi0kq8pkwhgd885pk80m1cp9sfvjjn5zj70s1dnckibhdmqh")))) (build-system asdf-build-system/sbcl) - (arguments '(#:asd-file "cl-aa.asd")) - (home-page "http://projects.tuxee.net/cl-vectors/") - (synopsis "Polygon rasterizer") - (description - "This is a Common Lisp library implementing the AA polygon rasterization -algorithm from the @url{http://antigrain.com, Antigrain} project.") - (license license:expat))) - -(define-public ecl-cl-aa - (sbcl-package->ecl-package sbcl-cl-aa)) - -(define-public cl-aa - (sbcl-package->cl-source-package sbcl-cl-aa)) - -(define-public sbcl-cl-paths - (package - (inherit sbcl-cl-aa) - (name "sbcl-cl-paths") - (arguments '(#:asd-file "cl-paths.asd")) - (synopsis "Facilities to create and manipulate vectorial paths") - (description - "This package provides facilities to create and manipulate vectorial -paths."))) - -(define-public ecl-cl-paths - (sbcl-package->ecl-package sbcl-cl-paths)) - -(define-public cl-paths - (sbcl-package->cl-source-package sbcl-cl-paths)) - -(define-public sbcl-cl-paths-ttf - (package - (inherit sbcl-cl-aa) - (name "sbcl-cl-paths-ttf") - (arguments '(#:asd-file "cl-paths-ttf.asd")) (inputs - `(("cl-paths" ,sbcl-cl-paths) - ("zpb-ttf" ,sbcl-zpb-ttf))) - (synopsis "Facilities to create and manipulate vectorial paths") - (description - "This package provides facilities to create and manipulate vectorial -paths."))) - -(define-public ecl-cl-paths-ttf - (sbcl-package->ecl-package sbcl-cl-paths-ttf)) - -(define-public cl-paths-ttf - (sbcl-package->cl-source-package sbcl-cl-paths-ttf)) - -(define-public sbcl-cl-vectors - (package - (inherit sbcl-cl-aa) - (name "sbcl-cl-vectors") - (arguments '(#:asd-file "cl-vectors.asd")) - (inputs - `(("cl-aa" ,sbcl-cl-aa) - ("cl-paths" ,sbcl-cl-paths))) + `(("zpb-ttf" ,sbcl-zpb-ttf))) + (arguments + '(#:asd-systems '("cl-vectors" + "cl-paths-ttf"))) + (home-page "http://projects.tuxee.net/cl-vectors/") (synopsis "Create, transform and render anti-aliased vectorial paths") (description "This is a pure Common Lisp library to create, transform and render -anti-aliased vectorial paths."))) +anti-aliased vectorial paths.") + (license license:expat))) (define-public ecl-cl-vectors (sbcl-package->ecl-package sbcl-cl-vectors)) @@ -508,7 +482,6 @@ anti-aliased vectorial paths."))) (build-system asdf-build-system/sbcl) (arguments '(#:tests? #f ; spatial-trees.test requires spatial-trees.nns - #:asd-file "spatial-trees.asd" #:test-asd-file "spatial-trees.test.asd")) (native-inputs `(("fiveam" ,sbcl-fiveam))) @@ -650,7 +623,6 @@ from other CLXes around the net.") `(("clx" ,sbcl-clx) ("zpb-ttf" ,sbcl-zpb-ttf) ("cl-vectors" ,sbcl-cl-vectors) - ("cl-paths-ttf" ,sbcl-cl-paths-ttf) ("cl-fad" ,sbcl-cl-fad) ("cl-store" ,sbcl-cl-store) ("trivial-features" ,sbcl-trivial-features))) @@ -660,30 +632,19 @@ from other CLXes around the net.") antialiased TrueType font rendering using CLX and XRender extension.") (license license:expat)))) -(define-public sbcl-cl-ppcre-unicode - (package (inherit sbcl-cl-ppcre) - (name "sbcl-cl-ppcre-unicode") - (arguments - `(#:tests? #f ; tests fail with "Component :CL-PPCRE-TEST not found" - #:asd-file "cl-ppcre-unicode.asd")) - (inputs - `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) - ("sbcl-cl-unicode" ,sbcl-cl-unicode))))) +(define-public cl-clx-truetype + (sbcl-package->cl-source-package sbcl-clx-truetype)) -(define-public ecl-cl-ppcre-unicode - (sbcl-package->ecl-package sbcl-cl-ppcre-unicode)) +(define-public ecl-clx-truetype + (sbcl-package->ecl-package sbcl-clx-truetype)) -;; The slynk that users expect to install includes all of slynk's contrib -;; modules. Therefore, we build the base module and all contribs first; then -;; we expose the union of these as `sbcl-slynk'. The following variable -;; describes the base module. -(define sbcl-slynk-boot0 +(define-public sbcl-slynk (let ((revision "3") ;; Update together with emacs-sly. (commit "6a2f543cb21f14104c2253af5a1427b884a987ae")) (package - (name "sbcl-slynk-boot0") - (version (string-append "1.0.0-beta-" revision "." (string-take commit 7))) + (name "sbcl-slynk") + (version (git-version "1.0.0-beta" revision commit)) (source (origin (method git-fetch) @@ -693,7 +654,7 @@ antialiased TrueType font rendering using CLX and XRender extension.") (commit commit))) (sha256 (base32 "0wbpg9p9yg2hd62l15pvy50fk3hndq5zzyqlyyf04g368s895144")) - (file-name (string-append "slynk-" version "-checkout")) + (file-name (git-file-name "slynk" version)) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -724,9 +685,40 @@ antialiased TrueType font rendering using CLX and XRender extension.") (scandir "slynk")) #t)))) (build-system asdf-build-system/sbcl) + (outputs '("out" "image")) (arguments `(#:tests? #f ; No test suite - #:asd-system-name "slynk")) + #:asd-systems '("slynk" + "slynk/arglists" + "slynk/util" + "slynk/fancy-inspector" + "slynk/package-fu" + "slynk/mrepl" + "slynk/trace-dialog" + "slynk/profiler" + "slynk/stickers" + "slynk/indentation" + "slynk/retro") + #:phases + (modify-phases %standard-phases + (add-after 'create-asdf-configuration 'build-image + (lambda* (#:key outputs #:allow-other-keys) + (build-image (string-append + (assoc-ref %outputs "image") + "/bin/slynk") + %outputs + #:dependencies '("slynk" + "slynk/arglists" + "slynk/util" + "slynk/fancy-inspector" + "slynk/package-fu" + "slynk/mrepl" + "slynk/trace-dialog" + "slynk/profiler" + "slynk/stickers" + "slynk/indentation" + "slynk/retro")) + #t))))) (synopsis "Common Lisp IDE for Emacs") (description "SLY is a fork of SLIME, an IDE backend for Common Lisp. It also features a completely redesigned REPL based on Emacs's own @@ -738,216 +730,18 @@ multiple inspectors with independent history.") (properties `((cl-source-variant . ,(delay cl-slynk))))))) (define-public cl-slynk - (package - (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0)) - (name "cl-slynk"))) - -(define ecl-slynk-boot0 - (sbcl-package->ecl-package sbcl-slynk-boot0)) - -(define sbcl-slynk-arglists - (package - (inherit sbcl-slynk-boot0) - (name "sbcl-slynk-arglists") - (inputs `(("slynk" ,sbcl-slynk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0) - ((#:asd-file _ "") "slynk.asd") - ((#:asd-system-name _ #f) "slynk/arglists"))))) - -(define ecl-slynk-arglists - (sbcl-package->ecl-package sbcl-slynk-arglists)) - -(define sbcl-slynk-util - (package - (inherit sbcl-slynk-boot0) - (name "sbcl-slynk-util") - (inputs `(("slynk" ,sbcl-slynk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0) - ((#:asd-file _ "") "slynk.asd") - ((#:asd-system-name _ #f) "slynk/util"))))) - -(define ecl-slynk-util - (sbcl-package->ecl-package sbcl-slynk-util)) - -(define sbcl-slynk-fancy-inspector - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-fancy-inspector") - (inputs `(("slynk-util" ,sbcl-slynk-util) - ,@(package-inputs sbcl-slynk-arglists))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/fancy-inspector"))))) - -(define ecl-slynk-fancy-inspector - (sbcl-package->ecl-package sbcl-slynk-fancy-inspector)) - -(define sbcl-slynk-package-fu - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-package-fu") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/package-fu"))))) - -(define ecl-slynk-package-fu - (sbcl-package->ecl-package sbcl-slynk-package-fu)) - -(define sbcl-slynk-mrepl - (package - (inherit sbcl-slynk-fancy-inspector) - (name "sbcl-slynk-mrepl") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/mrepl"))))) - -(define ecl-slynk-mrepl - (sbcl-package->ecl-package sbcl-slynk-mrepl)) - -(define sbcl-slynk-trace-dialog - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-trace-dialog") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/trace-dialog"))))) - -(define ecl-slynk-trace-dialog - (sbcl-package->ecl-package sbcl-slynk-trace-dialog)) - -(define sbcl-slynk-profiler - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-profiler") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/profiler"))))) - -(define ecl-slynk-profiler - (sbcl-package->ecl-package sbcl-slynk-profiler)) - -(define sbcl-slynk-stickers - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-stickers") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/stickers"))))) - -(define ecl-slynk-stickers - (sbcl-package->ecl-package sbcl-slynk-stickers)) - -(define sbcl-slynk-indentation - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-indentation") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/indentation"))))) - -(define ecl-slynk-indentation - (sbcl-package->ecl-package sbcl-slynk-indentation)) - -(define sbcl-slynk-retro - (package - (inherit sbcl-slynk-arglists) - (name "sbcl-slynk-retro") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-slynk-arglists) - ((#:asd-system-name _ #f) "slynk/retro"))))) - -(define ecl-slynk-retro - (sbcl-package->ecl-package sbcl-slynk-retro)) - -(define slynk-systems - '("slynk" - "slynk-util" - "slynk-arglists" - "slynk-fancy-inspector" - "slynk-package-fu" - "slynk-mrepl" - "slynk-profiler" - "slynk-trace-dialog" - "slynk-stickers" - "slynk-indentation" - "slynk-retro")) - -(define-public sbcl-slynk - (package - (inherit sbcl-slynk-boot0) - (name "sbcl-slynk") - (inputs - `(("slynk" ,sbcl-slynk-boot0) - ("slynk-util" ,sbcl-slynk-util) - ("slynk-arglists" ,sbcl-slynk-arglists) - ("slynk-fancy-inspector" ,sbcl-slynk-fancy-inspector) - ("slynk-package-fu" ,sbcl-slynk-package-fu) - ("slynk-mrepl" ,sbcl-slynk-mrepl) - ("slynk-profiler" ,sbcl-slynk-profiler) - ("slynk-trace-dialog" ,sbcl-slynk-trace-dialog) - ("slynk-stickers" ,sbcl-slynk-stickers) - ("slynk-indentation" ,sbcl-slynk-indentation) - ("slynk-retro" ,sbcl-slynk-retro))) - (native-inputs `(("sbcl" ,sbcl))) - (build-system trivial-build-system) - (source #f) - (outputs '("out" "image")) - (arguments - `(#:modules ((guix build union) - (guix build utils) - (guix build lisp-utils)) - #:builder - (begin - (use-modules (ice-9 match) - (srfi srfi-1) - (guix build union) - (guix build lisp-utils)) - - (union-build - (assoc-ref %outputs "out") - (filter-map - (match-lambda - ((name . path) - (if (string-prefix? "slynk" name) path #f))) - %build-inputs)) - - (prepend-to-source-registry - (string-append (assoc-ref %outputs "out") "//")) - - (parameterize ((%lisp-type "sbcl") - (%lisp (string-append (assoc-ref %build-inputs "sbcl") - "/bin/sbcl"))) - (build-image (string-append - (assoc-ref %outputs "image") - "/bin/slynk") - %outputs - #:dependencies ',slynk-systems)) - #t))))) + (sbcl-package->cl-source-package sbcl-slynk)) (define-public ecl-slynk - (package - (inherit sbcl-slynk) - (name "ecl-slynk") - (inputs - (map (match-lambda - ((name pkg . _) - (list name (sbcl-package->ecl-package pkg)))) - (package-inputs sbcl-slynk))) - (native-inputs '()) - (outputs '("out")) - (arguments - '(#:modules ((guix build union)) - #:builder - (begin - (use-modules (ice-9 match) - (guix build union)) - (match %build-inputs - (((names . paths) ...) - (union-build (assoc-ref %outputs "out") - paths) - #t))))))) + (let ((pkg (sbcl-package->ecl-package sbcl-slynk))) + (package + (inherit pkg) + (outputs '("out")) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:phases phases) + `(modify-phases ,phases + (delete 'build-image)))))))) (define-public sbcl-parse-js (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6") @@ -975,6 +769,9 @@ JavaScript (ECMAScript 3). It has basic support for ECMAScript 5.") (define-public cl-parse-js (sbcl-package->cl-source-package sbcl-parse-js)) +(define-public ecl-parse-js + (sbcl-package->ecl-package sbcl-parse-js)) + (define-public sbcl-parse-number (package (name "sbcl-parse-number") @@ -1002,6 +799,9 @@ else @code{parse-number} signals an error of type @code{invalid-number}.") (define-public cl-parse-number (sbcl-package->cl-source-package sbcl-parse-number)) +(define-public ecl-parse-number + (sbcl-package->ecl-package sbcl-parse-number)) + (define-public sbcl-iterate (package (name "sbcl-iterate") @@ -1080,6 +880,9 @@ compressor. It works on data produced by @code{parse-js} to generate a (define-public cl-uglify-js (sbcl-package->cl-source-package sbcl-cl-uglify-js)) +(define-public ecl-cl-uglify-js + (sbcl-package->ecl-package sbcl-cl-uglify-js)) + (define-public uglify-js (package (inherit sbcl-cl-uglify-js) @@ -1095,9 +898,14 @@ compressor. It works on data produced by @code{parse-js} to generate a (with-output-to-file script (lambda _ (format #t "#!~a/bin/sbcl --script + (require :asdf) - (push (truename \"~a/lib/sbcl\") asdf:*central-registry*)" + (asdf:initialize-source-registry + #p\"~a/etc/common-lisp/source-registry.conf.d/\") + (asdf:initialize-output-translations + #p\"~a/etc/common-lisp/asdf-output-translations.conf.d/\")" (assoc-ref %build-inputs "sbcl") + (assoc-ref %build-inputs "sbcl-cl-uglify-js") (assoc-ref %build-inputs "sbcl-cl-uglify-js")) ;; FIXME: cannot use progn here because otherwise it fails to ;; find cl-uglify-js. @@ -1174,7 +982,9 @@ utilities that make it even easier to manipulate text in Common Lisp. It has (sha256 (base32 "14pcahr8r2j3idhyy216zyw8jnj1dnrx0qbkkbdqkvwzign1ah4j")))) (build-system asdf-build-system/sbcl) - (arguments '(#:tests? #f)) + (arguments + '(#:asd-files '("trivial-features.asd") + #:tests? #f)) (home-page "https://cliki.net/trivial-features") (synopsis "Ensures consistency of @code{*FEATURES*} in Common Lisp") (description "Trivial-features ensures that @code{*FEATURES*} is @@ -1293,8 +1103,7 @@ GNU libiconv, but completely written in Common Lisp.") (file-name (string-append "cl-yacc-" version "-checkout")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-file "yacc.asd" - #:asd-system-name "yacc")) + `(#:asd-systems '("yacc"))) (synopsis "LALR(1) parser generator for Common Lisp, similar in spirit to Yacc") (description "CL-Yacc is a LALR(1) parser generator for Common Lisp, similar in spirit @@ -1569,9 +1378,11 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.") (arguments ;; FIXME: We need to specify the name because the build-system thinks ;; "3" is a version marker. - `(#:asd-system-name "3bmd")) + `(#:asd-systems '("3bmd" + "3bmd-ext-code-blocks"))) (inputs - `(("esrap" ,sbcl-esrap) + `(("colorize" ,sbcl-colorize) + ("esrap" ,sbcl-esrap) ("split-sequence" ,sbcl-split-sequence))) (synopsis "Markdown processor in Command Lisp using esrap parser") (description @@ -1586,29 +1397,6 @@ parsing, and grammar based on @command{peg-markdown}.") (define-public ecl-3bmd (sbcl-package->ecl-package sbcl-3bmd)) -(define-public sbcl-3bmd-ext-code-blocks - (let ((commit "192ea13435b605a96ef607df51317056914cabbd")) - (package - (inherit sbcl-3bmd) - (name "sbcl-3bmd-ext-code-blocks") - (arguments - `(#:asd-system-name "3bmd-ext-code-blocks" - #:asd-file "3bmd-ext-code-blocks.asd")) - (inputs - `(("3bmd" ,sbcl-3bmd) - ("colorize" ,sbcl-colorize))) - (synopsis "3bmd extension which adds support for GitHub-style fenced -code blocks") - (description - "3bmd extension which adds support for GitHub-style fenced code blocks, -with @command{colorize} support.")))) - -(define-public cl-3bmd-ext-code-blocks - (sbcl-package->cl-source-package sbcl-3bmd-ext-code-blocks)) - -(define-public ecl-3bmd-ext-code-blocks - (sbcl-package->ecl-package sbcl-3bmd-ext-code-blocks)) - (define-public sbcl-cl-fad (package (name "sbcl-cl-fad") @@ -1810,19 +1598,13 @@ writing code that contains string literals that contain code themselves.") (define-public ecl-pythonic-string-reader (sbcl-package->ecl-package sbcl-pythonic-string-reader)) -;; SLIME does not have a ASDF system definition to build all of Swank. As a -;; result, the asdf-build-system/sbcl will produce an almost empty package. -;; Some work was done to fix this at -;; https://github.com/sionescu/slime/tree/swank-asdf but it was never merged -;; and is now lagging behind. Building SBCL fasls might not be worth the -;; hassle, so let's just ship the source then. -(define-public cl-slime-swank +(define-public sbcl-slime-swank (package - (name "cl-slime-swank") + (name "sbcl-slime-swank") (version "2.24") (source (origin - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name "slime-swank" version)) (method git-fetch) (uri (git-reference (url "https://github.com/slime/slime/") @@ -1830,7 +1612,9 @@ writing code that contains string literals that contain code themselves.") (sha256 (base32 "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh")))) - (build-system asdf-build-system/source) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-systems '("swank"))) (home-page "https://github.com/slime/slime") (synopsis "Common Lisp Swank server") (description @@ -1839,8 +1623,11 @@ processes that doesn't run under Emacs. Lisp processes created by @command{M-x slime} automatically start the server.") (license (list license:gpl2+ license:public-domain)))) -(define-public sbcl-slime-swank - (deprecated-package "sbcl-slime-swank" cl-slime-swank)) +(define-public cl-slime-swank + (sbcl-package->cl-source-package sbcl-slime-swank)) + +(define-public ecl-slime-swank + (sbcl-package->ecl-package sbcl-slime-swank)) (define-public sbcl-mgl-pax (let ((commit "818448418d6b9de74620f606f5b23033c6082769")) @@ -1860,16 +1647,12 @@ processes that doesn't run under Emacs. Lisp processes created by (build-system asdf-build-system/sbcl) (inputs `(("3bmd" ,sbcl-3bmd) - ("3bmd-ext-code-blocks" ,sbcl-3bmd-ext-code-blocks) ("babel" ,sbcl-babel) ("cl-fad" ,sbcl-cl-fad) ("ironclad" ,sbcl-ironclad) ("named-readtables" ,sbcl-named-readtables) - ("pythonic-string-reader" ,sbcl-pythonic-string-reader))) - (propagated-inputs - ;; Packages having mgl-pax as input complain that it can't find - ;; swank if we put it in inputs, so let's put it in propageted-inputs. - `(("swank" ,cl-slime-swank))) + ("pythonic-string-reader" ,sbcl-pythonic-string-reader) + ("swank" ,sbcl-slime-swank))) (synopsis "Exploratory programming environment and documentation generator") (description "PAX provides an extremely poor man's Explorable Programming @@ -1893,7 +1676,13 @@ pretty, documentation is code.") (sbcl-package->cl-source-package sbcl-mgl-pax)) (define-public ecl-mgl-pax - (sbcl-package->ecl-package sbcl-mgl-pax)) + (let ((pkg (sbcl-package->ecl-package sbcl-mgl-pax))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ;; TODO: Find why the tests fail on ECL. + ((#:tests? _ #f) #f)))))) (define-public sbcl-lisp-unit (let ((commit "89653a232626b67400bf9a941f9b367da38d3815")) @@ -2116,10 +1905,10 @@ named color.") (define-public ecl-cl-ansi-text (sbcl-package->ecl-package sbcl-cl-ansi-text)) -(define-public sbcl-prove-asdf +(define-public sbcl-prove (let ((commit "4f9122bd393e63c5c70c1fba23070622317cfaa0")) (package - (name "sbcl-prove-asdf") + (name "sbcl-prove") (version (git-version "1.0.0" "1" commit)) (source (origin @@ -2132,35 +1921,13 @@ named color.") "07sbfw459z8bbjvx1qlmfa8qk2mvbjnnzi2mi0x72blaj8bkl4vc")) (file-name (git-file-name "prove" version)))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "prove-asdf.asd")) - (synopsis "Test requirement for the Common Lisp 'prove' library") + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-ansi-text" ,sbcl-cl-ansi-text))) + (synopsis "Yet another unit testing framework for Common Lisp") (description - "Test requirement for the Common Lisp @command{prove} library.") - (home-page "https://github.com/fukamachi/prove") - (license license:expat)))) - -(define-public cl-prove-asdf - (sbcl-package->cl-source-package sbcl-prove-asdf)) - -(define-public ecl-prove-asdf - (sbcl-package->ecl-package sbcl-prove-asdf)) - -(define-public sbcl-prove - (package - (inherit sbcl-prove-asdf) - (name "sbcl-prove") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("cl-ansi-text" ,sbcl-cl-ansi-text))) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (arguments - `(#:asd-file "prove.asd")) - (synopsis "Yet another unit testing framework for Common Lisp") - (description - "This project was originally called @command{cl-test-more}. + "This project was originally called @command{cl-test-more}. @command{prove} is yet another unit testing framework for Common Lisp. The advantages of @command{prove} are: @@ -2170,7 +1937,9 @@ advantages of @command{prove} are: @item Extensible test reporters @item Colorizes the report if it's available (note for SLIME) @item Reports test durations -@end itemize\n"))) +@end itemize\n") + (home-page "https://github.com/fukamachi/prove") + (license license:expat)))) (define-public cl-prove (sbcl-package->cl-source-package sbcl-prove)) @@ -2198,8 +1967,7 @@ advantages of @command{prove} are: `(("alexandria" ,sbcl-alexandria) ("babel" ,sbcl-babel))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests don't find "proc-parse-test", why? `(#:tests? #f)) @@ -2237,8 +2005,7 @@ pattern-matching-like, but a char-by-char procedural parser.") `(("alexandria" ,sbcl-alexandria) ("babel" ,sbcl-babel))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests don't find "proc-parse-test", why? `(#:tests? #f)) @@ -2255,12 +2022,12 @@ values from a string in Common Lisp.") (define-public ecl-parse-float (sbcl-package->ecl-package sbcl-parse-float)) -(define-public sbcl-ascii-strings +(define-public sbcl-cl-string-match (let ((revision "1") (changeset "5048480a61243e6f1b02884012c8f25cdbee6d97")) (package - (name "sbcl-ascii-strings") - (version (string-append "0-" revision "." (string-take changeset 7))) + (name "sbcl-cl-string-match") + (version (git-version "0" revision changeset)) (source (origin (method hg-fetch) @@ -2274,69 +2041,28 @@ values from a string in Common Lisp.") (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) - ("babel" ,sbcl-babel))) + ("babel" ,sbcl-babel) + ("iterate" ,sbcl-iterate) + ("jpl-queues" ,sbcl-jpl-queues) + ("jpl-util" ,sbcl-jpl-util) + ("mgl-pax" ,sbcl-mgl-pax) + ("parse-float" ,sbcl-parse-float) + ("proc-parse" ,sbcl-proc-parse) + ("yacc" ,sbcl-cl-yacc))) + ;; TODO: Tests are not evaluated properly. + (native-inputs + ;; For testing: + `(("lisp-unit" ,sbcl-lisp-unit))) (arguments - `(#:asd-file "ascii-strings.asd")) - (synopsis "Operations on ASCII strings") + `(#:tests? #f)) + (synopsis "Set of utilities to manipulate strings in Common Lisp") (description - "Operations on ASCII strings. Essentially this can be any kind of -single-byte encoded strings.") + "@command{cl-strings} is a small, portable, dependency-free set of +utilities that make it even easier to manipulate text in Common Lisp. It has +100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp.") (home-page "https://bitbucket.org/vityok/cl-string-match/") (license license:bsd-3)))) -(define-public cl-ascii-strings - (sbcl-package->cl-source-package sbcl-ascii-strings)) - -(define-public ecl-ascii-strings - (sbcl-package->ecl-package sbcl-ascii-strings)) - -(define-public sbcl-simple-scanf - (package - (inherit sbcl-ascii-strings) - (name "sbcl-simple-scanf") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("iterate" ,sbcl-iterate) - ("proc-parse" ,sbcl-proc-parse) - ("parse-float" ,sbcl-parse-float))) - (arguments - `(#:asd-file "simple-scanf.asd")) - (synopsis "Simple scanf-like functionality implementation") - (description - "A simple scanf-like functionality implementation."))) - -(define-public cl-simple-scanf - (sbcl-package->cl-source-package sbcl-simple-scanf)) - -(define-public ecl-simple-scanf - (sbcl-package->ecl-package sbcl-simple-scanf)) - -(define-public sbcl-cl-string-match - (package - (inherit sbcl-ascii-strings) - (name "sbcl-cl-string-match") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("ascii-strings" ,sbcl-ascii-strings) - ("yacc" ,sbcl-cl-yacc) - ("jpl-util" ,sbcl-jpl-util) - ("jpl-queues" ,sbcl-jpl-queues) - ("mgl-pax" ,sbcl-mgl-pax) - ("iterate" ,sbcl-iterate))) - ;; TODO: Tests are not evaluated properly. - (native-inputs - ;; For testing: - `(("lisp-unit" ,sbcl-lisp-unit) - ("simple-scanf" ,sbcl-simple-scanf))) - (arguments - `(#:tests? #f - #:asd-file "cl-string-match.asd")) - (synopsis "Portable, dependency-free set of utilities to manipulate strings in Common Lisp") - (description - "@command{cl-strings} is a small, portable, dependency-free set of -utilities that make it even easier to manipulate text in Common Lisp. It has -100% test coverage and works at least on sbcl, ecl, ccl, abcl and clisp."))) - (define-public cl-string-match (sbcl-package->cl-source-package sbcl-cl-string-match)) @@ -2419,6 +2145,14 @@ Lisp programs. It parses URI according to the RFC 2396 specification.") (base32 "0wdhfnzi4v6d97pggzj2aw55si94w4327br94jrmyvwf351wqjvv")))) (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads))) + (arguments + '(#:asd-systems '("queues" + "queues.simple-queue" + "queues.simple-cqueue" + "queues.priority-queue" + "queues.priority-cqueue"))) (home-page "https://github.com/oconnore/queues") (synopsis "Common Lisp queue library") (description @@ -2432,93 +2166,9 @@ non-consing thread safe queues and fibonacci priority queues.") (define-public ecl-queues (sbcl-package->ecl-package sbcl-queues)) -(define-public sbcl-queues.simple-queue - (package - (inherit sbcl-queues) - (name "sbcl-queues.simple-queue") - (inputs - `(("sbcl-queues" ,sbcl-queues))) - (arguments - `(#:asd-file "queues.simple-queue.asd")) - (synopsis "Simple queue implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.simple-queue - (sbcl-package->cl-source-package sbcl-queues.simple-queue)) - -(define-public ecl-queues.simple-queue - (sbcl-package->ecl-package sbcl-queues.simple-queue)) - -(define-public sbcl-queues.simple-cqueue - (package - (inherit sbcl-queues) - (name "sbcl-queues.simple-cqueue") - (inputs - `(("sbcl-queues" ,sbcl-queues) - ("sbcl-queues.simple-queue" ,sbcl-queues.simple-queue) - ("bordeaux-threads" ,sbcl-bordeaux-threads))) - (arguments - `(#:asd-file "queues.simple-cqueue.asd")) - (synopsis "Thread safe queue implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.simple-cqueue - (sbcl-package->cl-source-package sbcl-queues.simple-cqueue)) - -(define-public ecl-queues.simple-cqueue - (sbcl-package->ecl-package sbcl-queues.simple-cqueue)) - -(define-public sbcl-queues.priority-queue - (package - (inherit sbcl-queues) - (name "sbcl-queues.priority-queue") - (inputs - `(("sbcl-queues" ,sbcl-queues))) - (arguments - `(#:asd-file "queues.priority-queue.asd")) - (synopsis "Priority queue (Fibonacci) implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.priority-queue - (sbcl-package->cl-source-package sbcl-queues.priority-queue)) - -(define-public ecl-queues.priority-queue - (sbcl-package->ecl-package sbcl-queues.priority-queue)) - -(define-public sbcl-queues.priority-cqueue - (package - (inherit sbcl-queues) - (name "sbcl-queues.priority-cqueue") - (inputs - `(("sbcl-queues" ,sbcl-queues) - ("sbcl-queues.priority-queue" ,sbcl-queues.priority-queue) - ("bordeaux-threads" ,sbcl-bordeaux-threads))) - (arguments - `(#:asd-file "queues.priority-cqueue.asd")) - (synopsis "Thread safe fibonacci priority queue implementation") - (description - "This is a simple queue library for Common Lisp with features such as -non-consing thread safe queues and fibonacci priority queues.") - (license license:expat))) - -(define-public cl-queues.priority-cqueue - (sbcl-package->cl-source-package sbcl-queues.priority-cqueue)) - -(define-public ecl-queues.priority-cqueue - (sbcl-package->ecl-package sbcl-queues.priority-cqueue)) - -(define sbcl-cffi-bootstrap +(define-public sbcl-cffi (package - (name "sbcl-cffi-bootstrap") + (name "sbcl-cffi") (version "0.21.0") (source (origin @@ -2531,12 +2181,14 @@ non-consing thread safe queues and fibonacci priority queues.") (base32 "1qalargz9bhp850qv60ffwpdqi4xirzar4l3g6qcg8yc6xqf2cjk")))) (build-system asdf-build-system/sbcl) (inputs - `(("libffi" ,libffi) - ("alexandria" ,sbcl-alexandria) + `(("alexandria" ,sbcl-alexandria) ("babel" ,sbcl-babel) + ("libffi" ,libffi) ("trivial-features" ,sbcl-trivial-features))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("pkg-config" ,pkg-config) + ("rt" ,sbcl-rt))) (arguments '(#:phases (modify-phases %standard-phases @@ -2547,9 +2199,21 @@ non-consing thread safe queues and fibonacci priority queues.") (assoc-ref inputs "libffi") "/lib/" all))) (substitute* "toolchain/c-toolchain.lisp" - (("\"cc\"") (format #f "~S" (which "gcc"))))))) - #:asd-system-name "cffi" - #:tests? #f)) + (("\"cc\"") (format #f "~S" (which "gcc")))))) + (add-after 'build 'install-headers + (lambda* (#:key outputs #:allow-other-keys) + (install-file "grovel/common.h" + (string-append + (assoc-ref outputs "out") + "/include/grovel"))))) + #:asd-files '("cffi.asd" + "cffi-toolchain.asd" + "cffi-grovel.asd" + "cffi-libffi.asd" + "cffi-uffi-compat.asd") + #:asd-systems '("cffi" + "cffi-libffi" + "cffi-uffi-compat"))) (home-page "https://common-lisp.net/project/cffi/") (synopsis "Common Foreign Function Interface for Common Lisp") (description "The Common Foreign Function Interface (CFFI) @@ -2559,75 +2223,11 @@ in the CFFI-SYS package, and a portable frontend in the CFFI package.") (license license:expat))) -(define-public sbcl-cffi-toolchain - (package - (inherit sbcl-cffi-bootstrap) - (name "sbcl-cffi-toolchain") - (inputs - `(("libffi" ,libffi) - ("sbcl-cffi" ,sbcl-cffi-bootstrap))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cffi-bootstrap) - ((#:asd-system-name _) #f) - ((#:tests? _) #t))))) - -(define-public sbcl-cffi-libffi - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi-libffi") - (inputs - `(("cffi" ,sbcl-cffi-bootstrap) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("trivial-features" ,sbcl-trivial-features) - ("libffi" ,libffi))))) - -(define-public sbcl-cffi-grovel - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi-grovel") - (inputs - `(("libffi" ,libffi) - ("cffi" ,sbcl-cffi-bootstrap) - ("cffi-toolchain" ,sbcl-cffi-toolchain) - ("alexandria" ,sbcl-alexandria))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cffi-toolchain) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'build 'install-headers - (lambda* (#:key outputs #:allow-other-keys) - (install-file "grovel/common.h" - (string-append - (assoc-ref outputs "out") - "/include/grovel")))))))))) - -(define-public sbcl-cffi - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi") - (inputs (package-inputs sbcl-cffi-bootstrap)) - (native-inputs - `(("cffi-grovel" ,sbcl-cffi-grovel) - ("cffi-libffi" ,sbcl-cffi-libffi) - ("rt" ,sbcl-rt) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ,@(package-native-inputs sbcl-cffi-bootstrap))))) - (define-public cl-cffi (sbcl-package->cl-source-package sbcl-cffi)) -(define-public sbcl-cffi-uffi-compat - (package - (inherit sbcl-cffi-toolchain) - (name "sbcl-cffi-uffi-compat") - (native-inputs - `(,@(package-inputs sbcl-cffi-bootstrap))) ; For fix-paths phase - (inputs - `(("cffi" ,sbcl-cffi))) - (synopsis "UFFI Compatibility Layer for CFFI"))) - -(define-public cl-cffi-uffi-compat - (sbcl-package->cl-source-package sbcl-cffi-uffi-compat)) +(define-public ecl-cffi + (sbcl-package->ecl-package sbcl-cffi)) (define-public sbcl-cl-sqlite (package @@ -2652,8 +2252,7 @@ package.") `(("fiveam" ,sbcl-fiveam) ("bordeaux-threads" ,sbcl-bordeaux-threads))) (arguments - `(#:asd-file "sqlite.asd" - #:asd-system-name "sqlite" + `(#:asd-systems '("sqlite") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -2671,6 +2270,9 @@ relational database engine.") (define-public cl-sqlite (sbcl-package->cl-source-package sbcl-cl-sqlite)) +(define-public ecl-cl-sqlite + (sbcl-package->ecl-package sbcl-cl-sqlite)) + (define-public sbcl-parenscript ;; Source archives are overwritten on every release, we use the Git repo instead. (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766")) @@ -2856,11 +2458,11 @@ Lisp implementations.") (define-public ecl-closer-mop (sbcl-package->ecl-package sbcl-closer-mop)) -(define sbcl-cl-cffi-gtk-boot0 - (let ((commit "412d17214e092220c65a5660f5cbbd9cb69b8fe4")) +(define-public sbcl-cl-cffi-gtk + (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966")) (package - (name "sbcl-cl-cffi-gtk-boot0") - (version (git-version "0.11.2" "1" commit)) + (name "sbcl-cl-cffi-gtk") + (version (git-version "0.11.2" "2" commit)) (source (origin (method git-fetch) @@ -2870,19 +2472,36 @@ Lisp implementations.") (file-name (git-file-name "cl-cffi-gtk" version)) (sha256 (base32 - "0n997yhcnzk048nalx8ys62ja2ac8iv4mbn3mb55iapl0321hghn")))) + "04vix0gmqsj91lm975sx7jhlnz5gq1xf9jp873mp7c8frc5dk1jj")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) (inputs - `(("iterate" ,sbcl-iterate) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cairo" ,cairo) ("cffi" ,sbcl-cffi) - ("trivial-features" ,sbcl-trivial-features) + ("closer-mop" ,sbcl-closer-mop) + ("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) - ("cairo" ,cairo) + ("gtk" ,gtk+) + ("iterate" ,sbcl-iterate) ("pango" ,pango) - ("gdk-pixbuf" ,gdk-pixbuf) - ("gtk" ,gtk+))) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage))) (arguments - `(#:phases + `(#:asd-files '("gtk/cl-cffi-gtk.asd" + "glib/cl-cffi-gtk-glib.asd" + "gobject/cl-cffi-gtk-gobject.asd" + "gio/cl-cffi-gtk-gio.asd" + "cairo/cl-cffi-gtk-cairo.asd" + "pango/cl-cffi-gtk-pango.asd" + "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" + "gdk/cl-cffi-gtk-gdk.asd") + #:test-asd-file "test/cl-cffi-gtk-test.asd" + ;; TODO: Tests fail with memory fault. + ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. + #:tests? #f + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) @@ -2917,228 +2536,17 @@ Lisp implementations.") is a library for creating graphical user interfaces.") (license license:lgpl3)))) -(define-public sbcl-cl-cffi-gtk-glib - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-glib") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd"))))) - -(define-public sbcl-cl-cffi-gtk-gobject - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gobject") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("trivial-garbage" ,sbcl-trivial-garbage) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("closer-mop" ,sbcl-closer-mop) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gobject"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-gio - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gio") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gio"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-cairo - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-cairo") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-cairo"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-pango - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-pango") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-pango"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-gdk-pixbuf - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gdk-pixbuf") - (inputs - `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk-pixbuf"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk-gdk - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk-gdk") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) - ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf) - ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo) - ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd") - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - -(define-public sbcl-cl-cffi-gtk - (package - (inherit sbcl-cl-cffi-gtk-boot0) - (name "sbcl-cl-cffi-gtk") - (inputs - `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) - ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) - ("cl-cffi-gtk-gdk" ,sbcl-cl-cffi-gtk-gdk) - ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) - ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd") - ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd") - ;; TODO: Tests fail with memory fault. - ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. - ((#:tests? _ #f) #f) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t))))))))) - (define-public cl-cffi-gtk (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) +(define-public ecl-cl-cffi-gtk + (sbcl-package->ecl-package sbcl-cl-cffi-gtk)) + (define-public sbcl-cl-webkit - (let ((commit "dccf9d25de4e9a69f716f8ed9578e58963ead967")) + (let ((commit "04bb5703b68f4db9de71529b81896cc428ef54e1")) (package (name "sbcl-cl-webkit") - (version (git-version "2.4" "5" commit)) + (version (git-version "2.4" "8" commit)) (source (origin (method git-fetch) @@ -3148,15 +2556,14 @@ is a library for creating graphical user interfaces.") (file-name (git-file-name "cl-webkit" version)) (sha256 (base32 - "0cn43ks2mgqkfnalq1p997z6q5pr1sfvz99gvvr5fp7r1acn7v5w")))) + "12dzqgkvgwi97r8dbflslj7nsx7p6iavx82fs48nj9wf7ln1c87s")))) (build-system asdf-build-system/sbcl) (inputs `(("cffi" ,sbcl-cffi) ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) ("webkitgtk" ,webkitgtk))) (arguments - `(#:asd-file "webkit2/cl-webkit2.asd" - #:asd-system-name "cl-webkit2" + `(#:asd-systems '("cl-webkit2") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -3177,6 +2584,9 @@ WebKit browsing engine.") (define-public cl-webkit (sbcl-package->cl-source-package sbcl-cl-webkit)) +(define-public ecl-cl-webkit + (sbcl-package->ecl-package sbcl-cl-webkit)) + (define-public sbcl-lparallel (package (name "sbcl-lparallel") @@ -3300,10 +2710,10 @@ portability, and boilerplate reduction in CSS.") (sbcl-package->ecl-package sbcl-cl-css)) (define-public sbcl-portable-threads - (let ((commit "c0e61a1faeb0583c80fd3f20b16cc4c555226920")) + (let ((commit "aa26bf38338a6b068bf8bfb3375d8d8c3b0a28df")) (package (name "sbcl-portable-threads") - (version (git-version "2.3" "1" commit)) + (version (git-version "2.3" "2" commit)) (source (origin (method git-fetch) @@ -3312,14 +2722,13 @@ portability, and boilerplate reduction in CSS.") (commit commit))) (file-name (git-file-name "portable-threads" version)) (sha256 - (base32 - "03fmxyarc0xf4kavwkfa0a2spkyfrz6hbgbi9y4q7ny5aykdyfaq")))) + (base32 "058ksi07vfdmhrf5mdlc833s82m1rcqfja2266520m3r8bzs8bvs")))) (build-system asdf-build-system/sbcl) (arguments `(;; Tests seem broken. #:tests? #f)) (home-page "https://github.com/binghe/portable-threads") - (synopsis "Portable threads (and scheduled and periodic functions) API for Common Lisp") + (synopsis "Portable threads API for Common Lisp") (description "Portable Threads (and Scheduled and Periodic Functions) API for Common Lisp (from GBBopen project).") @@ -3328,14 +2737,12 @@ Lisp (from GBBopen project).") (define-public cl-portable-threads (sbcl-package->cl-source-package sbcl-portable-threads)) -(define-public ecl-portable-threada +(define-public ecl-portable-threads (sbcl-package->ecl-package sbcl-portable-threads)) -(define sbcl-usocket-boot0 - ;; usocket's test rely on usocket-server which depends on usocket itself. - ;; We break this cyclic dependency with -boot0 that packages usocket. +(define-public sbcl-usocket (package - (name "sbcl-usocket-boot0") + (name "sbcl-usocket") (version "0.8.3") (source (origin @@ -3348,48 +2755,23 @@ Lisp (from GBBopen project).") (base32 "0x746wr2324l6bn7skqzgkzcbj5kd0zp2ck0c8rldrw0rzabg826")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("rt" ,sbcl-rt))) (inputs - `(("split-sequence" ,sbcl-split-sequence))) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("split-sequence" ,sbcl-split-sequence))) (arguments - `(#:tests? #f - #:asd-system-name "usocket")) + `(#:tests? #f ; FIXME: Tests need network access? + #:asd-systems '("usocket" + "usocket-server"))) (home-page "https://common-lisp.net/project/usocket/") - (synopsis "Universal socket library for Common Lisp (server side)") + (synopsis "Universal socket library for Common Lisp") (description "This library strives to provide a portable TCP/IP and UDP/IP socket interface for as many Common Lisp implementations as possible, while keeping the abstraction and portability layer as thin as possible.") (license license:expat))) -(define-public sbcl-usocket-server - (package - (inherit sbcl-usocket-boot0) - (name "sbcl-usocket-server") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("usocket" ,sbcl-usocket-boot0))) - (arguments - '(#:asd-system-name "usocket-server")) - (synopsis "Universal socket library for Common Lisp (server side)"))) - -(define-public cl-usocket-server - (sbcl-package->cl-source-package sbcl-usocket-server)) - -(define-public ecl-socket-server - (sbcl-package->ecl-package sbcl-usocket-server)) - -(define-public sbcl-usocket - (package - (inherit sbcl-usocket-boot0) - (name "sbcl-usocket") - (arguments - ;; FIXME: Tests need network access? - `(#:tests? #f)) - (native-inputs - ;; Testing only. - `(("usocket-server" ,sbcl-usocket-server) - ("rt" ,sbcl-rt))))) - (define-public cl-usocket (sbcl-package->cl-source-package sbcl-usocket)) @@ -3472,10 +2854,10 @@ client and server.") (sbcl-package->ecl-package sbcl-s-xml-rpc)) (define-public sbcl-trivial-clipboard - (let ((commit "5af3415d1484e6d69a1b5c178f24680d9fd01796")) + (let ((commit "afcd3743b842f5a81fc86dba60f9db59970f49c5")) (package (name "sbcl-trivial-clipboard") - (version (git-version "0.0.0.0" "2" commit)) + (version (git-version "0.0.0.0" "3" commit)) (source (origin (method git-fetch) @@ -3485,7 +2867,7 @@ client and server.") (file-name (git-file-name "trivial-clipboard" version)) (sha256 (base32 - "1gb515z5yq6h5548pb1fwhmb0hhq1ssyb78pvxh4alq799xipxs9")))) + "1qfbvkzmvkbqpc5s3sx31c5653sy6qlcixafgzd10qpykb843prr")))) (build-system asdf-build-system/sbcl) (inputs `(("xclip" ,xclip))) @@ -3538,7 +2920,7 @@ client and server.") (lambda* (#:key outputs #:allow-other-keys) (let ((test-results (string-append (assoc-ref outputs "out") "/share/common-lisp/" - (%lisp-type) "-source" + (%lisp-type) "/trivial-backtrace" "/test-results"))) (when (file-exists? test-results) @@ -3558,6 +2940,9 @@ backtrace portably.") (define-public cl-trivial-backtrace (sbcl-package->cl-source-package sbcl-trivial-backtrace)) +(define-public ecl-trivial-backtrace + (sbcl-package->ecl-package sbcl-trivial-backtrace)) + (define-public sbcl-rfc2388 (let ((commit "591bcf7e77f2c222c43953a80f8c297751dc0c4e") (revision "1")) @@ -3585,6 +2970,9 @@ process form data posted with HTTP POST method using enctype (define-public cl-rfc2388 (sbcl-package->cl-source-package sbcl-rfc2388)) +(define-public ecl-rfc2388 + (sbcl-package->ecl-package sbcl-rfc2388)) + (define-public sbcl-md5 (package (name "sbcl-md5") @@ -3661,9 +3049,12 @@ Development into CL+SSL was done by David Lichteblau.") (define-public cl-cl+ssl (sbcl-package->cl-source-package sbcl-cl+ssl)) +(define-public ecl-cl+ssl + (sbcl-package->ecl-package sbcl-cl+ssl)) + (define-public sbcl-kmrcl - (let ((version "1.109.0") - (commit "5260068b2eb735af6796740c2db4955afac21636") + (let ((version "1.111") + (commit "4a27407aad9deb607ffb8847630cde3d041ea25a") (revision "1")) (package (name "sbcl-kmrcl") @@ -3676,57 +3067,58 @@ Development into CL+SSL was done by David Lichteblau.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1va7xjgzfv674bpsli674i7zj3f7wg5kxic41kz18r6hh4n52dfv")))) + (base32 "06gx04mah5nc8w78s0j8628divbf1s5w7af8w7pvzb2d5mgvrbd2")))) (build-system asdf-build-system/sbcl) - (arguments - ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed in a - ;; nested call to ASDF/OPERATE:OPERATE unless identically to toplevel - '(#:tests? #f)) (inputs `(("sbcl-rt" ,sbcl-rt))) (home-page "http://files.kpe.io/kmrcl/") (synopsis "General utilities for Common Lisp programs") (description "KMRCL is a collection of utilities used by a number of Kevin -Rosenberg's CL packages.") +Rosenberg's Common Lisp packages.") (license license:llgpl)))) (define-public cl-kmrcl (sbcl-package->cl-source-package sbcl-kmrcl)) +(define-public ecl-kmrcl + (sbcl-package->ecl-package sbcl-kmrcl)) + (define-public sbcl-cl-base64 - (package - (name "sbcl-cl-base64") - (version "3.3.4") - (source - (origin - (method url-fetch) - (uri (string-append "http://files.kpe.io/cl-base64/cl-base64-" - version ".tar.gz")) - (sha256 - (base32 "0pl4zwn5bf18dm8fh1kn1yshaa6kpmfrjyb33z9mq4raqmj3xpv2")))) - (build-system asdf-build-system/sbcl) - (arguments - ;; Tests fail with: :FORCE and :FORCE-NOT arguments not allowed - ;; in a nested call to ASDF/OPERATE:OPERATE unless identically - ;; to toplevel - '(#:tests? #f)) - (inputs - `(("sbcl-ptester" ,sbcl-ptester) - ("sbcl-kmrcl" ,sbcl-kmrcl))) - (home-page "http://files.kpe.io/cl-base64/") - (synopsis - "Common Lisp package to encode and decode base64 with URI support") - (description - "This package provides highly optimized base64 encoding and decoding. + ;; 3.3.4 tests are broken, upstream fixes them. + (let ((commit "577683b18fd880b82274d99fc96a18a710e3987a")) + (package + (name "sbcl-cl-base64") + (version (git-version "3.3.4" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.kpe.io/cl-base64.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12jj54h0fs6n237cvnp8v6hn0imfksammq22ys6pi0gwz2w47rbj")))) + (build-system asdf-build-system/sbcl) + (native-inputs ; For tests. + `(("sbcl-ptester" ,sbcl-ptester) + ("sbcl-kmrcl" ,sbcl-kmrcl))) + (home-page "http://files.kpe.io/cl-base64/") + (synopsis + "Common Lisp package to encode and decode base64 with URI support") + (description + "This package provides highly optimized base64 encoding and decoding. Besides conversion to and from strings, integer conversions are supported. Encoding with Uniform Resource Identifiers is supported by using a modified encoding table that uses only URI-compatible characters.") - (license license:bsd-3))) + (license license:bsd-3)))) (define-public cl-base64 (sbcl-package->cl-source-package sbcl-cl-base64)) +(define-public ecl-cl-base64 + (sbcl-package->ecl-package sbcl-cl-base64)) + (define-public sbcl-chunga (package (name "sbcl-chunga") @@ -3753,6 +3145,9 @@ defined in RFC 2616.") (define-public cl-chunga (sbcl-package->cl-source-package sbcl-chunga)) +(define-public ecl-chunga + (sbcl-package->ecl-package sbcl-chunga)) + (define-public sbcl-cl-who (let ((version "1.1.4") (commit "2c08caa4bafba720409af9171feeba3f32e86d32") @@ -3782,9 +3177,12 @@ WHO means \"with-html-output\" for want of a better acronym) is probably just as good or bad as the next one.") (license license:bsd-2)))) -(define-public cl-cl-who +(define-public cl-who (sbcl-package->cl-source-package sbcl-cl-who)) +(define-public ecl-cl-who + (sbcl-package->ecl-package sbcl-cl-who)) + (define-public sbcl-chipz (let ((version "0.8") (commit "75dfbc660a5a28161c57f115adf74c8a926bfc4d") @@ -3820,6 +3218,9 @@ the format used by the popular compression tool bzip2.") (define-public cl-chipz (sbcl-package->cl-source-package sbcl-chipz)) +(define-public ecl-chipz + (sbcl-package->ecl-package sbcl-chipz)) + (define-public sbcl-drakma (package (name "sbcl-drakma") @@ -3900,6 +3301,13 @@ connections (keep-alive), and SSL.") (define-public cl-hunchentoot (sbcl-package->cl-source-package sbcl-hunchentoot)) +(define-public ecl-hunchentoot + (package + (inherit (sbcl-package->ecl-package sbcl-hunchentoot)) + (arguments + ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'. + '(#:tests? #f)))) + (define-public sbcl-trivial-types (package (name "sbcl-trivial-types") @@ -3924,33 +3332,8 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (define-public cl-trivial-types (sbcl-package->cl-source-package sbcl-trivial-types)) -(define-public sbcl-cl-syntax - (package - (name "sbcl-cl-syntax") - (version "0.0.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/m2ym/cl-syntax") - (commit "03f0c329bbd55b8622c37161e6278366525e2ccc"))) - (file-name (git-file-name "cl-syntax" version)) - (sha256 - (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "cl-syntax.asd" - #:asd-system-name "cl-syntax")) - (inputs `(("sbcl-trivial-types" ,sbcl-trivial-types) - ("sbcl-named-readtables" ,sbcl-named-readtables))) - (home-page "https://github.com/m2ym/cl-syntax") - (synopsis "Reader Syntax Coventions for Common Lisp and SLIME") - (description - "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.") - (license license:llgpl))) - -(define-public cl-syntax - (sbcl-package->cl-source-package sbcl-cl-syntax)) +(define-public ecl-trivial-types + (sbcl-package->ecl-package sbcl-trivial-types)) (define-public sbcl-cl-annot (let ((commit "c99e69c15d935eabc671b483349a406e0da9518d") @@ -3968,9 +3351,6 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (sha256 (base32 "1wq1gs9jjd5m6iwrv06c2d7i5dvqsfjcljgbspfbc93cg5xahk4n")))) (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "cl-annot.asd" - #:asd-system-name "cl-annot")) (inputs `(("sbcl-alexandria" ,sbcl-alexandria))) (home-page "https://github.com/m2ym/cl-annot") @@ -3982,41 +3362,43 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (define-public cl-annot (sbcl-package->cl-source-package sbcl-cl-annot)) -(define-public sbcl-cl-syntax-annot - (package - (inherit sbcl-cl-syntax) - (name "sbcl-cl-syntax-annot") - (arguments - '(#:asd-file "cl-syntax-annot.asd" - #:asd-system-name "cl-syntax-annot")) - (inputs - `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-annot" ,sbcl-cl-annot))) - (synopsis "Common Lisp reader Syntax for cl-annot") - (description - "CL-SYNTAX provides reader syntax coventions for Common Lisp and -@code{cl-annot}."))) +(define-public ecl-cl-annot + (sbcl-package->ecl-package sbcl-cl-annot)) -(define-public cl-syntax-annot - (sbcl-package->cl-source-package sbcl-cl-syntax-annot)) - -(define-public sbcl-cl-syntax-interpol +(define-public sbcl-cl-syntax (package - (inherit sbcl-cl-syntax) - (name "sbcl-cl-syntax-interpol") - (arguments - '(#:asd-file "cl-syntax-interpol.asd" - #:asd-system-name "cl-syntax-interpol")) + (name "sbcl-cl-syntax") + (version "0.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/m2ym/cl-syntax") + (commit "03f0c329bbd55b8622c37161e6278366525e2ccc"))) + (file-name (git-file-name "cl-syntax" version)) + (sha256 + (base32 "17ran8xp77asagl31xv8w819wafh6whwfc9p6dgx22ca537gyl4y")))) + (build-system asdf-build-system/sbcl) (inputs - `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-interpol" ,sbcl-cl-interpol))) - (synopsis "Common Lisp reader Syntax for cl-interpol") + `(("cl-annot" ,sbcl-cl-annot) + ("cl-interpol" ,sbcl-cl-interpol) + ("named-readtables" ,sbcl-named-readtables) + ("trivial-types" ,sbcl-trivial-types))) + (arguments + '(#:asd-systems '("cl-syntax" + "cl-syntax-annot" + "cl-syntax-interpol"))) + (home-page "https://github.com/m2ym/cl-syntax") + (synopsis "Reader Syntax Coventions for Common Lisp and SLIME") (description - "CL-SYNTAX provides reader syntax coventions for Common Lisp and -@code{cl-interpol}."))) + "CL-SYNTAX provides Reader Syntax Coventions for Common Lisp and SLIME.") + (license license:llgpl))) + +(define-public cl-syntax + (sbcl-package->cl-source-package sbcl-cl-syntax)) -(define-public cl-syntax-interpol - (sbcl-package->cl-source-package sbcl-cl-syntax-interpol)) +(define-public ecl-cl-syntax + (sbcl-package->ecl-package sbcl-cl-syntax)) (define-public sbcl-cl-utilities (let ((commit "dce2d2f6387091ea90357a130fa6d13a6776884b") @@ -4035,9 +3417,7 @@ PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and TUPLE.") (base32 "1r46v730yf96nk2vb24qmagv9x96xvd08abqwhf02ghgydv1a7z2")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-file "cl-utilities.asd" - #:asd-system-name "cl-utilities" - #:phases + '(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) @@ -4060,6 +3440,9 @@ everywhere some dumb user might make a mistake.") (define-public cl-utilities (sbcl-package->cl-source-package sbcl-cl-utilities)) +(define-public ecl-cl-utilities + (sbcl-package->ecl-package sbcl-cl-utilities)) + (define-public sbcl-map-set (let ((commit "7b4b545b68b8") (revision "1")) @@ -4085,6 +3468,9 @@ addition, removal, and random selection.") (define-public cl-map-set (sbcl-package->cl-source-package sbcl-map-set)) +(define-public ecl-map-set + (sbcl-package->ecl-package sbcl-map-set)) + (define-public sbcl-quri (let ((commit "b53231c5f19446dd7c24b15a249fefa45ae94f9a") (revision "2")) @@ -4105,8 +3491,7 @@ addition, removal, and random selection.") ;; Tests fail with: Component QURI-ASD::QURI-TEST not found, ;; required by #<SYSTEM "quri">. Why? '(#:tests? #f)) - (native-inputs `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + (native-inputs `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-babel" ,sbcl-babel) ("sbcl-split-sequence" ,sbcl-split-sequence) ("sbcl-cl-utilities" ,sbcl-cl-utilities) @@ -4121,6 +3506,9 @@ Lisp. It is intended to be a replacement of PURI.") (define-public cl-quri (sbcl-package->cl-source-package sbcl-quri)) +(define-public ecl-quri + (sbcl-package->ecl-package sbcl-quri)) + (define-public sbcl-myway (let ((commit "286230082a11f879c18b93f17ca571c5f676bfb7") (revision "1")) @@ -4142,8 +3530,7 @@ Lisp. It is intended to be a replacement of PURI.") ;; by #<SYSTEM "myway">. Why? '(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) ("sbcl-quri" ,sbcl-quri) @@ -4156,6 +3543,9 @@ Lisp. It is intended to be a replacement of PURI.") (define-public cl-myway (sbcl-package->cl-source-package sbcl-myway)) +(define-public ecl-myway + (sbcl-package->ecl-package sbcl-myway)) + (define-public sbcl-xsubseq (let ((commit "5ce430b3da5cda3a73b9cf5cee4df2843034422b") (revision "1")) @@ -4177,8 +3567,7 @@ Lisp. It is intended to be a replacement of PURI.") ;; required by #<SYSTEM "xsubseq">. Why? '(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (home-page "https://github.com/fukamachi/xsubseq") (synopsis "Efficient way to use \"subseq\"s in Common Lisp") (description @@ -4189,6 +3578,9 @@ effieiently.") (define-public cl-xsubseq (sbcl-package->cl-source-package sbcl-xsubseq)) +(define-public ecl-xsubseq + (sbcl-package->ecl-package sbcl-xsubseq)) + (define-public sbcl-smart-buffer (let ((commit "09b9a9a0b3abaa37abe9a730f5aac2643dca4e62") (revision "1")) @@ -4210,8 +3602,7 @@ effieiently.") ;; found, required by #<SYSTEM "smart-buffer">. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-xsubseq" ,sbcl-xsubseq) ("sbcl-flexi-streams" ,sbcl-flexi-streams))) @@ -4225,6 +3616,9 @@ depending on content size.") (define-public cl-smart-buffer (sbcl-package->cl-source-package sbcl-smart-buffer)) +(define-public ecl-smart-buffer + (sbcl-package->ecl-package sbcl-smart-buffer)) + (define-public sbcl-fast-http (let ((commit "502a37715dcb8544cc8528b78143a942de662c5a") (revision "2")) @@ -4246,9 +3640,8 @@ depending on content size.") ;; required by #<SYSTEM "fast-http">. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove) - ("cl-syntax-interpol" ,sbcl-cl-syntax-interpol))) + `(("sbcl-prove" ,sbcl-prove) + ("cl-syntax" ,sbcl-cl-syntax))) (inputs `(("sbcl-alexandria" ,sbcl-alexandria) ("sbcl-proc-parse" ,sbcl-proc-parse) @@ -4266,6 +3659,9 @@ Lisp.") (define-public cl-fast-http (sbcl-package->cl-source-package sbcl-fast-http)) +(define-public ecl-fast-http + (sbcl-package->ecl-package sbcl-fast-http)) + (define-public sbcl-static-vectors (package (name "sbcl-static-vectors") @@ -4282,8 +3678,7 @@ Lisp.") (native-inputs `(("sbcl-fiveam" ,sbcl-fiveam))) (inputs - `(("sbcl-cffi-grovel" ,sbcl-cffi-grovel) - ("sbcl-cffi" ,sbcl-cffi))) + `(("sbcl-cffi" ,sbcl-cffi))) (build-system asdf-build-system/sbcl) (home-page "https://github.com/sionescu/static-vectors") (synopsis "Allocate SIMPLE-ARRAYs in static memory") @@ -4325,6 +3720,9 @@ Only minimal changes required to make your CLOS objects serializable.") (define-public cl-marshal (sbcl-package->cl-source-package sbcl-marshal)) +(define-public ecl-marshal + (sbcl-package->ecl-package sbcl-marshal)) + (define-public sbcl-checkl (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9") (revision "1")) @@ -4345,7 +3743,8 @@ Only minimal changes required to make your CLOS objects serializable.") ;; Error while trying to load definition for system checkl-test from ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP ;; is undefined. - '(#:tests? #f)) + '(#:asd-files '("checkl.asd") + #:tests? #f)) (native-inputs `(("sbcl-fiveam" ,sbcl-fiveam))) (inputs @@ -4363,6 +3762,9 @@ against the last run.") (define-public cl-checkl (sbcl-package->cl-source-package sbcl-checkl)) +(define-public ecl-checkl + (sbcl-package->ecl-package sbcl-checkl)) + (define-public sbcl-fast-io (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b") (revision "2")) @@ -4383,7 +3785,8 @@ against the last run.") ;; Error while trying to load definition for system fast-io-test from ;; pathname [...]/fast-io-test.asd: The function CHECKL:DEFINE-TEST-OP ;; is undefined. - '(#:tests? #f)) + '(#:tests? #f + #:asd-files '("fast-io.asd"))) (native-inputs `(("sbcl-fiveam" ,sbcl-fiveam) ("sbcl-checkl" ,sbcl-checkl))) @@ -4402,6 +3805,9 @@ streams (though primarily the former, while wrapping the latter).") (define-public cl-fast-io (sbcl-package->cl-source-package sbcl-fast-io)) +(define-public ecl-fast-io + (sbcl-package->ecl-package sbcl-fast-io)) + (define-public sbcl-jonathan (let ((commit "1f448b4f7ac8265e56e1c02b32ce383e65316300") (revision "1")) @@ -4423,11 +3829,9 @@ streams (though primarily the former, while wrapping the latter).") ;; required by #<SYSTEM "jonathan">. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot) ("sbcl-fast-io" ,sbcl-fast-io) ("sbcl-proc-parse" ,sbcl-proc-parse) ("sbcl-cl-ppcre" ,sbcl-cl-ppcre))) @@ -4442,6 +3846,9 @@ CCL.") (define-public cl-jonathan (sbcl-package->cl-source-package sbcl-jonathan)) +(define-public ecl-jonathan + (sbcl-package->ecl-package sbcl-jonathan)) + (define-public sbcl-http-body (let ((commit "dd01dc4f5842e3d29728552e5163acce8386eb73") (revision "1")) @@ -4463,8 +3870,7 @@ CCL.") ;; found, required by #<SYSTEM "http-body">. Why? `(#:tests? #f)) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-fast-http" ,sbcl-fast-http) ("sbcl-jonathan" ,sbcl-jonathan) @@ -4480,6 +3886,9 @@ multipart/form-data.") (define-public cl-http-body (sbcl-package->cl-source-package sbcl-http-body)) +(define-public ecl-http-body + (sbcl-package->ecl-package sbcl-http-body)) + (define-public sbcl-circular-streams (let ((commit "e770bade1919c5e8533dd2078c93c3d3bbeb38df") (revision "1")) @@ -4514,46 +3923,59 @@ reset to 0 and you're able to read it again.") (define-public cl-circular-streams (sbcl-package->cl-source-package sbcl-circular-streams)) -(define-public sbcl-lack-request +(define-public ecl-circular-streams + (sbcl-package->ecl-package sbcl-circular-streams)) + +(define-public sbcl-lack (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") (revision "1")) (package - (name "sbcl-lack-request") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-request" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-request.asd" - #:asd-system-name "lack-request" - #:test-asd-file "t-lack-request.asd" - ;; XXX: Component :CLACK-TEST not found - #:tests? #f)) - (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) - (inputs - `(("sbcl-quri" ,sbcl-quri) - ("sbcl-http-body" ,sbcl-http-body) - ("sbcl-circular-streams" ,sbcl-circular-streams))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be + (name "sbcl-lack") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/lack") + (commit commit))) + (file-name (git-file-name "lack" version)) + (sha256 + (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("prove" ,sbcl-prove))) + (inputs + `(("circular-streams" ,sbcl-circular-streams) + ("http-body" ,sbcl-http-body) + ("ironclad" ,sbcl-ironclad) + ("local-time" ,sbcl-local-time) + ("quri" ,sbcl-quri) + ("trivial-mimes" ,sbcl-trivial-mimes))) + (arguments + '(#:asd-systems '("lack" + "lack-request" + "lack-response" + "lack-component" + "lack-util" + "lack-middleware-backtrace" + "lack-middleware-static") + #:test-asd-file "t-lack.asd" + ;; XXX: Component :CLACK not found + #:tests? #f)) + (home-page "https://github.com/fukamachi/lack") + (synopsis "Lack, the core of Clack") + (description + "Lack is a Common Lisp library which allows web applications to be constructed of modular components. It was originally a part of Clack, however it's going to be rewritten as an individual project since Clack v2 with performance and simplicity in mind.") - (license license:llgpl)))) + (license license:llgpl)))) -(define-public cl-lack-request - (sbcl-package->cl-source-package sbcl-lack-request)) +(define-public cl-lack + (sbcl-package->cl-source-package sbcl-lack)) + +(define-public ecl-lack + (sbcl-package->ecl-package sbcl-lack)) (define-public sbcl-local-time (let ((commit "62792705245168d3fc2e04164b9a143477284142") @@ -4590,156 +4012,8 @@ Long Painful History of Time\".") (define-public cl-local-time (sbcl-package->cl-source-package sbcl-local-time)) -(define-public sbcl-lack-response - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-response") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-response.asd" - #:asd-system-name "lack-response" - ;; XXX: no tests for lack-response. - #:tests? #f)) - (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) - (inputs - `(("sbcl-quri" ,sbcl-quri) - ("sbcl-http-body" ,sbcl-http-body) - ("sbcl-circular-streams" ,sbcl-circular-streams) - ("sbcl-local-time" ,sbcl-local-time))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-response - (sbcl-package->cl-source-package sbcl-lack-response)) - -(define-public sbcl-lack-component - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-component") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-component" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-component.asd" - #:asd-system-name "lack-component" - #:test-asd-file "t-lack-component.asd" - ;; XXX: Component :LACK-TEST not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-component - (sbcl-package->cl-source-package sbcl-lack-component)) - -(define-public sbcl-lack-util - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-util") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-util" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-util.asd" - #:asd-system-name "lack-util" - #:test-asd-file "t-lack-util.asd" - ;; XXX: Component :LACK-TEST not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (inputs - `(("sbcl-ironclad" ,sbcl-ironclad))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-util - (sbcl-package->cl-source-package sbcl-lack-util)) - -(define-public sbcl-lack-middleware-backtrace - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-middleware-backtrace") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-middleware-backtrace" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-middleware-backtrace.asd" - #:asd-system-name "lack-middleware-backtrace" - #:test-asd-file "t-lack-middleware-backtrace.asd" - ;; XXX: Component :LACK not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-middleware-backtrace - (sbcl-package->cl-source-package sbcl-lack-middleware-backtrace)) +(define-public ecl-local-time + (sbcl-package->ecl-package sbcl-local-time)) (define-public sbcl-trivial-mimes (let ((commit "303f8ac0aa6ca0bc139aa3c34822e623c3723fab") @@ -4757,20 +4031,6 @@ performance and simplicity in mind.") (sha256 (base32 "17jxgl47r695bvsb7wi3n2ws5rp1zzgvw0zii8cy5ggw4b4ayv6m")))) (build-system asdf-build-system/sbcl) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after - 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (let ((anchor "#p\"/etc/mime.types\"")) - (substitute* "mime-types.lisp" - ((anchor all) - (string-append - anchor "\n" - "(asdf:system-relative-pathname :trivial-mimes " - "\"../../share/common-lisp/" (%lisp-type) - "-source/trivial-mimes/mime.types\")"))))))))) (native-inputs `(("stefil" ,sbcl-hu.dwim.stefil))) (inputs @@ -4788,83 +4048,6 @@ mime-type of a file.") (define-public ecl-trivial-mimes (sbcl-package->ecl-package sbcl-trivial-mimes)) -(define-public sbcl-lack-middleware-static - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack-middleware-static") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack-middleware-static" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:asd-file "lack-middleware-static.asd" - #:asd-system-name "lack-middleware-static" - #:test-asd-file "t-lack-middleware-static.asd" - ;; XXX: Component :LACK not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (inputs - `(("sbcl-ironclad" ,sbcl-ironclad) - ("sbcl-trivial-mimes" ,sbcl-trivial-mimes) - ("sbcl-local-time" ,sbcl-local-time))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack-middleware-static - (sbcl-package->cl-source-package sbcl-lack-middleware-static)) - -(define-public sbcl-lack - (let ((commit "abff8efeb0c3a848e6bb0022f2b8b7fa3a1bc88b") - (revision "1")) - (package - (name "sbcl-lack") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/lack") - (commit commit))) - (file-name (git-file-name "lack" version)) - (sha256 - (base32 "1avh4ygcj9xcx4m17nj0wnxxaisk26w4ljs2bibzxaln24x7pi85")))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:test-asd-file "t-lack.asd" - ;; XXX: Component :CLACK not found - #:tests? #f)) - (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf))) - (inputs - `(("sbcl-lack-component" ,sbcl-lack-component) - ("sbcl-lack-util" ,sbcl-lack-util))) - (home-page "https://github.com/fukamachi/lack") - (synopsis "Lack, the core of Clack") - (description - "Lack is a Common Lisp library which allows web applications to be -constructed of modular components. It was originally a part of Clack, however -it's going to be rewritten as an individual project since Clack v2 with -performance and simplicity in mind.") - (license license:llgpl)))) - -(define-public cl-lack - (sbcl-package->cl-source-package sbcl-lack)) - (define-public sbcl-ningle (let ((commit "50bd4f09b5a03a7249bd4d78265d6451563b25ad") (revision "1")) @@ -4908,15 +4091,11 @@ performance and simplicity in mind.") fasl-files) #t))))) (native-inputs - `(("sbcl-prove-asdf" ,sbcl-prove-asdf) - ("sbcl-prove" ,sbcl-prove))) + `(("sbcl-prove" ,sbcl-prove))) (inputs `(("sbcl-cl-syntax" ,sbcl-cl-syntax) - ("sbcl-cl-syntax-annot" ,sbcl-cl-syntax-annot) ("sbcl-myway" ,sbcl-myway) - ("sbcl-lack-request" ,sbcl-lack-request) - ("sbcl-lack-response" ,sbcl-lack-response) - ("sbcl-lack-component" ,sbcl-lack-component) + ("sbcl-lack" ,sbcl-lack) ("sbcl-alexandria" ,sbcl-alexandria) ("sbcl-babel" ,sbcl-babel))) (home-page "https://8arrow.org/ningle/") @@ -4928,6 +4107,9 @@ performance and simplicity in mind.") (define-public cl-ningle (sbcl-package->cl-source-package sbcl-ningle)) +(define-public ecl-ningle + (sbcl-package->ecl-package sbcl-ningle)) + (define-public sbcl-cl-fastcgi (let ((commit "d576d20eeb12f225201074b28934ba395b15781a") (revision "1")) @@ -4973,72 +4155,49 @@ mostly Common Lisp implementation.") (define-public ecl-cl-fastcgi (sbcl-package->ecl-package sbcl-cl-fastcgi)) -(define clack-commit "e3e032843bb1220ab96263c411aa7f2feb4746e0") -(define clack-revision "1") - (define-public sbcl-clack - (package - (name "sbcl-clack") - (version (git-version "2.0.0" clack-revision clack-commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/fukamachi/clack") - (commit clack-commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("sbcl-lack" ,sbcl-lack) - ("sbcl-lack-middleware-backtrace" ,sbcl-lack-middleware-backtrace) - ("sbcl-bordeaux-threads" ,sbcl-bordeaux-threads))) - (home-page "https://github.com/fukamachi/clack") - (synopsis "Web Application Environment for Common Lisp") - (description - "Clack is a web application environment for Common Lisp inspired by + (let ((commit "e3e032843bb1220ab96263c411aa7f2feb4746e0") + (revision "1")) + (package + (name "sbcl-clack") + (version (git-version "2.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/clack") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ymzs6qyrwhlj6cgqsnpyn6g5cbp7a3s1vgxwna20y2q7y4iacy0")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-fastcgi" ,sbcl-cl-fastcgi) + ("flexi-streams" ,sbcl-flexi-streams) + ("hunchentoot" ,sbcl-hunchentoot) + ("lack" ,sbcl-lack) + ("split-sequence" ,sbcl-split-sequence) + ("usocket" ,sbcl-usocket) + ("quri" ,sbcl-quri))) + (arguments + '(#:asd-systems '("clack" + "clack-handler-fcgi" + "clack-socket" + "clack-handler-hunchentoot"))) + (home-page "https://github.com/fukamachi/clack") + (synopsis "Web Application Environment for Common Lisp") + (description + "Clack is a web application environment for Common Lisp inspired by Python's WSGI and Ruby's Rack.") - (license license:llgpl))) + (license license:llgpl)))) (define-public cl-clack (sbcl-package->cl-source-package sbcl-clack)) -(define-public sbcl-clack-handler-fcgi - (package - (inherit sbcl-clack) - (name "sbcl-clack-handler-fcgi") - (version (git-version "0.3.1" clack-revision clack-commit)) - (inputs - `(("cl-fastcgi" ,sbcl-cl-fastcgi) - ("alexandria" ,sbcl-alexandria) - ("flexi-streams" ,sbcl-flexi-streams) - ("usocket" ,sbcl-usocket) - ("quri" ,sbcl-quri))) - (synopsis "Web Application Environment for Common Lisp (FastCGI handler)"))) - -(define-public cl-clack-handler-fcgi - (sbcl-package->cl-source-package sbcl-clack-handler-fcgi)) - -(define sbcl-clack-socket - (package - (inherit sbcl-clack) - (name "sbcl-clack-socket") - (version (git-version "0.1" clack-revision clack-commit)))) - -(define-public sbcl-clack-handler-hunchentoot - (package - (inherit sbcl-clack) - (name "sbcl-clack-handler-hunchentoot") - (version (git-version "0.4.0" clack-revision clack-commit)) - (inputs - `(("hunchentoot" ,sbcl-hunchentoot) - ("clack-socket" ,sbcl-clack-socket) - ("flexi-streams" ,sbcl-flexi-streams) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("split-sequence" ,sbcl-split-sequence) - ("alexandria" ,sbcl-alexandria))) - (synopsis "Web Application Environment for Common Lisp (Hunchentoot handler)"))) +(define-public ecl-clack + (sbcl-package->ecl-package sbcl-clack)) (define-public sbcl-log4cl (let ((commit "611e094458504b938d49de904eab141285328c7c") @@ -5218,8 +4377,7 @@ the CFFI approach used by burgled-batteries, but has the same goal.") (base32 "03g5qks4c59nmxa48pbslxkfh77h8hn8566jddp6m9pl15dzzpxd")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-file "parse-declarations-1.0.asd" - #:asd-system-name "parse-declarations-1.0")) + `(#:asd-systems '("parse-declarations-1.0"))) (home-page "https://common-lisp.net/project/parse-declarations/") (synopsis "Parse, filter, and build declarations") (description @@ -5263,7 +4421,7 @@ high-level way. This library provides such operators.") ;; MIT (license license:expat)))) -(define-public cl-cl-quickcheck +(define-public cl-quickcheck (sbcl-package->cl-source-package sbcl-cl-quickcheck)) (define-public ecl-cl-quickcheck @@ -5317,7 +4475,6 @@ high-level way. This library provides such operators.") (inputs `(("python" ,python) ("sbcl-cffi" ,sbcl-cffi) - ("sbcl-cffi-grovel" ,sbcl-cffi-grovel) ("sbcl-alexandria" , sbcl-alexandria) ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations) ("sbcl-trivial-garbage" ,sbcl-trivial-garbage))) @@ -5428,8 +4585,7 @@ basic everyday functions and macros.") (arguments ;; Guix incorrectly assumes the "8" is part of the version ;; number and lobs it off. - `(#:asd-file "trivial-utf-8.asd" - #:asd-system-name "trivial-utf-8")) + `(#:asd-systems '("trivial-utf-8"))) (build-system asdf-build-system/sbcl) (synopsis "UTF-8 input/output library") (description @@ -5508,13 +4664,12 @@ formats.") (define-public ecl-swap-bytes (sbcl-package->ecl-package sbcl-swap-bytes)) -(define-public sbcl-iolib.asdf +(define-public sbcl-iolib ;; Latest release is from June 2017. (let ((commit "7f5ea3a8457a29d224b24653c2b3657fb1898021") (revision "2")) (package - (name "sbcl-iolib.asdf") - (build-system asdf-build-system/sbcl) + (name "sbcl-iolib") (version (git-version "0.8.3" revision commit)) (home-page "https://github.com/sionescu/iolib") (source @@ -5527,135 +4682,41 @@ formats.") (sha256 (base32 "1bg5w7lm61hqk4b0svmri8a590q36z76jfa0sdgzb39r98c04w12")))) + (build-system asdf-build-system/sbcl) (inputs - `(("alexandria" ,sbcl-alexandria))) + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cffi" ,sbcl-cffi) + ("idna" ,sbcl-idna) + ("libfixposix" ,libfixposix) + ("split-sequence" ,sbcl-split-sequence) + ("swap-bytes" ,sbcl-swap-bytes))) (arguments - '(#:asd-file "iolib.asdf.asd")) - (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library") + '(#:asd-files '("iolib.asdf.asd" + "iolib.conf.asd" + "iolib.common-lisp.asd" + "iolib.base.asd" + "iolib.asd") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/syscalls/ffi-functions-unix.lisp" + (("\\(:default \"libfixposix\"\\)") + (string-append + "(:default \"" + (assoc-ref inputs "libfixposix") "/lib/libfixposix\")"))) + ;; Socket tests need Internet access, disable them. + (substitute* "iolib.asd" + (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)") + ""))))))) + (synopsis "Common Lisp I/O library") (description "IOlib is to be a better and more modern I/O library than the standard Common Lisp library. It contains a socket library, a DNS resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)} and @code{kqueue(2)}), a pathname library and file-system utilities.") (license license:expat)))) -(define-public sbcl-iolib.conf - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib.conf") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf))) - (arguments - '(#:asd-file "iolib.conf.asd")) - (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library"))) - -(define-public sbcl-iolib.common-lisp - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib.common-lisp") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf) - ("iolib.conf" ,sbcl-iolib.conf))) - (arguments - '(#:asd-file "iolib.common-lisp.asd")) - (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library"))) - -(define-public sbcl-iolib.base - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib.base") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf) - ("iolib.conf" ,sbcl-iolib.conf) - ("iolib.common-lisp" ,sbcl-iolib.common-lisp) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - '(#:asd-file "iolib.base.asd")) - (synopsis "Base package for IOLib, a Common Lisp I/O library"))) - -(define-public sbcl-iolib.grovel - (deprecated-package "sbcl-iolib.grovel" sbcl-cffi-grovel)) - -(define sbcl-iolib+syscalls - (package - (inherit sbcl-iolib.asdf) - (name "sbcl-iolib+syscalls") - (inputs - `(("iolib.asdf" ,sbcl-iolib.asdf) - ("iolib.conf" ,sbcl-iolib.conf) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("iolib.base" ,sbcl-iolib.base) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("idna" ,sbcl-idna) - ("swap-bytes" ,sbcl-swap-bytes) - ("libfixposix" ,libfixposix) - ("cffi" ,sbcl-cffi))) - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (arguments - '(#:asd-file "iolib.asd" - #:asd-system-name "iolib/syscalls" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/syscalls/ffi-functions-unix.lisp" - (("\\(:default \"libfixposix\"\\)") - (string-append - "(:default \"" - (assoc-ref inputs "libfixposix") "/lib/libfixposix\")"))) - ;; Socket tests need Internet access, disable them. - (substitute* "iolib.asd" - (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)") - ""))))))) - (synopsis "Common Lisp I/O library"))) - -(define sbcl-iolib+multiplex - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib+multiplex") - (inputs - `(("iolib+syscalls" ,sbcl-iolib+syscalls) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib/multiplex"))))) - -(define sbcl-iolib+streams - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib+streams") - (inputs - `(("iolib+multiplex" ,sbcl-iolib+multiplex) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib/streams"))))) - -(define sbcl-iolib+sockets - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib+sockets") - (inputs - `(("iolib+syscalls" ,sbcl-iolib+syscalls) - ("iolib+streams" ,sbcl-iolib+streams) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib/sockets"))))) - -(define-public sbcl-iolib - (package - (inherit sbcl-iolib+syscalls) - (name "sbcl-iolib") - (inputs - `(("iolib+multiplex" ,sbcl-iolib+multiplex) - ("iolib+streams" ,sbcl-iolib+streams) - ("iolib+sockets" ,sbcl-iolib+sockets) - ,@(package-inputs sbcl-iolib+syscalls))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-iolib+syscalls) - ((#:asd-system-name _) "iolib"))))) - (define-public cl-iolib (let ((parent (sbcl-package->cl-source-package sbcl-iolib))) (package @@ -5665,6 +4726,9 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") `(("libfixposix" ,libfixposix) ,@(package-propagated-inputs parent)))))) +(define-public ecl-iolib + (sbcl-package->ecl-package sbcl-iolib)) + (define-public sbcl-ieee-floats (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d") (revision "1")) @@ -5693,6 +4757,9 @@ floating point values to IEEE 754 binary representation.") (define-public cl-ieee-floats (sbcl-package->cl-source-package sbcl-ieee-floats)) +(define-public ecl-ieee-floats + (sbcl-package->ecl-package sbcl-ieee-floats)) + (define sbcl-closure-common (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c") (revision "1")) @@ -5720,14 +4787,12 @@ Closure is a reference to the web browser it was originally written for.") ;; TODO: License? (license #f)))) -(define-public sbcl-cxml+xml +(define-public sbcl-cxml (let ((commit "00b22bf4c4cf11c993d5866fae284f95ab18e6bf") (revision "1")) (package - (name "sbcl-cxml+xml") - (build-system asdf-build-system/sbcl) + (name "sbcl-cxml") (version (git-version "0.0.0" revision commit)) - (home-page "https://common-lisp.net/project/cxml/") (source (origin (method git-fetch) @@ -5738,81 +4803,24 @@ Closure is a reference to the web browser it was originally written for.") (sha256 (base32 "13kif7rf3gqdycsk9zq0d7y0g9y81krkl0z87k0p2fkbjfgrph37")))) - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/xml")) - (synopsis "Common Lisp XML parser") - (description "CXML implements a namespace-aware, validating XML 1.0 -parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are -offered, one SAX-like, the other similar to StAX.") - (license license:llgpl)))) - -(define sbcl-cxml+dom - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml+dom") - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("cxml+xml" ,sbcl-cxml+xml))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/dom")))) - -(define sbcl-cxml+klacks - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml+klacks") - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("cxml+xml" ,sbcl-cxml+xml))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/klacks")))) - -(define sbcl-cxml+test - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml+test") - (inputs - `(("closure-common" ,sbcl-closure-common) - ("puri" ,sbcl-puri) - ("cxml+xml" ,sbcl-cxml+xml))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml/test")))) - -(define-public sbcl-cxml - (package - (inherit sbcl-cxml+xml) - (name "sbcl-cxml") + (build-system asdf-build-system/sbcl) (inputs `(("closure-common" ,sbcl-closure-common) ("puri" ,sbcl-puri) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams) - ("cxml+dom" ,sbcl-cxml+dom) - ("cxml+klacks" ,sbcl-cxml+klacks) - ("cxml+test" ,sbcl-cxml+test))) - (arguments - `(#:asd-file "cxml.asd" - #:asd-system-name "cxml" - #:phases - (modify-phases %standard-phases - (add-after 'build 'install-dtd - (lambda* (#:key outputs #:allow-other-keys) - (install-file "catalog.dtd" - (string-append - (assoc-ref outputs "out") - "/lib/" (%lisp-type)))))))))) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (synopsis "Common Lisp XML parser") + (description "CXML implements a namespace-aware, validating XML 1.0 +parser as well as the DOM Level 2 Core interfaces. Two parser interfaces are +offered, one SAX-like, the other similar to StAX.") + (home-page "https://common-lisp.net/project/cxml/") + (license license:llgpl)))) (define-public cl-cxml (sbcl-package->cl-source-package sbcl-cxml)) +(define-public ecl-cxml + (sbcl-package->ecl-package sbcl-cxml)) + (define-public sbcl-cl-reexport (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b") (revision "1")) @@ -5844,6 +4852,9 @@ cookie headers, cookie creation, cookie jar creation and more.") (define-public cl-reexport (sbcl-package->cl-source-package sbcl-cl-reexport)) +(define-public ecl-cl-reexport + (sbcl-package->ecl-package sbcl-cl-reexport)) + (define-public sbcl-cl-cookie (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546") (revision "1")) @@ -5869,8 +4880,7 @@ cookie headers, cookie creation, cookie jar creation and more.") ("cl-ppcre" ,sbcl-cl-ppcre) ("local-time" ,sbcl-local-time))) (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf) - ("prove" ,sbcl-prove))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test. `(#:tests? #f)) @@ -5882,6 +4892,9 @@ cookie headers, cookie creation, cookie jar creation and more.") (define-public cl-cookie (sbcl-package->cl-source-package sbcl-cl-cookie)) +(define-public ecl-cl-cookie + (sbcl-package->ecl-package sbcl-cl-cookie)) + (define-public sbcl-dexador (let ((commit "953090f04c4d1a9ee6632b90133cdc297b68badc") (revision "1")) @@ -5919,8 +4932,7 @@ cookie headers, cookie creation, cookie jar creation and more.") ("alexandria" ,sbcl-alexandria))) (native-inputs `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf) - ("lack-request" ,sbcl-lack-request) + ("lack" ,sbcl-lack) ("clack" ,sbcl-clack) ("babel" ,sbcl-babel) ("alexandria" ,sbcl-alexandria) @@ -5989,6 +5001,9 @@ This library offers macros to deal with symbols from any namespace.") (define-public cl-lisp-namespace (sbcl-package->cl-source-package sbcl-lisp-namespace)) +(define-public ecl-lisp-namespace + (sbcl-package->ecl-package sbcl-lisp-namespace)) + (define-public sbcl-trivial-cltl2 (let ((commit "8a3bda30dc25d2f65fcf514d0eb6e6db75252c61") (revision "2")) @@ -6017,6 +5032,9 @@ and it exports symbols from implementation-specific packages.") (define-public cl-trivial-cltl2 (sbcl-package->cl-source-package sbcl-trivial-cltl2)) +(define-public ecl-trivial-cltl2 + (sbcl-package->ecl-package sbcl-trivial-cltl2)) + (define-public sbcl-introspect-environment (let ((commit "fff42f8f8fd0d99db5ad6c5812e53de7d660020b") (revision "1")) @@ -6061,6 +5079,9 @@ can and/or provide reasonable defaults.") (define-public cl-introspect-environment (sbcl-package->cl-source-package sbcl-introspect-environment)) +(define-public ecl-introspect-environment + (sbcl-package->ecl-package sbcl-introspect-environment)) + (define-public sbcl-type-i (let ((commit "d34440ab4ebf5a46a58deccb35950b15670e3667") (revision "2")) @@ -6096,6 +5117,13 @@ the return type of a function.") (define-public cl-type-i (sbcl-package->cl-source-package sbcl-type-i)) +(define-public ecl-type-i + (package + (inherit (sbcl-package->ecl-package sbcl-type-i)) + (arguments + ;; The tests get stuck indefinitly + '(#:tests? #f)))) + (define-public sbcl-optima (let ((commit "373b245b928c1a5cce91a6cb5bfe5dd77eb36195") (revision "1")) @@ -6131,6 +5159,9 @@ optimizing techniques widely used in the functional programming world.") (define-public cl-optima (sbcl-package->cl-source-package sbcl-optima)) +(define-public ecl-optima + (sbcl-package->ecl-package sbcl-optima)) + (define-public sbcl-fare-quasiquote (let ((commit "640d39a0451094071b3e093c97667b3947f43639") (revision "1")) @@ -6150,11 +5181,15 @@ optimizing techniques widely used in the functional programming world.") (sha256 (base32 "1g6q11l50kgija9f55lzqpcwvaq0ljiw8v1j265hnyg6nahjwjvg")))) (inputs - `(("fare-utils" ,sbcl-fare-utils))) + `(("fare-utils" ,sbcl-fare-utils) + ("named-readtables" ,sbcl-named-readtables) + ("optima" ,sbcl-optima))) (arguments ;; XXX: Circular dependencies: Tests depend on subsystems, ;; which depend on the main systems. `(#:tests? #f + #:asd-systems '("fare-quasiquote" + "fare-quasiquote-extras") #:phases (modify-phases %standard-phases ;; XXX: Require 1.0.0 version of fare-utils, and we package some @@ -6164,7 +5199,11 @@ optimizing techniques widely used in the functional programming world.") (lambda _ (substitute* "fare-quasiquote.asd" (("\\(:version \"fare-utils\" \"1.0.0\"\\)") - "\"fare-utils\""))))))) + "\"fare-utils\"")) + (substitute* "fare-quasiquote-optima.asd" + (("\\(:version \"optima\" \"1\\.0\"\\)") + "\"optima\"")) + #t))))) (synopsis "Pattern-matching friendly implementation of quasiquote") (description "The main purpose of this n+2nd reimplementation of quasiquote is enable matching of quasiquoted patterns, using Optima or @@ -6174,222 +5213,97 @@ Trivia.") (define-public cl-fare-quasiquote (sbcl-package->cl-source-package sbcl-fare-quasiquote)) -(define-public sbcl-fare-quasiquote-optima - (package - (inherit sbcl-fare-quasiquote) - (name "sbcl-fare-quasiquote-optima") - (inputs - `(("optima" ,sbcl-optima) - ("fare-quasiquote" ,sbcl-fare-quasiquote))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-requirement - (lambda _ - (substitute* "fare-quasiquote-optima.asd" - (("\\(:version \"optima\" \"1\\.0\"\\)") - "\"optima\"")) - #t))))))) - -(define-public cl-fare-quasiquote-optima - (sbcl-package->cl-source-package sbcl-fare-quasiquote-optima)) - -(define-public sbcl-fare-quasiquote-readtable - (package - (inherit sbcl-fare-quasiquote) - (name "sbcl-fare-quasiquote-readtable") - (inputs - `(("fare-quasiquote" ,sbcl-fare-quasiquote) - ("named-readtables" ,sbcl-named-readtables))) - (description "The main purpose of this n+2nd reimplementation of -quasiquote is enable matching of quasiquoted patterns, using Optima or -Trivia. - -This package uses fare-quasiquote with named-readtable."))) - -(define-public cl-fare-quasiquote-readtable - (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable)) - -(define-public sbcl-fare-quasiquote-extras - (package - (inherit sbcl-fare-quasiquote) - (name "sbcl-fare-quasiquote-extras") - (build-system asdf-build-system/sbcl) - (inputs - `(("fare-quasiquote-optima" ,sbcl-fare-quasiquote-optima) - ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/" (%lisp-type)))) - (mkdir-p lib) - (install-file "fare-quasiquote-extras.asd" lib) - (make-file-writable - (string-append lib "/fare-quasiquote-extras.asd")) - #t)))))) - (description "This library combines @code{fare-quasiquote-readtable} and -@code{fare-quasiquote-optima}."))) - -(define-public cl-fare-quasiquote-extras - (package - (inherit cl-fare-quasiquote) - (name "cl-fare-quasiquote-extras") - (build-system asdf-build-system/source) - (propagated-inputs - `(("fare-quasiquote" ,cl-fare-quasiquote) - ("fare-quasiquote-optima" ,cl-fare-quasiquote-optima) - ("fare-quasiquote-readtable" ,cl-fare-quasiquote-readtable))) - (description "This library combines @code{fare-quasiquote-readtable} and -@code{fare-quasiquote-optima}."))) +(define-public ecl-fare-quasiquote + (sbcl-package->ecl-package sbcl-fare-quasiquote)) -(define-public sbcl-trivia.level0 +;;; Split the trivia package in two to work around the circular dependency +;;; between guicho271828/trivia and guicho271828/type-i. +(define-public sbcl-trivia.trivial (let ((commit "37698b47a14c2007630468de7a993694ef7bd475") (revision "2")) (package - (name "sbcl-trivia.level0") - (build-system asdf-build-system/sbcl) + (name "sbcl-trivia.trivial") (version (git-version "0.0.0" revision commit)) - (home-page "https://github.com/guicho271828/trivia") (source (origin (method git-fetch) (uri (git-reference - (url home-page) + (url "https://github.com/guicho271828/trivia") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "trivia" version)) (sha256 (base32 "0rsbwbw3ipxxgr6zzhci12nilq8zky475kmhz1rcxy4q8a85vn72")))) + (build-system asdf-build-system/sbcl) (inputs - `(("alexandria" ,sbcl-alexandria))) + `(("alexandria" ,sbcl-alexandria) + ("closer-mop" ,sbcl-closer-mop) + ("lisp-namespace" ,sbcl-lisp-namespace) + ("trivial-cltl2" ,sbcl-trivial-cltl2))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("trivia.balland2006.asd" + "trivia.ppcre.asd" + "trivia.quasiquote.asd" + "trivia.cffi.asd" + "trivia.asd" + "trivia.test.asd")) + #t))))) (synopsis "Pattern matching in Common Lisp") (description "Trivia is a pattern matching compiler that is compatible with Optima, another pattern matching library for Common Lisp. It is meant to be faster and more extensible than Optima.") + (home-page "https://github.com/guicho271828/trivia") (license license:llgpl)))) -(define-public sbcl-trivia.level1 - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.level1") - (inputs - `(("trivia.level0" ,sbcl-trivia.level0))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the core patterns of Trivia."))) - -(define-public sbcl-trivia.level2 - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.level2") - (inputs - `(("trivia.level1" ,sbcl-trivia.level1) - ("lisp-namespace" ,sbcl-lisp-namespace) - ("trivial-cltl2" ,sbcl-trivial-cltl2) - ("closer-mop" ,sbcl-closer-mop))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. +(define-public cl-trivia.trivial + (sbcl-package->cl-source-package sbcl-trivia.trivial)) -This system contains a non-optimized pattern matcher compatible with Optima, -with extensible optimizer interface."))) - -(define-public sbcl-trivia.trivial - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.trivial") - (inputs - `(("trivia.level2" ,sbcl-trivia.level2))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the base level system of Trivia with a trivial optimizer."))) - -(define-public sbcl-trivia.balland2006 - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.balland2006") - (inputs - `(("trivia.trivial" ,sbcl-trivia.trivial) - ("iterate" ,sbcl-iterate) - ("type-i" ,sbcl-type-i) - ("alexandria" ,sbcl-alexandria))) - (arguments - ;; Tests are done in trivia itself. - `(#:tests? #f)) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the base level system of Trivia with a trivial optimizer."))) - -(define-public sbcl-trivia.ppcre - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.ppcre") - (inputs - `(("trivia.trivial" ,sbcl-trivia.trivial) - ("cl-ppcre" ,sbcl-cl-ppcre))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the PPCRE extension."))) - -(define-public sbcl-trivia.quasiquote - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.quasiquote") - (inputs - `(("trivia.trivial" ,sbcl-trivia.trivial) - ("fare-quasiquote" ,sbcl-fare-quasiquote) - ("fare-quasiquote-readtable" ,sbcl-fare-quasiquote-readtable))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the fare-quasiquote extension."))) - -(define-public sbcl-trivia.cffi - (package - (inherit sbcl-trivia.level0) - (name "sbcl-trivia.cffi") - (inputs - `(("cffi" ,sbcl-cffi) - ("trivia.trivial" ,sbcl-trivia.trivial))) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima. - -This system contains the CFFI foreign slot access extension."))) +(define-public ecl-trivia.trivial + (sbcl-package->ecl-package sbcl-trivia.trivial)) (define-public sbcl-trivia (package - (inherit sbcl-trivia.level0) + (inherit sbcl-trivia.trivial) (name "sbcl-trivia") - (inputs - `(("trivia.balland2006" ,sbcl-trivia.balland2006))) (native-inputs `(("fiveam" ,sbcl-fiveam) - ("trivia.ppcre" ,sbcl-trivia.ppcre) - ("trivia.quasiquote" ,sbcl-trivia.quasiquote) - ("trivia.cffi" ,sbcl-trivia.cffi) ("optima" ,sbcl-optima))) - (arguments - `(#:test-asd-file "trivia.test.asd")) - (description "Trivia is a pattern matching compiler that is compatible -with Optima, another pattern matching library for Common Lisp. It is meant to -be faster and more extensible than Optima."))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("fare-quasiquote" ,sbcl-fare-quasiquote) + ("iterate" ,sbcl-iterate) + ("trivia.trivial" ,sbcl-trivia.trivial) + ("type-i" ,sbcl-type-i))) + (arguments + '(#:asd-systems '("trivia" + "trivia.ppcre" + "trivia.quasiquote" + "trivia.cffi") + #:test-asd-file "trivia.test.asd" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("trivia.level0.asd" + "trivia.level1.asd" + "trivia.level2.asd" + "trivia.trivial.asd")) + #t))))))) (define-public cl-trivia (sbcl-package->cl-source-package sbcl-trivia)) +(define-public ecl-trivia + (sbcl-package->ecl-package sbcl-trivia)) + (define-public sbcl-mk-string-metrics (package (name "sbcl-mk-string-metrics") @@ -6424,6 +5338,9 @@ various string metrics in Common Lisp: (define-public cl-mk-string-metrics (sbcl-package->cl-source-package sbcl-mk-string-metrics)) +(define-public ecl-mk-string-metrics + (sbcl-package->ecl-package sbcl-mk-string-metrics)) + (define-public sbcl-cl-str (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a")) (package @@ -6444,11 +5361,9 @@ various string metrics in Common Lisp: ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode) ("cl-change-case" ,sbcl-cl-change-case))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (arguments - `(#:asd-file "str.asd" - #:asd-system-name "str" + `(#:asd-systems '("str") #:test-asd-file "str.test.asd")) (synopsis "Modern, consistent and terse Common Lisp string manipulation library") (description "A modern and consistent Common Lisp string manipulation @@ -6463,6 +5378,9 @@ arrows.") (define-public cl-str (sbcl-package->cl-source-package sbcl-cl-str)) +(define-public ecl-cl-str + (sbcl-package->ecl-package sbcl-cl-str)) + (define-public sbcl-cl-xmlspam (let ((commit "ea06abcca2a73a9779bcfb09081e56665f94e22a")) (package @@ -6495,15 +5413,17 @@ constructs can be used interchangeably with pattern matching, and the full power of CXML is available when necessary.") (license license:bsd-3)))) -;; TODO: dbus uses ASDF's package-inferred-system which is not supported by -;; asdf-build-system/sbcl as of 2019-08-02. We should fix -;; asdf-build-system/sbcl. -(define-public cl-dbus +(define-public cl-xmlspam + (sbcl-package->cl-source-package sbcl-cl-xmlspam)) + +(define-public ecl-cl-xmlspam + (sbcl-package->ecl-package sbcl-cl-xmlspam)) + +(define-public sbcl-dbus (let ((commit "24b452df3a45ca5dc95015500f34baad175c981a") (revision "1")) (package - (name "cl-dbus") - (build-system asdf-build-system/source) + (name "sbcl-dbus") (version (git-version "20190408" revision commit)) (home-page "https://github.com/death/dbus") (source @@ -6516,9 +5436,8 @@ power of CXML is available when necessary.") (sha256 (base32 "0fw2q866yddbf23nk9pxphm9gsasx35vjyss82xzvndnjmzlqfl5")))) - ;; Inputs must be propagated or else packages depending on this won't - ;; have the necessary packages. - (propagated-inputs + (build-system asdf-build-system/sbcl) + (inputs `(("alexandria" ,sbcl-alexandria) ("trivial-garbage" ,sbcl-trivial-garbage) ("babel" ,sbcl-babel) @@ -6532,6 +5451,12 @@ power of CXML is available when necessary.") objects as well as send and notify other objects connected to a bus.") (license license:bsd-2)))) +(define-public cl-dbus + (sbcl-package->cl-source-package sbcl-dbus)) + +(define-public ecl-dbus + (sbcl-package->ecl-package sbcl-dbus)) + (define-public sbcl-cl-hooks (let ((commit "5b638083f3b4f1221a52631d9c8a0a265565cac7") (revision "1")) @@ -6616,8 +5541,7 @@ extension-points via the concept of hooks.") "1fh8r7kf8s3hvqdg6b71b8p7w3v2kkga9bw8j3qqdxhzr6anpm0b")))) (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("usocket" ,sbcl-usocket) - ("usocket-server" ,sbcl-usocket-server))) + ("usocket" ,sbcl-usocket))) (synopsis "Common Lisp abstraction layer over platform dependent functionality") (description "@code{s-sysdeps} is an abstraction layer over platform dependent functionality. This simple package is used as a building block in a @@ -6731,7 +5655,11 @@ programming style and the efficiency of an iterative programming style.") "0z30jr3lxz3cmi019fsl4lgcgwf0yqpn95v9zkkkwgymdrkd4lga")))) (build-system asdf-build-system/sbcl) (inputs - `(("local-time" ,sbcl-local-time))) + `(("local-time" ,sbcl-local-time) + ("series" ,sbcl-series))) + (arguments + '(#:asd-systems '("periods" + "periods-series"))) (synopsis "Common Lisp library for manipulating date/time objects") (description "Periods is a Common Lisp library providing a set of utilities for @@ -6746,26 +5674,6 @@ discontiguous ranges of time.") (define-public ecl-periods (sbcl-package->ecl-package sbcl-periods)) -(define-public sbcl-periods-series - (package - (inherit sbcl-periods) - (name "sbcl-periods-series") - (inputs - `(("periods" ,sbcl-periods) - ("series" ,sbcl-series))) - (arguments - '(#:asd-file "periods-series.asd" - #:asd-system-name "periods-series")) - (description - "Periods-series is an extension of the periods Common Lisp library -providing functions compatible with the series Common Lisp library."))) - -(define-public cl-periods-series - (sbcl-package->cl-source-package sbcl-periods-series)) - -(define-public ecl-periods-series - (sbcl-package->ecl-package sbcl-periods-series)) - (define-public sbcl-metatilities-base (let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5") (revision "1")) @@ -6820,7 +5728,8 @@ which implements a set of utilities.") (inputs `(("metatilities-base" ,sbcl-metatilities-base))) (arguments - '(#:phases + '(#:asd-files '("cl-containers.asd") + #:phases (modify-phases %standard-phases (add-after 'unpack 'relax-version-checks (lambda _ @@ -6887,57 +5796,40 @@ on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") (define-public ecl-xlunit (sbcl-package->ecl-package sbcl-xlunit)) -(define-public sbcl-fprog +(define-public sbcl-cambl (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") (revision "1")) (package - (name "sbcl-fprog") - (version (git-version "1.0.0" revision commit)) + (name "sbcl-cambl") + (version (git-version "4.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jwiegley/cambl") (commit commit))) - (file-name (git-file-name name version)) + (file-name (git-file-name "cambl" version)) (sha256 - (base32 - "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz")))) + (base32 "103mry04j2k9vznsxm7wcvccgxkil92cdrv52miwcmxl8daa4jiz")))) (build-system asdf-build-system/sbcl) - (synopsis "Functional programming utilities for Common Lisp") - (description - "@code{fprog} is a Common Lisp library allowing iteration over -immutable lists sharing identical sublists.") - (home-page "https://github.com/jwiegley/cambl") - (license license:bsd-3)))) - -(define-public cl-fprog - (sbcl-package->cl-source-package sbcl-fprog)) - -(define-public ecl-fprog - (sbcl-package->ecl-package sbcl-fprog)) - -(define-public sbcl-cambl - (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") - (revision "1")) - (package - (inherit sbcl-fprog) - (name "sbcl-cambl") - (version (git-version "4.0.0" revision commit)) (native-inputs `(("xlunit" ,sbcl-xlunit))) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-containers" ,sbcl-cl-containers) ("local-time" ,sbcl-local-time) - ("periods" ,sbcl-periods) - ("fprog" ,sbcl-fprog))) + ("periods" ,sbcl-periods))) + (arguments + '(#:asd-files '("fprog.asd" + "cambl.asd"))) (synopsis "Commoditized amounts and balances for Common Lisp") (description "CAMBL is a Common Lisp library providing a convenient facility for working with commoditized values. It does not allow compound units (and so is not suited for scientific operations) but does work rather nicely for the -purpose of financial calculations.")))) +purpose of financial calculations.") + (home-page "https://github.com/jwiegley/cambl") + (license license:bsd-3)))) (define-public cl-cambl (sbcl-package->cl-source-package sbcl-cambl)) @@ -6966,7 +5858,7 @@ purpose of financial calculations.")))) `(("cambl" ,sbcl-cambl) ("cl-ppcre" ,sbcl-cl-ppcre) ("local-time" ,sbcl-local-time) - ("periods-series" ,sbcl-periods-series))) + ("periods" ,sbcl-periods))) (arguments '(#:phases (modify-phases %standard-phases @@ -7222,6 +6114,9 @@ of C+GObject libraries without the need of writing dedicated bindings.") (define-public cl-gobject-introspection (sbcl-package->cl-source-package sbcl-cl-gobject-introspection)) +(define-public ecl-cl-gobject-introspection + (sbcl-package->ecl-package sbcl-cl-gobject-introspection)) + (define-public sbcl-string-case (let ((commit "718c761e33749e297cd2809c7ba3ade1985c49f7") (revision "0")) @@ -7360,8 +6255,8 @@ implementation specific equivalent.") (sbcl-package->ecl-package sbcl-trivial-macroexpand-all)) (define-public sbcl-serapeum - (let ((commit "a2ca90cbdcb9f76c2822286110c7abe9ba5b76c2") - (revision "2")) + (let ((commit "c5e352a9f04a84a93742193c01734f4fb31d9f82") + (revision "3")) (package (name "sbcl-serapeum") (version (git-version "0.0.0" revision commit)) @@ -7375,19 +6270,18 @@ implementation specific equivalent.") (file-name (git-file-name name version)) (sha256 (base32 - "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q")))) + "16767pxl766c15jznr4srcbp7cnxf8w9lkyaqpp5w5crqymw84nw")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) ("trivia" ,sbcl-trivia) - ("trivia.quasiquote" ,sbcl-trivia.quasiquote) ("split-sequence" ,sbcl-split-sequence) ("string-case" ,sbcl-string-case) ("parse-number" ,sbcl-parse-number) ("trivial-garbage" ,sbcl-trivial-garbage) ("bordeaux-threads" ,sbcl-bordeaux-threads) ("named-readtables" ,sbcl-named-readtables) - ("fare-quasiquote-extras" ,sbcl-fare-quasiquote-extras) + ("fare-quasiquote" ,sbcl-fare-quasiquote) ("parse-declarations-1.0" ,sbcl-parse-declarations) ("global-vars" ,sbcl-global-vars) ("trivial-file-size" ,sbcl-trivial-file-size) @@ -7413,6 +6307,9 @@ supplement, not a competitor, to Alexandria.") (define-public cl-serapeum (sbcl-package->cl-source-package sbcl-serapeum)) +(define-public ecl-serapeum + (sbcl-package->ecl-package sbcl-serapeum)) + (define-public sbcl-arrows (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382") (revision "0")) @@ -7593,11 +6490,8 @@ JSON interchange format.") (inputs `(("alexandria" ,sbcl-alexandria) ("iterate" ,sbcl-iterate) - ("metabang-bind" ,sbcl-metabang-bind))) - (propagated-inputs - ;; Swank doesn't have a pre-compiled package, therefore we must - ;; propagate its sources. - `(("swank" ,cl-slime-swank))) + ("metabang-bind" ,sbcl-metabang-bind) + ("swank" ,sbcl-slime-swank))) (arguments '(#:phases (modify-phases %standard-phases @@ -7616,6 +6510,9 @@ interactive development.") (define-public cl-stefil (sbcl-package->cl-source-package sbcl-stefil)) +(define-public ecl-stefil + (sbcl-package->ecl-package sbcl-stefil)) + (define-public sbcl-graph (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f") (revision "0")) @@ -7632,19 +6529,22 @@ interactive development.") (file-name (git-file-name name version)) (sha256 (base32 - "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g")) - (patches (search-patches "sbcl-graph-asdf-definitions.patch")))) + "1qpij4xh8bqwc2myahpilcbh916v7vg0acz2fij14d3y0jm02h0g")))) (build-system asdf-build-system/sbcl) (native-inputs `(("stefil" ,sbcl-stefil))) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-heap" ,sbcl-cl-heap) + ("cl-ppcre" ,sbcl-cl-ppcre) ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) ("metabang-bind" ,sbcl-metabang-bind) - ("named-readtables" ,sbcl-named-readtables))) + ("named-readtables" ,sbcl-named-readtables) + ("yason" ,sbcl-yason))) (arguments - '(#:test-asd-file "graph-test.asd")) + '(#:asd-systems '("graph" + "graph/dot" + "graph/json"))) (synopsis "Graph data structure and algorithms for Common Lisp") (description "The GRAPH Common Lisp library provides a data structures to represent @@ -7656,39 +6556,8 @@ path, maximum flow, minimum spanning tree, etc.).") (define-public cl-graph (sbcl-package->cl-source-package sbcl-graph)) -(define-public sbcl-graph-dot - (package - (inherit sbcl-graph) - (name "sbcl-graph-dot") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) - ("graph" ,sbcl-graph) - ("metabang-bind" ,sbcl-metabang-bind) - ("named-readtables" ,sbcl-named-readtables))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-graph) - ((#:asd-file _ "") "graph-dot.asd") - ((#:asd-system-name _ #f) "graph-dot"))) - (synopsis "Serialize graphs to and from DOT format"))) - -(define-public sbcl-graph-json - (package - (inherit sbcl-graph) - (name "sbcl-graph-json") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("curry-compose-reader-macros" ,sbcl-curry-compose-reader-macros) - ("graph" ,sbcl-graph) - ("metabang-bind" ,sbcl-metabang-bind) - ("named-readtables" ,sbcl-named-readtables) - ("yason" ,sbcl-yason))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-graph) - ((#:asd-file _ "") "graph-json.asd") - ((#:asd-system-name _ #f) "graph-json"))) - (synopsis "Serialize graphs to and from JSON format"))) +(define-public ecl-graph + (sbcl-package->ecl-package sbcl-graph)) (define-public sbcl-trivial-indent (let ((commit "2d016941751647c6cc5bd471751c2cf68861c94a") @@ -7719,6 +6588,9 @@ results.") (define-public cl-trivial-indent (sbcl-package->cl-source-package sbcl-trivial-indent)) +(define-public ecl-trivial-indent + (sbcl-package->ecl-package sbcl-trivial-indent)) + (define-public sbcl-documentation-utils (let ((commit "98630dd5f7e36ae057fa09da3523f42ccb5d1f55") (revision "0")) @@ -7782,6 +6654,9 @@ macro. This library provides a set of simple utilities to help with that.") (define-public cl-form-fiddle (sbcl-package->cl-source-package sbcl-form-fiddle)) +(define-public ecl-form-fiddle + (sbcl-package->ecl-package sbcl-form-fiddle)) + (define-public sbcl-parachute (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666") (revision "0")) @@ -7814,6 +6689,9 @@ Each test can contain a bunch of test forms that make up its body.") (define-public cl-parachute (sbcl-package->cl-source-package sbcl-parachute)) +(define-public ecl-parachute + (sbcl-package->ecl-package sbcl-parachute)) + (define-public sbcl-array-utils (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56") (revision "0")) @@ -7846,6 +6724,9 @@ functions for arrays and vectors. Originally from Plump.") (define-public cl-array-utils (sbcl-package->cl-source-package sbcl-array-utils)) +(define-public ecl-array-utils + (sbcl-package->ecl-package sbcl-array-utils)) + (define-public sbcl-plump (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9") (revision "1")) @@ -7881,6 +6762,11 @@ your own classes.") (define-public cl-plump (sbcl-package->cl-source-package sbcl-plump)) +(define-public ecl-plump + (sbcl-package->ecl-package sbcl-plump)) + +;;; Split the antik package in two to work around the circular dependency +;;; between antik/antik and antik/gsll. (define-public sbcl-antik-base (let ((commit "e4711a69b3d6bf37b5727af05c3cfd03e8428ba3") (revision "1")) @@ -7900,13 +6786,31 @@ your own classes.") (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) ("cl-ppcre" ,sbcl-cl-ppcre) + ("drakma" ,sbcl-drakma) + ("fare-utils" ,sbcl-fare-utils) ("iterate" ,sbcl-iterate) ("metabang-bind" ,sbcl-metabang-bind) ("named-readtables" ,sbcl-named-readtables) - ("split-sequence" ,sbcl-split-sequence))) + ("split-sequence" ,sbcl-split-sequence) + ("static-vectors" ,sbcl-static-vectors) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("trivial-utf-8" ,sbcl-trivial-utf-8))) (native-inputs `(("lisp-unit" ,sbcl-lisp-unit))) + (arguments + '(#:asd-systems '("antik-base" + "foreign-array") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("antik.asd" + "physical-dimension.asd" + "science-data.asd")) + #t))))) (synopsis "Scientific and engineering computation in Common Lisp") (description "Antik provides a foundation for scientific and engineering @@ -7923,63 +6827,19 @@ computer known.") (sbcl-package->cl-source-package sbcl-antik-base)) (define-public ecl-antik-base - (sbcl-package->ecl-package sbcl-antik-base)) - -(define-public sbcl-foreign-array - (package - (inherit sbcl-antik-base) - (name "sbcl-foreign-array") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "foreign-array.asd") - ((#:asd-system-name _ #f) "foreign-array"))) - (inputs - `(("antik-base" ,sbcl-antik-base) - ("cffi" ,sbcl-cffi) - ("trivial-garbage" ,sbcl-trivial-garbage) - ("static-vectors" ,sbcl-static-vectors))) - (synopsis "Common Lisp library providing access to foreign arrays"))) - -(define-public cl-foreign-array - (sbcl-package->cl-source-package sbcl-foreign-array)) - -(define-public ecl-foreign-array - (sbcl-package->ecl-package sbcl-foreign-array)) - -(define-public sbcl-physical-dimension - (package - (inherit sbcl-antik-base) - (name "sbcl-physical-dimension") - (inputs - `(("fare-utils" ,sbcl-fare-utils) - ("foreign-array" ,sbcl-foreign-array) - ("trivial-utf-8" ,sbcl-trivial-utf-8))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "physical-dimension.asd") - ((#:asd-system-name _ #f) "physical-dimension"))) - (synopsis - "Common Lisp library providing computations with physical units"))) - -(define-public cl-physical-dimension - (sbcl-package->cl-source-package sbcl-physical-dimension)) - -(define-public sbcl-science-data - (package - (inherit sbcl-antik-base) - (name "sbcl-science-data") - (inputs - `(("physical-dimension" ,sbcl-physical-dimension) - ("drakma" ,sbcl-drakma))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "science-data.asd") - ((#:asd-system-name _ #f) "science-data"))) - (synopsis - "Common Lisp library for scientific and engineering numerical data"))) - -(define-public cl-science-data - (sbcl-package->cl-source-package sbcl-science-data)) + (let ((pkg (sbcl-package->ecl-package sbcl-antik-base))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-readtable + (lambda _ + (substitute* "input-output/readtable.lisp" + (("#-ccl") + "#-(or ccl ecl)")) + #t))))))))) (define-public sbcl-gsll (let ((commit "1a8ada22f9cf5ed7372d352b2317f4ccdb6ab308") @@ -8002,9 +6862,8 @@ computer known.") `(("lisp-unit" ,sbcl-lisp-unit))) (inputs `(("alexandria" ,sbcl-alexandria) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("cffi-libffi" ,sbcl-cffi-libffi) - ("foreign-array" ,sbcl-foreign-array) + ("antik-base" ,sbcl-antik-base) + ("cffi" ,sbcl-cffi) ("gsl" ,gsl) ("metabang-bind" ,sbcl-metabang-bind) ("trivial-features" ,sbcl-trivial-features) @@ -8043,17 +6902,27 @@ intending to program in Lisp.") (define-public cl-gsll (sbcl-package->cl-source-package sbcl-gsll)) +(define-public ecl-gsll + (sbcl-package->ecl-package sbcl-gsll)) + (define-public sbcl-antik (package (inherit sbcl-antik-base) (name "sbcl-antik") (inputs - `(("gsll" ,sbcl-gsll) - ("physical-dimension" ,sbcl-physical-dimension))) + `(("antik-base" ,sbcl-antik-base) + ("gsll" ,sbcl-gsll))) (arguments - (substitute-keyword-arguments (package-arguments sbcl-antik-base) - ((#:asd-file _ "") "antik.asd") - ((#:asd-system-name _ #f) "antik"))))) + '(#:asd-systems '("antik" + "science-data") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (for-each delete-file + '("antik-base.asd" + "foreign-array.asd")) + #t))))))) (define-public cl-antik (sbcl-package->cl-source-package sbcl-antik)) @@ -8096,13 +6965,11 @@ doesn't support them.") (define-public ecl-cl-interpol (sbcl-package->ecl-package sbcl-cl-interpol)) -(define sbcl-symbol-munger-boot0 - ;; There is a cyclical dependency between symbol-munger and lisp-unit2. - ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 - (let ((commit "cc2bb4b7acd454d756484aec81ba487648385fc3") +(define-public sbcl-symbol-munger + (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416") (revision "1")) (package - (name "sbcl-symbol-munger-boot0") + (name "sbcl-symbol-munger") (version (git-version "0.0.1" revision commit)) (source (origin @@ -8113,16 +6980,15 @@ doesn't support them.") (file-name (git-file-name name version)) (sha256 (base32 - "0diav5ricqsybqvbp4bkxyj3bn3v9n7xb2pqqc4vg1algsw2pyjl")))) + "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "symbol-munger.asd" - #:asd-system-name "symbol-munger")) (inputs - `(("iterate" ,sbcl-iterate) - ("alexandria" ,sbcl-alexandria))) - (native-inputs - `(("lisp-unit" ,sbcl-lisp-unit))) + `(("alexandria" ,sbcl-alexandria) + ("iterate" ,sbcl-iterate))) + (arguments + ;; There is a cyclical dependency between symbol-munger and lisp-unit2. + ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 + '(#:tests? #f)) (synopsis "Capitalization and spacing conversion functions for Common Lisp") (description @@ -8135,13 +7001,19 @@ and camel-case rules.") ;; See https://github.com/AccelerationNet/symbol-munger/issues/5 (license license:expat)))) -(define sbcl-lisp-unit2-boot0 +(define-public cl-symbol-munger + (sbcl-package->cl-source-package sbcl-symbol-munger)) + +(define-public ecl-symbol-munger + (sbcl-package->ecl-package sbcl-symbol-munger)) + +(define-public sbcl-lisp-unit2 ;; There is a cyclical dependency between symbol-munger and lisp-unit2. ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c") (revision "1")) (package - (name "sbcl-lisp-unit2-boot0") + (name "sbcl-lisp-unit2") (version (git-version "0.2.0" revision commit)) (source (origin @@ -8154,14 +7026,11 @@ and camel-case rules.") (base32 "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "lisp-unit2.asd" - #:asd-system-name "lisp-unit2")) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-interpol" ,sbcl-cl-interpol) ("iterate" ,sbcl-iterate) - ("symbol-munger-boot0" ,sbcl-symbol-munger-boot0))) + ("symbol-munger" ,sbcl-symbol-munger))) (synopsis "Test Framework for Common Lisp") (description "LISP-UNIT2 is a Common Lisp library that supports unit testing in the @@ -8170,56 +7039,6 @@ by Chris Riesbeck.") (home-page "https://github.com/AccelerationNet/lisp-unit2") (license license:expat)))) -(define-public sbcl-symbol-munger - (let ((commit "97598d4c3c53fd5da72ab78908fbd5d8c7a13416") - (revision "1")) - (package - (name "sbcl-symbol-munger") - (version (git-version "0.0.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/AccelerationNet/symbol-munger") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y8jywjy0ldyhp7bxf16fdvdd2qgqnd7nlhlqfpfnzxcqk4xy1km")))) - (build-system asdf-build-system/sbcl) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("iterate" ,sbcl-iterate))) - (native-inputs - `(("lisp-unit2-boot0" ,sbcl-lisp-unit2-boot0))) - (synopsis - "Capitalization and spacing conversion functions for Common Lisp") - (description - "This is a Common Lisp library to change the capitalization and spacing -of a string or a symbol. It can convert to and from Lisp, english, underscore -and camel-case rules.") - (home-page "https://github.com/AccelerationNet/symbol-munger") - ;; The package declares a BSD license, but all of the license - ;; text is MIT. - ;; See https://github.com/AccelerationNet/symbol-munger/issues/5 - (license license:expat)))) - -(define-public cl-symbol-munger - (sbcl-package->cl-source-package sbcl-symbol-munger)) - -(define-public ecl-symbol-munger - (sbcl-package->ecl-package sbcl-symbol-munger)) - -(define-public sbcl-lisp-unit2 - (package - (inherit sbcl-lisp-unit2-boot0) - (name "sbcl-lisp-unit2") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-interpol" ,sbcl-cl-interpol) - ("iterate" ,sbcl-iterate) - ("symbol-munger" ,sbcl-symbol-munger))))) - (define-public cl-lisp-unit2 (sbcl-package->cl-source-package sbcl-lisp-unit2)) @@ -8301,11 +7120,11 @@ sacrificing much in the way of power.") (define-public ecl-external-program (sbcl-package->ecl-package sbcl-external-program)) -(define sbcl-cl-ana-boot0 +(define-public sbcl-cl-ana (let ((commit "fa7cee4c50aa1c859652813049ba0da7c18a0df9") (revision "1")) (package - (name "sbcl-cl-ana-boot0") + (name "sbcl-cl-ana") (version (git-version "0.0.0" revision commit)) (source (origin @@ -8315,9 +7134,38 @@ sacrificing much in the way of power.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh")))) + (base32 "0mr47l57m276dbpap7irr4fcnk5fgknhf6mgv4043s8h73amk5qh")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("cl-fad" ,sbcl-cl-fad))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("antik" ,sbcl-antik) + ("cffi" ,sbcl-cffi) + ("cl-csv" ,sbcl-cl-csv) + ("closer-mop" ,sbcl-closer-mop) + ("external-program" ,sbcl-external-program) + ("gsl" ,gsl) + ("gsll" ,sbcl-gsll) + ("hdf5" ,hdf5-parallel-openmpi) + ("iterate" ,sbcl-iterate) + ("libffi" ,libffi) + ("split-sequence" ,sbcl-split-sequence))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "hdf-cffi/hdf-cffi.lisp" + (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so") + (string-append (assoc-ref inputs "hdf5") + "/lib/libhdf5.so"))) + (substitute* "gsl-cffi/gsl-cffi.lisp" + (("define-foreign-library gsl-cffi" all) + (string-append all " (:unix " + (assoc-ref inputs "gsl") + "/lib/libgsl.so)"))) + #t))))) (synopsis "Common Lisp data analysis library") (description "CL-ANA is a data analysis library in Common Lisp providing tabular and @@ -8326,1060 +7174,6 @@ visualization.") (home-page "https://github.com/ghollisjr/cl-ana") (license license:gpl3)))) -(define-public sbcl-cl-ana.pathname-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.pathname-utils") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "pathname-utils/cl-ana.pathname-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.pathname-utils"))))) - -(define-public cl-ana.pathname-utils - (sbcl-package->cl-source-package sbcl-cl-ana.pathname-utils)) - -(define-public ecl-cl-ana.pathname-utils - (sbcl-package->ecl-package sbcl-cl-ana.pathname-utils)) - -(define-public sbcl-cl-ana.package-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.package-utils") - (inputs - `(("alexandria" ,sbcl-alexandria))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "package-utils/cl-ana.package-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.package-utils"))))) - -(define-public cl-ana.package-utils - (sbcl-package->cl-source-package sbcl-cl-ana.package-utils)) - -(define-public ecl-cl-ana.package-utils - (sbcl-package->ecl-package sbcl-cl-ana.package-utils)) - -(define-public sbcl-cl-ana.string-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.string-utils") - (inputs - `(("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "string-utils/cl-ana.string-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.string-utils"))))) - -(define-public cl-ana.string-utils - (sbcl-package->cl-source-package sbcl-cl-ana.string-utils)) - -(define-public ecl-cl-ana.string-utils - (sbcl-package->ecl-package sbcl-cl-ana.string-utils)) - -(define-public sbcl-cl-ana.functional-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.functional-utils") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "functional-utils/cl-ana.functional-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.functional-utils"))))) - -(define-public cl-ana.functional-utils - (sbcl-package->cl-source-package sbcl-cl-ana.functional-utils)) - -(define-public ecl-cl-ana.functional-utils - (sbcl-package->ecl-package sbcl-cl-ana.functional-utils)) - -(define-public sbcl-cl-ana.list-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.list-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "list-utils/cl-ana.list-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.list-utils"))))) - -(define-public cl-ana.list-utils - (sbcl-package->cl-source-package sbcl-cl-ana.list-utils)) - -(define-public ecl-cl-ana.list-utils - (sbcl-package->ecl-package sbcl-cl-ana.list-utils)) - -(define-public sbcl-cl-ana.generic-math - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.generic-math") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "generic-math/cl-ana.generic-math.asd") - ((#:asd-system-name _ #f) "cl-ana.generic-math"))))) - -(define-public cl-ana.generic-math - (sbcl-package->cl-source-package sbcl-cl-ana.generic-math)) - -(define-public ecl-cl-ana.generic-math - (sbcl-package->ecl-package sbcl-cl-ana.generic-math)) - -(define-public sbcl-cl-ana.math-functions - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.math-functions") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "math-functions/cl-ana.math-functions.asd") - ((#:asd-system-name _ #f) "cl-ana.math-functions"))))) - -(define-public cl-ana.math-functions - (sbcl-package->cl-source-package sbcl-cl-ana.math-functions)) - -(define-public sbcl-cl-ana.calculus - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.calculus") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "calculus/cl-ana.calculus.asd") - ((#:asd-system-name _ #f) "cl-ana.calculus"))))) - -(define-public cl-ana.calculus - (sbcl-package->cl-source-package sbcl-cl-ana.calculus)) - -(define-public ecl-cl-ana.calculus - (sbcl-package->ecl-package sbcl-cl-ana.calculus)) - -(define-public sbcl-cl-ana.symbol-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.symbol-utils") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "symbol-utils/cl-ana.symbol-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.symbol-utils"))))) - -(define-public cl-ana.symbol-utils - (sbcl-package->cl-source-package sbcl-cl-ana.symbol-utils)) - -(define-public ecl-cl-ana.symbol-utils - (sbcl-package->ecl-package sbcl-cl-ana.symbol-utils)) - -(define-public sbcl-cl-ana.macro-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.macro-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "macro-utils/cl-ana.macro-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.macro-utils"))))) - -(define-public cl-ana.macro-utils - (sbcl-package->cl-source-package sbcl-cl-ana.macro-utils)) - -(define-public ecl-cl-ana.macro-utils - (sbcl-package->ecl-package sbcl-cl-ana.macro-utils)) - -(define-public sbcl-cl-ana.binary-tree - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.binary-tree") - (inputs - `(("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "binary-tree/cl-ana.binary-tree.asd") - ((#:asd-system-name _ #f) "cl-ana.binary-tree"))))) - -(define-public cl-ana.binary-tree - (sbcl-package->cl-source-package sbcl-cl-ana.binary-tree)) - -(define-public ecl-cl-ana.binary-tree - (sbcl-package->ecl-package sbcl-cl-ana.binary-tree)) - -(define-public sbcl-cl-ana.tensor - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.tensor") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "tensor/cl-ana.tensor.asd") - ((#:asd-system-name _ #f) "cl-ana.tensor"))))) - -(define-public cl-ana.tensor - (sbcl-package->cl-source-package sbcl-cl-ana.tensor)) - -(define-public ecl-cl-ana.tensor - (sbcl-package->ecl-package sbcl-cl-ana.tensor)) - -(define-public sbcl-cl-ana.error-propogation - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.error-propogation") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "error-propogation/cl-ana.error-propogation.asd") - ((#:asd-system-name _ #f) "cl-ana.error-propogation"))))) - -(define-public cl-ana.error-propogation - (sbcl-package->cl-source-package sbcl-cl-ana.error-propogation)) - -(define-public sbcl-cl-ana.quantity - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.quantity") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "quantity/cl-ana.quantity.asd") - ((#:asd-system-name _ #f) "cl-ana.quantity"))))) - -(define-public cl-ana.quantity - (sbcl-package->cl-source-package sbcl-cl-ana.quantity)) - -(define-public sbcl-cl-ana.table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "table/cl-ana.table.asd") - ((#:asd-system-name _ #f) "cl-ana.table"))))) - -(define-public cl-ana.table - (sbcl-package->cl-source-package sbcl-cl-ana.table)) - -(define-public ecl-cl-ana.table - (sbcl-package->ecl-package sbcl-cl-ana.table)) - -(define-public sbcl-cl-ana.table-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.table-utils") - (inputs - `(("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "table-utils/cl-ana.table-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.table-utils"))))) - -(define-public cl-ana.table-utils - (sbcl-package->cl-source-package sbcl-cl-ana.table-utils)) - -(define-public ecl-cl-ana.table-utils - (sbcl-package->ecl-package sbcl-cl-ana.table-utils)) - -(define-public sbcl-cl-ana.hdf-cffi - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-cffi") - (inputs - `(("cffi" ,sbcl-cffi) - ("hdf5" ,hdf5-parallel-openmpi))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-cffi/cl-ana.hdf-cffi.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-cffi") - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "hdf-cffi/hdf-cffi.lisp" - (("/usr/lib/i386-linux-gnu/hdf5/serial/libhdf5.so") - (string-append - (assoc-ref inputs "hdf5") - "/lib/libhdf5.so"))))))))))) - -(define-public cl-ana.hdf-cffi - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-cffi)) - -(define-public ecl-cl-ana.hdf-cffi - (sbcl-package->ecl-package sbcl-cl-ana.hdf-cffi)) - -(define-public sbcl-cl-ana.int-char - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.int-char") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "int-char/cl-ana.int-char.asd") - ((#:asd-system-name _ #f) "cl-ana.int-char"))))) - -(define-public cl-ana.int-char - (sbcl-package->cl-source-package sbcl-cl-ana.int-char)) - -(define-public ecl-cl-ana.int-char - (sbcl-package->ecl-package sbcl-cl-ana.int-char)) - -(define-public sbcl-cl-ana.memoization - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.memoization") - (inputs - `(("alexandria" ,sbcl-alexandria))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "memoization/cl-ana.memoization.asd") - ((#:asd-system-name _ #f) "cl-ana.memoization"))))) - -(define-public cl-ana.memoization - (sbcl-package->cl-source-package sbcl-cl-ana.memoization)) - -(define-public ecl-cl-ana.memoization - (sbcl-package->ecl-package sbcl-cl-ana.memoization)) - -(define-public sbcl-cl-ana.typespec - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.typespec") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.int-char" ,sbcl-cl-ana.int-char) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "typespec/cl-ana.typespec.asd") - ((#:asd-system-name _ #f) "cl-ana.typespec"))))) - -(define-public cl-ana.typespec - (sbcl-package->cl-source-package sbcl-cl-ana.typespec)) - -(define-public ecl-cl-ana.typespec - (sbcl-package->ecl-package sbcl-cl-ana.typespec)) - -(define-public sbcl-cl-ana.hdf-typespec - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-typespec") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-typespec/cl-ana.hdf-typespec.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-typespec"))))) - -(define-public cl-ana.hdf-typespec - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-typespec)) - -(define-public ecl-cl-ana.hdf-typespec - (sbcl-package->ecl-package sbcl-cl-ana.hdf-typespec)) - -(define-public sbcl-cl-ana.hdf-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi) - ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-utils/cl-ana.hdf-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-utils"))))) - -(define-public cl-ana.hdf-utils - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-utils)) - -(define-public ecl-cl-ana.hdf-utils - (sbcl-package->ecl-package sbcl-cl-ana.hdf-utils)) - -(define-public sbcl-cl-ana.typed-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.typed-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "typed-table/cl-ana.typed-table.asd") - ((#:asd-system-name _ #f) "cl-ana.typed-table"))))) - -(define-public cl-ana.typed-table - (sbcl-package->cl-source-package sbcl-cl-ana.typed-table)) - -(define-public ecl-cl-ana.typed-table - (sbcl-package->ecl-package sbcl-cl-ana.typed-table)) - -(define-public sbcl-cl-ana.hdf-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hdf-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree) - ("cl-ana.hdf-cffi" ,sbcl-cl-ana.hdf-cffi) - ("cl-ana.hdf-typespec" ,sbcl-cl-ana.hdf-typespec) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hdf-table/cl-ana.hdf-table.asd") - ((#:asd-system-name _ #f) "cl-ana.hdf-table"))))) - -(define-public cl-ana.hdf-table - (sbcl-package->cl-source-package sbcl-cl-ana.hdf-table)) - -(define-public ecl-cl-ana.hdf-table - (sbcl-package->ecl-package sbcl-cl-ana.hdf-table)) - -(define-public sbcl-cl-ana.gsl-cffi - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.gsl-cffi") - (inputs - `(("cffi" ,sbcl-cffi) - ("gsl" ,gsl))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "gsl-cffi/cl-ana.gsl-cffi.asd") - ((#:asd-system-name _ #f) "cl-ana.gsl-cffi") - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gsl-cffi/gsl-cffi.lisp" - (("define-foreign-library gsl-cffi" all) - (string-append all " (:unix " - (assoc-ref inputs "gsl") - "/lib/libgsl.so)"))))))))))) - -(define-public cl-ana.gsl-cffi - (sbcl-package->cl-source-package sbcl-cl-ana.gsl-cffi)) - -(define-public ecl-cl-ana.gsl-cffi - (sbcl-package->ecl-package sbcl-cl-ana.gsl-cffi)) - -(define-public sbcl-cl-ana.ntuple-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.ntuple-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cl-ana.gsl-cffi" ,sbcl-cl-ana.gsl-cffi) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.typed-table" ,sbcl-cl-ana.typed-table) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "ntuple-table/cl-ana.ntuple-table.asd") - ((#:asd-system-name _ #f) "cl-ana.ntuple-table"))))) - -(define-public cl-ana.ntuple-table - (sbcl-package->cl-source-package sbcl-cl-ana.ntuple-table)) - -(define-public sbcl-cl-ana.csv-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.csv-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("antik" ,sbcl-antik) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-csv" ,sbcl-cl-csv) - ("iterate" ,sbcl-iterate))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "csv-table/cl-ana.csv-table.asd") - ((#:asd-system-name _ #f) "cl-ana.csv-table"))))) - -(define-public cl-ana.csv-table - (sbcl-package->cl-source-package sbcl-cl-ana.csv-table)) - -(define-public sbcl-cl-ana.reusable-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.reusable-table") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "reusable-table/cl-ana.reusable-table.asd") - ((#:asd-system-name _ #f) "cl-ana.reusable-table"))))) - -(define-public cl-ana.reusable-table - (sbcl-package->cl-source-package sbcl-cl-ana.reusable-table)) - -(define-public ecl-cl-ana.reusable-table - (sbcl-package->ecl-package sbcl-cl-ana.reusable-table)) - -(define-public sbcl-cl-ana.linear-algebra - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.linear-algebra") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "linear-algebra/cl-ana.linear-algebra.asd") - ((#:asd-system-name _ #f) "cl-ana.linear-algebra"))))) - -(define-public cl-ana.linear-algebra - (sbcl-package->cl-source-package sbcl-cl-ana.linear-algebra)) - -(define-public sbcl-cl-ana.lorentz - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.lorentz") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("iterate" ,sbcl-iterate))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "lorentz/cl-ana.lorentz.asd") - ((#:asd-system-name _ #f) "cl-ana.lorentz"))))) - -(define-public cl-ana.lorentz - (sbcl-package->cl-source-package sbcl-cl-ana.lorentz)) - -(define-public sbcl-cl-ana.clos-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.clos-utils") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("closer-mop" ,sbcl-closer-mop))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "clos-utils/cl-ana.clos-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.clos-utils"))))) - -(define-public cl-ana.clos-utils - (sbcl-package->cl-source-package sbcl-cl-ana.clos-utils)) - -(define-public ecl-cl-ana.clos-utils - (sbcl-package->ecl-package sbcl-cl-ana.clos-utils)) - -(define-public sbcl-cl-ana.hash-table-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.hash-table-utils") - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "hash-table-utils/cl-ana.hash-table-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.hash-table-utils"))))) - -(define-public cl-ana.hash-table-utils - (sbcl-package->cl-source-package sbcl-cl-ana.hash-table-utils)) - -(define-public ecl-cl-ana.hash-table-utils - (sbcl-package->ecl-package sbcl-cl-ana.hash-table-utils)) - -(define-public sbcl-cl-ana.map - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.map") - (inputs - `(("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "map/cl-ana.map.asd") - ((#:asd-system-name _ #f) "cl-ana.map"))))) - -(define-public cl-ana.map - (sbcl-package->cl-source-package sbcl-cl-ana.map)) - -(define-public ecl-cl-ana.map - (sbcl-package->ecl-package sbcl-cl-ana.map)) - -(define-public sbcl-cl-ana.fitting - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.fitting") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("gsll" ,sbcl-gsll))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "fitting/cl-ana.fitting.asd") - ((#:asd-system-name _ #f) "cl-ana.fitting"))))) - -(define-public cl-ana.fitting - (sbcl-package->cl-source-package sbcl-cl-ana.fitting)) - -(define-public sbcl-cl-ana.histogram - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.histogram") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("iterate" ,sbcl-iterate) - ("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree) - ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils) - ("cl-ana.fitting" ,sbcl-cl-ana.fitting) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "histogram/cl-ana.histogram.asd") - ((#:asd-system-name _ #f) "cl-ana.histogram"))))) - -(define-public cl-ana.histogram - (sbcl-package->cl-source-package sbcl-cl-ana.histogram)) - -(define-public sbcl-cl-ana.file-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.file-utils") - (inputs - `(("external-program" ,sbcl-external-program) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "file-utils/cl-ana.file-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.file-utils"))))) - -(define-public cl-ana.file-utils - (sbcl-package->cl-source-package sbcl-cl-ana.file-utils)) - -(define-public ecl-cl-ana.file-utils - (sbcl-package->ecl-package sbcl-cl-ana.file-utils)) - -(define-public sbcl-cl-ana.statistics - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.statistics") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "statistics/cl-ana.statistics.asd") - ((#:asd-system-name _ #f) "cl-ana.statistics"))))) - -(define-public cl-ana.statistics - (sbcl-package->cl-source-package sbcl-cl-ana.statistics)) - -(define-public sbcl-cl-ana.gnuplot-interface - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.gnuplot-interface") - (inputs - `(("external-program" ,sbcl-external-program))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "gnuplot-interface/cl-ana.gnuplot-interface.asd") - ((#:asd-system-name _ #f) "cl-ana.gnuplot-interface"))))) - -(define-public cl-ana.gnuplot-interface - (sbcl-package->cl-source-package sbcl-cl-ana.gnuplot-interface)) - -(define-public ecl-cl-ana.gnuplot-interface - (sbcl-package->ecl-package sbcl-cl-ana.gnuplot-interface)) - -(define-public sbcl-cl-ana.plotting - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.plotting") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.gnuplot-interface" ,sbcl-cl-ana.gnuplot-interface) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("external-program" ,sbcl-external-program) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "plotting/cl-ana.plotting.asd") - ((#:asd-system-name _ #f) "cl-ana.plotting"))))) - -(define-public cl-ana.plotting - (sbcl-package->cl-source-package sbcl-cl-ana.plotting)) - -(define-public sbcl-cl-ana.table-viewing - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.table-viewing") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "table-viewing/cl-ana.table-viewing.asd") - ((#:asd-system-name _ #f) "cl-ana.table-viewing"))))) - -(define-public cl-ana.table-viewing - (sbcl-package->cl-source-package sbcl-cl-ana.table-viewing)) - -(define-public sbcl-cl-ana.serialization - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.serialization") - (inputs - `(("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.int-char" ,sbcl-cl-ana.int-char) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.typespec" ,sbcl-cl-ana.typespec))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "serialization/cl-ana.serialization.asd") - ((#:asd-system-name _ #f) "cl-ana.serialization"))))) - -(define-public cl-ana.serialization - (sbcl-package->cl-source-package sbcl-cl-ana.serialization)) - -(define-public sbcl-cl-ana.makeres - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.serialization" ,sbcl-cl-ana.serialization) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("external-program" ,sbcl-external-program))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres/cl-ana.makeres.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres"))))) - -(define-public cl-ana.makeres - (sbcl-package->cl-source-package sbcl-cl-ana.makeres)) - -(define-public sbcl-cl-ana.makeres-macro - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-macro") - (inputs - `(("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-macro/cl-ana.makeres-macro.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-macro"))))) - -(define-public cl-ana.makeres-macro - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-macro)) - -(define-public sbcl-cl-ana.makeres-block - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-block") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-block/cl-ana.makeres-block.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-block"))))) - -(define-public cl-ana.makeres-block - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-block)) - -(define-public sbcl-cl-ana.makeres-progress - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-progress") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-progress/cl-ana.makeres-progress.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-progress"))))) - -(define-public cl-ana.makeres-progress - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-progress)) - -(define-public sbcl-cl-ana.makeres-table - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-table") - (inputs - `(("cl-ana.csv-table" ,sbcl-cl-ana.csv-table) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table) - ("cl-ana.hdf-utils" ,sbcl-cl-ana.hdf-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro) - ("cl-ana.memoization" ,sbcl-cl-ana.memoization) - ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-table/cl-ana.makeres-table.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-table"))))) - -(define-public cl-ana.makeres-table - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-table)) - -(define-public sbcl-cl-ana.makeres-graphviz - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-graphviz") - (inputs - `(("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("external-program" ,sbcl-external-program))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-graphviz/cl-ana.makeres-graphviz.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-graphviz"))))) - -(define-public cl-ana.makeres-graphviz - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-graphviz)) - -(define-public sbcl-cl-ana.makeres-branch - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-branch") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-branch/cl-ana.makeres-branch.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-branch"))))) - -(define-public cl-ana.makeres-branch - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-branch)) - -(define-public sbcl-cl-ana.makeres-utils - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.makeres-utils") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils) - ("cl-ana.fitting" ,sbcl-cl-ana.fitting) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.string-utils" ,sbcl-cl-ana.string-utils) - ("cl-ana.symbol-utils" ,sbcl-cl-ana.symbol-utils) - ("cl-ana.table" ,sbcl-cl-ana.table))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "makeres-utils/cl-ana.makeres-utils.asd") - ((#:asd-system-name _ #f) "cl-ana.makeres-utils"))))) - -(define-public cl-ana.makeres-utils - (sbcl-package->cl-source-package sbcl-cl-ana.makeres-utils)) - -(define-public sbcl-cl-ana.statistical-learning - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana.statistical-learning") - (inputs - `(("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.functional-utils" ,sbcl-cl-ana.functional-utils) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra) - ("cl-ana.list-utils" ,sbcl-cl-ana.list-utils) - ("cl-ana.macro-utils" ,sbcl-cl-ana.macro-utils) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.statistics" ,sbcl-cl-ana.statistics))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") - "statistical-learning/cl-ana.statistical-learning.asd") - ((#:asd-system-name _ #f) "cl-ana.statistical-learning"))))) - -(define-public cl-ana.statistical-learning - (sbcl-package->cl-source-package sbcl-cl-ana.statistical-learning)) - -(define-public sbcl-cl-ana - (package - (inherit sbcl-cl-ana-boot0) - (name "sbcl-cl-ana") - (inputs - `(("cl-ana.binary-tree" ,sbcl-cl-ana.binary-tree) - ("cl-ana.calculus" ,sbcl-cl-ana.calculus) - ("cl-ana.clos-utils" ,sbcl-cl-ana.clos-utils) - ("cl-ana.csv-table" ,sbcl-cl-ana.csv-table) - ("cl-ana.error-propogation" ,sbcl-cl-ana.error-propogation) - ("cl-ana.file-utils" ,sbcl-cl-ana.file-utils) - ("cl-ana.fitting" ,sbcl-cl-ana.fitting) - ("cl-ana.generic-math" ,sbcl-cl-ana.generic-math) - ("cl-ana.hash-table-utils" ,sbcl-cl-ana.hash-table-utils) - ("cl-ana.hdf-table" ,sbcl-cl-ana.hdf-table) - ("cl-ana.histogram" ,sbcl-cl-ana.histogram) - ("cl-ana.int-char" ,sbcl-cl-ana.int-char) - ("cl-ana.linear-algebra" ,sbcl-cl-ana.linear-algebra) - ("cl-ana.lorentz" ,sbcl-cl-ana.lorentz) - ("cl-ana.map" ,sbcl-cl-ana.map) - ("cl-ana.makeres" ,sbcl-cl-ana.makeres) - ("cl-ana.makeres-block" ,sbcl-cl-ana.makeres-block) - ("cl-ana.makeres-branch" ,sbcl-cl-ana.makeres-branch) - ("cl-ana.makeres-graphviz" ,sbcl-cl-ana.makeres-graphviz) - ("cl-ana.makeres-macro" ,sbcl-cl-ana.makeres-macro) - ("cl-ana.makeres-progress" ,sbcl-cl-ana.makeres-progress) - ("cl-ana.makeres-table" ,sbcl-cl-ana.makeres-table) - ("cl-ana.makeres-utils" ,sbcl-cl-ana.makeres-utils) - ("cl-ana.math-functions" ,sbcl-cl-ana.math-functions) - ("cl-ana.ntuple-table" ,sbcl-cl-ana.ntuple-table) - ("cl-ana.package-utils" ,sbcl-cl-ana.package-utils) - ("cl-ana.pathname-utils" ,sbcl-cl-ana.pathname-utils) - ("cl-ana.plotting" ,sbcl-cl-ana.plotting) - ("cl-ana.quantity" ,sbcl-cl-ana.quantity) - ("cl-ana.reusable-table" ,sbcl-cl-ana.reusable-table) - ("cl-ana.serialization" ,sbcl-cl-ana.serialization) - ("cl-ana.statistics" ,sbcl-cl-ana.statistics) - ("cl-ana.statistical-learning" ,sbcl-cl-ana.statistical-learning) - ("cl-ana.table" ,sbcl-cl-ana.table) - ("cl-ana.table-utils" ,sbcl-cl-ana.table-utils) - ("cl-ana.table-viewing" ,sbcl-cl-ana.table-viewing) - ("cl-ana.tensor" ,sbcl-cl-ana.tensor) - ("libffi" ,libffi))) - (native-inputs - `(("cl-fad" ,sbcl-cl-fad))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-ana-boot0) - ((#:asd-file _ "") "cl-ana.asd") - ((#:asd-system-name _ #f) "cl-ana"))))) - (define-public cl-ana (sbcl-package->cl-source-package sbcl-cl-ana)) @@ -9515,6 +7309,13 @@ may contain sets, maps may be keyed by sets, etc.") (define-public cl-fset (sbcl-package->cl-source-package sbcl-fset)) +(define-public ecl-fset + (package + (inherit (sbcl-package->ecl-package sbcl-fset)) + (arguments + ;; Tests fails on ECL with "The function FSET::MAKE-CHAR is undefined". + '(#:tests? #f)))) + (define-public sbcl-cl-cont (let ((commit "fc1fa7e6eb64894fdca13e688e6015fad5290d2a") (revision "1")) @@ -9648,7 +7449,6 @@ has a small codebase that's easy to understand and use.") (inputs `(("alexandria" ,sbcl-alexandria) ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("libuv" ,libuv))) (arguments `(#:phases @@ -9678,11 +7478,11 @@ has a small codebase that's easy to understand and use.") (define-public ecl-cl-libuv (sbcl-package->ecl-package sbcl-cl-libuv)) -(define-public sbcl-cl-async-base +(define-public sbcl-cl-async (let ((commit "f6423e44404a44434d803605e0d2e17199158e28") (revision "1")) (package - (name "sbcl-cl-async-base") + (name "sbcl-cl-async") (version (git-version "0.6.1" revision commit)) (source (origin @@ -9696,98 +7496,23 @@ has a small codebase that's easy to understand and use.") "11xi9dxb8mjgwzrkj88i0xkgk26z9w9ddxzbv6xsvfc1d4x5cf4x")))) (build-system asdf-build-system/sbcl) (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) + `(("babel" ,sbcl-babel) + ("bordeaux-threads" ,sbcl-bordeaux-threads) ("cffi" ,sbcl-cffi) - ("cl-libuv" ,sbcl-cl-libuv))) + ("cl-libuv" ,sbcl-cl-libuv) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("fast-io" ,sbcl-fast-io) + ("openssl" ,openssl) + ("static-vectors" ,sbcl-static-vectors) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("vom" ,sbcl-vom))) (arguments - `(#:asd-file "cl-async.asd")) - (synopsis "Base system for cl-async") - (description - "Cl-async is a library for general purpose, non-blocking programming in -Common Lisp. It uses the libuv library as backend.") - (home-page "https://orthecreedence.github.io/cl-async/") - (license license:expat)))) - -(define-public cl-async-base - (sbcl-package->cl-source-package sbcl-cl-async-base)) - -(define-public ecl-cl-async-base - (sbcl-package->ecl-package sbcl-cl-async-base)) - -(define-public sbcl-cl-async-util - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async-util") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("cffi" ,sbcl-cffi) - ("cl-async-base" ,sbcl-cl-async-base) - ("cl-libuv" ,sbcl-cl-libuv) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("fast-io" ,sbcl-fast-io) - ("vom" ,sbcl-vom))) - (synopsis "Internal utilities for cl-async"))) - -(define-public cl-async-util - (sbcl-package->cl-source-package sbcl-cl-async-util)) - -(define-public ecl-cl-async-util - (sbcl-package->ecl-package sbcl-cl-async-util)) - -(define-public sbcl-cl-async - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async") - (inputs - `(("babel" ,sbcl-babel) - ("cffi" ,sbcl-cffi) - ("cl-async-base" ,sbcl-cl-async-base) - ("cl-async-util" ,sbcl-cl-async-util) - ("cl-libuv" ,sbcl-cl-libuv) - ("cl-ppcre" ,sbcl-cl-ppcre) - ("static-vectors" ,sbcl-static-vectors) - ("trivial-features" ,sbcl-trivial-features) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) - (synopsis "Asynchronous operations for Common Lisp"))) - -(define-public cl-async - (sbcl-package->cl-source-package sbcl-cl-async)) - -(define-public ecl-cl-async - (sbcl-package->ecl-package sbcl-cl-async)) - -(define-public sbcl-cl-async-repl - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async-repl") - (inputs - `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("cl-async" ,sbcl-cl-async))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-async-base) - ((#:asd-file _ "") "cl-async-repl.asd"))) - (synopsis "REPL integration for cl-async"))) - -(define-public cl-async-repl - (sbcl-package->cl-source-package sbcl-cl-async-repl)) - -(define-public ecl-cl-async-repl - (sbcl-package->ecl-package sbcl-cl-async-repl)) - -(define-public sbcl-cl-async-ssl - (package - (inherit sbcl-cl-async-base) - (name "sbcl-cl-async-ssl") - (inputs - `(("cffi" ,sbcl-cffi) - ("cl-async" ,sbcl-cl-async) - ("openssl" ,openssl) - ("vom" ,sbcl-vom))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-cl-async-base) - ((#:asd-file _ "") "cl-async-ssl.asd") - ((#:phases phases '%standard-phases) - `(modify-phases ,phases + `(#:asd-systems '("cl-async" + "cl-async-repl" + "cl-async-ssl") + #:phases + (modify-phases %standard-phases (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/ssl/package.lisp" @@ -9797,14 +7522,19 @@ Common Lisp. It uses the libuv library as backend.") (("libssl\\.so") (string-append (assoc-ref inputs "openssl") "/lib/libssl.so"))) - #t)))))) - (synopsis "SSL wrapper around cl-async socket implementation"))) + #t))))) + (synopsis "Asynchronous operations for Common Lisp") + (description + "Cl-async is a library for general purpose, non-blocking programming in +Common Lisp. It uses the libuv library as backend.") + (home-page "https://orthecreedence.github.io/cl-async/") + (license license:expat)))) -(define-public cl-async-ssl - (sbcl-package->cl-source-package sbcl-cl-async-ssl)) +(define-public cl-async + (sbcl-package->cl-source-package sbcl-cl-async)) -(define-public ecl-cl-async-ssl - (sbcl-package->ecl-package sbcl-cl-async-ssl)) +(define-public ecl-cl-async + (sbcl-package->ecl-package sbcl-cl-async)) (define-public sbcl-blackbird (let ((commit "d361f81c1411dec07f6c2dcb11c78f7aea9aaca8") @@ -10006,21 +7736,30 @@ ZeroMQ.") `(("imagemagick" ,imagemagick) ("tk" ,tk))) (arguments - `(#:asd-file "ltk/ltk.asd" + `(#:asd-systems '("ltk" + "ltk-mw" + "ltk-remote") #:tests? #f - #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "ltk/ltk.lisp" - (("#-freebsd \"wish\"") - (string-append "#-freebsd \"" - (assoc-ref inputs "tk") - "/bin/wish\"")) - (("do-execute \"convert\"") - (string-append "do-execute \"" - (assoc-ref inputs "imagemagick") - "/bin/convert\""))) - #t))))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ltk/ltk.lisp" + (("#-freebsd \"wish\"") + (string-append "#-freebsd \"" + (assoc-ref inputs "tk") + "/bin/wish\"")) + (("do-execute \"convert\"") + (string-append "do-execute \"" + (assoc-ref inputs "imagemagick") + "/bin/convert\""))) + #t)) + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "ltk/ltk-remote.lisp" + (("\\(:export") + "(:shadow #:raise) (:export")) + #t))))) (synopsis "Common Lisp bindings for the Tk GUI toolkit") (description "LTK is a Common Lisp binding for the Tk graphics toolkit. It is written @@ -10034,44 +7773,6 @@ in pure Common Lisp and does not require any Tk knowledge for its usage.") (define-public ecl-ltk (sbcl-package->ecl-package sbcl-ltk)) -(define-public sbcl-ltk-mw - (package - (inherit sbcl-ltk) - (name "sbcl-ltk-mw") - (inputs - `(("ltk" ,sbcl-ltk))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-ltk) - ((#:asd-file _) "ltk/ltk-mw.asd") - ((#:phases _) '%standard-phases))) - (synopsis "Extra widgets for LTK") - (description - "This is a collection of higher-level widgets built on top of LTK."))) - -(define-public cl-ltk-mw - (sbcl-package->cl-source-package sbcl-ltk-mw)) - -(define-public ecl-ltk-mw - (sbcl-package->ecl-package sbcl-ltk-mw)) - -(define-public sbcl-ltk-remote - (package - (inherit sbcl-ltk) - (name "sbcl-ltk-remote") - (inputs - `(("ltk" ,sbcl-ltk))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-ltk) - ((#:asd-file _) "ltk/ltk-remote.asd") - ((#:phases _) '%standard-phases))) - (synopsis "Remote GUI support for LTK") - (description - "This LTK extension allows the GUI to be displayed on a computer different -from the one running the Lisp program by using a TCP connection."))) - -(define-public cl-ltk-remote - (sbcl-package->cl-source-package sbcl-ltk-remote)) - (define-public sbcl-cl-lex (let ((commit "f2dbbe25ef553005fb402d9a6203180c3fa1093b") (revision "1")) @@ -10400,14 +8101,11 @@ them as PNG files.") "/LICENSE"))) (inputs `(("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("hdf5" ,hdf5-1.10))) (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "hdf5-cffi" - #:asd-file "hdf5-cffi.asd" - #:test-asd-file "hdf5-cffi.test.asd" + `(#:test-asd-file "hdf5-cffi.test.asd" ;; Tests depend on hdf5-cffi.examples.asd in addition to hdf5-cffi.asd, ;; I don't know if there is a way to tell asdf-build-system to load ;; an additional system first, so tests are disabled. @@ -10458,9 +8156,7 @@ generation functions from the GSL library.") (home-page "https://github.com/lvaruzza/cl-randist") (license license:bsd-2) (arguments - `(#:asd-system-name "cl-randist" - #:asd-file "cl-randist.asd" - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-randist (sbcl-package->cl-source-package sbcl-cl-randist)) @@ -10492,9 +8188,7 @@ covered by the Common Lisp standard.") (inputs `(("documentation-utils" ,sbcl-documentation-utils))) (arguments - `(#:asd-system-name "float-features" - #:asd-file "float-features.asd" - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-float-features (sbcl-package->cl-source-package sbcl-float-features)) @@ -10532,9 +8226,7 @@ caching based on arguments (an expanded form of memoization).") ("symbol-munger" ,sbcl-symbol-munger) ("closer-mop" ,sbcl-closer-mop))) (arguments - `(#:asd-system-name "function-cache" - #:asd-file "function-cache.asd" - #:tests? #f)))) + `(#:tests? #f)))) (define-public cl-function-cache (sbcl-package->cl-source-package sbcl-function-cache)) @@ -10572,13 +8264,14 @@ the elements in compound type specifier, e.g. @code{dimensions} in (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "type-r" - #:asd-file "type-r.asd" - #:test-asd-file "type-r.test.asd"))))) + `(#:test-asd-file "type-r.test.asd"))))) (define-public cl-type-r (sbcl-package->cl-source-package sbcl-type-r)) +(define-public ecl-type-r + (sbcl-package->ecl-package sbcl-type-r)) + (define-public sbcl-trivialib-type-unify (let ((commit "62492ebf04db567dcf435ae84c50b7b8202ecf99") (revision "1")) @@ -10611,16 +8304,18 @@ correctly.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "trivialib.type-unify" - #:asd-file "trivialib.type-unify.asd" + `(#:asd-systems '("trivialib.type-unify") #:test-asd-file "trivialib.type-unify.test.asd"))))) (define-public cl-trivialib-type-unify (sbcl-package->cl-source-package sbcl-trivialib-type-unify)) +(define-public ecl-trivialib-type-unify + (sbcl-package->ecl-package sbcl-trivialib-type-unify)) + (define-public sbcl-specialized-function - (let ((commit "b96b6afaf8358bf91cc0703e62a5a4ee20d2b7bc") - (revision "1")) + (let ((commit "dee56d2d2b6ecd10500ad291c56217698604ec35") + (revision "2")) (package (name "sbcl-specialized-function") (version (git-version "0.0.0" revision commit)) @@ -10632,8 +8327,7 @@ correctly.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "12j45ff0n26578vmfbhb9mfbdchw4wy023k0m2ppgl9s0z4bhjaj")))) + (base32 "1mcc7mmpbnmgnr1cl2jl5r1ai54gn7fbisv2c14sh9za5w4sib82")))) (build-system asdf-build-system/sbcl) (synopsis "Julia-like dispatch for Common Lisp") (description @@ -10653,13 +8347,15 @@ code. The main target of this macro is speed.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "specialized-function" - #:asd-file "specialized-function.asd" + `(#:asd-files '("specialized-function.asd") #:test-asd-file "specialized-function.test.asd"))))) (define-public cl-specialized-function (sbcl-package->cl-source-package sbcl-specialized-function)) +(define-public ecl-specialized-function + (sbcl-package->ecl-package sbcl-specialized-function)) + (define-public sbcl-constantfold (let ((commit "0ff1d97a3fbcb89264f6a2af6ce62b73e7b421f4") (revision "1")) @@ -10691,16 +8387,18 @@ additional form that is considered as a candidate for a constant.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "constantfold" - #:asd-file "constantfold.asd" + `(#:asd-files '("constantfold.asd") #:test-asd-file "constantfold.test.asd"))))) (define-public cl-constantfold (sbcl-package->cl-source-package sbcl-constantfold)) +(define-public ecl-constantfold + (sbcl-package->ecl-package sbcl-constantfold)) + (define-public sbcl-gtype - (let ((commit "42275e3606242ae91e9c8dfa30c18ced50a35b66") - (revision "1")) + (let ((commit "2442e32485635525af278ebd8fa69a27d5b8cf18") + (revision "2")) (package (name "sbcl-gtype") (version (git-version "0.1" revision commit)) @@ -10712,8 +8410,7 @@ additional form that is considered as a candidate for a constant.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "1f56dba998v945jcxhha391557n6md1ql25b7icfwwfivhmlaa9b")))) + (base32 "0hbkfdw00v7bsa6zbric34p5w6hfwxycccg8wc2faq0cxhsvpv9h")))) (build-system asdf-build-system/sbcl) (synopsis "C++/Julia-like parametric types in Common Lisp") (description @@ -10731,16 +8428,24 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "gtype" - #:asd-file "gtype.asd" + `(#:asd-files '("gtype.asd") #:test-asd-file "gtype.test.asd"))))) (define-public cl-gtype (sbcl-package->cl-source-package sbcl-gtype)) +(define-public ecl-gtype + (let ((pkg (sbcl-package->ecl-package sbcl-gtype))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ;; The tests fail on ECL with a COMPILE-FILE-ERROR for t/package.lisp. + ((#:tests? _ #f) #f)))))) + (define-public sbcl-numcl - (let ((commit "1cf7dfa59f763a24a501092870e9c5ee745d0c17") - (revision "1")) + (let ((commit "3e8d40bf774e070e7af1d3dbf01bc8c37dbebd3a") + (revision "2")) (package (name "sbcl-numcl") (version (git-version "0.1.0" revision commit)) @@ -10752,8 +8457,7 @@ type correctness in Common Lisp. It is based on CLtL2 extensions.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "0i3jby9hf4ii7blivgyza80g0vmjfhk8537i5i7kqqk0i5sdnym2")))) + (base32 "1hqpr68f6xkxaj1hjjayyh97wcdmj51k20qrd3nsv1rcpmdc5ll4")))) (build-system asdf-build-system/sbcl) (synopsis "Numpy clone in Common Lisp") (description @@ -10778,13 +8482,23 @@ and usefulness, not speed. Track the progress at (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-system-name "numcl" - #:asd-file "numcl.asd" - #:test-asd-file "numcl.test.asd"))))) + `(#:asd-files '("numcl.asd") + #:test-asd-file "numcl.test.asd" + ;; Tests fail on SBCL with "Heap exhausted, game over", + ;; but they pass on ECL. + #:tests? #f))))) (define-public cl-numcl (sbcl-package->cl-source-package sbcl-numcl)) +(define-public ecl-numcl + (let ((pkg (sbcl-package->ecl-package sbcl-numcl))) + (package + (inherit pkg) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:tests? _ #f) #t)))))) + (define-public sbcl-pzmq (let ((commit "7c7390eedc469d033c72dc497984d1536ee75826") (revision "1")) @@ -10807,7 +8521,6 @@ and usefulness, not speed. Track the progress at ("let-plus" ,sbcl-let-plus))) (inputs `(("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("zeromq" ,zeromq))) (arguments `(#:phases (modify-phases %standard-phases @@ -10945,11 +8658,14 @@ approach to templating.") (define-public cl-mysql (sbcl-package->cl-source-package sbcl-cl-mysql)) -(define-public sbcl-simple-date +(define-public ecl-cl-mysql + (sbcl-package->ecl-package sbcl-cl-mysql)) + +(define-public sbcl-postmodern (let ((commit "74469b25bbda990ec9b77e0d0eccdba0cd7e721a") (revision "1")) (package - (name "sbcl-simple-date") + (name "sbcl-postmodern") (version (git-version "1.19" revision commit)) (source (origin @@ -10963,108 +8679,23 @@ approach to templating.") (build-system asdf-build-system/sbcl) (native-inputs `(("fiveam" ,sbcl-fiveam))) - (synopsis "Basic date and time objects for Common Lisp") + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("closer-mop" ,sbcl-closer-mop) + ("global-vars" ,sbcl-global-vars) + ("md5" ,sbcl-md5) + ("split-sequence" ,sbcl-split-sequence) + ("usocket" ,sbcl-usocket))) + (arguments + ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, + ;; cl-postgres/tests and s-sql/tests. + `(#:tests? #f + #:asd-systems '("postmodern" + "simple-date/postgres-glue"))) + (synopsis "Common Lisp library for interacting with PostgreSQL") (description - "@code{simple-date} is a very basic implementation of date and time -objects, used to support storing and retrieving time-related SQL types.") - (home-page "https://marijnhaverbeke.nl/postmodern/") - (license license:zlib)))) - -(define-public cl-simple-date - (sbcl-package->cl-source-package sbcl-simple-date)) - -(define-public ecl-simple-date - (sbcl-package->ecl-package sbcl-simple-date)) - -(define-public sbcl-cl-postgres - (package - (inherit sbcl-simple-date) - (name "sbcl-cl-postgres") - (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("simple-date" ,sbcl-simple-date))) - (inputs - `(("md5" ,sbcl-md5) - ("split-sequence" ,sbcl-split-sequence) - ("usocket" ,sbcl-usocket))) - (arguments - `(#:tests? #f)) ; TODO: Break simple-date/postgres-glue circular dependency - (synopsis "Common Lisp interface for PostgreSQL") - (description - "@code{cl-postgres} is a low-level library used for interfacing with -a PostgreSQL server over a socket."))) - -(define-public cl-postgres - (sbcl-package->cl-source-package sbcl-cl-postgres)) - -(define-public ecl-cl-postgres - (package - (inherit (sbcl-package->ecl-package sbcl-cl-postgres)) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-ecl - (lambda _ - (substitute* "cl-postgres.asd" - (("\\) \"usocket\"") " :ecl) \"usocket\"")) - #t))) - #:tests? #f)))) - -(define-public sbcl-simple-date-postgres-glue - (package - (inherit sbcl-simple-date) - (name "sbcl-simple-date-postgres-glue") - (inputs - `(("cl-postgres" ,sbcl-cl-postgres) - ("simple-date" ,sbcl-simple-date))) - (arguments - `(#:asd-file "simple-date.asd" - #:asd-system-name "simple-date/postgres-glue")))) - -(define-public cl-simple-date-postgres-glue - (sbcl-package->cl-source-package sbcl-simple-date-postgres-glue)) - -(define-public sbcl-s-sql - (package - (inherit sbcl-simple-date) - (name "sbcl-s-sql") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-postgres" ,sbcl-cl-postgres))) - (arguments - `(#:tests? #f)) ; TODO: Break postmodern circular dependency - (synopsis "Lispy DSL for SQL") - (description - "@code{s-sql} is a Common Lisp library that can be used to compile -s-expressions to strings of SQL code, escaping any Lisp values inside, and -doing as much as possible of the work at compile time."))) - -(define-public cl-s-sql - (sbcl-package->cl-source-package sbcl-s-sql)) - -(define-public sbcl-postmodern - (package - (inherit sbcl-simple-date) - (name "sbcl-postmodern") - (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("simple-date" ,sbcl-simple-date) - ("simple-date-postgres-glue" ,sbcl-simple-date-postgres-glue))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("cl-postgres" ,sbcl-cl-postgres) - ("closer-mop" ,sbcl-closer-mop) - ("global-vars" ,sbcl-global-vars) - ("s-sql" ,sbcl-s-sql) - ("split-sequence" ,sbcl-split-sequence))) - (arguments - ;; TODO: Fix missing dependency errors for simple-date/postgres-glue, - ;; cl-postgres/tests and s-sql/tests. - `(#:tests? #f)) - (synopsis "Common Lisp library for interacting with PostgreSQL") - (description - "@code{postmodern} is a Common Lisp library for interacting with + "@code{postmodern} is a Common Lisp library for interacting with PostgreSQL databases. It provides the following features: @itemize @@ -11074,11 +8705,29 @@ foreign libraries. @item A syntax for mixing SQL and Lisp code. @item Convenient support for prepared statements and stored procedures. @item A metaclass for simple database-access objects. -@end itemize\n"))) +@end itemize\n") + (home-page "https://marijnhaverbeke.nl/postmodern/") + (license license:zlib)))) (define-public cl-postmodern (sbcl-package->cl-source-package sbcl-postmodern)) +(define-public ecl-postmodern + (package + (inherit (sbcl-package->ecl-package sbcl-postmodern)) + (arguments + `(#:tests? #f + #:asd-systems '("postmodern" + "simple-date/postgres-glue") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "cl-postgres.asd" + (("\\) \"usocket\"") + " :ecl) \"usocket\"")) + #t))))))) + (define-public sbcl-dbi ;; Master includes a breaking change which other packages depend on since ;; Quicklisp decided to follow it: @@ -11097,12 +8746,22 @@ foreign libraries. (sha256 (base32 "0r3n4rw12qqxad0cryym2ibm4ddl49gbq4ra227afibsr43nw5k3")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("rove" ,sbcl-rove) + ("trivial-types" ,sbcl-trivial-types))) (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-mysql" ,sbcl-cl-mysql) + ("cl-sqlite" ,sbcl-cl-sqlite) ("closer-mop" ,sbcl-closer-mop) - ("split-sequence" ,sbcl-split-sequence))) + ("postmodern" ,sbcl-postmodern) + ("split-sequence" ,sbcl-split-sequence) + ("trivial-garbage" ,sbcl-trivial-garbage))) (arguments - `(#:tests? #f)) ; TODO: Break circular dependency with dbd-* + `(#:asd-systems '("dbi" + "dbd-mysql" + "dbd-postgres" + "dbd-sqlite3"))) (synopsis "Database independent interface for Common Lisp") (description "@code{dbi} is a Common Lisp library providing a database independent @@ -11113,43 +8772,8 @@ interface for MySQL, PostgreSQL and SQLite.") (define-public cl-dbi (sbcl-package->cl-source-package sbcl-dbi)) -(define-public sbcl-dbd-mysql - (package - (inherit sbcl-dbi) - (name "sbcl-dbd-mysql") - (inputs - `(("cl-mysql" ,sbcl-cl-mysql) - ("dbi" ,sbcl-dbi))) - (synopsis "Database driver for MySQL"))) - -(define-public cl-dbd-mysql - (sbcl-package->cl-source-package sbcl-dbd-mysql)) - -(define-public sbcl-dbd-postgres - (package - (inherit sbcl-dbi) - (name "sbcl-dbd-postgres") - (inputs - `(("cl-postgres" ,sbcl-cl-postgres) - ("dbi" ,sbcl-dbi) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (synopsis "Database driver for PostgreSQL"))) - -(define-public cl-dbd-postgres - (sbcl-package->cl-source-package sbcl-dbd-postgres)) - -(define-public sbcl-dbd-sqlite3 - (package - (inherit sbcl-dbi) - (name "sbcl-dbd-sqlite3") - (inputs - `(("cl-sqlite" ,sbcl-cl-sqlite) - ("dbi" ,sbcl-dbi) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (synopsis "Database driver for SQLite3"))) - -(define-public cl-dbd-sqlite3 - (sbcl-package->cl-source-package sbcl-dbd-sqlite3)) +(define-public ecl-dbi + (sbcl-package->ecl-package sbcl-dbi)) (define-public sbcl-uffi (package @@ -11167,6 +8791,7 @@ interface for MySQL, PostgreSQL and SQLite.") (build-system asdf-build-system/sbcl) (arguments `(#:tests? #f ; TODO: Fix use of deprecated ASDF functions + #:asd-files '("uffi.asd") #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-permissions @@ -11188,10 +8813,8 @@ interface for MySQL, PostgreSQL and SQLite.") ;; asdf-build-system/source has its own phases and does not inherit ;; from asdf-build-system/sbcl phases. (modify-phases %standard-phases/source - (add-after 'unpack 'fix-permissions - (lambda _ - (make-file-writable "doc/html.tar.gz") - #t))))))) + ;; Already done in SBCL package. + (delete 'reset-gzip-timestamps)))))) (define-public sbcl-clsql (package @@ -11215,16 +8838,82 @@ interface for MySQL, PostgreSQL and SQLite.") #t)))) (build-system asdf-build-system/sbcl) (native-inputs - `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat) - ("rt" ,sbcl-rt) - ("uffi" ,sbcl-uffi))) + `(("rt" ,sbcl-rt))) + (inputs + `(("cffi" ,sbcl-cffi) + ("md5" ,sbcl-md5) + ("mysql" ,mysql) + ("postgresql" ,postgresql) + ("postmodern" ,sbcl-postmodern) + ("sqlite" ,sqlite) + ("uffi" ,sbcl-uffi) + ("zlib" ,zlib))) (arguments - `(#:phases + `(#:asd-files '("clsql.asd" + "clsql-uffi.asd" + "clsql-sqlite3.asd" + "clsql-postgresql.asd" + "clsql-postgresql-socket3.asd" + "clsql-mysql.asd") + #:asd-systems '("clsql" + "clsql-sqlite3" + "clsql-postgresql" + "clsql-postgresql-socket3" + "clsql-mysql") + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-permissions (lambda _ (make-file-writable "doc/html.tar.gz") #t)) + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "clsql-uffi.asd" + (("\\(:version uffi \"2.0\"\\)") + "uffi")) + (substitute* "db-postgresql/postgresql-api.lisp" + (("\\(data :cstring\\)") + "(data :string)")) + #t)) + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "db-sqlite3/sqlite3-loader.lisp" + (("libsqlite3") + (string-append (assoc-ref inputs "sqlite") + "/lib/libsqlite3"))) + (substitute* "db-postgresql/postgresql-loader.lisp" + (("libpq") + (string-append (assoc-ref inputs "postgresql") + "/lib/libpq"))) + (let ((lib (string-append "#p\"" + (assoc-ref outputs "out") + "/lib/\""))) + (substitute* "clsql-mysql.asd" + (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"") + lib)) + (substitute* "db-mysql/mysql-loader.lisp" + (("libmysqlclient" all) + (string-append (assoc-ref inputs "mysql") "/lib/" all)) + (("clsql-mysql-system::\\*library-file-dir\\*") + lib))) + #t)) + (add-before 'build 'build-helper-library + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((mysql (assoc-ref inputs "mysql")) + (inc-dir (string-append mysql "/include/mysql")) + (lib-dir (string-append mysql "/lib")) + (shared-lib-dir (string-append (assoc-ref outputs "out") + "/lib")) + (shared-lib (string-append shared-lib-dir + "/clsql_mysql.so"))) + (mkdir-p shared-lib-dir) + (invoke "gcc" "-fPIC" "-shared" + "-I" inc-dir + "db-mysql/clsql_mysql.c" + "-Wl,-soname=clsql_mysql" + "-L" lib-dir "-lmysqlclient" "-lz" + "-o" shared-lib) + #t))) (add-after 'unpack 'fix-tests (lambda _ (substitute* "clsql.asd" @@ -11250,9 +8939,9 @@ interfaces as well as a functional and an object oriented interface.") ("sqlite" ,sqlite) ("zlib" ,zlib))) (propagated-inputs - `(("cl-postgres" ,cl-postgres) - ("cffi-uffi-compat" ,cl-cffi-uffi-compat) + `(("cffi" ,cl-cffi) ("md5" ,cl-md5) + ("postmodern" ,cl-postmodern) ("uffi" ,cl-uffi))) (arguments `(#:phases @@ -11264,126 +8953,16 @@ interfaces as well as a functional and an object oriented interface.") (make-file-writable "doc/html.tar.gz") #t))))))) -(define-public sbcl-clsql-uffi - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-uffi") - (inputs - `(("cffi-uffi-compat" ,sbcl-cffi-uffi-compat) - ("clsql" ,sbcl-clsql) - ("uffi" ,sbcl-uffi))) - (synopsis "UFFI helper functions for Common Lisp SQL interface library"))) - -(define-public sbcl-clsql-sqlite3 - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-sqlite3") - (inputs - `(("clsql" ,sbcl-clsql) - ("clsql-uffi" ,sbcl-clsql-uffi) - ("sqlite" ,sqlite))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "db-sqlite3/sqlite3-loader.lisp" - (("libsqlite3") - (string-append (assoc-ref inputs "sqlite") - "/lib/libsqlite3"))) - #t)))))) - (synopsis "SQLite3 driver for Common Lisp SQL interface library"))) - -(define-public sbcl-clsql-postgresql - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-postgresql") - (inputs - `(("clsql" ,sbcl-clsql) - ("clsql-uffi" ,sbcl-clsql-uffi) - ("postgresql" ,postgresql))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "db-postgresql/postgresql-loader.lisp" - (("libpq") - (string-append (assoc-ref inputs "postgresql") - "/lib/libpq"))) - #t)))))) - (synopsis "PostgreSQL driver for Common Lisp SQL interface library"))) - -(define-public sbcl-clsql-postgresql-socket3 - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-postgresql-socket3") - (inputs - `(("cl-postgres" ,sbcl-cl-postgres) - ("clsql" ,sbcl-clsql) - ("md5" ,sbcl-md5))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'create-asd-file 'fix-asd-file - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/" (%lisp-type))) - (asd (string-append lib "/clsql-postgresql-socket3.asd"))) - (substitute* asd - (("CLSQL-POSTGRESQL-SOCKET-SYSTEM::") - ""))) - #t)))))) - (synopsis "PostgreSQL driver for Common Lisp SQL interface library"))) - -(define-public sbcl-clsql-mysql - (package - (inherit sbcl-clsql) - (name "sbcl-clsql-mysql") - (inputs - `(("mysql" ,mysql) - ("sbcl-clsql" ,sbcl-clsql) - ("sbcl-clsql-uffi" ,sbcl-clsql-uffi) - ("zlib" ,zlib))) - (arguments - (substitute-keyword-arguments (package-arguments sbcl-clsql) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((lib (string-append "#p\"" - (assoc-ref outputs "out") - "/lib/\""))) - (substitute* "clsql-mysql.asd" - (("#p\"/usr/lib/clsql/clsql_mysql\\.so\"") - lib)) - (substitute* "db-mysql/mysql-loader.lisp" - (("libmysqlclient" all) - (string-append (assoc-ref inputs "mysql") "/lib/" all)) - (("clsql-mysql-system::\\*library-file-dir\\*") - lib))) - #t)) - (add-before 'build 'build-helper-library - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((mysql (assoc-ref inputs "mysql")) - (inc-dir (string-append mysql "/include/mysql")) - (lib-dir (string-append mysql "/lib")) - (shared-lib-dir (string-append (assoc-ref outputs "out") - "/lib")) - (shared-lib (string-append shared-lib-dir - "/clsql_mysql.so"))) - (mkdir-p shared-lib-dir) - (invoke "gcc" "-fPIC" "-shared" - "-I" inc-dir - "db-mysql/clsql_mysql.c" - "-Wl,-soname=clsql_mysql" - "-L" lib-dir "-lmysqlclient" "-lz" - "-o" shared-lib) - #t))))))) - (synopsis "MySQL driver for Common Lisp SQL interface library"))) +(define-public ecl-clsql + (let ((pkg (sbcl-package->ecl-package sbcl-clsql))) + (package + (inherit pkg) + (inputs + (alist-delete "uffi" (package-inputs pkg))) + (arguments + (substitute-keyword-arguments (package-arguments pkg) + ((#:asd-files asd-files '()) + `(cons "clsql-cffi.asd" ,asd-files))))))) (define-public sbcl-sycamore (let ((commit "fd2820fec165ad514493426dea209728f64e6d18")) @@ -11400,8 +8979,6 @@ interfaces as well as a functional and an object oriented interface.") (sha256 (base32 "00bv1aj89q5vldmq92zp2364jq312zjq2mbd3iyz1s2b4widzhl7")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:asd-file "src/sycamore.asd")) (inputs `(("alexandria" ,sbcl-alexandria) ("cl-ppcre" ,sbcl-cl-ppcre))) @@ -11424,6 +9001,9 @@ If features: (define-public cl-sycamore (sbcl-package->cl-source-package sbcl-sycamore)) +(define-public ecl-sycamore + (sbcl-package->ecl-package sbcl-sycamore)) + (define-public sbcl-trivial-package-local-nicknames (package (name "sbcl-trivial-package-local-nicknames") @@ -11449,6 +9029,9 @@ in DEFPACKAGE.") (define-public cl-trivial-package-local-nicknames (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames)) +(define-public ecl-trivial-package-local-nicknames + (sbcl-package->ecl-package sbcl-trivial-package-local-nicknames)) + (define-public sbcl-enchant (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa")) (package @@ -11488,6 +9071,9 @@ multiple checkers, including Aspell and Hunspell.") (define-public cl-enchant (sbcl-package->cl-source-package sbcl-enchant)) +(define-public ecl-enchant + (sbcl-package->ecl-package sbcl-enchant)) + (define-public sbcl-cl-change-case (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3")) (package @@ -11523,6 +9109,9 @@ PascalCase, snake_case, param-case, CONSTANT_CASE and more.") (define-public cl-change-case (sbcl-package->cl-source-package sbcl-cl-change-case)) +(define-public ecl-cl-change-case + (sbcl-package->ecl-package sbcl-cl-change-case)) + (define-public sbcl-moptilities (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41")) (package @@ -11543,6 +9132,15 @@ PascalCase, snake_case, param-case, CONSTANT_CASE and more.") `(("closer-mop" ,sbcl-closer-mop))) (native-inputs `(("lift" ,sbcl-lift))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "lift-standard.config" + ((":relative-to lift-test") + ":relative-to moptilities-test")) + #t))))) (synopsis "Compatibility layer for Common Lisp MOP implementation differences") (description "MOP utilities provide a common interface between Lisps and make the @@ -11568,29 +9166,12 @@ MOP easier to use.") (sha256 (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc")))) (build-system asdf-build-system/sbcl) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; The cleanup phase moves files around but we need to keep the - ;; directory structure for the grovel-generated library. - (replace 'cleanup - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/sbcl/"))) - (delete-file-recursively (string-append lib "src")) - (delete-file-recursively (string-append lib "tests")) - (for-each delete-file - (filter (lambda (file) - (not (member (basename file) '("libosicat.so")))) - (find-files (string-append lib "posix") ".*")))) - #t))))) (inputs `(("alexandria" ,sbcl-alexandria) ("cffi" ,sbcl-cffi) ("trivial-features" ,sbcl-trivial-features))) (native-inputs - `(("cffi-grovel" ,sbcl-cffi-grovel) - ("rt" ,sbcl-rt))) + `(("rt" ,sbcl-rt))) (synopsis "Operating system interface for Common Lisp") (description "Osicat is a lightweight operating system interface for Common Lisp on @@ -11601,6 +9182,9 @@ accompaniment to the standard ANSI facilities.") (define-public cl-osicat (sbcl-package->cl-source-package sbcl-osicat)) +(define-public ecl-osicat + (sbcl-package->ecl-package sbcl-osicat)) + (define-public sbcl-clx-xembed (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743") (revision "1")) @@ -11619,7 +9203,7 @@ accompaniment to the standard ANSI facilities.") (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-system-name "xembed")) + `(#:asd-systems '("xembed"))) (inputs `(("sbcl-clx" ,sbcl-clx))) (synopsis "CL(x) xembed protocol implementation ") @@ -11649,7 +9233,7 @@ accompaniment to the standard ANSI facilities.") "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9")))) (build-system asdf-build-system/sbcl) (arguments - '(#:asd-system-name "quantile-estimator")) + '(#:asd-files '("quantile-estimator.asd"))) (inputs `(("alexandria" ,sbcl-alexandria))) (home-page "https://github.com/deadtrickster/quantile-estimator.cl") @@ -11685,9 +9269,29 @@ Streams in ICDE’05.") (inputs `(("alexandria" ,sbcl-alexandria) ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cffi" ,sbcl-cffi) + ("cl-fad" ,sbcl-cl-fad) ("cl-ppcre" ,sbcl-cl-ppcre) + ("drakma" ,sbcl-drakma) + ("hunchentoot" ,sbcl-hunchentoot) ("local-time" ,sbcl-local-time) - ("quantile-estimator" ,sbcl-quantile-estimator))) + ("quantile-estimator" ,sbcl-quantile-estimator) + ("salza2" ,sbcl-salza2) + ("split-sequence" ,sbcl-split-sequence) + ("trivial-utf-8" ,sbcl-trivial-utf-8))) + (arguments + '(#:asd-files '("prometheus.asd" + "prometheus.collectors.sbcl.asd" + "prometheus.collectors.process.asd" + "prometheus.formats.text.asd" + "prometheus.exposers.hunchentoot.asd" + "prometheus.pushgateway.asd") + #:asd-systems '("prometheus" + "prometheus.collectors.sbcl" + "prometheus.collectors.process" + "prometheus.formats.text" + "prometheus.exposers.hunchentoot" + "prometheus.pushgateway"))) (home-page "https://github.com/deadtrickster/prometheus.cl") (synopsis "Prometheus.io Common Lisp client") (description "Prometheus.io Common Lisp client.") @@ -11699,85 +9303,6 @@ Streams in ICDE’05.") (define-public ecl-prometheus (sbcl-package->ecl-package sbcl-prometheus)) -(define-public sbcl-prometheus.collectors.sbcl - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.collectors.sbcl") - (inputs `(("prometheus" ,sbcl-prometheus))) - (synopsis "Prometheus collector for SBCL metrics") - (description "Prometheus collector for SBCL metrics."))) - -(define-public cl-prometheus.collectors.sbcl - (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl)) - -(define-public sbcl-prometheus.collectors.process - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.collectors.process") - (inputs - `(("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("cl-fad" ,sbcl-cl-fad) - ("prometheus" ,sbcl-prometheus) - ("split-sequence" ,sbcl-split-sequence))) - (synopsis "Prometheus collector for process metrics") - (description "Prometheus collector for process metrics."))) - -(define-public cl-prometheus.collectors.process - (sbcl-package->cl-source-package sbcl-prometheus.collectors.process)) - -(define-public ecl-prometheus.collectors.process - (sbcl-package->ecl-package sbcl-prometheus.collectors.process)) - -(define-public sbcl-prometheus.formats.text - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.formats.text") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("prometheus" ,sbcl-prometheus))) - (synopsis "Prometheus client text format") - (description "Prometheus client text format."))) - -(define-public cl-prometheus.formats.text - (sbcl-package->cl-source-package sbcl-prometheus.formats.text)) - -(define-public ecl-prometheus.formats.text - (sbcl-package->ecl-package sbcl-prometheus.formats.text)) - -(define-public sbcl-prometheus.exposers.hunchentoot - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.exposers.hunchentoot") - (inputs - `(("hunchentoot" ,sbcl-hunchentoot) - ("prometheus" ,sbcl-prometheus) - ("prometheus.formats.text" ,sbcl-prometheus.formats.text) - ("salza2" ,sbcl-salza2) - ("trivial-utf-8" ,sbcl-trivial-utf-8))) - (synopsis "Prometheus collector for Hunchentoot metrics") - (description "Prometheus collector for Hunchentoot metrics"))) - -(define-public cl-prometheus.exposers.hunchentoot - (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot)) - -(define-public sbcl-prometheus.pushgateway - (package - (inherit sbcl-prometheus) - (name "sbcl-prometheus.pushgateway") - (inputs - `(("drakma" ,sbcl-drakma) - ("prometheus" ,sbcl-prometheus) - ("prometheus.formats.text" ,sbcl-prometheus.formats.text))) - (synopsis "Prometheus Pushgateway client") - (description "Prometheus Pushgateway client."))) - -(define-public cl-prometheus.pushgateway - (sbcl-package->cl-source-package sbcl-prometheus.pushgateway)) - -(define-public ecl-prometheus.pushgateway - (sbcl-package->ecl-package sbcl-prometheus.pushgateway)) - (define-public sbcl-uuid (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8")) (package @@ -11842,9 +9367,6 @@ and active restarts.") (define-public ecl-dissect (sbcl-package->ecl-package sbcl-dissect)) -;; TODO: Uses ASDF's package-inferred-system which is not supported by -;; asdf-build-system/sbcl as of 2020-05-21. We should fix -;; asdf-build-system/sbcl. (define-public sbcl-rove (package (name "sbcl-rove") @@ -11928,14 +9450,13 @@ learn about each of the parameters.") `(#:test-asd-file "sxql-test.asd")) (inputs `(("alexandria" ,sbcl-alexandria) - ("cl-syntax-annot" ,sbcl-cl-syntax-annot) + ("cl-syntax" ,sbcl-cl-syntax) ("iterate" ,sbcl-iterate) ("optima" ,sbcl-optima) ("split-sequence" ,sbcl-split-sequence) ("trivial-types" ,sbcl-trivial-types))) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (home-page "https://github.com/fukamachi/sxql") (synopsis "SQL generator for Common Lisp") (description "SQL generator for Common Lisp.") @@ -11964,7 +9485,7 @@ learn about each of the parameters.") "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g")))) (build-system asdf-build-system/sbcl) (arguments - `(#:asd-system-name "1am")) + `(#:asd-systems '("1am"))) (home-page "https://github.com/lmj/1am") (synopsis "Minimal testing framework for Common Lisp") (description "A minimal testing framework for Common Lisp.") @@ -12029,19 +9550,10 @@ tables.") (substitute* "src/low-level/librdkafka-bindings.lisp" (("librdkafka" all) (string-append (assoc-ref inputs "librdkafka") "/lib/" - all))))) - (add-before 'cleanup 'move-bundle - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl")) - (expected (string-append - out "/lib/sbcl/cl-rdkafka--system.fasl"))) - (copy-file actual expected) - #t)))))) + all)))))))) (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("librdkafka" ,librdkafka) ("lparallel" ,sbcl-lparallel) ("trivial-garbage" ,sbcl-trivial-garbage))) @@ -12053,6 +9565,9 @@ tables.") (define-public cl-rdkafka (sbcl-package->cl-source-package sbcl-cl-rdkafka)) +(define-public ecl-cl-rdkafka + (sbcl-package->ecl-package sbcl-cl-rdkafka)) + (define-public sbcl-acclimation (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5")) (package @@ -12083,10 +9598,13 @@ weight, temperature, names of physical quantitites, etc.") (define-public cl-acclimation (sbcl-package->cl-source-package sbcl-acclimation)) -(define-public sbcl-clump-2-3-tree +(define-public ecl-acclimation + (sbcl-package->ecl-package sbcl-acclimation)) + +(define-public sbcl-clump (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a")) (package - (name "sbcl-clump-2-3-tree") + (name "sbcl-clump") (version (git-version "0.0.0" "1" commit)) (source (origin @@ -12098,14 +9616,11 @@ weight, temperature, names of physical quantitites, etc.") (sha256 (base32 "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh")))) - (arguments - '(#:asd-file "2-3-tree/clump-2-3-tree.asd" - #:asd-system-name "clump-2-3-tree")) (inputs `(("acclimation" ,sbcl-acclimation))) (build-system asdf-build-system/sbcl) (home-page "https://github.com/robert-strandh/Clump") - (synopsis "Implementation of 2-3 trees for Common Lisp") + (synopsis "Collection of tree implementations for Common Lisp") (description "The purpose of this library is to provide a collection of implementations of trees. @@ -12119,34 +9634,16 @@ where the trees can be used as search trees or as trees that represent sequences of objects.") (license license:bsd-2)))) -(define-public sbcl-clump-binary-tree - (package - (inherit sbcl-clump-2-3-tree) - (name "sbcl-clump-binary-tree") - (arguments - '(#:asd-file "Binary-tree/clump-binary-tree.asd" - #:asd-system-name "clump-binary-tree")) - (synopsis "Implementation of binary trees for Common Lisp"))) - -(define-public sbcl-clump - (package - (inherit sbcl-clump-2-3-tree) - (name "sbcl-clump") - (arguments - '(#:asd-file "clump.asd" - #:asd-system-name "clump")) - (inputs - `(("clump-2-3-tree" ,sbcl-clump-2-3-tree) - ("clump-binary-tree" ,sbcl-clump-binary-tree))) - (synopsis "Collection of tree implementations for Common Lisp"))) - (define-public cl-clump (sbcl-package->cl-source-package sbcl-clump)) -(define-public sbcl-cluffer-base +(define-public ecl-clump + (sbcl-package->ecl-package sbcl-clump)) + +(define-public sbcl-cluffer (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a")) (package - (name "sbcl-cluffer-base") + (name "sbcl-cluffer") (version (git-version "0.0.0" "1" commit)) (source (origin @@ -12158,12 +9655,10 @@ sequences of objects.") (sha256 (base32 "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj")))) - (arguments - '(#:asd-file "Base/cluffer-base.asd" - #:asd-system-name "cluffer-base")) - (inputs - `(("acclimation" ,sbcl-acclimation))) (build-system asdf-build-system/sbcl) + (inputs + `(("acclimation" ,sbcl-acclimation) + ("clump" ,sbcl-clump))) (home-page "https://github.com/robert-strandh/cluffer") (synopsis "Common Lisp library providing a protocol for text-editor buffers") (description "Cluffer is a library for representing the buffer of a text @@ -12172,64 +9667,12 @@ interact with the buffer contents in various ways, and it supplies different implementations of those protocols for different purposes.") (license license:bsd-2)))) -(define-public sbcl-cluffer-standard-line - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-standard-line") - (arguments - '(#:asd-file "Standard-line/cluffer-standard-line.asd" - #:asd-system-name "cluffer-standard-line")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base))))) - -(define-public sbcl-cluffer-standard-buffer - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-standard-buffer") - (arguments - '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd" - #:asd-system-name "cluffer-standard-buffer")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base) - ("clump" ,sbcl-clump))))) - -(define-public sbcl-cluffer-simple-line - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-simple-line") - (arguments - '(#:asd-file "Simple-line/cluffer-simple-line.asd" - #:asd-system-name "cluffer-simple-line")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base))))) - -(define-public sbcl-cluffer-simple-buffer - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer-simple-buffer") - (arguments - '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd" - #:asd-system-name "cluffer-simple-buffer")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base))))) - -(define-public sbcl-cluffer - (package - (inherit sbcl-cluffer-base) - (name "sbcl-cluffer") - (arguments - '(#:asd-file "cluffer.asd" - #:asd-system-name "cluffer")) - (inputs - `(("cluffer-base" ,sbcl-cluffer-base) - ("cluffer-standard-line" ,sbcl-cluffer-standard-line) - ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer) - ("cluffer-simple-line" ,sbcl-cluffer-simple-line) - ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer))))) - (define-public cl-cluffer (sbcl-package->cl-source-package sbcl-cluffer)) +(define-public ecl-cluffer + (sbcl-package->ecl-package sbcl-cluffer)) + (define-public sbcl-cl-libsvm-format (let ((commit "3300f84fd8d9f5beafc114f543f9d83417c742fb") (revision "0")) @@ -12248,8 +9691,7 @@ implementations of those protocols for different purposes.") "0284aj84xszhkhlivaigf9qj855fxad3mzmv3zfr0qzb5k0nzwrg")))) (build-system asdf-build-system/sbcl) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (inputs `(("alexandria" ,sbcl-alexandria))) (synopsis "LibSVM data format reader for Common Lisp") @@ -12283,8 +9725,7 @@ format.") "14x95rlg80ay5hv645ki57pqvy12v28hz4k1w0f6bsfi2rmpxchq")))) (build-system asdf-build-system/sbcl) (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf))) + `(("prove" ,sbcl-prove))) (inputs `(("cl-libsvm-format" ,sbcl-cl-libsvm-format) ("cl-store" ,sbcl-cl-store))) @@ -12323,7 +9764,6 @@ online linear classification written in Common Lisp.") (build-system asdf-build-system/sbcl) (native-inputs `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf) ("trivial-garbage" ,sbcl-trivial-garbage))) (inputs `(("alexandria" ,sbcl-alexandria) @@ -12541,7 +9981,6 @@ wrappers of deflate streams. It currently does not handle compression.") (inputs `(("alexandria" ,sbcl-alexandria) ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) ("freetype" ,freetype) ("trivial-garbage" ,sbcl-trivial-garbage))) (arguments @@ -12707,7 +10146,7 @@ than a few Kb.") ("trivial-features" ,sbcl-trivial-features))) (arguments ;; FIXME: Without the following line, the build fails (see issue 41437). - `(#:asd-system-name "3bz")) + `(#:asd-systems '("3bz"))) (home-page "https://github.com/3b/3bz") (synopsis "Deflate decompression for Common Lisp") (description @@ -12817,6 +10256,8 @@ both from files on disk, or streams in memory.") ("retrospectiff" ,sbcl-retrospectiff) ("skippy" ,sbcl-skippy) ("zpng" ,sbcl-zpng))) + (arguments + '(#:asd-files '("opticl.asd"))) (home-page "https://github.com/slyrus/opticl") (synopsis "Image processing library for Common Lisp") (description @@ -12827,11 +10268,14 @@ and saving 2-dimensional pixel-based images.") (define-public cl-opticl (sbcl-package->cl-source-package sbcl-opticl)) -(define-public sbcl-clim-lisp +(define-public ecl-opticl + (sbcl-package->ecl-package sbcl-opticl)) + +(define-public sbcl-mcclim (let ((commit "27b4d7a667c9b3faa74cabcb57706b888314fff7") (revision "0")) (package - (name "sbcl-clim-lisp") + (name "sbcl-mcclim") (version (git-version "0.9.7" revision commit)) (source (origin @@ -12843,11 +10287,67 @@ and saving 2-dimensional pixel-based images.") (sha256 (base32 "0jijfgkwas6xnpp5wiii6slcx9pgsalngacb8zm29x6pamx2193h")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam) + ("pkg-config" ,pkg-config))) (inputs `(("alexandria" ,sbcl-alexandria) + ("babel" ,sbcl-babel) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-freetype2" ,sbcl-cl-freetype2) + ("cl-pdf" ,sbcl-cl-pdf) + ("cffi" ,sbcl-cffi) + ("cl-unicode" ,sbcl-cl-unicode) + ("cl-vectors" ,sbcl-cl-vectors) ("closer-mop" ,sbcl-closer-mop) + ("clx" ,sbcl-clx) + ("flexi-streams" ,sbcl-flexi-streams) + ("flexichain" ,sbcl-flexichain) + ("font-dejavu" ,font-dejavu) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("harfbuzz" ,harfbuzz) ("log4cl" ,sbcl-log4cl) - ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + ("opticl" ,sbcl-opticl) + ("spatial-trees" ,sbcl-spatial-trees) + ("swank" ,sbcl-slime-swank) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-garbage" ,sbcl-trivial-garbage) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("zpb-ttf" ,sbcl-zpb-ttf))) + (arguments + '(#:asd-systems '("mcclim" + "clim-examples") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + ;; mcclim-truetype uses DejaVu as default font and + ;; sets the path at build time. + (substitute* "Extensions/fonts/fontconfig.lisp" + (("/usr/share/fonts/truetype/dejavu/") + (string-append (assoc-ref inputs "font-dejavu") + "/share/fonts/truetype/"))) + (substitute* "Extensions/fontconfig/src/functions.lisp" + (("libfontconfig\\.so") + (string-append (assoc-ref inputs "fontconfig") + "/lib/libfontconfig.so"))) + (substitute* "Extensions/harfbuzz/src/functions.lisp" + (("libharfbuzz\\.so") + (string-append (assoc-ref inputs "harfbuzz") + "/lib/libharfbuzz.so"))) + #t)) + (add-after 'unpack 'fix-build + (lambda _ + ;; The cffi-grovel system does not get loaded automatically, + ;; so we load it explicitly. + (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd" + (("\\(asdf:defsystem #:mcclim-fontconfig" all) + (string-append "(asdf:load-system :cffi-grovel)\n" all))) + (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd" + (("\\(asdf:defsystem #:mcclim-harfbuzz" all) + (string-append "(asdf:load-system :cffi-grovel)\n" all))) + #t))))) (home-page "https://common-lisp.net/project/mcclim/") (synopsis "Common Lisp GUI toolkit") (description @@ -12855,642 +10355,11 @@ and saving 2-dimensional pixel-based images.") specification}, a toolkit for writing GUIs in Common Lisp.") (license license:lgpl2.1+)))) -(define-public sbcl-clim-basic - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-basic") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("babel" ,sbcl-babel) - ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("clim-lisp" ,sbcl-clim-lisp) - ("flexichain" ,sbcl-flexichain) - ("spatial-trees" ,sbcl-spatial-trees) - ("trivial-features" ,sbcl-trivial-features) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (arguments - '(#:asd-file "Core/clim-basic/clim-basic.asd")))) - -(define-public sbcl-clim-core - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-core") - (inputs - `(("clim-basic" ,sbcl-clim-basic))) - (arguments - '(#:asd-file "Core/clim-core/clim-core.asd")))) - -(define-public sbcl-esa-mcclim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-esa-mcclim") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("clim-core" ,sbcl-clim-core))) - (arguments - '(#:asd-file "Libraries/ESA/esa-mcclim.asd")))) - -(define-public sbcl-mcclim-fonts - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts") - (inputs - `(("clim-basic" ,sbcl-clim-basic))) - (arguments - '(#:asd-file "Extensions/fonts/mcclim-fonts.asd")))) - -(define-public sbcl-automaton - (package - (inherit sbcl-clim-lisp) - (name "sbcl-automaton") - (inputs - `()) - (arguments - '(#:asd-file "Libraries/Drei/cl-automaton/automaton.asd")))) - -(define-public sbcl-persistent - (package - (inherit sbcl-clim-lisp) - (name "sbcl-persistent") - (inputs - `()) - (arguments - '(#:asd-file "Libraries/Drei/Persistent/persistent.asd")))) - -(define-public sbcl-drei-mcclim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-drei-mcclim") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("automaton" ,sbcl-automaton) - ("clim-core" ,sbcl-clim-core) - ("esa-mcclim" ,sbcl-esa-mcclim) - ("flexichain" ,sbcl-flexichain) - ("mcclim-fonts" ,sbcl-mcclim-fonts) - ("persistent" ,sbcl-persistent) - ("swank" ,cl-slime-swank))) - (arguments - '(#:asd-file "Libraries/Drei/drei-mcclim.asd")))) - -(define-public sbcl-clim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim") - (inputs - `(("clim-core" ,sbcl-clim-core) - ("drei-mcclim" ,sbcl-drei-mcclim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Core/clim/clim.asd")))) - -(define-public sbcl-mcclim-backend-common - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-backend-common") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/common/mcclim-backend-common.asd")))) - -(define-public sbcl-mcclim-clx - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-unicode" ,sbcl-cl-unicode) - ("clx" ,sbcl-clx) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-fonts" ,sbcl-mcclim-fonts) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX/mcclim-clx.asd")))) - -(define-public sbcl-mcclim-fonts-truetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts-truetype") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-aa" ,sbcl-cl-aa) - ("cl-paths-ttf" ,sbcl-cl-paths-ttf) - ("cl-vectors" ,sbcl-cl-vectors) - ("clim-basic" ,sbcl-clim-basic) - ("font-dejavu" ,font-dejavu) - ("zpb-ttf" ,sbcl-zpb-ttf))) - (arguments - '(#:asd-file "Extensions/fonts/mcclim-fonts.asd" - #:asd-system-name "mcclim-fonts/truetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - ;; mcclim-truetype uses DejaVu as default font and - ;; sets the path at build time. - (substitute* "Extensions/fonts/fontconfig.lisp" - (("/usr/share/fonts/truetype/dejavu/") - (string-append (assoc-ref inputs "font-dejavu") - "/share/fonts/truetype/"))) - #t))))))) - -(define-public sbcl-mcclim-fonts-clx-truetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts-clx-truetype") - (inputs - `(("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "./Extensions/fonts/mcclim-fonts.asd" - #:asd-system-name "mcclim-fonts/clx-truetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/fonts/mcclim-fonts.asd" - ((":depends-on \\(#:mcclim-fonts/truetype") - ":depends-on (#:mcclim-fonts-truetype")) - #t))))))) - -(define-public sbcl-mcclim-clx-truetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx-truetype") - (inputs - `(("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fonts-clx-truetype" ,sbcl-mcclim-fonts-clx-truetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX/mcclim-clx.asd" - #:asd-system-name "mcclim-clx/truetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Backends/CLX/mcclim-clx.asd" - (("mcclim-fonts/clx-truetype") - "mcclim-fonts-clx-truetype")) - #t))))))) - -(define-public sbcl-mcclim-fontconfig - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fontconfig") - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("fontconfig" ,fontconfig))) - (arguments - '(#:asd-file "Extensions/fontconfig/mcclim-fontconfig.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Extensions/fontconfig/src/functions.lisp" - (("libfontconfig\\.so") - (string-append (assoc-ref inputs "fontconfig") - "/lib/libfontconfig.so"))) - #t)) - (add-after 'unpack 'fix-build - (lambda _ - ;; The cffi-grovel system does not get loaded automatically, - ;; so we load it explicitly. - (substitute* "Extensions/fontconfig/mcclim-fontconfig.asd" - (("\\(asdf:defsystem #:mcclim-fontconfig" all) - (string-append "(asdf:load-system :cffi-grovel)\n" all))) - #t))))))) - -(define-public sbcl-mcclim-harfbuzz - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-harfbuzz") - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cffi" ,sbcl-cffi) - ("cffi-grovel" ,sbcl-cffi-grovel) - ("freetype" ,freetype) - ("harfbuzz" ,harfbuzz) - ("trivial-garbage" ,sbcl-trivial-garbage))) - (arguments - '(#:asd-file "Extensions/harfbuzz/mcclim-harfbuzz.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Extensions/harfbuzz/src/functions.lisp" - (("libharfbuzz\\.so") - (string-append (assoc-ref inputs "harfbuzz") - "/lib/libharfbuzz.so"))) - #t)) - (add-after 'unpack 'fix-build - (lambda _ - ;; The cffi-grovel system does not get loaded automatically, - ;; so we load it explicitly. - (substitute* "Extensions/harfbuzz/mcclim-harfbuzz.asd" - (("\\(asdf:defsystem #:mcclim-harfbuzz" all) - (string-append "(asdf:load-system :cffi-grovel)\n" all))) - #t))))))) - -(define-public sbcl-mcclim-fonts-clx-freetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-fonts-clx-freetype") - (inputs - `(("cl-freetype2" ,sbcl-cl-freetype2) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fontconfig" ,sbcl-mcclim-fontconfig) - ("mcclim-fonts" ,sbcl-mcclim-fonts) - ("mcclim-harfbuzz" ,sbcl-mcclim-harfbuzz) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/fonts/mcclim-fonts.asd" - #:asd-system-name "mcclim-fonts/clx-freetype")))) - -(define-public sbcl-mcclim-clx-freetype - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx-freetype") - (inputs - `(("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-fonts-clx-freetype" ,sbcl-mcclim-fonts-clx-freetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX/mcclim-clx.asd" - #:asd-system-name "mcclim-clx/freetype" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Backends/CLX/mcclim-clx.asd" - (("mcclim-fonts/clx-freetype") - "mcclim-fonts-clx-freetype")) - #t))))))) - -(define-public sbcl-mcclim-render - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-render") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("cl-vectors" ,sbcl-cl-vectors) - ("clim-basic" ,sbcl-clim-basic) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-fonts-truetype" ,sbcl-mcclim-fonts-truetype) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/render/mcclim-render.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/render/mcclim-render.asd" - (("mcclim-fonts/truetype") - "mcclim-fonts-truetype")) - #t))))))) - -(define-public sbcl-mcclim-clx-fb - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-clx-fb") - (inputs - `(("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-render" ,sbcl-mcclim-render) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/CLX-fb/mcclim-clx-fb.asd")))) - -(define-public sbcl-mcclim-null - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-null") - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/Null/mcclim-null.asd")))) - -(define-public sbcl-clim-postscript-font - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-postscript-font") - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/PostScript/clim-postscript-font.asd")))) - -(define-public sbcl-clim-postscript - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-postscript") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("clim-postscript-font" ,sbcl-clim-postscript-font) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/PostScript/clim-postscript.asd" - ;; Test suite disabled because of a dependency cycle. - ;; The tests depend on mcclim/test-util, which depends on mcclim, - ;; wich depends on mcclim/extensions, which depends on clim-postscript. - #:tests? #f)))) - -(define-public sbcl-clim-pdf - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-pdf") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("cl-pdf" ,sbcl-cl-pdf) - ("clim-basic" ,sbcl-clim-basic) - ("clim-postscript-font" ,sbcl-clim-postscript-font) - ("flexi-streams" ,sbcl-flexi-streams) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/PDF/clim-pdf.asd" - ;; Test suite disabled because of a dependency cycle. - ;; The tests depend on mcclim/test-util, which depends on mcclim, - ;; wich depends on mcclim/extensions, which depends on clim-pdf. - #:tests? #f)))) - -(define-public sbcl-mcclim-looks - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-looks") - (inputs - `(("clim" ,sbcl-clim) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("mcclim-clx-fb" ,sbcl-mcclim-clx-fb) - ("mcclim-clx-freetype" ,sbcl-mcclim-clx-freetype) - ("mcclim-clx-truetype" ,sbcl-mcclim-clx-truetype) - ("mcclim-null" ,sbcl-mcclim-null) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "mcclim.asd" - #:asd-system-name "mcclim/looks" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "mcclim.asd" - (("mcclim-clx/truetype") - "mcclim-clx-truetype") - (("mcclim-clx/freetype") - "mcclim-clx-freetype")) - #t))))))) - -(define-public sbcl-mcclim-franz - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-franz") - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/Franz/mcclim-franz.asd")))) - -(define-public sbcl-mcclim-bezier-core - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bezier-core") - (inputs - `(("clim" ,sbcl-clim) - ("clim-pdf" ,sbcl-clim-pdf) - ("clim-postscript" ,sbcl-clim-postscript) - ("mcclim-null" ,sbcl-mcclim-null) - ("mcclim-render" ,sbcl-mcclim-render) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/bezier/mcclim-bezier.asd" - #:asd-system-name "mcclim-bezier/core")))) - -(define-public sbcl-mcclim-bezier-clx - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bezier-clx") - (inputs - `(("clim" ,sbcl-clim) - ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core) - ("mcclim-clx" ,sbcl-mcclim-clx) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/bezier/mcclim-bezier.asd" - #:asd-system-name "mcclim-bezier/clx" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/bezier/mcclim-bezier.asd" - (("mcclim-bezier/core\\)") - "mcclim-bezier-core)")) - #t))))))) - -(define-public sbcl-mcclim-bezier - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bezier") - (inputs - `(("mcclim-bezier/clx" ,sbcl-mcclim-bezier-clx) - ("mcclim-bezier/core" ,sbcl-mcclim-bezier-core) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/bezier/mcclim-bezier.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Extensions/bezier/mcclim-bezier.asd" - (("\\(#:mcclim-bezier/core") - "(#:mcclim-bezier-core") - (("#:mcclim-bezier/clx\\)\\)") - "#:mcclim-bezier-clx))")) - #t))))))) - -(define-public sbcl-mcclim-bitmaps - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-bitmaps") - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("opticl" ,sbcl-opticl))) - (arguments - '(#:asd-file "Extensions/bitmap-formats/mcclim-bitmaps.asd")))) - -(define-public sbcl-conditional-commands - (package - (inherit sbcl-clim-lisp) - (name "sbcl-conditional-commands") - (inputs - `(("clim-basic" ,sbcl-clim-basic))) - (arguments - '(#:asd-file "Extensions/conditional-commands/conditional-commands.asd")))) - -(define-public sbcl-mcclim-layouts-tab - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-layouts-tab") - (inputs - `(("clim" ,sbcl-clim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Extensions/layouts/mcclim-layouts.asd" - #:asd-system-name "mcclim-layouts/tab")))) - -(define-public sbcl-mcclim-extensions - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-extensions") - (inputs - `(("clim-pdf" ,sbcl-clim-pdf) - ("clim-postscript" ,sbcl-clim-postscript) - ("conditional-commands" ,sbcl-conditional-commands) - ("mcclim-bezier" ,sbcl-mcclim-bezier) - ("mcclim-bitmaps" ,sbcl-mcclim-bitmaps) - ("mcclim-franz" ,sbcl-mcclim-franz) - ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "mcclim.asd" - #:asd-system-name "mcclim/extensions" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "mcclim.asd" - (("mcclim-layouts/tab") - "mcclim-layouts-tab")) - #t))))))) - -(define-public sbcl-mcclim - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim") - (native-inputs - `(("fiveam" ,sbcl-fiveam))) - (inputs - `(("mcclim-looks" ,sbcl-mcclim-looks) - ("mcclim-extensions" ,sbcl-mcclim-extensions) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "mcclim.asd" - ((":depends-on \\(\"mcclim/looks\" \"mcclim/extensions\"\\)") - ":depends-on (\"mcclim-looks\" \"mcclim-extensions\")")) - #t))) - ;; Test suite disabled because of a dependency cycle. - ;; The tests depend on mcclim/test-util, which depends on mcclim. - #:tests? #f)))) - (define-public cl-mcclim - (let ((base (sbcl-package->cl-source-package sbcl-clim-lisp))) - (package - (inherit base) - (name "cl-mcclim") - (native-inputs - `(("fiveam" ,cl-fiveam) - ("pkg-config" ,pkg-config))) - (inputs - `(("alexandria" ,cl-alexandria) - ("babel" ,cl-babel) - ("bordeaux-threads" ,cl-bordeaux-threads) - ("cffi" ,cl-cffi) - ("cl-aa" ,cl-aa) - ("cl-freetype2" ,cl-freetype2) - ("cl-paths-ttf" ,cl-paths-ttf) - ("cl-pdf" ,cl-pdf) - ("cl-unicode" ,cl-unicode) - ("cl-vectors" ,cl-vectors) - ("closer-mop" ,cl-closer-mop) - ("clx" ,cl-clx) - ("flexi-streams" ,cl-flexi-streams) - ("flexichain" ,cl-flexichain) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("harfbuzz" ,harfbuzz) - ("log4cl" ,cl-log4cl) - ("opticl" ,cl-opticl) - ("spatial-trees" ,cl-spatial-trees) - ("trivial-features" ,cl-trivial-features) - ("trivial-garbage" ,cl-trivial-garbage) - ("trivial-gray-streams" ,cl-trivial-gray-streams) - ("swank" ,cl-slime-swank) - ("zpb-ttf" ,cl-zpb-ttf)))))) - -(define-public sbcl-mcclim-test-util - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-test-util") - (inputs - `(("fiveam" ,sbcl-fiveam) - ("mcclim" ,sbcl-mcclim) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "mcclim.asd" - #:asd-system-name "mcclim/test-util")))) - -(define-public sbcl-mcclim-raster-image - (package - (inherit sbcl-clim-lisp) - (name "sbcl-mcclim-raster-image") - (native-inputs - `(("fiveam" ,sbcl-fiveam) - ("mcclim-test-util" ,sbcl-mcclim-test-util))) - (inputs - `(("clim-basic" ,sbcl-clim-basic) - ("mcclim-backend-common" ,sbcl-mcclim-backend-common) - ("mcclim-render" ,sbcl-mcclim-render) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Backends/RasterImage/mcclim-raster-image.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Backends/RasterImage/mcclim-raster-image.asd" - (("mcclim/test-util") - "mcclim-test-util")) - #t))))))) + (sbcl-package->cl-source-package sbcl-mcclim)) -(define-public sbcl-clim-examples - (package - (inherit sbcl-clim-lisp) - (name "sbcl-clim-examples") - (inputs - `(("alexandria" ,sbcl-alexandria) - ("closer-mop" ,sbcl-closer-mop) - ("mcclim" ,sbcl-mcclim) - ("mcclim-bezier" ,sbcl-mcclim-bezier) - ("mcclim-layouts-tab" ,sbcl-mcclim-layouts-tab) - ("mcclim-raster-image" ,sbcl-mcclim-raster-image) - ("swank" ,cl-slime-swank))) ; For drei-mcclim - (arguments - '(#:asd-file "Examples/clim-examples.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-asd-system-names - (lambda _ - (substitute* "Examples/clim-examples.asd" - (("mcclim-layouts/tab") - "mcclim-layouts-tab")) - #t))))))) +(define-public ecl-mcclim + (sbcl-package->ecl-package sbcl-mcclim)) (define-public sbcl-cl-inflector (let ((commit "f1ab16919ccce3bd82a0042677d9616dde2034fe") @@ -13613,7 +10482,8 @@ package that includes a number of renames and shadows. ") ("metabang-bind" ,sbcl-metabang-bind))) (home-page "http://dwim.hu/") (synopsis "Common Lisp library shared by other hu.dwim systems") - (description "") + (description "This package contains a support library for other +hu.dwim systems.") (license license:public-domain))) (define-public cl-hu.dwim.common @@ -13655,7 +10525,7 @@ simplify class and condition declarations. Features include: @itemize @item Automatically export all or select slots at compile time. -@item Define the @code{:initarg} and @code{:accesor} automatically. +@item Define the @code{:initarg} and @code{:accessor} automatically. @item Specify a name transformer for both the @code{:initarg} and @code{:accessor}, etc. @item Specify the @code{:initform} as second slot value. @@ -13746,11 +10616,11 @@ can separate configuration system from an implementation.") (define-public ecl-envy (sbcl-package->ecl-package sbcl-envy)) -(define sbcl-mito-core +(define-public sbcl-mito (let ((commit "d3b9e375ef364a65692da2185085a08c969ac88a") (revision "1")) (package - (name "sbcl-mito-core") + (name "sbcl-mito") (version (git-version "0.1" revision commit)) (home-page "https://github.com/fukamachi/mito") (source @@ -13763,76 +10633,21 @@ can separate configuration system from an implementation.") (sha256 (base32 "08mncgzjnbbsf1a6am3l73iw4lyfvz5ldjg5g84awfaxml4p73mb")))) (build-system asdf-build-system/sbcl) + (native-inputs + `(("prove" ,sbcl-prove))) (inputs - `(("dbi" ,sbcl-dbi) - ("sxql" ,sbcl-sxql) + `(("alexandria" ,sbcl-alexandria) ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-reexport" ,sbcl-cl-reexport) ("closer-mop" ,sbcl-closer-mop) + ("dbi" ,sbcl-dbi) ("dissect" ,sbcl-dissect) - ("optima" ,sbcl-optima) - ("cl-reexport" ,sbcl-cl-reexport) + ("esrap" ,sbcl-esrap) ("local-time" ,sbcl-local-time) - ("uuid" ,sbcl-uuid) - ("alexandria" ,sbcl-alexandria))) - (synopsis "ORM for Common Lisp with migrations and relationships support") - (description "Mito is yet another object relational mapper, and it aims -to be a successor of Integral. - -@itemize -@item Support MySQL, PostgreSQL and SQLite3. -@item Add id (serial/uuid primary key), created_at and updated_at by default -like Ruby's ActiveRecord. -@item Migrations. -@item Database schema versioning. -@end itemize\n") - (license license:llgpl)))) - -(define sbcl-mito-migration - (package - (inherit sbcl-mito-core) - (name "sbcl-mito-migration") - (inputs - `(("mito-core" ,sbcl-mito-core) - ("dbi" ,sbcl-dbi) - ("sxql" ,sbcl-sxql) - ("closer-mop" ,sbcl-closer-mop) - ("cl-reexport" ,sbcl-cl-reexport) - ("uuid" ,sbcl-uuid) - ("alexandria" ,sbcl-alexandria) - ("esrap" ,sbcl-esrap))))) - -(define sbcl-lack-middleware-mito - (package - (inherit sbcl-mito-core) - (name "sbcl-lack-middleware-mito") - (inputs - `(("mito-core" ,sbcl-mito-core) - ("dbi" ,sbcl-dbi))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-build - (lambda _ - (substitute* "lack-middleware-mito.asd" - (("cl-dbi") "dbi")) - #t))))))) - -(define-public sbcl-mito - (package - (inherit sbcl-mito-core) - (name "sbcl-mito") - (inputs - `(("mito-core" ,sbcl-mito-core) - ("mito-migration" ,sbcl-mito-migration) - ("lack-middleware-mito" ,sbcl-lack-middleware-mito) - ("cl-reexport" ,sbcl-cl-reexport))) - (native-inputs - `(("prove" ,sbcl-prove) - ("prove-asdf" ,sbcl-prove-asdf) - ("dbd-mysql" ,sbcl-dbd-mysql) - ("dbd-postgres" ,sbcl-dbd-postgres) - ("dbd-sqlite3" ,sbcl-dbd-sqlite3))) - (arguments + ("optima" ,sbcl-optima) + ("sxql" ,sbcl-sxql) + ("uuid" ,sbcl-uuid))) + (arguments '(#:phases (modify-phases %standard-phases (add-after 'unpack 'remove-non-functional-tests @@ -13852,11 +10667,26 @@ like Ruby's ActiveRecord. #t))) ;; TODO: While all enabled tests pass, the phase fails with: ;; Component MITO-ASD::MITO-TEST not found, required by #<SYSTEM "mito"> - #:tests? #f)))) + #:tests? #f)) + (synopsis "ORM for Common Lisp with migrations and relationships support") + (description "Mito is yet another object relational mapper, and it aims +to be a successor of Integral. + +@itemize +@item Support MySQL, PostgreSQL and SQLite3. +@item Add id (serial/uuid primary key), created_at and updated_at by default +like Ruby's ActiveRecord. +@item Migrations. +@item Database schema versioning. +@end itemize\n") + (license license:llgpl)))) (define-public cl-mito (sbcl-package->cl-source-package sbcl-mito)) +(define-public ecl-mito + (sbcl-package->ecl-package sbcl-mito)) + (define-public sbcl-kebab (let ((commit "e7f77644c4e46131e7b8039d191d35fe6211f31b") (revision "1")) @@ -13880,8 +10710,7 @@ like Ruby's ActiveRecord. ("cl-interpol" ,sbcl-cl-interpol) ("split-sequence" ,sbcl-split-sequence))) (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf) - ("prove" ,sbcl-prove))) + `(("prove" ,sbcl-prove))) (arguments ;; Tests passes but the phase fails with ;; Component KEBAB-ASD::KEBAB-TEST not found, required by #<SYSTEM "kebab">. @@ -13921,7 +10750,7 @@ camelCase, snake_case, kebab-case (lisp-case).") ("optima" ,sbcl-optima) ("trivial-types" ,sbcl-trivial-types) ("closer-mop" ,sbcl-closer-mop) - ("cl-syntax-annot" ,sbcl-cl-syntax-annot) + ("cl-syntax" ,sbcl-cl-syntax) ("sxql" ,sbcl-sxql) ("dbi" ,sbcl-dbi) ("babel" ,sbcl-babel) @@ -13931,9 +10760,7 @@ camelCase, snake_case, kebab-case (lisp-case).") ("kebab" ,sbcl-kebab) ("log4cl" ,sbcl-log4cl))) (native-inputs - `(("prove-asdf" ,sbcl-prove-asdf) - ("prove" ,sbcl-prove) - ("dbd-sqlite3" ,sbcl-dbd-sqlite3))) + `(("prove" ,sbcl-prove))) (arguments ;; TODO: Tests fail with ;; While evaluating the form starting at line 22, column 0 @@ -14039,7 +10866,8 @@ that and not limited to a certain server or text format.") ("prove" ,sbcl-prove))) (arguments ;; Tests depend on caveman, which in turns depends on cl-project. - '(#:tests? #f)) + '(#:tests? #f + #:asd-files '("cl-project.asd"))) (synopsis "Generate a skeleton for modern Common Lisp projects") (description "This library provides a modern project skeleton generator. In contract with other generators, CL-Project generates one package per file @@ -14072,19 +10900,18 @@ can begin writing unit tests as soon as the project is generated.") (build-system asdf-build-system/sbcl) (inputs `(("ningle" ,cl-ningle) - ("lack-request" ,sbcl-lack-request) - ("lack-response" ,sbcl-lack-response) + ("lack" ,sbcl-lack) ("cl-project" ,sbcl-cl-project) ("dbi" ,sbcl-dbi) - ("cl-syntax-annot" ,sbcl-cl-syntax-annot) + ("cl-syntax" ,sbcl-cl-syntax) ("myway" ,sbcl-myway) ("quri" ,sbcl-quri))) (native-inputs `(("usocket" ,sbcl-usocket) ("dexador" ,sbcl-dexador))) (arguments - `(#:asd-file "caveman2.asd" - #:asd-system-name "caveman2" + `(#:asd-files '("caveman2.asd") + #:asd-systems '("caveman2") #:phases (modify-phases %standard-phases (add-after 'unpack 'remove-v1 @@ -14120,3 +10947,88 @@ web applications. Caveman2 has three design goals: (define-public ecl-caveman (sbcl-package->ecl-package sbcl-caveman)) + +(define-public sbcl-lambda-fiddle + (let ((commit "d16bba55acf6065b412f64ab8fdff679a4a32b1e") ;; no tagged branch + (revision "1")) + (package + (name "sbcl-lambda-fiddle") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/lambda-fiddle") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zarj1pqjqmk95kdx1axkgpwy2wq3canczk7f9z5hvaw5an6gand")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/Shinmera/lambda-fiddle") + (synopsis "Collection of utilities to process lambda-lists") + (description "This collection of utilities is useful in contexts where +you want a macro that uses lambda-lists in some fashion but need more precise +processing.") + (license license:zlib)))) + +(define-public cl-lambda-fiddle + (sbcl-package->cl-source-package sbcl-lambda-fiddle)) + +(define-public ecl-lambda-fiddle + (sbcl-package->ecl-package sbcl-lambda-fiddle)) + +(define-public sbcl-xmls + (let ((commit "18546f0850b1338e03997ffd1696add1cb1800d1") ;; no tagged branch + (revision "1")) + (package + (name "sbcl-xmls") + (version (git-version "3.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rpgoldman/xmls") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1lmvfml2ldbb1wkhm25jqqk2bhwsz52hhcgljbnzj1xr8xhc3anp")))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/rpgoldman/xmls") + (synopsis "Non-validating XML parser for Common Lisp") + (description "Xmls is a self-contained, easily embedded parser that +recognizes a useful subset of the XML spec. It provides a simple mapping from +XML to Lisp structures or s-expressions and back.") + (license license:bsd-2)))) + +(define-public cl-xmls + (sbcl-package->cl-source-package sbcl-xmls)) + +(define-public ecl-xmls + (sbcl-package->ecl-package sbcl-xmls)) + +(define-public sbcl-geco + (package + (name "sbcl-geco") + (version "2.01a") + (source + (origin + (method url-fetch) + (uri (string-append "https://common-lisp.net/project/geco/download/" + "geco-" version ".tar.gz")) + (sha256 + (base32 "0kk0bzr1019cfmf2b1jl1rk9shv3gx5z1znifxllg9mb98yqsgw0")))) + (build-system asdf-build-system/sbcl) + (home-page "https://common-lisp.net/project/geco/") + (synopsis "Genetic algorithm toolkit for Common Lisp") + (description + "GECO (Genetic Evolution through Combination of Objects) is an extensible, +object-oriented framework for prototyping genetic algorithms in Common Lisp.") + (license license:lgpl2.1+))) + +(define-public cl-geco + (sbcl-package->cl-source-package sbcl-geco)) + +(define-public ecl-geco + (sbcl-package->ecl-package sbcl-geco)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index df901aa34f..c2114e6935 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -51,10 +51,8 @@ #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bdw-gc) - #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages ed) - #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) @@ -78,21 +76,10 @@ #:use-module (gnu packages xorg) #:use-module (ice-9 match)) -(define (asdf-substitutions lisp) - ;; Prepend XDG_DATA_DIRS/LISP-bundle-systems to ASDF's - ;; 'default-system-source-registry'. - `((("\\(,dir \"systems/\"\\)\\)") - (format #f - "(,dir \"~a-bundle-systems\"))) - - ,@(loop :for dir :in (xdg-data-dirs \"common-lisp/\") - :collect `(:directory (,dir \"systems\"))" - ,lisp)))) - (define-public cl-asdf (package (name "cl-asdf") - (version "3.3.3") + (version "3.3.4") (source (origin (method url-fetch) @@ -100,7 +87,7 @@ (string-append "https://common-lisp.net/project/asdf/archives/asdf-" version ".lisp")) (sha256 - (base32 "18lr6kxvzhr79c9rx3sdricz30aby866fj0m24w27zxsqlyvn3rd")))) + (base32 "1hpx30f6yrak15nw992k7x3pn75ahvjs04n4f134k68mhgs62km2")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils) @@ -112,9 +99,29 @@ (let* ((out (string-append (assoc-ref %outputs "out"))) (asdf-install (string-append out %source-install-prefix "/source/asdf/")) - (asdf (string-append (assoc-ref %build-inputs "source")))) + (src-asdf (string-append (assoc-ref %build-inputs "source"))) + (dst-asdf (string-append asdf-install "asdf.lisp"))) (mkdir-p asdf-install) - (copy-file asdf (string-append asdf-install "asdf.lisp")))))) + (copy-file src-asdf dst-asdf) + ;; Patch ASDF to make it read the configuration files in all + ;; the direcories listed in '$XDG_CONFIG_DIRS' instead of just + ;; the first. + (substitute* dst-asdf + (("\\(xdg-config-pathname \\*source-registry-directory\\* direction\\)") + "`(:source-registry + ,@(loop + for dir in (xdg-config-dirs + \"common-lisp/source-registry.conf.d/\") + collect `(:include ,dir)) + :inherit-configuration)") + (("\\(xdg-config-pathname \\*output-translations-directory\\* direction\\)") + "`(:output-translations + ,@(loop + for dir in (xdg-config-dirs + \"common-lisp/asdf-output-translations.conf.d/\") + collect `(:include ,dir)) + :inherit-configuration)"))) + #t))) (home-page "https://common-lisp.net/project/asdf/") (synopsis "Another System Definition Facility") (description @@ -261,10 +268,7 @@ interface to the Tk widget system.") "/share/common-lisp/source/asdf/asdf.lisp")) (out (string-append (assoc-ref outputs "out"))) (contrib-asdf "contrib/asdf/asdf.lisp")) - (copy-file guix-asdf contrib-asdf) - ;; Add ecl-bundle-systems to 'default-system-source-registry'. - (substitute* contrib-asdf - ,@(asdf-substitutions name))) + (copy-file guix-asdf contrib-asdf)) #t)) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) @@ -298,7 +302,10 @@ interface to the Tk widget system.") (native-search-paths (list (search-path-specification (variable "XDG_DATA_DIRS") - (files '("share"))))) + (files '("share"))) + (search-path-specification + (variable "XDG_CONFIG_DIRS") + (files '("etc"))))) (home-page "http://ecls.sourceforge.net/") (synopsis "Embeddable Common Lisp") (description "ECL is an implementation of the Common Lisp language as @@ -437,9 +444,7 @@ an interpreter, a compiler, a debugger, and much more.") "/share/common-lisp/source/asdf/asdf.lisp")) (out (string-append (assoc-ref outputs "out"))) (contrib-asdf "contrib/asdf/asdf.lisp")) - (copy-file guix-asdf contrib-asdf) - (substitute* contrib-asdf - ,@(asdf-substitutions name))) + (copy-file guix-asdf contrib-asdf)) #t)) (add-before 'build 'patch-unix-tool-paths (lambda* (#:key outputs inputs #:allow-other-keys) @@ -546,7 +551,10 @@ an interpreter, a compiler, a debugger, and much more.") (native-search-paths (list (search-path-specification (variable "XDG_DATA_DIRS") - (files '("share"))))) + (files '("share"))) + (search-path-specification + (variable "XDG_CONFIG_DIRS") + (files '("etc"))))) (home-page "http://www.sbcl.org/") (synopsis "Common Lisp implementation") (description "Steel Bank Common Lisp (SBCL) is a high performance Common @@ -801,7 +809,7 @@ enough to play the original mainframe Zork all the way through.") (define-public txr (package (name "txr") - (version "243") + (version "244") (source (origin (method git-fetch) @@ -810,7 +818,7 @@ enough to play the original mainframe Zork all the way through.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08rrl7ac6jnx0zfchzbpvs3qidrbjrl9c7p8s1wms90lp10i18ak")))) + (base32 "1bzhb1pms6gjzphbsimhwdyq46ik1m7sgldigg5l1q7bppg9r3i0")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -832,9 +840,6 @@ enough to play the original mainframe Zork all the way through.") "tests/017/realpath.expected") (("/usr/bin") "/")) #t))))) - (native-inputs - `(("bison" ,bison) - ("flex" ,flex))) (inputs `(("libffi" ,libffi))) (synopsis "General-purpose, multi-paradigm programming language") diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index ef7d65264c..127a8f5e55 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -80,7 +80,7 @@ as \"x86_64-linux\"." ("i686" => "X86") ("i586" => "X86")))) -(define (llvm-download-uri component version) +(define (llvm-uri component version) (if (version>=? version "9.0.1") (string-append "https://github.com/llvm/llvm-project/releases/download" "/llvmorg-" version "/" component "-" version ".src.tar.xz") @@ -94,7 +94,7 @@ as \"x86_64-linux\"." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1wydhbp9kyjp5y0rc627imxgkgqiv3dfirbqil9dgpnbaw5y7n65")))) @@ -157,7 +157,7 @@ of programming tools as well as libraries with equivalent functionality.") (source (origin (method url-fetch) - (uri (llvm-download-uri "compiler-rt" version)) + (uri (llvm-uri "compiler-rt" version)) (sha256 (base32 hash)) (patches (map search-patch patches)))) (build-system cmake-build-system) @@ -213,7 +213,7 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the (source (origin (method url-fetch) - (uri (llvm-download-uri (if (version>=? version "9.0.1") + (uri (llvm-uri (if (version>=? version "9.0.1") "clang" "cfe") version)) @@ -476,6 +476,12 @@ code analysis tools.") (((names . directories) ...) (union-build out directories))) + ;; Create 'cc' and 'c++' so that one can use it as a + ;; drop-in replacement for the default tool chain and + ;; have configure scripts find the compiler. + (symlink "clang" (string-append out "/bin/cc")) + (symlink "clang++" (string-append out "/bin/c++")) + (union-build (assoc-ref %outputs "debug") (list (assoc-ref %build-inputs "libc-debug"))) @@ -484,7 +490,11 @@ code analysis tools.") "libc-static"))) #t)))) - (native-search-paths (package-native-search-paths clang)) + (native-search-paths + (append (package-native-search-paths clang) + (list (search-path-specification ;copied from glibc + (variable "GUIX_LOCPATH") + (files '("lib/locale")))))) (search-paths (package-search-paths clang)) (license (package-license clang)) @@ -502,6 +512,101 @@ output), and Binutils.") ("libc-debug" ,glibc "debug") ("libc-static" ,glibc "static"))))) +(define-public llvm-11 + (package + (name "llvm") + (version "11.0.0") + (source + (origin + (method url-fetch) + (uri (llvm-uri "llvm" version)) + (sha256 + (base32 + "0s94lwil98w7zb7cjrbnxli0z7gklb312pkw74xs1d6zk346hgwi")))) + (build-system cmake-build-system) + (outputs '("out" "opt-viewer")) + (native-inputs + `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 + ("perl" ,perl))) + (inputs + `(("libffi" ,libffi))) + (propagated-inputs + `(("zlib" ,zlib))) ;to use output from llvm-config + (arguments + `(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DBUILD_SHARED_LIBS:BOOL=TRUE" + "-DLLVM_ENABLE_FFI:BOOL=TRUE" + "-DLLVM_REQUIRES_RTTI=1" ; For some third-party utilities + "-DLLVM_INSTALL_UTILS=ON") ; Needed for rustc. + + ;; Don't use '-g' during the build, to save space. + #:build-type "Release" + #:phases + (modify-phases %standard-phases + (add-before 'build 'shared-lib-workaround + ;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen + ;; doesn't seem to get the correct rpath to be able to run + ;; from the build directory. Set LD_LIBRARY_PATH as a + ;; workaround. + (lambda _ + (setenv "LD_LIBRARY_PATH" + (string-append (getcwd) "/lib")) + #t)) + (add-after 'install 'install-opt-viewer + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (opt-viewer-out (assoc-ref outputs "opt-viewer")) + (opt-viewer-share-dir (string-append opt-viewer-out "/share")) + (opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer"))) + (mkdir-p opt-viewer-share-dir) + (rename-file (string-append out "/share/opt-viewer") + opt-viewer-dir)) + #t))))) + (home-page "https://www.llvm.org") + (synopsis "Optimizing compiler infrastructure") + (description + "LLVM is a compiler infrastructure designed for compile-time, link-time, +runtime, and idle-time optimization of programs from arbitrary programming +languages. It currently supports compilation of C and C++ programs, using +front-ends derived from GCC 4.0.1. A new front-end for the C family of +languages is in development. The compiler infrastructure includes mirror sets +of programming tools as well as libraries with equivalent functionality.") + (license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt + +(define-public clang-runtime-11 + (clang-runtime-from-llvm + llvm-11 + "0d5j5l8phwqjjscmk8rmqn0i2i0abl537gdbkagl8fjpzy1gyjip")) + +(define-public clang-11 + (clang-from-llvm llvm-11 clang-runtime-11 + "02ajkij85966vd150iy246mv16dsaph1kfi0y8wnncp8w6nar5hg" + #:patches '("clang-11.0-libc-search-path.patch") + #:tools-extra + (origin + (method url-fetch) + (uri (llvm-uri "clang-tools-extra" + (package-version llvm-11))) + (sha256 + (base32 + "02bcwwn54661madhq4nxc069s7p7pj5gpqi8ww50w3anbpviilzy"))))) + +(define-public clang-toolchain-11 + (make-clang-toolchain clang-11)) + +(define-public llvm-10 + (package + (inherit llvm-11) + (version "10.0.0") + (source + (origin + (method url-fetch) + (uri (llvm-uri "llvm" version)) + (sha256 + (base32 + "1pwgm6cr0xr5a0hrbqs1zvsvvjvy0yq1y47c96804wcs795s90yz")))))) + (define-public clang-runtime-10 (clang-runtime-from-llvm llvm-10 @@ -514,7 +619,7 @@ output), and Binutils.") #:tools-extra (origin (method url-fetch) - (uri (llvm-download-uri "clang-tools-extra" + (uri (llvm-uri "clang-tools-extra" (package-version llvm-10))) (sha256 (base32 @@ -530,7 +635,7 @@ output), and Binutils.") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880")) @@ -566,7 +671,7 @@ output), and Binutils.") (version (package-version llvm-10)) (source (origin (method url-fetch) - (uri (llvm-download-uri "lld" version)) + (uri (llvm-uri "lld" version)) (sha256 (base32 "0ynzi35r4fckvp6842alpd43qr810j3728yfslc66fk2mbh4j52r")))) @@ -586,11 +691,11 @@ components which highly leverage existing libraries in the larger LLVM Project." (define-public llvm-8 (package - (inherit llvm) + (inherit llvm-9) (version "8.0.0") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "0k124sxkfhfi1rca6kzkdraf4axhx99x3cw2rk55056628dvwwl8")))) @@ -616,7 +721,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (version "7.0.1") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "16s196wqzdw4pmri15hadzqgdi926zln3an2viwyq0kini6zr3d3")))))) @@ -641,7 +746,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (version "6.0.1") (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn")))))) @@ -667,7 +772,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1vi9sf7rx1q04wj479rsvxayb6z740iaz3qniwp266fgp5a07n8z")))) @@ -699,7 +804,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1ybmnid4pw2hxn12ax5qa5kl1ldfns0njg8533y3mzslvd5cx0kf")))))) @@ -723,7 +828,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "1masakdp9g2dan1yrazg7md5am2vacbkb3nahb3dchpc1knr8xxy")))))) @@ -747,7 +852,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (sha256 (base32 "153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn")))))) @@ -769,7 +874,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "llvm" version)) + (uri (llvm-uri "llvm" version)) (patches (search-patches "llvm-3.5-fix-clang-build-with-gcc5.patch")) (sha256 @@ -811,19 +916,35 @@ components which highly leverage existing libraries in the larger LLVM Project." "0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg" #:patches '("clang-3.5-libc-search-path.patch"))) -(define-public llvm-for-extempore - (package (inherit llvm-3.8) - (name "llvm-for-extempore") - (source - (origin - (method url-fetch) - (uri (string-append "http://extempore.moso.com.au/extras/" - "llvm-3.8.0.src-patched-for-extempore.tar.xz")) - (sha256 - (base32 - "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs")))) - ;; Extempore refuses to build on architectures other than x86_64 - (supported-systems '("x86_64-linux")))) +;; Default LLVM and Clang version. +(define-public llvm llvm-9) +(define-public clang-runtime clang-runtime-9) +(define-public clang clang-9) +(define-public clang-toolchain clang-toolchain-9) + +(define-public lld + (package + (name "lld") + (version "11.0.0") + (source (origin + (method url-fetch) + (uri (llvm-uri "lld" version)) + (sha256 + (base32 + "077xyh7sij6mhp4dc4kdcmp9whrpz332fa12rwxnzp3wgd5bxrzg")))) + (build-system cmake-build-system) + (inputs + `(("llvm" ,llvm-11))) + (arguments + `(#:build-type "Release" + ;; TODO: Tests require the lit tool, which isn't installed by the LLVM + ;; package. + #:tests? #f)) + (home-page "https://lld.llvm.org/") + (synopsis "Linker from the LLVM project") + (description "LLD is a high-performance linker, built as a set of reusable +components which highly leverage existing libraries in the larger LLVM Project.") + (license license:asl2.0))) ; With LLVM exception (define-public libcxx (package @@ -832,7 +953,7 @@ components which highly leverage existing libraries in the larger LLVM Project." (source (origin (method url-fetch) - (uri (llvm-download-uri "libcxx" version)) + (uri (llvm-uri "libcxx" version)) (sha256 (base32 "0d2bj5i6mk4caq7skd5nsdmz8c2m5w5anximl5wz3x32p08zz089")))) @@ -872,7 +993,7 @@ use with Clang, targeting C++11, C++14 and above.") (source (origin (inherit (package-source libcxx)) - (uri (llvm-download-uri "libcxx" version)) + (uri (llvm-uri "libcxx" version)) (sha256 (base32 "0rzw4qvxp6qx4l4h9amrq02gp7hbg8lw4m0sy3k60f50234gnm3n")))) @@ -925,7 +1046,7 @@ requirements according to version 1.1 of the OpenCL specification.") (version "9.0.1") (source (origin (method url-fetch) - (uri (llvm-download-uri "openmp" version)) + (uri (llvm-uri "openmp" version)) (sha256 (base32 "1knafnpp0f7hylx8q20lkd6g1sf0flly572dayc5d5kghh7hd52w")) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index bac9e18ea6..d7cd44b215 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> @@ -165,9 +165,8 @@ commands, displaying the results via a web interface.") (build-system gnu-build-system) (arguments `(#:make-flags - (list "CC=gcc" - "PREFIX=" - (string-append "DESTDIR=" + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases @@ -178,14 +177,14 @@ commands, displaying the results via a web interface.") (("ncursesw\\/panel.h") "panel.h") (("ncursesw\\/ncurses.h") "ncurses.h"))) #t)) - (delete 'configure)) + (delete 'configure)) ; no configure script #:tests? #f)) ; no test suite (make check just runs cppcheck) (inputs `(("ncurses" ,ncurses))) (home-page "https://vanheusden.com/multitail/") - (synopsis "Monitor multiple logfiles") + (synopsis "Monitor multiple log files") (description - "MultiTail allows you to monitor logfiles and command output in multiple -windows in a terminal, colorize, filter and merge.") + "MultiTail can monitor, color, filter, and merge log files and command +output in multiple windows in a terminal.") (license license:gpl2+))) (define-public spdlog diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 5479b891bd..42ef24e381 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Simon South <simon@simonsouth.net> @@ -312,9 +312,8 @@ directory structure and file attributes.") (lua-api-version ,(version-major+minor (package-version lua)))) (list "CC=gcc" "CFLAGS='-D HAVE_SYS_SYSCTL_H=0'" ; sys/sysctl.h is deprecated - (string-append "DESTDIR=" out) - (string-append "LUA_APIS=" lua-api-version) - "prefix=")) + (string-append "prefix=" out) + (string-append "LUA_APIS=" lua-api-version))) #:phases (modify-phases %standard-phases (delete 'configure) @@ -880,3 +879,182 @@ on numbers.") "Selene is a simple C++11 header-only library enabling seamless interoperability between C++ and Lua programming language.") (license license:zlib))) + +(define-public lua-resty-core + (package + (name "lua-resty-core") + (version "0.1.17") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-core") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11fyli6yrg7b91nv9v2sbrc6y7z3h9lgf4lrrhcjk2bb906576a0")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua")) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/resty")) + (copy-recursively (string-append input "/lib/ngx") + (string-append output "/lib/ngx")) + (symlink (string-append output "/lib/lua/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-resty-core") + (synopsis "Lua API for NGINX") + (description "This package provides a FFI-based Lua API for +@code{ngx_http_lua_module} or @code{ngx_stream_lua_module}.") + (license license:bsd-2))) + +(define-public lua-resty-lrucache + (package + (name "lua-resty-lrucache") + (version "0.09") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-lrucache") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mwiy55qs8bija1kpgizmqgk15ijizzv4sa1giaz9qlqs2kqd7q2")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/" luajit-major+minor "/resty")) + (symlink (string-append output "/lib/lua/" luajit-major+minor "/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-resty-lrucache") + (synopsis "Lua LRU cache based on the LuaJIT FFI") + (description + "This package provides Lua LRU cache based on the LuaJIT FFI.") + (license license:bsd-2))) + +(define-public lua-resty-signal + (package + (name "lua-resty-signal") + (version "0.02") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-signal") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13y1pqn45y49mhqwywasfdsid46d0c33yi6mrnracbnmvyxz1cif")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;TODO: Run the test suite. + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'install 'install-lua + (lambda* (#:key inputs outputs #:allow-other-keys) + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/" luajit-major+minor "/resty")) + (symlink (string-append output "/lib/lua/" luajit-major+minor "/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref inputs "source") + (assoc-ref outputs "out"))) + #t))))) + (home-page "https://github.com/openresty/lua-resty-signal") + (synopsis "Lua library for killing or sending signals to Linux processes") + (description "This package provides Lua library for killing or sending +signals to Linux processes.") + (license license:bsd-3))) + +(define-public lua-tablepool + (package + (name "lua-tablepool") + (version "0.01") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-tablepool") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03yjj3w6znvj6843prg84m0lkrn49l901f9hj9bgy3cj9s0awl6y")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib") + (string-append output "/lib"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-tablepool") + (synopsis "Lua table recycling pools for LuaJIT") + (description "This package provides Lua table recycling pools for LuaJIT.") + (license license:bsd-2))) + +(define-public lua-resty-shell + (package + (name "lua-resty-shell") + (version "0.03") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-resty-shell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s6g04ip4hr97r2pd8ry3alq063604s9a3l0hn9nsidh81ps4dp7")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((luajit-major+minor ,(version-major+minor (package-version lua))) + (package-lua-resty (lambda (input output) + (mkdir-p (string-append output "/lib/lua/" luajit-major+minor)) + (copy-recursively (string-append input "/lib/resty") + (string-append output "/lib/lua/" luajit-major+minor "/resty")) + (symlink (string-append output "/lib/lua/" luajit-major+minor "/resty") + (string-append output "/lib/resty"))))) + (package-lua-resty (assoc-ref %build-inputs "source") + (assoc-ref %outputs "out"))) + #t))) + (home-page "https://github.com/openresty/lua-resty-shell") + (synopsis "Lua module for nonblocking system shell command executions") + (description "This package provides Lua module for nonblocking system +shell command executions.") + (license license:bsd-3))) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 89345fa5fd..34b522c99b 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -330,8 +331,6 @@ networks) based on simulation of (stochastic) flow in graphs.") (modify-phases %standard-phases (add-before 'configure 'patch-paths (lambda _ - (substitute* "configure" - (("/bin/sh") (which "sh"))) (substitute* "setup.ml" (("LDFLAGS=-fPIC") (string-append "LDFLAGS=-fPIC\"; \"SHELL=" (which "sh"))) @@ -1932,13 +1931,14 @@ with image data, text data, and sequence data.") ;; These tests attempt to download data files from the internet. (delete-file "tests/integration_tests/test_datasets.py") (delete-file "tests/integration_tests/imagenet_utils_test.py") - - (setenv "PYTHONPATH" - (string-append (getcwd) "/build/lib:" - (getenv "PYTHONPATH"))) - (invoke "py.test" "-v" - "-p" "no:cacheprovider" - "--ignore" "keras/utils")))))) + ;; Backport https://github.com/keras-team/keras/pull/12479. + (substitute* "tests/keras/engine/test_topology.py" + (("np.ones\\(\\(3, 2\\)\\)") + "1.")) + (invoke "python" "-m" "pytest" + ;; The following test fail only in the build container; + ;; skip it. + "-k" "not test_selu")))))) (propagated-inputs `(("python-h5py" ,python-h5py) ("python-keras-applications" ,python-keras-applications) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 2244653724..5056098806 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -35,6 +35,7 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org> +;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,6 +142,7 @@ #:use-module (guix git-download) #:use-module (guix svn-download) #:use-module (guix utils) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system guile) #:use-module (guix build-system perl) @@ -197,7 +199,10 @@ example, modify the message headers or body, or encrypt or sign the message.") version ".tar.xz")) (sha256 (base32 - "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9")))) + "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9")) + (patches + ;; Fixes https://issues.guix.gnu.org/43088. + (search-patches "mailutils-fix-uninitialized-variable.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -690,6 +695,54 @@ mailpack. What can alterMIME do? (license (list (license:non-copyleft "file://LICENSE") license:bsd-3)))) +(define-public ripmime + ;; Upstream does not tag or otherwise provide any releases (only a version + ;; number in the source) + (let ((commit "a556ffe08d620602475c976732e8e1a82f3169e9") + (revision "1")) + (package + (name "ripmime") + (version (git-version "1.4.0.10" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/inflex/ripMIME") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1z8ar8flvkd9q3ax4x28sj5pyq8ykk5pq249y967lj2406lxparh")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Source has no configure script + (delete 'configure) + ;; Buildcodes make the build non-reproducible; remove them + (add-after 'unpack 'strip-buildcodes + (lambda _ + (substitute* "generate-buildcodes.sh" + (("`date \\+%s`") "0") + (("`date`") "0") + (("`uname -a`") "Guix")) + #t)) + ;; https://github.com/inflex/ripMIME/pull/16 makes 'mkdir-p-bin-man unnecessary + (add-before 'install 'mkdir-p-bin-man + (lambda _ + (mkdir-p (string-append (assoc-ref %outputs "out") "/bin")) + (mkdir-p (string-append (assoc-ref %outputs "out") "/man")) + #t))) + ;; Makefile has no tests + #:tests? #f + #:make-flags (list (string-append "LOCATION=" (assoc-ref %outputs "out")) + "CC=gcc"))) + (synopsis "Extract attachments from MIME-encoded email") + (description + "ripMIME is a small program to extract the attached files out of a +MIME-encoded email package.") + (home-page "https://github.com/inflex/ripMIME") + (license license:bsd-3)))) + (define-public bogofilter (package (name "bogofilter") @@ -725,7 +778,7 @@ and corrections. It is based on a Bayesian filter.") (define-public offlineimap (package (name "offlineimap") - (version "7.2.4") + (version "7.3.3") (source (origin (method git-fetch) (uri (git-reference @@ -734,12 +787,14 @@ and corrections. It is based on a Bayesian filter.") (file-name (git-file-name name version)) (sha256 (base32 - "0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1")))) + "1gg8ry67i20qapj4z20am9bm67m2q28kixcj7ja75m897vhzarnq")))) (build-system python-build-system) (native-inputs `(("asciidoc" ,asciidoc))) - (inputs `(("python2-pysqlite" ,python2-pysqlite) - ("python2-six" ,python2-six))) + (inputs + `(("python2-pysqlite" ,python2-pysqlite) + ("python2-rfc6555" ,python2-rfc6555) + ("python2-six" ,python2-six))) (arguments ;; The setup.py script expects python-2. `(#:python ,python-2 @@ -1158,7 +1213,7 @@ and search library.") (base32 "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb")))) (build-system gnu-build-system) (native-inputs - `(("ghc-pandoc" ,ghc-pandoc) + `(("pandoc" ,pandoc) ("pkg-config" ,pkg-config))) (inputs `(("libcrypto" ,openssl) @@ -1265,62 +1320,69 @@ compresses it.") (define-public claws-mail (package (name "claws-mail") - (version "3.17.6") - (source (origin - (method url-fetch) - (uri (string-append - "https://www.claws-mail.org/releases/claws-mail-" version - ".tar.xz")) - (sha256 - (base32 - "1s05qw0r0gqwvvkxvrrwbjkbi61dvilixiwrpgcq21qc9csc9r0m")))) - (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("bogofilter" ,bogofilter) - ("curl" ,curl) - ("dbus-glib" ,dbus-glib) - ("enchant" ,enchant) - ("expat" ,expat) - ("ghostscript" ,ghostscript) - ("hicolor-icon-theme" ,hicolor-icon-theme) - ("gnupg" ,gnupg) - ("gnutls" ,gnutls) - ("gpgme" ,gpgme) - ("gtk" ,gtk+-2) - ("libarchive" ,libarchive) - ("libcanberra" ,libcanberra) - ("libetpan" ,libetpan) - ("libical" ,libical) - ("libnotify" ,libnotify) - ("libsm" ,libsm) - ("libxml2" ,libxml2) - ("perl" ,perl) - ("python-2" ,python-2) - ("mime-info" ,shared-mime-info) - ("startup-notification" ,startup-notification))) + (version "3.17.7") + (source + (origin + (method url-fetch) + (uri + (string-append + "https://www.claws-mail.org/releases/claws-mail-" + version ".tar.xz")) + (sha256 + (base32 "1j6x09621wng0lavh53nwzh9vqjzpspl8kh5azh7kbihpi4ldfb0")))) + (build-system glib-or-gtk-build-system) (arguments - '(#:configure-flags - '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant" - "--enable-ldap") - #:make-flags - ;; Disable updating icon cache since it's done by the profile hook. - ;; Conflict with other packages in the profile would be inevitable - ;; otherwise. - '("gtk_update_icon_cache=true") - #:phases (modify-phases %standard-phases - (add-before 'build 'patch-mime - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/procmime.c" - (("/usr/share/mime/globs") - (string-append (assoc-ref inputs "mime-info") - "/share/mime/globs")))))))) + `(#:configure-flags + (list + "--enable-gnutls" + "--enable-pgpmime-plugin" + "--enable-enchant" + "--enable-ldap") + #:make-flags + ;; Disable updating icon cache since it's done by the profile hook. + ;; Conflict with other packages in the profile would be inevitable + ;; otherwise. + (list + "gtk_update_icon_cache=true") + #:phases + (modify-phases %standard-phases + (add-before 'build 'patch-mime + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/procmime.c" + (("/usr/share/mime/globs") + (string-append (assoc-ref inputs "mime-info") + "/share/mime/globs")))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("bogofilter" ,bogofilter) + ("curl" ,curl) + ("dbus-glib" ,dbus-glib) + ("enchant" ,enchant) + ("expat" ,expat) + ("ghostscript" ,ghostscript) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("gnupg" ,gnupg) + ("gnutls" ,gnutls) + ("gpgme" ,gpgme) + ("gtk" ,gtk+-2) + ("libarchive" ,libarchive) + ("libcanberra" ,libcanberra) + ("libetpan" ,libetpan) + ("libical" ,libical) + ("libnotify" ,libnotify) + ("libsm" ,libsm) + ("libxml2" ,libxml2) + ("perl" ,perl) + ("python-2" ,python-2) + ("mime-info" ,shared-mime-info) + ("startup-notification" ,startup-notification))) (synopsis "GTK-based Email client") - (description - "Claws-Mail is an email client (and news reader) based on GTK+. The -appearance and interface are designed to be familiar to new users coming from -other popular email clients, as well as experienced users. Almost all commands -are accessible with the keyboard. Plus, Claws-Mail is extensible via addons -which can add many functionalities to the base client.") + (description "Claws-Mail is an email client (and news reader) based on GTK+. +The appearance and interface are designed to be familiar to new users coming +from other popular email clients, as well as experienced users. Almost all +commands are accessible with the keyboard. Plus, Claws-Mail is extensible via +addons which can add many functionalities to the base client.") (home-page "https://www.claws-mail.org/") (license license:gpl3+))) ; most files are actually public domain or x11 @@ -1661,7 +1723,7 @@ scripts to prevent embarrassing errors later on.") "Technology for Resting Email Encrypted Storage (TREES) is a NaCL-based Dovecot encryption plugin. This plugin adds individually encrypted mail storage to the Dovecot IMAP server. It is inspired by Posteo's scrambler -which uses OpenSSL and RSA keypairs. TREES works in a similar way, but uses +which uses OpenSSL and RSA key pairs. TREES works in a similar way, but uses the Sodium crypto library (based on NaCL). How it works: @@ -1914,14 +1976,14 @@ header.") (define-public perl-email-sender (package (name "perl-email-sender") - (version "1.300034") + (version "1.300035") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" "Email-Sender-" version ".tar.gz")) (sha256 - (base32 "14aj9kqa9dr2bdhzn2qvjj2mffj8wjb5397z8qw7qg057fk3ib05")))) + (base32 "0yfssp3rqdx1dmgvnygarzgkpkhqm28r5sd0gh87ksk8yxndhjql")))) (build-system perl-build-system) (native-inputs `(("perl-capture-tiny" ,perl-capture-tiny))) @@ -2539,7 +2601,7 @@ transfer protocols.") (description "Sieve-connect lets you view, upload, edit, delete, and otherwise manage Sieve scripts on any mail server that speaks the @dfn{ManageSieve} protocol, -as specifed in RFC 5804. +as specified in RFC 5804. @dfn{Sieve} (RFC 5228) is a specialised language for e-mail filtering. Sieve scripts are stored on the server and run whenever mail arrives. They can @@ -2999,47 +3061,6 @@ installation on systems where resources are limited. Its features include: (description "This package contains libraries and templates for Django-based interfaces interacting with Mailman.") - (properties `((python2-variant . ,(delay python2-django-mailman3)))) - (license license:gpl3+))) - -;; This is the last version to support Python-2. -(define-public python2-django-mailman3 - (package - (name "python2-django-mailman3") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "django-mailman3" version)) - (sha256 - (base32 - "1xjdkgfjwhgyrp5nxw65dcpcsr98ygj6856sp0bwkrmyxpd1xxk2")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "django-admin" - "test" - "--settings=django_mailman3.tests.settings_test" - "django_mailman3")))) - #:python ,python-2)) - (inputs - `(("python2-django" ,python2-django))) - (propagated-inputs - `(("python2-requests" ,python2-requests) - ("python2-requests-oauthlib" ,python2-requests-oauthlib) - ("python2-openid" ,python2-openid) - ("python2-mailmanclient" ,python2-mailmanclient) - ("python2-django-allauth" ,python2-django-allauth) - ("python2-django-gravatar2" ,python2-django-gravatar2) - ("python2-pytz" ,python2-pytz))) - (home-page "https://gitlab.com/mailman/django-mailman3") - (synopsis "Django library for Mailman UIs") - (description - "Libraries and templates for Django-based interfaces -interacting with Mailman.") (license license:gpl3+))) (define-public python-mailman-hyperkitty @@ -3099,16 +3120,12 @@ which sends emails to HyperKitty, the official Mailman3 web archiver.") (modify-phases %standard-phases (replace 'check (lambda _ - ;; It is unclear why this test fails. - (substitute* "hyperkitty/tests/commands/test_import.py" - (("def test_bad_content_type_part_two") - "@SkipTest\n def test_bad_content_type_part_two")) (setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH"))) (invoke "example_project/manage.py" "test" "--settings=hyperkitty.tests.settings_test")))))) (propagated-inputs `(("python-dateutil" ,python-dateutil) - ("python-django" ,python-django) + ("python-django" ,python-django-2.2) ("python-django-compressor" ,python-django-compressor) ("python-django-extensions" ,python-django-extensions) ("python-django-gravatar2" ,python-django-gravatar2) @@ -3213,28 +3230,35 @@ on the fly. Both programs are written in C and are very fast.") (define-public swaks (package (name "swaks") - (version "20190914.0") + (version "20201014.0") (source (origin - (method url-fetch) - (uri (string-append - "https://jetmore.org/john/code/swaks/files/swaks-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jetmore/swaks") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 - "12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp")))) + (base32 "131i2b1yxhnbqkfk4kky40pfanqw2c5lcgbnjhfqp5cvpawpk2ai")))) (build-system perl-build-system) (inputs - `(("perl-net-dns" ,perl-net-dns) - ("perl-net-ssleay" ,perl-net-ssleay))) + `(("perl-io-socket-inet6" ,perl-io-socket-inet6) + ("perl-net-dns" ,perl-net-dns) + ("perl-net-ssleay" ,perl-net-ssleay) + ("perl-socket6" ,perl-socket6))) ; used by perl-io-socket-inet6 (arguments - `(#:tests? #f ; No tests + `(#:tests? #f ; no tests #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-build_version + (lambda _ + (substitute* "swaks" + (("\"DEVRELEASE\"") (format #f "\"~a\"" ,version))) + #true)) (delete 'configure) (replace 'build (lambda _ - (invoke "pod2man" "doc/ref.pod" "swaks.1"))) + (invoke "pod2man" "doc/base.pod" "swaks.1"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -3262,7 +3286,7 @@ operators and scripters.") (define-public alpine (package (name "alpine") - (version "2.23.2") + (version "2.24") (source (origin (method git-fetch) @@ -3275,7 +3299,7 @@ operators and scripters.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "16ldmmcymrnpnbfc1kb2rhac7nzlc87wjawic4wfinkphd124d1y")) + (base32 "0d5ybnsv29gs8krl66db56avmssq28jlg0qj5i1wka05ncc3740d")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 56a920d873..af08774c70 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Nikita <nikita@n0.is> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. @@ -30,9 +30,11 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system cmake) #:use-module (guix build-system perl) + #:use-module (guix utils) #:use-module (gnu packages compression) #:use-module (gnu packages) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages web)) @@ -112,7 +114,7 @@ convert it to structurally valid XHTML (or HTML).") (define-public discount (package (name "discount") - (version "2.2.4") + (version "2.2.7") (source (origin (method url-fetch) (uri (string-append @@ -120,10 +122,11 @@ convert it to structurally valid XHTML (or HTML).") "discount/discount-" version ".tar.bz2")) (sha256 (base32 - "199hwajpspqil0a4y3yxsmhdp2dm73gqkzfk4mrwzsmlq8y1xzbl")))) + "024mxv0gpvilyfczarcgy5m7h4lv6qvhjfpf5i73qkxhszjjn9mi")))) (build-system gnu-build-system) (arguments `(#:test-target "test" + #:parallel-build? #f ; libmarkdown won't be built in time #:make-flags (list (string-append "LFLAGS=-L. -Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) @@ -138,10 +141,15 @@ convert it to structurally valid XHTML (or HTML).") #t)) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) - (setenv "CC" "gcc") - (invoke "./configure.sh" - (string-append "--prefix=" (assoc-ref outputs "out")) - "--shared")))))) + (let ((out (assoc-ref outputs "out"))) + (setenv "CC" ,(cc-for-target)) + ;; The ‘validate-runpath’ phase fails otherwise. + (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib")) + (invoke "./configure.sh" + (string-append "--prefix=" out) + "--shared"))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) (synopsis "Markdown processing library, written in C") (description "Discount is a markdown implementation, written in C. It provides a diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1ed1e0511b..1c02a1ab0f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1183,7 +1184,7 @@ extremely large and complex data collections.") (define-public hdf5-1.10 (package/inherit hdf5-1.8 - (version "1.10.6") + (version "1.10.7") (source (origin (method url-fetch) @@ -1197,7 +1198,7 @@ extremely large and complex data collections.") (take (string-split version #\.) 2)) "/src/hdf5-" version ".tar.bz2"))) (sha256 - (base32 "1gf38x51128hn00744358w27xgzjk0ff4wra4yxh2lk804ck1mh9")) + (base32 "0pm5xxry55i0h7wmvc7svzdaa90rnk7h78rrjmnlkz2ygsn8y082")) (patches (search-patches "hdf5-config-date.patch")))))) (define-public hdf5 @@ -2156,7 +2157,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") (define-public gmsh (package (name "gmsh") - (version "2.16.0") + (version "4.6.0") (source (origin (method git-fetch) @@ -2168,12 +2169,11 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") version))))) (file-name (git-file-name name version)) (sha256 - (base32 "08rq4jajwmlpivnm9yifz2jhaivnz065lnk0h2zv773nwl9wf162")) + (base32 "0m0pjxcy1bnr7a20i11lh0ih159pphq9wsvfjr3sfx4y3lginz5y")) (modules '((guix build utils))) (snippet - ;; Remove non-free METIS code '(begin - (delete-file-recursively "contrib/Metis") + (delete-file-recursively "contrib/metis") #t)))) (build-system cmake-build-system) (propagated-inputs @@ -2184,14 +2184,15 @@ This is the certified version of the Open Cascade Technology (OCCT) library.") ("lapack" ,lapack) ("mesa" ,mesa) ("glu" ,glu) - ("opencascade-oce" ,opencascade-oce) + ("metis" ,metis) + ("opencascade-occt" ,opencascade-occt) ("libx11" ,libx11) ("libxext" ,libxext))) (inputs `(("fontconfig" ,fontconfig) ("libxft" ,libxft))) (arguments - `(#:configure-flags `("-DENABLE_METIS:BOOL=OFF" + `(#:configure-flags `("-DENABLE_SYSTEM_CONTRIB:BOOL=ON" "-DENABLE_BUILD_SHARED:BOOL=ON" "-DENABLE_BUILD_DYNAMIC:BOOL=ON"))) (home-page "http://gmsh.info/") @@ -3863,7 +3864,7 @@ Fresnel integrals, and similar related functions as well.") (define-public suitesparse (package (name "suitesparse") - (version "5.7.1") + (version "5.8.1") (source (origin (method git-fetch) @@ -3873,7 +3874,7 @@ Fresnel integrals, and similar related functions as well.") (file-name (git-file-name name version)) (sha256 (base32 - "174p3l78kv9gaa0i5hflyai2ydwnjzh34k9938sl4aa3li0543s8")) + "0qjlyfxs8s48rs63c2fzspisgq1kk4bwkgnhmh125hgkdhrq2w1c")) (patches (search-patches "suitesparse-mongoose-cmake.patch")) (modules '((guix build utils))) (snippet @@ -3886,7 +3887,6 @@ Fresnel integrals, and similar related functions as well.") '(#:tests? #f ;no "check" target #:make-flags (list "CC=gcc" - "BLAS=-lblas" "TBB=-ltbb" "MY_METIS_LIB=-lmetis" ;; Flags for cmake (required to build GraphBLAS and Mongoose) @@ -3908,6 +3908,8 @@ Fresnel integrals, and similar related functions as well.") (inputs `(("tbb" ,tbb) ("lapack" ,lapack) + ("gmp" ,gmp) + ("mpfr" ,mpfr) ("metis" ,metis))) (native-inputs `(("cmake" ,cmake-minimal) @@ -5765,10 +5767,10 @@ compiled against the nauty library.") "1j5aji1g2vmdvc0gqz45n2ll2l2f6czca04wiyfl5g3sm3a6vhvb")))) (build-system gnu-build-system) (native-inputs - `(("m4", m4))) + `(("m4" ,m4))) (inputs `(("glpk" ,glpk) - ("gmp", gmp))) + ("gmp" ,gmp))) (home-page "https://www.bugseng.com/parma-polyhedra-library") (synopsis "Parma Polyhedra Library for computations with polyhedra") diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm index 002c1b530d..83a0d478af 100644 --- a/gnu/packages/matrix.scm +++ b/gnu/packages/matrix.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,13 +61,13 @@ an LDAP server.") (define-public synapse (package (name "synapse") - (version "1.14.0") + (version "1.20.1") (source (origin (method url-fetch) (uri (pypi-uri "matrix-synapse" version)) (sha256 (base32 - "09drdqcjvpk9s3hq5rx9yxsxq0wak5fg5gfaiqfnbnxav2c2v7kq")))) + "1sf36vwvy2f9jy6dldq6gqfmh60384i5j64s7yc131b4dp0n7lcw")))) (build-system python-build-system) ;; TODO Run tests with ‘PYTHONPATH=. trial3 tests’. (propagated-inputs diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index e0cc98d408..ad14c1aa62 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -2944,13 +2944,14 @@ projects.") (name "maven-resources-plugin") (version "3.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/apache/" - "maven-resources-plugin/archive/" - "maven-resources-plugin-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/maven-resources-plugin") + (commit (string-append "maven-resources-plugin-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1f5gnjg2xmqfxml6k0ydyd1sxxwzgnb24qn6avcc4mijwd8a84pl")))) + "090k5j2y7ak54czfjjg3v7pdmdlgd96fbs91d1fd3vslm9zzndg8")))) (build-system ant-build-system) (arguments `(#:jar-name "maven-resources-plugin.jar" @@ -3052,13 +3053,14 @@ components for supporting incremental build functionality in maven plugins.") (name "maven-compiler-plugin") (version "3.8.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/apache/" - "maven-compiler-plugin/archive/" - "maven-compiler-plugin-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/maven-compiler-plugin") + (commit (string-append "maven-compiler-plugin-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "018d9qwc4cd6k7a8kvhvxjmzbzd2ifdf7m36wqjfq42010js1mv1")))) + "0jkbq02vykd09ws8k9bzqxv6fjrpmir8gcxydbmj05kkhl242bma")))) (build-system ant-build-system) (arguments `(#:jar-name "maven-compiler-plugin.jar" @@ -3620,13 +3622,14 @@ reports in two different file formats, plain text and xml."))) (name "maven-jar-plugin") (version "3.2.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/apache/" - "maven-jar-plugin/archive/" - "maven-jar-plugin-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/maven-jar-plugin") + (commit (string-append "maven-jar-plugin-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "032042n3kfb4g5jf6khzxywn22xfy3jpx57lkq88xsv0lwx9np96")))) + "04y2rlmcabmc55ljqlkgbb5xx94a59cz1dvrnpfj1vzz024pqkyg")))) (build-system ant-build-system) (arguments `(#:jar-name "maven-jar-plugin.jar" diff --git a/gnu/packages/mercury.scm b/gnu/packages/mercury.scm index a6ae451e63..bab8909862 100644 --- a/gnu/packages/mercury.scm +++ b/gnu/packages/mercury.scm @@ -138,7 +138,7 @@ (native-inputs `(("texinfo" ,texinfo) ("flex" ,flex) - ("tcsh", tcsh) + ("tcsh" ,tcsh) ("bison" ,bison) ("readline" ,readline) ("libatomic-ops" ,(package-source diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 9ffbe33ab7..5ceb1c6151 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -64,7 +64,7 @@ extensive examples, including parsers for the Javascript and C99 languages.") (home-page "https://savannah.nongnu.org/projects/nyacc") (license (list gpl3+ lgpl3+)))) -(define-public nyacc +(define-public nyacc-0.99 (package (inherit nyacc-0.86) (version "0.99.0") @@ -95,6 +95,28 @@ extensive examples, including parsers for the Javascript and C99 languages.") (inputs `(("guile" ,guile-2.2))))) +(define-public nyacc + (package + (inherit nyacc-0.99) + (version "1.03.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/nyacc/nyacc-" + version ".tar.gz")) + (sha256 + (base32 + "1vdiqpm3p0ndmpmkzcpkpjvgklfsk4wxrhkixdxbczpafdfl635p")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "configure" + (("GUILE_GLOBAL_SITE=\\$prefix.*") + "GUILE_GLOBAL_SITE=\ +$prefix/share/guile/site/$GUILE_EFFECTIVE_VERSION\n")) + #t)))) + (inputs + `(("guile" ,guile-3.0))))) + (define-public mes-0.19 ;; Mes used for bootstrap. (package @@ -153,7 +175,7 @@ Guile.") "0p1jsrrmcbc0zrvbvnjbb6iyxr0in71km293q8qj6gnar6bw09av")))) (propagated-inputs `(("mescc-tools" ,mescc-tools) - ("nyacc" ,nyacc))) + ("nyacc" ,nyacc-0.99))) (native-search-paths (list (search-path-specification (variable "C_INCLUDE_PATH") @@ -185,7 +207,7 @@ Guile.") ("make" ,gnu-make) ("mes" ,mes) ("mescc-tools" ,mescc-tools) - ("nyacc" ,nyacc) + ("nyacc" ,nyacc-0.99) ("sed" ,sed) ("tar" ,tar))) (supported-systems '("i686-linux")) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index f8bb673734..5e2a39fece 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Mason Hock <chaosmonk@riseup.net> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -350,49 +351,53 @@ access to servers running the Discord protocol.") (license license:gpl2+))) (define-public purple-mattermost - (package - (name "purple-mattermost") - (version "1.2") - (home-page "https://github.com/EionRobb/purple-mattermost") - (source (origin - (method git-fetch) - (uri (git-reference (url home-page) - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0fm49iv58l09qpy8vkca3am642fxiwcrrh6ykimyc2mas210b5g2")))) - (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Adjust the makefile to install files in the right - ;; place. - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("MATTERMOST_DEST = .*") - (string-append "MATTERMOST_DEST = " out - "/lib/purple-2\n")) ;XXX: hardcoded - (("MATTERMOST_ICONS_DEST = .*") - (string-append "MATTERMOST_ICONS_DEST = " - out - "/share/pixmaps/pidgin/protocols\n"))) - #t)))) - #:make-flags (list "CC=gcc" - ,(string-append "PLUGIN_VERSION=" version)) - #:tests? #f)) - (inputs `(("glib" ,glib) - ("json-glib" ,json-glib) - ("discount" ,discount) - ("pidgin" ,pidgin))) - (native-inputs `(("pkg-config" ,pkg-config))) - (synopsis "Purple plug-in to access Mattermost instant messaging") - (description - "Purple-Mattermost is a plug-in for Purple, the instant messaging library + ;; The latest release (1.2) only supports Mattermost's /api/v3. Choose a + ;; commit that supports /api/v4. + (let ((commit "158ce2052af9aaf3d1f6f045f0cfba276e0e91cf") + (revision "0")) + (package + (name "purple-mattermost") + (version (git-version "1.2" revision commit)) + (home-page "https://github.com/EionRobb/purple-mattermost") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1481zm20pnfq52ncg7hxayjq8cw3a6yh9m4jm1m5s8chsq04015l")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Adjust the makefile to install files in the right + ;; place. + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("MATTERMOST_DEST = .*") + (string-append "MATTERMOST_DEST = " out + "/lib/purple-2\n")) ;XXX: hardcoded + (("MATTERMOST_ICONS_DEST = .*") + (string-append "MATTERMOST_ICONS_DEST = " + out + "/share/pixmaps/pidgin/protocols\n"))) + #t)))) + #:make-flags (list "CC=gcc" + ,(string-append "PLUGIN_VERSION=" version)) + #:tests? #f)) + (inputs `(("glib" ,glib) + ("json-glib" ,json-glib) + ("discount" ,discount) + ("pidgin" ,pidgin))) + (native-inputs `(("pkg-config" ,pkg-config))) + (synopsis "Purple plug-in to access Mattermost instant messaging") + (description + "Purple-Mattermost is a plug-in for Purple, the instant messaging library used by Pidgin and Bitlbee, among others, to access @uref{https://mattermost.com/, Mattermost} servers.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public hexchat (package @@ -536,7 +541,7 @@ authentication.") (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("check" ,check) + ("check" ,check-0.14) ("intltool" ,intltool) ("gconf" ,gconf) ("python" ,python-2) @@ -874,6 +879,7 @@ on Axolotl and PEP.") (package (name "dino") (version "0.1.0") + (outputs '("out" "debug")) (source (origin (method url-fetch) @@ -2070,6 +2076,7 @@ There is support for: (package (name "quaternion") (version "0.0.9.4e") + (outputs '("out" "debug")) (source (origin (method git-fetch) @@ -2313,7 +2320,7 @@ support for high performance Telegram Bot creation.") (define-public chatty (package (name "chatty") - (version "0.1.10") + (version "0.1.16") (source (origin (method git-fetch) (uri (git-reference @@ -2322,7 +2329,7 @@ support for high performance Telegram Bot creation.") (file-name (git-file-name name version)) (sha256 (base32 - "0czvqwjzsb0rvmgrmbh97m1b35rnwl41j7q32z4fcqb7bschibql")))) + "085hb3ii1cy0jb3f0mim25v5r5w3gpfsdpjid5dmrpw4gi88aa2x")))) (build-system meson-build-system) (arguments '(#:phases @@ -2339,6 +2346,7 @@ support for high performance Telegram Bot creation.") (inputs `(("feedbackd" ,feedbackd) ("folks" ,folks) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("libgcrypt" ,libgcrypt) ("libgee" ,libgee) ("libhandy" ,libhandy-0.0) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index 16de32b306..30fe61ea00 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -330,49 +330,52 @@ caching them in memory for \"hot queries\" from the Graphite-Web application, and persisting them to disk using the Whisper time-series library.") (license license:asl2.0))) -(define-public python2-graphite-web +(define-public graphite-web (package - (name "python2-graphite-web") - (version "1.0.2") + (name "graphite-web") + (version "1.1.7") (source (origin (method url-fetch) (uri (pypi-uri "graphite-web" version)) (sha256 (base32 - "0q8bwlj75jqyzmazfsi5sa26xl58ssa8wdxm2l4j0jqyn8xpfnmc")))) + "1l5a5rry9cakqxamvlx4xq63jifmncb6815bg9vy7fg1zyd3pjxk")))) (build-system python-build-system) (arguments - `(#:python ,python-2 ; only supports Python 2 + `(#:tests? #f ;XXX: not in PyPI release & requires database #:phases (modify-phases %standard-phases (add-after 'unpack 'relax-requirements (lambda _ (substitute* "setup.py" - (("0.4.3") ,(package-version python2-django-tagging)) - (("<1.9.99") (string-append "<=" - ,(package-version python2-django)))) + ;; Allow newer versions of django-tagging. + (("django-tagging==") + "django-tagging>=")) #t)) ;; Don't install to /opt (add-after 'unpack 'do-not-install-to-/opt (lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t))))) (propagated-inputs - `(("python2-cairocffi" ,python2-cairocffi) - ("python2-pytz" ,python2-pytz) - ("python2-whisper" ,python2-whisper) - ("python2-django" ,python2-django) - ("python2-django-tagging" ,python2-django-tagging) - ("python2-scandir" ,python2-scandir) - ("python2-urllib3" ,python2-urllib3) - ("python2-pyparsing" ,python2-pyparsing) - ("python2-txamqp" ,python2-txamqp))) - (home-page "http://graphiteapp.org/") + `(("python-cairocffi" ,python-cairocffi) + ("python-pytz" ,python-pytz) + ("python-whisper" ,python-whisper) + ("python-django" ,python-django-2.2) + ("python-django-tagging" ,python-django-tagging) + ("python-scandir" ,python-scandir) + ("python-urllib3" ,python-urllib3) + ("python-pyparsing" ,python-pyparsing) + ("python-txamqp" ,python-txamqp))) + (home-page "https://graphiteapp.org/") (synopsis "Scalable realtime graphing system") (description "Graphite is a scalable real-time graphing system that does two things: store numeric time-series data, and render graphs of this data on demand.") (license license:asl2.0))) +(define-public python2-graphite-web + (deprecated-package "python2-graphite-web" graphite-web)) + (define-public python-prometheus-client (package (name "python-prometheus-client") diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 032b1d1074..b0d3645b4a 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2016, 2018, 2019, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com> +;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module (gnu packages boost) #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages readline) @@ -92,7 +94,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.21.25") + (version "0.22") (source (origin (method url-fetch) (uri @@ -101,10 +103,10 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "00f2cm3sg0vi9gxb1yk35lyyh3fbabwim3mfnsz2syrjpw0sv810")))) + "0xlhwdbnww7gjw474j54j94iwrzbzlqvnv6chlkga6yh4pcl5rvx")))) (build-system meson-build-system) (arguments - `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'... + `(#:configure-flags '("-Ddocumentation=enabled"))) (inputs `(("ao" ,ao) ("alsa-lib" ,alsa-lib) ("avahi" ,avahi) @@ -183,7 +185,7 @@ player daemon.") (define-public ncmpc (package (name "ncmpc") - (version "0.39") + (version "0.41") (source (origin (method url-fetch) (uri @@ -192,7 +194,7 @@ player daemon.") "/ncmpc-" version ".tar.xz")) (sha256 (base32 - "1a0i1wm9287kd4nqii28dp84260063kyl726yjzxzr7vq8hf7sv4")))) + "1b0kxidz3h3anc006cjrrbb281zl75f1qaip4m3672pczdc2lwwa")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -249,18 +251,19 @@ sort playlists, and a local file system browser.") (define-public mpdscribble (package (name "mpdscribble") - (version "0.22") + (version "0.23") (source (origin (method url-fetch) (uri (string-append "http://www.musicpd.org/download/mpdscribble/" - version "/mpdscribble-" version ".tar.gz")) + version "/mpdscribble-" version ".tar.xz")) (sha256 (base32 - "0f0ybx380x2z2g1qvdndpvcrhkrgsfqckhz3ryydq2w3pl12v27z")))) - (build-system gnu-build-system) - (inputs `(("libmpdclient" ,libmpdclient) + "0s66zqscb44p88cl3kcv5jkjcqsskcnrv7xgrjhzrchf2kcpwf53")))) + (build-system meson-build-system) + (inputs `(("boost" ,boost) ("curl" ,curl) - ("glib" ,glib))) + ("libgcrypt" ,libgcrypt) + ("libmpdclient" ,libmpdclient))) (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "MPD client for track scrobbling") (description "mpdscribble is a Music Player Daemon client which submits diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index b39c50779a..06a82cce95 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2017 Dave Love <fx@gnu.org> @@ -177,7 +177,7 @@ bind processes, and much more.") (define-public openmpi (package (name "openmpi") - (version "4.0.3") + (version "4.0.5") (source (origin (method url-fetch) @@ -185,7 +185,7 @@ bind processes, and much more.") (version-major+minor version) "/downloads/openmpi-" version ".tar.bz2")) (sha256 - (base32 "00zxcw99gr5n693cmcmn4f6a47vx1ywna895p0x7p163v37gw0hl")) + (base32 "02f0r9d3xgs08svkmj8v7lzviyxqnkk4yd3z0wql550xnriki3y5")) (patches (search-patches "openmpi-mtl-priorities.patch")))) (build-system gnu-build-system) (inputs @@ -221,6 +221,10 @@ bind processes, and much more.") "--with-hwloc=external" "--with-libevent" + ;; Help 'orterun' and 'mpirun' find their tools + ;; under $prefix by default. + "--enable-mpirun-prefix-by-default" + ;; InfiniBand support "--enable-openib-control-hdr-padding" "--enable-openib-dynamic-sl" diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a3e38dd1c8..830bc4dfbe 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -29,6 +29,8 @@ ;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,6 +139,7 @@ #:use-module (gnu packages rsync) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) + #:use-module (gnu packages stb) #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages tex) @@ -147,6 +150,7 @@ #:use-module (gnu packages vim) ;for 'xxd' #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xiph) @@ -743,16 +747,64 @@ MusePack, Monkey's Audio, and WavPack files.") " --mcpu=generic --attr=none"))) #t))))) (inputs - `(("llvm" ,llvm-for-extempore) + `(("llvm" + ,(package + (inherit llvm-3.8) + (name "llvm-for-extempore") + (source + (origin + (method url-fetch) + (uri (string-append "http://extempore.moso.com.au/extras/" + "llvm-3.8.0.src-patched-for-extempore.tar.xz")) + (sha256 + (base32 + "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs")))))) ("libffi" ,libffi) ("jack" ,jack-1) ("libsndfile" ,libsndfile) ("glfw" ,glfw) ("apr" ,apr) - ("stb-image" ,stb-image-for-extempore) + ("stb-image" + ,(let ((revision "1") + (commit "152a250a702bf28951bb0220d63bc0c99830c498")) + (package + (inherit stb-image) + (name "stb-image-for-extempore") + (version (git-version "0" revision commit)) + (source + (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/stb") + (commit commit))) + (sha256 + (base32 + "0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ;no tests included + (inputs '())))) ("kiss-fft" ,kiss-fft-for-extempore) ("nanovg" ,nanovg-for-extempore) - ("portmidi" ,portmidi-for-extempore) + ("portmidi" + ,(let ((version "217") + (revision "0") + (commit "8602f548f71daf5ef638b2f7d224753400cb2158")) + (package + (inherit portmidi) + (name "portmidi-for-extempore") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/portmidi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ;no tests + (native-inputs '())))) ("assimp" ,assimp) ("alsa-lib" ,alsa-lib) ("portaudio" ,portaudio) @@ -777,6 +829,75 @@ are helpful when working in problem spaces where timing is important (such as audio and video).") (license license:bsd-2))) +(define-public surge-synth + (package + (name "surge-synth") + (version "1.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/surge-synthesizer/surge") + (commit (string-append "release_" version)) + (recursive? #t))) ; build system expects modules to be there + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jhk8iaqh89dnci4446b47315v2lc8gclraygk8m9jl20zpjxl0l")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no tests included + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'replace-python + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + ((" python ") + (string-append " " (assoc-ref inputs "python") + "/bin/python3 "))) + #t)) + (add-after 'unpack 'fix-data-directory-name + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "src/common/SurgeStorage.cpp" + (("/usr") (assoc-ref outputs "out"))) + #t)) + (replace 'install ; no install target + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((src (assoc-ref inputs "source")) + (out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (lib (string-append out "/lib")) + (lv2 (string-append lib "/lv2")) + (vst3 (string-append lib "/vst3"))) + (mkdir-p lv2) + (mkdir-p vst3) + ;; Install LV2 plugin. + (copy-recursively "surge_products/Surge.lv2" + (string-append lv2 "/Surge.lv2")) + ;; Install VST3 plugin. + (copy-recursively "surge_products/Surge.vst3" + (string-append vst3 "/Surge.vst3")) + ;; Install data. + (copy-recursively (string-append src "/resources/data") + (string-append share "/Surge")) + #t)))))) + (inputs + `(("cairo" ,cairo) + ("libxkbcommon" ,libxkbcommon) + ("python" ,python) + ("xcb-util" ,xcb-util) + ("xcb-util-cursor" ,xcb-util-cursor) + ("xcb-util-keysyms" ,xcb-util-keysyms))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://surge-synthesizer.github.io/") + (synopsis "Synthesizer plugin") + (description + "Surge is a subtractive hybrid digital synthesizer. Each patch contains +two @dfn{scenes} which are separate instances of the entire synthesis +engine (except effects) that can be used for layering or split patches.") + (license license:gpl3+))) + (define-public klick (package (name "klick") @@ -1233,7 +1354,7 @@ device supports.") (define-public bsequencer (package (name "bsequencer") - (version "1.6.0") + (version "1.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -1242,7 +1363,7 @@ device supports.") (file-name (git-file-name name version)) (sha256 (base32 - "0w21kzq695xy4i1r6xvvh7sad5m0rlmdgc7ykmrlzfsm1252dz80")))) + "0w7iwzz2r4a699fi24qk71vv2k3jpl9ylzlgmvyc3rlgad0m01k1")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -1321,9 +1442,9 @@ B.Choppr is the successor of B.Slizr.") (base32 "0kl6hrxmqrdf0195bfnzsa2h1073fgiqrfhg2276fm1954sm994v")))) (inputs - `(("cairo", cairo) - ("libsndfile", libsndfile) - ("lv2", lv2))) + `(("cairo" ,cairo) + ("libsndfile" ,libsndfile) + ("lv2" ,lv2))) (synopsis "Pattern-controlled audio stream/sample re-sequencer LV2 plugin") (description "B.Jumblr is a pattern-controlled audio stream / sample re-sequencer LV2 plugin.") @@ -1346,11 +1467,11 @@ re-sequencer LV2 plugin.") (base32 "1c09acqrbd387ba41f8ch1qykdap5h6cg9if5pgd16i4dmjnpghj")))) (inputs - `(("cairo", cairo) + `(("cairo" ,cairo) ("fontconfig" ,fontconfig) - ("libsndfile", libsndfile) + ("libsndfile" ,libsndfile) ("libx11" ,libx11) - ("lv2", lv2))) + ("lv2" ,lv2))) (home-page "https://github.com/sjaehn/BSchaffl") (synopsis "Pattern-controlled MIDI amp & time stretch LV2 plugin") (description "This package provides an LV2 plugin that allows for @@ -1984,7 +2105,7 @@ export.") (define-public pd (package (name "pd") - (version "0.51-1") + (version "0.51-2") (source (origin (method url-fetch) (uri @@ -1992,7 +2113,7 @@ export.") version ".src.tar.gz")) (sha256 (base32 - "0imbha9h96vqa967cbmdj7kkx7zrs054n5w2bjnifxdzws3qbxf6")))) + "1jgklcnaxypc8hr5j6mng8dd4na4ygfdixsfch8b86glssddi6mh")))) (build-system gnu-build-system) (arguments (let ((wish (string-append "wish" (version-major+minor @@ -2113,29 +2234,6 @@ main purpose is to liberate raw audio rendering from audio and MIDI drivers.") using a system-independent interface.") (license license:expat))) -(define-public portmidi-for-extempore - (let ((version "217") - (revision "0") - (commit "8602f548f71daf5ef638b2f7d224753400cb2158")) - (package (inherit portmidi) - (name "portmidi-for-extempore") - (version (git-version version revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/extemporelang/portmidi") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w")))) - (build-system cmake-build-system) - (arguments `(#:tests? #f)) ; no tests - (native-inputs '()) - ;; Extempore refuses to build on architectures other than x86_64 - (supported-systems '("x86_64-linux")) - (home-page "https://github.com/extemporelang/portmidi/")))) - (define-public python-pyportmidi (package (name "python-pyportmidi") @@ -2605,14 +2703,14 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.9.16") + (version "0.9.17") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "1l19g7cvgb7gfjmaihnd899k5hhxyf4sz22380y830xjfs2fvqxc")))) + "0mcfli3wffz5a9pkpcxli03ysyrr53ij3569m81ck9h8pr7yng4b")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target @@ -2846,7 +2944,7 @@ event-based scripts for scrobbling, notifications, etc.") (define-public picard (package (name "picard") - (version "2.1.3") + (version "2.4.4") (source (origin (method url-fetch) (uri (string-append @@ -2854,7 +2952,8 @@ event-based scripts for scrobbling, notifications, etc.") "picard/picard-" version ".tar.gz")) (sha256 (base32 - "19w5k3bf4886gdycxjds9nkjvir0gwy2r5cqkz0lbls4ikk4y14f")))) + "1c5l7i43jaj3s4wklc0cba6nn2x9cmpcggk4q4h9m1bci2xilsiy")) + (patches (search-patches "picard-fix-id3-rename-test.patch")))) (build-system python-build-system) (arguments '(#:use-setuptools? #f @@ -2873,7 +2972,8 @@ event-based scripts for scrobbling, notifications, etc.") (assoc-ref inputs "chromaprint") "/bin/fpcalc"))) #t))))) (native-inputs - `(("gettext" ,gettext-minimal))) + `(("gettext" ,gettext-minimal) + ("python-dateutil" ,python-dateutil))) (inputs `(("chromaprint" ,chromaprint) ("python-discid" ,python-discid) @@ -2889,16 +2989,18 @@ formats, looking up tracks through metadata and audio fingerprints.") (define-public python-mutagen (package (name "python-mutagen") - (version "1.38") + (version "1.45.1") (source (origin (method url-fetch) (uri (pypi-uri "mutagen" version)) (sha256 (base32 - "0rl7sxn1rcjl48fwga3dqf9f6pzspsny4ngxyf6pp337mrq0z693")))) + "1qdk6i8gyhbi1c4j5jmbfpac3q8sff2ysri1pnp7nb9wzcp615v3")))) (build-system python-build-system) (native-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest) + ("python-hypothesis" ,python-hypothesis) + ("python-flake8" ,python-flake8))) (home-page "https://bitbucket.org/lazka/mutagen") (synopsis "Read and write audio tags") (description "Mutagen is a Python module to handle audio metadata. It @@ -3085,6 +3187,13 @@ websites such as Libre.fm.") (arguments `(#:phases (modify-phases %standard-phases + ;; Reported upstream: <https://github.com/beetbox/beets/issues/3771>. + ;; Disable the faulty test as the fix is unclear. + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "test/test_mediafile.py" + (("def test_read_audio_properties") "def _test_read_audio_properties")) + #t)) (add-after 'unpack 'set-HOME (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) @@ -4085,7 +4194,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (define-public musescore (package (name "musescore") - (version "3.5") + (version "3.5.1") (source (origin (method git-fetch) @@ -4094,7 +4203,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1s8767imzv9hclpzvvvsqb3iyiv4y2klr6agf95zwym2xafy8p26")) + (base32 "01jj6rbvbjxvmv6q13a22vfqp3id52a5mf2a1vzph2giz7pr313x")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. @@ -5005,7 +5114,7 @@ and reverb.") (define-public lsp-plugins (package (name "lsp-plugins") - (version "1.1.24") + (version "1.1.26") (source (origin (method git-fetch) @@ -5014,7 +5123,7 @@ and reverb.") (commit (string-append "lsp-plugins-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0rzgzkg6wvhjcf664i16nz4v30drgv80s34bhdflcjzx2x7ix5zk")))) + (base32 "1apw8zh3a3il4smkjji6bih4vbsymj0hjs10fgkrd4nazqkjvgyd")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -5025,18 +5134,18 @@ and reverb.") (string-append "ETC_PATH=" (assoc-ref %outputs "out") "/etc")) #:phases (modify-phases %standard-phases - (delete 'configure)) ; no configure + (delete 'configure)) ; no configure script #:test-target "test")) (inputs - `(("cairo", cairo) - ("hicolor-icon-theme", hicolor-icon-theme) - ("jack", jack-1) - ("ladspa", ladspa) - ("libsndfile", libsndfile) - ("lv2", lv2) - ("mesa", mesa))) + `(("cairo" ,cairo) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("jack" ,jack-1) + ("ladspa" ,ladspa) + ("libsndfile" ,libsndfile) + ("lv2" ,lv2) + ("mesa" ,mesa))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "Audio plugin collection") (description "LSP (Linux Studio Plugins) is a collection of audio plugins available as LADSPA/LV2 plugins and as standalone JACK @@ -5146,12 +5255,12 @@ as a whole to realisticly reproduce the features and flaws of the real deal.") `(("pkg-config" ,pkg-config) ("xxd" ,xxd))) (inputs - `(("cairo", cairo) - ("fftw", fftw) - ("fftwf", fftwf) - ("jack", jack-1) - ("lv2", lv2) - ("mesa", mesa))) + `(("cairo" ,cairo) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("jack" ,jack-1) + ("lv2" ,lv2) + ("mesa" ,mesa))) (synopsis "Realtime graphical spectrum analyzer") (description "Spectacle is a real-time spectral analyzer using the short-time Fourier transform, available as LV2 audio plugin and JACK client.") @@ -5267,7 +5376,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.") (define-public geonkick (package (name "geonkick") - (version "2.3.7") + (version "2.3.8") (source (origin (method git-fetch) @@ -5276,8 +5385,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1wdcbwiyy6i5agq5lffkyilyc8mv1cc4mp9h0nybn240vb2flqc2")))) + (base32 "07809yy2q7dd6fcp0yndlg1vw2ca2zisnsplb3xrxvzdvrqlw910")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no tests included @@ -5445,12 +5553,12 @@ MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.") ("freetype2" ,freetype) ("hicolor-icon-theme" ,hicolor-icon-theme) ("libxcursor" ,libxcursor) - ("libxinerama", libxinerama) - ("jack", jack-1) + ("libxinerama" ,libxinerama) + ("jack" ,jack-1) ("mesa" ,mesa))) (native-inputs `(("pkg-config" ,pkg-config) - ("lv2", lv2))) + ("lv2" ,lv2))) (home-page "https://tytel.org/helm/") (synopsis "Polyphonic synth with lots of modulation") (description "Helm is a cross-platform polyphonic synthesizer available standalone @@ -5465,7 +5573,7 @@ and as an LV2 plugin.") ;; distros to make necessary changes to integrate the software into the ;; distribution. (name "zrythm") - (version "0.8.911") + (version "1.0.0-alpha.3.0.1") (source (origin (method url-fetch) @@ -5473,7 +5581,7 @@ and as an LV2 plugin.") version ".tar.xz")) (sha256 (base32 - "1xyp70sjc2k5pfdqbwqa988v86da0rmmyl8ry86bqv4ja80sc6g9")))) + "06025367x08y4g9grhcn35bk1dsrpgm04c8l8j50i3p49dl3s1n0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -5485,15 +5593,8 @@ and as an LV2 plugin.") "-Dgraphviz=enabled" ; for exporting routing graphs "-Dguile=enabled" ; for Guile scripting "-Djack=enabled" ; for JACK audio/MIDI backend - "-Dsdl=enabled") ; for SDL audio backend (which uses ALSA) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-xdg-open - (lambda _ - (substitute* "src/utils/io.c" - (("OPEN_DIR_CMD") - (string-append "\"" (which "xdg-open") "\""))) - #t))))) + "-Drtmidi=enabled" ; for RtMidi backend (ALSA sequencer) + "-Dsdl=enabled"))) ; for SDL audio backend (which uses ALSA) (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) @@ -5775,9 +5876,9 @@ plugin and a standalone JACK application.") "/lib/lv2") "install")))))) (inputs - `(("lv2", lv2))) + `(("lv2" ,lv2))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "Audio plugin collection") (description "TAP (Tom's Audio Processing) plugins is a collection of audio effect plugins originally released as LADSPA plugins. This package @@ -5833,9 +5934,9 @@ plugin and a standalone JACK application.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("jack", jack-1) - ("lv2", lv2) - ("mesa", mesa))) + `(("jack" ,jack-1) + ("lv2" ,lv2) + ("mesa" ,mesa))) (synopsis "Waveshaper plugin") (description "Wolf Shaper is a waveshaper plugin with a graph editor. It is provided as an LV2 plugin and as a standalone Jack application.") @@ -5915,12 +6016,12 @@ It is provided as an LV2 plugin and as a standalone Jack application.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("cairo", cairo) - ("glu", glu) - ("jack", jack-1) - ("lv2", lv2) - ("mesa", mesa) - ("pango", pango))) + `(("cairo" ,cairo) + ("glu" ,glu) + ("jack" ,jack-1) + ("lv2" ,lv2) + ("mesa" ,mesa) + ("pango" ,pango))) (synopsis "Audio plugin collection") (description "Shiru plugins is a collection of audio plugins created by Shiru, ported to LV2 by the Linux MAO project using the DISTRHO plugin diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index be8483b4e3..71ce4713f9 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,13 +30,13 @@ (define-public nano (package (name "nano") - (version "5.2") + (version "5.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz")) (sha256 - (base32 "1qd7pn9g5dgzbfg4fb3nqxqgi2iqq0g6x33x8d1mx6mfw51xmhij")))) + (base32 "0lj3fcfzprmv9raydx8yq25lw81bs6g40rhd0fv9d6idcb7wphf5")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 1c2e7cf979..de76406a31 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch> ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2019 Gábor Boskovits <boskovits@gmail.com> @@ -39,6 +39,8 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> +;;; Copyright © 2020 Hamzeh Nasajpour <h.nasajpour@pantherx.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -306,7 +308,7 @@ supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.") (define-public srt (package (name "srt") - (version "1.4.1") + (version "1.4.2") (source (origin (method git-fetch) @@ -316,7 +318,7 @@ supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz")))) + (base32 "01nx3a35hzq2x0dvp2n2b86phpdy1z83kdraag7aq3hmc7f8iagg")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -344,6 +346,24 @@ performance across unpredictable networks, such as the Internet.") (home-page "https://www.srtalliance.org/") (license license:mpl2.0))) +;; FFmpeg, GStreamer, and VLC don't support SRT 1.4.2 yet. +(define-public srt-1.4.1 + (package + (inherit srt) + (name "srt") + (version "1.4.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Haivision/srt.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz")))))) + (define-public lksctp-tools (package (name "lksctp-tools") @@ -418,7 +438,8 @@ at the link-layer level.") (arguments `(#:configure-flags (list "-DNNG_ENABLE_COVERAGE=ON" - "-DNNG_ENABLE_TLS=ON") + "-DNNG_ENABLE_TLS=ON" + "-DBUILD_SHARED_LIBS=ON") #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-failing-tests @@ -837,18 +858,17 @@ transparently check connection attempts against an access control list.") (license (license:non-copyleft "file://DISCLAIMER" "See the file DISCLAIMER in the distribution.")))) - (define-public zeromq (package (name "zeromq") - (version "4.3.2") + (version "4.3.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/zeromq/libzmq/releases" "/download/v" version "/zeromq-" version ".tar.gz")) (sha256 (base32 - "0qzp80ky4y2k7k1ya09v9gkivvfbz2km813snrb8jhnn634bbmzb")))) + "18km71p77jm1w7wly2a5mxvphjb0f2l6s08cg382x55f6zdqb4lx")))) (build-system gnu-build-system) (home-page "https://zeromq.org") (synopsis "Library for message-based applications") @@ -1021,14 +1041,14 @@ receiving NDP messages.") (define-public ethtool (package (name "ethtool") - (version "5.8") + (version "5.9") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/network/" "ethtool/ethtool-" version ".tar.xz")) (sha256 (base32 - "0ikmz36bdfwxscsfcgjmyzg70hwr8i3wpdhcp1vmk3q4ip858frg")))) + "0vwam1ay184z237vnl8ivb0rdjjbljp9pj3kjzhc6yzq180k4aai")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1213,7 +1233,7 @@ test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);") #:test-target "test")) (inputs `(("net-tools" ,net-tools) ("zlib" ,zlib))) - (native-inputs `(("check" ,check) + (native-inputs `(("check" ,check-0.14) ("pkg-config" ,pkg-config))) (home-page "https://code.kryo.se/iodine/") (synopsis "Tunnel IPv4 data through a DNS server") @@ -1269,14 +1289,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.2.6") + (version "3.2.7") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "1wmlbrym6l5fkvic596yx74jz1pn4pfjihsx341fxv5w76zfxcgb")))) + (base32 "1nkhglzxj05hwhgzrgan4glv0z67rmasf9djx1dmqicwdnw2z0xy")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1436,8 +1456,9 @@ handling network namespaces in Go.") (define-public go-sctp ;; docker-libnetwork-cmd-proxy requires this exact commit. - (let ((commit "07191f837fedd2f13d1ec7b5f885f0f3ec54b1cb") - (revision "1")) + ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf. + (let ((commit "6e2cb1366111dcf547c13531e3a263a067715847") + (revision "2")) (package (name "go-sctp") (version (git-version "0.0.0" revision commit)) @@ -1449,10 +1470,11 @@ handling network namespaces in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "1mk9ncm10gwi5pn5wcw4skbyf4qg7n5qdf1mim4gf3mrckvi6g6h")))) + "1ba90fmpdwxa1ba4hrsjhi3gfy3pwmz7x8amw1p5dc9p5a7nnqrb")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/ishidawataru/sctp")) + `(#:tests? #f ; Test suite is flakey. + #:import-path "github.com/ishidawataru/sctp")) (home-page "https://github.com/ishidawataru/sctp") (synopsis "SCTP library for the Go programming language") (description "This library provides methods for using the stream control @@ -1788,7 +1810,7 @@ private (reserved).") (define-public perl-net-dns (package (name "perl-net-dns") - (version "1.24") + (version "1.27") (source (origin (method url-fetch) @@ -1799,7 +1821,7 @@ private (reserved).") (string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-" version ".tar.gz"))) (sha256 - (base32 "0qyy5k4k0llqjjmkkfg96919gqybdc1z5fy9047n9imidjxc59hi")))) + (base32 "0hdx5ajr34f39rycai090y9w8gq9v0shgziynaaj0rzk21vjfdpk")))) (build-system perl-build-system) (inputs `(("perl-digest-hmac" ,perl-digest-hmac))) @@ -2656,14 +2678,14 @@ can be whipped up with little effort.") (define-public mtr (package (name "mtr") - (version "0.93") + (version "0.94") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.bitwizard.nl/mtr/" "mtr-" version ".tar.gz")) (sha256 - (base32 "03gid8g4r6a9r40855s4345xm1bylj2kfqkicjwxpmvvccyng712")))) + (base32 "1glxvlqskcmjkxlqk9i12hcfaxb389cx2n8ji7776gmix3aq4z1z")))) (build-system gnu-build-system) (inputs `(("libcap" ,libcap) @@ -3270,9 +3292,9 @@ communication over HTTP.") ("pcre2" ,pcre2) ("sobjectizer" ,sobjectizer))) (propagated-inputs - `(("asio", asio) + `(("asio" ,asio) ("fmt" ,fmt) - ("http-parser", http-parser))) + ("http-parser" ,http-parser))) (arguments `(#:configure-flags '("-DRESTINIO_INSTALL=on") #:tests? #f ; TODO: The tests are called from the root CMakelist, need RESTINIO_TEST=on. diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm index 049de2c4b0..ba50ca5e01 100644 --- a/gnu/packages/nfs.scm +++ b/gnu/packages/nfs.scm @@ -62,7 +62,8 @@ (build-system gnu-build-system) (arguments `(#:configure-flags - `("--without-tcp-wrappers" + `("--disable-static" + "--without-tcp-wrappers" ,(string-append "--with-start-statd=" (assoc-ref %outputs "out") "/sbin/start-statd") ,(string-append "--with-krb5=" (assoc-ref %build-inputs "mit-krb5")) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index b19ad7e1e9..6e2ca883e0 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,7 +36,7 @@ (define-public nspr (package (name "nspr") - (version "4.25") + (version "4.29") (source (origin (method url-fetch) (uri (string-append @@ -43,7 +44,7 @@ version "/src/nspr-" version ".tar.gz")) (sha256 (base32 - "0mjjk2b7ika3v4y99cnaqz3z1iq1a50r1psn9i3s87gr46z0khqb")))) + "10i5x637x0jqmdi47grkzgn56fg6770naa3wrhr4dmsrh3dnna12")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -72,7 +73,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.52.1") + (version "3.57") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -83,9 +84,9 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w")) + "10n3pncg6k81ikjz12la147rppwqn57bkrdl9gb820w6pq0nra2m")) ;; Create nss.pc and nss-config. - (patches (search-patches "nss-pkgconfig.patch" + (patches (search-patches "nss-3.56-pkgconfig.patch" "nss-increase-test-timeout.patch")) (modules '((guix build utils))) (snippet @@ -138,38 +139,29 @@ in the Mozilla clients.") ;; leading to test failures: ;; <https://bugzilla.mozilla.org/show_bug.cgi?id=609734>. To ;; work around that, set the time to roughly the release date. - (invoke "faketime" "2020-02-01" "./nss/tests/all.sh"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append (assoc-ref outputs "bin") "/bin")) - (inc (string-append out "/include/nss")) - (lib (string-append out "/lib/nss")) - (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) - ((obj) (string-append "dist/" obj))))) - ;; Install nss-config to $out/bin. - (install-file (string-append obj "/bin/nss-config") - (string-append out "/bin")) - (delete-file (string-append obj "/bin/nss-config")) - ;; Install nss.pc to $out/lib/pkgconfig. - (install-file (string-append obj "/lib/pkgconfig/nss.pc") - (string-append out "/lib/pkgconfig")) - (delete-file (string-append obj "/lib/pkgconfig/nss.pc")) - (rmdir (string-append obj "/lib/pkgconfig")) - ;; Install other files. - (copy-recursively "dist/public/nss" inc) - (copy-recursively (string-append obj "/bin") bin) - (copy-recursively (string-append obj "/lib") lib) - - ;; FIXME: libgtest1.so is installed in the above step, and it's - ;; (unnecessarily) linked with several NSS libraries, but - ;; without the needed rpaths, causing the 'validate-runpath' - ;; phase to fail. Here we simply delete libgtest1.so, since it - ;; seems to be used only during the tests. - (delete-file (string-append lib "/libgtest1.so")) - (delete-file (string-append lib "/libgtestutil.so")) - - #t)))))) + (invoke "faketime" "2020-10-01" "./nss/tests/all.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append (assoc-ref outputs "bin") "/bin")) + (inc (string-append out "/include/nss")) + (lib (string-append out "/lib/nss")) + (obj (match (scandir "dist" (cut string-suffix? "OBJ" <>)) + ((obj) (string-append "dist/" obj))))) + ;; Install nss-config to $out/bin. + (install-file (string-append obj "/bin/nss-config") + (string-append out "/bin")) + (delete-file (string-append obj "/bin/nss-config")) + ;; Install nss.pc to $out/lib/pkgconfig. + (install-file (string-append obj "/lib/pkgconfig/nss.pc") + (string-append out "/lib/pkgconfig")) + (delete-file (string-append obj "/lib/pkgconfig/nss.pc")) + (rmdir (string-append obj "/lib/pkgconfig")) + ;; Install other files. + (copy-recursively "dist/public/nss" inc) + (copy-recursively (string-append obj "/bin") bin) + (copy-recursively (string-append obj "/lib") lib) + #t)))))) (inputs `(("sqlite" ,sqlite) ("zlib" ,zlib))) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 5fa7d55845..95d784c62a 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -43,14 +43,14 @@ (define-public chrony (package (name "chrony") - (version "3.5.1") + (version "4.0") (source (origin (method url-fetch) (uri (string-append "https://download.tuxfamily.org/chrony/" "chrony-" version ".tar.gz")) (sha256 - (base32 "19ywl8a3lb2id7lcna5hp2g4pjnfwdc9ihr0fk6i9m45vdq2za0v")))) + (base32 "09f6w2x5h5kamb4rhcbaz911q1f730qdalgsn8s48yjyqlafl9xy")))) (build-system gnu-build-system) (arguments `(#:modules ((srfi srfi-26) @@ -80,7 +80,8 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libcap" ,libcap/next) + `(("gnutls" ,gnutls) + ("libcap" ,libcap) ("libseccomp" ,libseccomp) ("nettle" ,nettle))) (home-page "https://chrony.tuxfamily.org/") @@ -143,7 +144,7 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.") ;; to run as non-root (when invoked with '-u'.) ,@(if (string-suffix? "-linux" (or (%current-target-system) (%current-system))) - `(("libcap" ,libcap/next)) + `(("libcap" ,libcap)) '()))) (arguments `(#:phases diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 33c3fa0494..4cc530509a 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -329,7 +329,7 @@ Software distribution.") (define-public ocaml-mccs (package (name "ocaml-mccs") - (version "1.1+9") + (version "1.1+11") (source (origin (method git-fetch) (uri (git-reference @@ -338,7 +338,7 @@ Software distribution.") (file-name (git-file-name name version)) (sha256 (base32 - "1i0hhkrqi7rqlainlg5pc4hibbx6b5dp3x99gmav8c3sbfvlk9mc")))) + "1gsad5cj03256i36wdjqk5pg51pyd48rpjazf0gfaakrn8lk438g")))) (build-system dune-build-system) (propagated-inputs `(("ocaml-cudf" ,ocaml-cudf))) (home-page "https://www.i3s.unice.fr/~cpjm/misc/") @@ -429,14 +429,14 @@ repository-wide uninstallability checks.") (home-page "https://opam.ocaml.org") (synopsis "Parser and printer for the opam file syntax") (description "This package contains a parser and a pretty-printer for -the opam file fomat.") +the opam file format.") ;; With static-linking exception (license license:lgpl2.1+))) (define-public opam (package (name "opam") - (version "2.0.6") + (version "2.0.7") (source (origin (method git-fetch) (uri (git-reference @@ -445,7 +445,7 @@ the opam file fomat.") (file-name (git-file-name name version)) (sha256 (base32 - "1vyga2jllsfsikppxyzljm4isfnnnl8k0rb44h8xaddjzdg1d4m8")))) + "1p719ccn9wnzk6impsnwr809yh507h8f37dx9nn64b1hsyb5z8ax")))) (build-system ocaml-build-system) (arguments `(#:configure-flags @@ -541,7 +541,7 @@ Git-friendly development workflow.") (define-public camlp5 (package (name "camlp5") - (version "7.12") + (version "7.13") (source (origin (method git-fetch) @@ -550,7 +550,7 @@ Git-friendly development workflow.") (commit (string-append "rel" (string-delete #\. version))))) (file-name (git-file-name name version)) (sha256 - (base32 "12ix5g15bys932hyf9gs637iz76m0ji9075d83jfdmx85q30llgf")))) + (base32 "1d9spy3f5ahixm8nxxk086kpslzva669a5scn49am0s7vx4i71kp")))) (build-system gnu-build-system) (inputs `(("ocaml" ,ocaml))) @@ -861,12 +861,13 @@ libpanel, librsvg and quartz.") (file-name (git-file-name name version)) (sha256 (base32 - "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq")))) + "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq")) + (patches (search-patches "unison-fix-ocaml-4.08.patch")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.9 MiB of documentation (native-inputs - `(("ocaml" ,ocaml-4.07) + `(("ocaml" ,ocaml-4.09) ;; For documentation ("ghostscript" ,ghostscript) ("texlive" ,texlive-tiny) @@ -1212,8 +1213,7 @@ instances and printing them.") "0gddzan4vzs0vklsxhirdjrvx3rp7hhh2yr20vi13nq8rwkn9w29")))) (build-system dune-build-system) (arguments - `(#:jbuild? #t - #:test-target "tests")) + `(#:test-target "tests")) (propagated-inputs `(("ounit" ,ocaml-ounit) ("qcheck" ,ocaml-qcheck))) @@ -1253,10 +1253,10 @@ full_split, cut, rcut, etc..") ;; where it says `mit'. (license license:expat))) -(define-public dune +(define dune-bootstrap (package (name "dune") - (version "1.11.3") + (version "2.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -1265,17 +1265,19 @@ full_split, cut, rcut, etc..") (file-name (git-file-name name version)) (sha256 (base32 - "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr")))) + "10qgx83fq8b522y9mpllrp0l5cgmr2bs5s7aix5img21hlbm34in")))) (build-system ocaml-build-system) (arguments `(#:tests? #f; require odoc - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + #:make-flags (list "release" + (string-append "PREFIX=" (assoc-ref %outputs "out")) (string-append "LIBDIR=" (assoc-ref %outputs "out") "/lib/ocaml/site-lib")) #:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys) + (mkdir-p "src/dune") (invoke "./configure") #t))))) (home-page "https://github.com/ocaml/dune") @@ -1285,13 +1287,87 @@ release of Jane Street packages. It reads metadata from @file{dune} files following a very simple s-expression syntax.") (license license:expat))) +(define-public dune-configurator + (package + (inherit dune-bootstrap) + (name "dune-configurator") + (build-system dune-build-system) + (arguments + `(#:package "dune-configurator" + #:dune ,dune-bootstrap + ; require ppx_expect + #:tests? #f)) + (propagated-inputs + `(("ocaml-csexp" ,ocaml-csexp))) + (synopsis "") + (description ""))) + +(define-public dune + (package + (inherit dune-bootstrap) + (propagated-inputs + `(("dune-configurator" ,dune-configurator))) + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune)))))) + (define-public ocaml4.07-dune - (package-with-ocaml4.07 dune)) + (package + (inherit (package-with-ocaml4.07 dune-bootstrap)) + (version "1.11.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/dune") + (commit version))) + (file-name (git-file-name "dune" version)) + (sha256 + (base32 + "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr")))))) + +(define-public ocaml-csexp + (package + (name "ocaml-csexp") + (version "1.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-dune/csexp") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "190zppgvdjgghmrnx67ayzzk86qdjy3yn5fcrcw08wsh93384pl0")))) + (build-system dune-build-system) + (arguments + `(#:tests? #f; FIXME: needs ppx_expect, but which version? + #:dune ,dune-bootstrap + #:phases + (modify-phases %standard-phases + (add-before 'build 'chmod + (lambda _ + (for-each (lambda (file) (chmod file #o644)) (find-files "." ".*")) + #t))))) + (propagated-inputs + `(("ocaml-result" ,ocaml-result))) + (home-page "https://github.com/ocaml-dune/csexp") + (synopsis "Parsing and printing of S-expressions in Canonical form") + (description "This library provides minimal support for Canonical +S-expressions. Canonical S-expressions are a binary encoding of +S-expressions that is super simple and well suited for communication +between programs. + +This library only provides a few helpers for simple applications. If +you need more advanced support, such as parsing from more fancy input +sources, you should consider copying the code of this library given +how simple parsing S-expressions in canonical form is. + +To avoid a dependency on a particular S-expression library, the only +module of this library is parameterised by the type of S-expressions.") + (license license:expat))) (define-public ocaml-migrate-parsetree (package (name "ocaml-migrate-parsetree") - (version "1.4.0") + (version "1.7.3") (home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree") (source (origin @@ -1302,7 +1378,7 @@ following a very simple s-expression syntax.") (file-name (git-file-name name version)) (sha256 (base32 - "0sv1p4615l8gpbah4ya2c40yr6fbvahvv3ks7zhrsgcwcq2ljyr2")))) + "0336vz0galjnsazbmkxjwdv1qvdqsx2rgrvp778xgq2fzasz45cx")))) (build-system dune-build-system) (arguments `(#:tests? #f)) @@ -1320,7 +1396,7 @@ functions to the next and/or previous version.") (define-public ocaml-ppx-tools-versioned (package (name "ocaml-ppx-tools-versioned") - (version "5.2.3") + (version "5.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -1329,7 +1405,7 @@ functions to the next and/or previous version.") (file-name (git-file-name name version)) (sha256 (base32 - "1hcmpnw26zf70a71r3d2c2c0mn8q084gdn1r36ynng6fv9hq6j0y")))) + "07lnj4yzwvwyh5fhpp1dxrys4ddih15jhgqjn59pmgxinbnddi66")))) (build-system dune-build-system) (arguments `(#:test-target ".")) @@ -1362,8 +1438,14 @@ ocaml-migrate-parsetree") (propagated-inputs `(("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned))) (arguments - `(#:tests? #f; Tests fail to build - #:jbuild? #t)) + `(#:package "bitstring" + #:tests? #f; Tests fail to build + #:phases + (modify-phases %standard-phases + (add-before 'build 'upgrade + (lambda _ + (invoke "dune" "upgrade") + #t))))) (home-page "https://github.com/xguerin/bitstring") (synopsis "Bitstrings and bitstring matching for OCaml") (description "Adds Erlang-style bitstrings and matching over bitstrings as @@ -1376,7 +1458,7 @@ powerful.") (define-public ocaml-result (package (name "ocaml-result") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) (uri (git-reference @@ -1385,10 +1467,11 @@ powerful.") (file-name (git-file-name name version)) (sha256 (base32 - "0hir97k9i72nfkm6kncxnqpyk400wlsxysbldgcvk0fd9pjnsc3p")))) + "166laj8qk7466sdl037c6cjs4ac571hglw4l5qpyll6df07h6a7q")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:dune ,dune-bootstrap)) (home-page "https://github.com/janestreet/result") (synopsis "Compatibility Result module") (description "Uses the new result type defined in OCaml >= 4.03 while @@ -1475,7 +1558,8 @@ library.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-stdio" ,ocaml4.07-stdio) @@ -1593,23 +1677,23 @@ most of the POSIX and GNU conventions.") (define-public ocaml-fmt (package (name "ocaml-fmt") - (version "0.8.5") + (version "0.8.9") (source (origin (method url-fetch) (uri (string-append "http://erratique.ch/software/fmt/releases/fmt-" version ".tbz")) (sha256 (base32 - "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060")))) + "0gkkkj4x678vxdda4xaw2dd44qjacavsvn5nx8gydfwah6pjbkxk")))) (build-system ocaml-build-system) (native-inputs `(("ocamlbuild" ,ocamlbuild) ("opam" ,opam) ("topkg" ,ocaml-topkg))) (propagated-inputs - `(("result" ,ocaml-result) - ("ocaml-uchar" ,ocaml-uchar) - ("cmdliner" ,ocaml-cmdliner))) + `(("cmdliner" ,ocaml-cmdliner) + ("ocaml-stdlib-shims" ,ocaml-stdlib-shims) + ("ocaml-uchar" ,ocaml-uchar))) (arguments `(#:tests? #f #:build-flags (list "build" "--with-base-unix" "true" "--with-cmdliner" "true") @@ -1658,14 +1742,14 @@ immutability.") (define-public ocaml-alcotest (package (name "ocaml-alcotest") - (version "0.8.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/mirage/alcotest/releases/" "download/" version "/alcotest-" version ".tbz")) (sha256 (base32 - "0szwjxvaahgynsx0apj81jxj3ki6yz4is9mh2wkcbx66qy7n6fvb")))) + "1a43ilhwnj58pq3bi78ni46l9wh6klmmgfc93i94mvyx48bzzayx")))) (build-system dune-build-system) (arguments `(#:package "alcotest" @@ -1676,8 +1760,10 @@ immutability.") `(("ocaml-astring" ,ocaml-astring) ("ocaml-cmdliner" ,ocaml-cmdliner) ("ocaml-fmt" ,ocaml-fmt) - ("ocaml-result" ,ocaml-result) - ("ocaml-uuidm" ,ocaml-uuidm))) + ("ocaml-re" ,ocaml-re) + ("ocaml-stdlib-shims" ,ocaml-stdlib-shims) + ("ocaml-uuidm" ,ocaml-uuidm) + ("ocaml-uutf" ,ocaml-uutf))) (home-page "https://github.com/mirage/alcotest") (synopsis "Lightweight OCaml test framework") (description "Alcotest exposes simple interface to perform unit tests. It @@ -1865,8 +1951,7 @@ locks or other synchronization primitives.") "1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7")))) (build-system dune-build-system) (arguments - `(#:tests? #f; require lwt_ppx - #:jbuild? #t)) + `(#:tests? #f)); require lwt_ppx (propagated-inputs `(("lwt" ,ocaml-lwt))) (properties `((upstream-name . "lwt_log"))) @@ -1879,14 +1964,14 @@ ocaml lwt.") (define-public ocaml-logs (package (name "ocaml-logs") - (version "0.6.2") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "http://erratique.ch/software/logs/releases/" "logs-" version ".tbz")) (sha256 (base32 - "1khbn7jqpid83zn8rvyh1x1sirls7zc878zj4fz985m5xlsfy853")))) + "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46")))) (build-system ocaml-build-system) (arguments `(#:tests? #f @@ -2025,7 +2110,8 @@ representation of the data.") `(#:tests? #f; no tests #:package "gen" #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-odoc" ,ocaml4.07-odoc))) (native-inputs @@ -2070,7 +2156,8 @@ and consumable.") (for-each (lambda (file) (chmod file #o644)) (find-files "." ".*")) #t))) #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs `(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild)))) (propagated-inputs @@ -2233,7 +2320,7 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).") (define-public ocaml-base64 (package (name "ocaml-base64") - (version "3.2.0") + (version "3.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -2242,8 +2329,19 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).") (file-name (git-file-name name version)) (sha256 (base32 - "1ilw3zj0w6cq7i4pvr8m2kv5l5f2y9aldmv72drlwwns013b1gwy")))) + "0aa1m1sr8p1hgc10p96mij7p22r3qcysvzy6fz2jqamfgswchgqc")))) (build-system dune-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dune + (lambda _ + ;; This package expects dune 2, which unbundled its configurator + ;; module. We still use dune 1, so we need to let it know we need + ;; its internal module. + (substitute* "config/dune" + (("dune-configurator") "dune.configurator")) + #t))))) (native-inputs `(("ocaml-alcotest" ,ocaml-alcotest) ("ocaml-bos" ,ocaml-bos) @@ -2577,9 +2675,9 @@ from the oasis build log (home-page "https://github.com/mjambon/cppo") (synopsis "Equivalent of the C preprocessor for OCaml programs") (description "Cppo is an equivalent of the C preprocessor for OCaml -programs. It allows the definition of simple macros and file inclusion. Cpp ois: +programs. It allows the definition of simple macros and file inclusion. Cppo is: @enumerate -@item more OCaml-friendly than cpp +@item more OCaml-friendly than @command{cpp} @item easy to learn without consulting a manual @item reasonably fast @item simple to install and to maintain. @@ -2751,7 +2849,8 @@ writing to these structures, and they are accessed via the Bigarray module.") `(#:package "ezjsonm" #:test-target "." #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs `(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest)))) (propagated-inputs @@ -2789,7 +2888,8 @@ JSON.") (substitute* "lib/uri.ml" (("Re.get") "Re.Group.get"))))) #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs `(("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit)) ("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv))) @@ -2817,7 +2917,7 @@ JSON.") "1fc95q2ypck6m6rv3kiawwilh5ac93v2hcp823mj608d5kj79xkb")))) (build-system dune-build-system) (arguments - `(#:jbuild? #t + `(#:package "easy-format" #:phases (modify-phases %standard-phases (add-before 'build 'make-writable @@ -3117,7 +3217,8 @@ library is currently designed for Unicode Standard 3.2.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-result" ,(package-with-ocaml4.07 ocaml-result)) ("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile)))) @@ -3146,10 +3247,10 @@ function that follows the prototype of POSIX's wcwidth.") (base32 "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55")))) (build-system dune-build-system) (arguments - `(#:jbuild? #t - #:test-target "." + `(#:test-target "." #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile)) ("ocaml-charinfo-width" ,ocaml4.07-charinfo-width) @@ -3179,7 +3280,8 @@ connect an engine to your inputs and rendering functions to get an editor.") `(#:build-flags (list "--profile" "release") #:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-lwt" ,(package-with-ocaml4.07 ocaml-lwt)) ("ocaml-lwt-log" ,(package-with-ocaml4.07 ocaml-lwt-log)) @@ -3212,10 +3314,10 @@ instead of bindings to a C library.") (base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp")))) (build-system dune-build-system) (arguments - `(#:jbuild? #t - #:test-target "." + `(#:test-target "." #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs `(("cppo" ,(package-with-ocaml4.07 ocaml-cppo)))) (propagated-inputs @@ -3517,12 +3619,13 @@ syntax checking on dedukti files.") ;see home page README for further information `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) - ("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs)) + ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs) ("ocaml-sexplib0" ,ocaml4.07-sexplib0) ("ocaml-stdio" ,ocaml4.07-stdio) ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) @@ -3590,7 +3693,8 @@ or quantified formulas.") (arguments `(#:test-target "." #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (synopsis "Parsing library based on Earley Algorithm") (description "Earley is a parser combinator library base on Earley's algorithm. It is intended to be used in conjunction with an OCaml syntax @@ -3727,6 +3831,13 @@ serializers and deserializers from type definitions.") (base32 "197xjp4vmzdymf2ndinw271ihpf45h04mx8gqj8ypspxdr5fj1a5")))) (build-system dune-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'upgrade + (lambda _ + (invoke "dune" "upgrade") + #t))))) (inputs `(("ocaml-fmt" ,ocaml-fmt) ("ocaml-astring" ,ocaml-astring) @@ -3763,10 +3874,11 @@ format}. @code{craml} is released as a single binary (called @code{craml}).") (native-inputs `(("ocaml-findlib" ,ocaml-findlib))) (arguments - `(#:jbuild? #t + `(#:package "merlin" #:tests? #f ;; Errors in tests in version 3.2.2 #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (synopsis "Context sensitive completion for OCaml in Vim and Emacs") (description "Merlin is an editor service that provides modern IDE features for OCaml. Emacs and Vim support is provided out-of-the-box. @@ -3912,7 +4024,8 @@ exclusion algorithms are typical examples of such systems.") (arguments `(#:tests? #f ;no tests #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (synopsis "Library containing the definition of S-expressions and some base converters") (description "Part of Jane Street's Core library The Core suite of @@ -3938,7 +4051,8 @@ that was developed by Jane Street, the largest industrial user of OCaml.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (inputs `(("ocaml-sexplib0" ,ocaml4.07-sexplib0))) (synopsis "S-expression parsing library") @@ -3987,7 +4101,8 @@ parsexp_io.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num)) ("ocaml-parsexp" ,ocaml4.07-parsexp) @@ -4025,7 +4140,8 @@ functionality for parsing and pretty-printing s-expressions.") (lambda _ (invoke "dune" "build" "@install" "--profile=release")))) #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (synopsis "Full standard library replacement for OCaml") (description @@ -4040,9 +4156,9 @@ provided by companion libraries such as @url{https://github.com/janestreet/stdio, ocaml-stdio}.") (license license:expat))) -(define-public ocaml-compiler-libs +(define-public ocaml4.07-compiler-libs (package - (name "ocaml-compiler-libs") + (name "ocaml4.07-compiler-libs") (version "0.11.0") (home-page "https://github.com/janestreet/ocaml-compiler-libs") (source @@ -4057,7 +4173,10 @@ provided by companion libraries such as "03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s")))) (build-system dune-build-system) (arguments - '(#:tests? #f)) ;no tests + `(#:tests? #f ;no tests + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "ocaml-compiler-libs"))) (synopsis "Compiler libraries repackaged") (description "This package simply repackages the OCaml compiler libraries @@ -4087,7 +4206,8 @@ is now @code{Ocaml_common.Ast_helper}.") (arguments `(#:tests? #f ;no tests #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (synopsis "Standard IO library for OCaml") (description "Stdio implements simple input/output functionalities for OCaml. It @@ -4140,7 +4260,7 @@ as part of the same ocaml-migrate-parsetree driver.") (build-system dune-build-system) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) - ("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs)) + ("ocaml-compiler-libs" ,ocaml4.07-compiler-libs) ("ocaml-migrate-parsetree" ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) ("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers)) @@ -4168,7 +4288,8 @@ as part of the same ocaml-migrate-parsetree driver.") all)))) #t))) #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (synopsis "Base library and tools for ppx rewriters") (description @@ -4207,7 +4328,8 @@ OCaml AST in the OCaml syntax; ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "ppx_compare"))) (home-page "https://github.com/janestreet/ppx_compare") (synopsis "Generation of comparison functions from types") @@ -4236,7 +4358,8 @@ by making sure that you only compare comparable values.") ;; No tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" @@ -4267,7 +4390,8 @@ of a record and create new record values.") ;; No tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" @@ -4301,7 +4425,8 @@ standard library.") ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "ppx_fields_conv"))) (home-page "https://github.com/janestreet/ppx_fields_conv") (synopsis "Generation of accessor and iteration functions for ocaml records") @@ -4332,7 +4457,8 @@ new record values.") ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "ppx_sexp_conv"))) (home-page "https://github.com/janestreet/ppx_sexp_conv") (synopsis "Generation of S-expression conversion functions from type definitions") @@ -4362,14 +4488,15 @@ definitions.") ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "ppx_variants_conv"))) (home-page "https://github.com/janestreet/ppx_variants_conv") (synopsis "Generation of accessor and iteration functions for OCaml variant types") (description - "This package generates accessors and interation functions for OCaml + "This package generates accessors and iteration functions for OCaml variant types.") (license license:asl2.0))) @@ -4394,7 +4521,8 @@ variant types.") ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "ppx_custom_printf"))) (home-page "https://github.com/janestreet/ppx_custom_printf") (synopsis "Printf-style format-strings for user-defined string conversion") @@ -4426,7 +4554,8 @@ string conversion.") ,(package-with-ocaml4.07 ocaml-migrate-parsetree)))) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "bin_prot"))) (home-page "https://github.com/janestreet/bin_prot") (synopsis "Binary protocol generator") @@ -4492,7 +4621,8 @@ storage of large amounts of data.") ("ocaml-ppxlib" ,ocaml4.07-ppxlib))) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (properties `((upstream-name . "ppx_hash"))) (home-page "https://github.com/janestreet/ppx_hash") (synopsis "Generation of hash functions from type expressions and definitions") @@ -4517,7 +4647,8 @@ hash functions from type exrpessions and definitions.") (arguments `(#:tests? #f; no test suite #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" @@ -4548,7 +4679,8 @@ many values).") ;; No tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test) ("ocaml-migrate-parsetree" @@ -4577,7 +4709,8 @@ many values).") ;; broken tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" @@ -4606,7 +4739,8 @@ many values).") (arguments `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base))) (home-page "https://github.com/janestreet/typerep") (synopsis "Typerep is a library for runtime types") @@ -4628,7 +4762,8 @@ many values).") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-ppx-here" ,ocaml4.07-ppx-here) @@ -4658,7 +4793,8 @@ ocaml values.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-ppx-here" ,ocaml4.07-ppx-here) @@ -4692,7 +4828,8 @@ context such as function arguments.") ;; No tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-migrate-parsetree" ,(package-with-ocaml4.07 ocaml-migrate-parsetree)) @@ -4721,7 +4858,8 @@ context such as function arguments.") ;; No tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" @@ -4750,7 +4888,8 @@ else expression.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-stdio" ,ocaml4.07-stdio) @@ -4778,7 +4917,8 @@ size, the version of the compiler, ...") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" @@ -4806,7 +4946,8 @@ match expressions, and if expressions.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-ppx-here" ,ocaml4.07-ppx-here) @@ -4835,7 +4976,8 @@ position.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-ppx-compare" ,ocaml4.07-ppx-compare) @@ -4866,9 +5008,9 @@ useful errors on failure.") "1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q")))) (build-system dune-build-system) (arguments - `(#:jbuild? #t - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + `(#:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert) @@ -4911,7 +5053,8 @@ to denote the expected output.") ;; No tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-migrate-parsetree" @@ -4943,7 +5086,8 @@ packages.") (arguments `(#:test-target "." #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-typerep" ,ocaml4.07-typerep) @@ -4973,7 +5117,8 @@ from type definitions.") (arguments `(#:test-target "." #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-ppx-compare" ,ocaml4.07-ppx-compare) ("ocaml-ppx-enumerate" ,ocaml4.07-ppx-enumerate) @@ -5010,7 +5155,8 @@ verification tool.") ;; Cyclic dependency with ocaml-ppx-jane `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-bin-prot" ,ocaml4.07-bin-prot) @@ -5041,7 +5187,8 @@ functions from type definitions.") (arguments `(#:test-target "." #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-ppx-assert" ,ocaml4.07-ppx-assert) ("ocaml-ppx-base" ,ocaml4.07-ppx-base) @@ -5086,7 +5233,8 @@ driver including all standard Jane Street ppx rewriters.") (build-system dune-build-system) (arguments `(#:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-ppx-jane" ,ocaml4.07-ppx-jane) @@ -5104,9 +5252,9 @@ This library implements a splittable pseudo-random number generator that sacrifi cryptographic-quality randomness in favor of performance.") (license license:asl2.0))) -(define-public ocaml-jane-street-headers +(define-public ocaml4.07-jane-street-headers (package - (name "ocaml-jane-street-headers") + (name "ocaml4.07-jane-street-headers") (version "0.11.0") (source (origin (method url-fetch) @@ -5118,7 +5266,10 @@ cryptographic-quality randomness in favor of performance.") "0afhzm08l9v883fhpqqh2lmy7az609pxif40bp7x1sk8c0yszqsh")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:ocaml ,ocaml-4.07 + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (home-page "https://github.com/janestreet/jane-street-headers") (synopsis "Jane Street C header files") (description "This package provides C header files shared between the @@ -5142,7 +5293,8 @@ various Jane Street packages.") ;; No tests `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-stdio" ,ocaml4.07-stdio))) @@ -5185,7 +5337,8 @@ Configurator allows one to: (("/bin/echo") (which "echo"))) #t))) #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (native-inputs `(("ocaml-ppx-expect" ,ocaml4.07-ppx-expect))) (home-page "https://github.com/janestreet/spawn") @@ -5224,11 +5377,11 @@ thousands of times faster than fork. "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq")))) (build-system dune-build-system) (arguments - `(#:jbuild? #t - ;; Require a cyclic dependency: core_extended - #:tests? #f + `(#:package "core" + #:tests? #f; Require a cyclic dependency: core_extended #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-configurator" ,ocaml4.07-configurator) @@ -5267,14 +5420,14 @@ standard library that was developed by Jane Street.") ;; Cyclic dependency with ocaml-core `(#:tests? #f #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib)) + #:findlib ,ocaml4.07-findlib + #:dune ,ocaml4.07-dune)) (propagated-inputs `(("ocaml-base" ,ocaml4.07-base) ("ocaml-bin-prot" ,ocaml4.07-bin-prot) ("ocaml-configurator" ,ocaml4.07-configurator) ("ocaml-fieldslib" ,ocaml4.07-fieldslib) - ("ocaml-jane-street-headers" - ,(package-with-ocaml4.07 ocaml-jane-street-headers)) + ("ocaml-jane-street-headers" ,ocaml4.07-jane-street-headers) ("ocaml-ppx-assert" ,ocaml4.07-ppx-assert) ("ocaml-ppx-base" ,ocaml4.07-ppx-base) ("ocaml-ppx-hash" ,ocaml4.07-ppx-hash) @@ -5374,7 +5527,7 @@ stream, and convert everything to UTF-8.") ("ocaml-markup" ,ocaml-markup))) (native-inputs `(("ocaml-alcotest" ,ocaml-alcotest))) - (arguments `(#:jbuild? #t)) + (arguments `(#:package "tyxml")) (home-page "https://github.com/ocsigen/tyxml/") (synopsis "TyXML is a library for building correct HTML and SVG documents") (description "TyXML provides a set of convenient combinators that uses the diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index 8d0480622e..e4b03b7858 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -143,7 +143,7 @@ from the protocol files.") (define-public libnsl (package (name "libnsl") - (version "1.2.0") + (version "1.3.0") (source (origin (method git-fetch) (uri (git-reference @@ -152,17 +152,10 @@ from the protocol files.") (file-name (git-file-name name version)) (sha256 (base32 - "1chzqhcgh0yia9js8mh92cmhyka7rh32ql6b3mgdk26n94dqzs8b")))) + "1dayj5i4bh65gn7zkciacnwv2a0ghm6nn58d78rsi4zby4lyj5w5")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--disable-static") - #:phases (modify-phases %standard-phases - (add-before 'bootstrap 'gettextize - (lambda _ - ;; Regenerate the bundled Makefile.in.in to avoid a - ;; "gettext infrastructure mismatch" because the - ;; existing version was generated by an older gettext. - (invoke "gettextize" "-f")))))) + `(#:configure-flags '("--disable-static"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 3ac95c11df..9c9b1f07b3 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -177,14 +177,14 @@ an LDAP server.") (define-public python-ldap (package (name "python-ldap") - (version "3.1.0") + (version "3.3.1") (source (origin (method url-fetch) (uri (pypi-uri "python-ldap" version)) (sha256 (base32 - "1i97nwfnraylyn0myxlf3vciicrf5h6fymrcff9c00k581wmx5s1")))) + "198as30xy6p760niqps2zdvq2xcmr765h06pmda8fa9y077wl4a7")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 30092e0933..d59859335a 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -50,6 +50,7 @@ #:use-module (gnu packages cpio) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) + #:use-module (gnu packages databases) #:use-module (gnu packages dbm) #:use-module (gnu packages docbook) #:use-module (gnu packages file) @@ -130,8 +131,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.1.0") - (commit "44c6e6f590b706f1ecfea6a7e7406bbd7cb70736") - (revision 25)) + (commit "875c01f82dc5f2c4ca82952ea88b3240fbe8bede") + (revision 30)) (package (name "guix") @@ -143,11 +144,11 @@ (source (origin (method git-fetch) (uri (git-reference - (url "https://git.savannah.gnu.org/r/guix.git") + (url "https://git.savannah.gnu.org/git/guix.git") (commit commit))) (sha256 (base32 - "17kmn9yrk9pxi88v4d48h9q3m5dpd2j0pf15fhxzh4k915jv8n6k")) + "0mh1hnrk84h5nzqp6aflh9ab3kxr5672c8bx44minzyd26177yik")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -198,6 +199,13 @@ (string-append "sysvinitservicedir = \ $(prefix)/etc/init.d\n"))) + ;; Install OpenRC init files to $(prefix)/etc rather + ;; than to /etc. + (substitute* "nix/local.mk" + (("^openrcservicedir = .*$") + (string-append "openrcservicedir = \ +$(prefix)/etc/init.d\n"))) + (invoke "sh" "bootstrap"))) (add-before 'build 'use-host-compressors (lambda* (#:key inputs target #:allow-other-keys) @@ -418,7 +426,7 @@ the Nix package manager.") (fold alist-delete (package-native-inputs guix) '("po4a" "graphviz" "help2man"))) (inputs - `(("gnutls" ,guile3.0-gnutls) + `(("gnutls" ,gnutls) ("guile-git" ,guile-git) ("guile-json" ,guile-json-3) ("guile-gcrypt" ,guile-gcrypt) @@ -981,6 +989,92 @@ environments.") ;; and the fonts included in this package are licensed OFL1.1. (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) +(define-public guix-build-coordinator + (let ((commit "e701d4d7f24a11d94cf504e7efbcee4e1091b092") + (revision "1")) + (package + (name "guix-build-coordinator") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.cbaines.net/git/guix/build-coordinator") + (commit commit))) + (sha256 + (base32 + "16f09sl527b6bgyxs2ybyjfncli60dwzg4v1c58h4hcl2zm8qx70")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-GUILE_AUTO_COMPILE + (lambda _ + ;; To avoid warnings relating to 'guild'. + (setenv "GUILE_AUTO_COMPILE" "0") + #t)) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (guile (assoc-ref inputs "guile")) + (version (target-guile-effective-version)) + (scm (string-append out "/share/guile/site/" version)) + (go (string-append out "/lib/guile/" version "/site-ccache"))) + (for-each + (lambda (file) + (simple-format (current-error-port) "wrapping: ~A\n" file) + (wrap-program file + `("PATH" ":" prefix + (,bin + ;; Support building without sqitch as an input, as it + ;; can't be cross-compiled yet + ,@(or (and=> (assoc-ref inputs "sqitch") + list) + '()))) + `("GUILE_LOAD_PATH" ":" prefix + (,scm ,(getenv "GUILE_LOAD_PATH"))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))) + (find-files bin))) + #t)) + (delete 'strip)))) ; As the .go files aren't compatible + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + + ;; Guile libraries are needed here for cross-compilation. + ("guile-json" ,guile-json-3) + ("guile-gcrypt" ,guile-gcrypt) + ("guix" ,guix) + ("guile-prometheus" ,guile-prometheus) + ("guile-fibers" ,guile-fibers) + ("guile" ,@(assoc-ref (package-native-inputs guix) "guile")))) + (inputs + `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + ("guile-fibers" ,guile-fibers) + ("guile-prometheus" ,guile-prometheus) + ("guile-gcrypt" ,guile-gcrypt) + ("guile-json" ,guile-json-3) + ("guile-lzlib" ,guile-lzlib) + ("guile-sqlite3" ,guile-sqlite3) + ("guix" ,guix) + ("sqlite" ,sqlite) + ("sqitch" ,sqitch))) + (home-page "https://git.cbaines.net/guix/build-coordinator/") + (synopsis "Tool to help build derivations") + (description + "The Guix Build Coordinator helps with performing lots of builds across +potentially many machines, and with doing something with the results and +outputs of those builds.") + (license license:gpl3+)))) + (define-public guix-jupyter (package (name "guix-jupyter") @@ -1148,7 +1242,7 @@ for packaging and deployment of cross-compiled Windows applications.") (define-public libostree (package (name "libostree") - (version "2020.6") + (version "2020.7") (source (origin (method url-fetch) @@ -1156,7 +1250,7 @@ for packaging and deployment of cross-compiled Windows applications.") "https://github.com/ostreedev/ostree/releases/download/v" (version-major+minor version) "/libostree-" version ".tar.xz")) (sha256 - (base32 "0wk9fgj9jl25ns2hcgcb6j24k5mvfn13b02ka0p8l4hdh8c4hpc6")))) + (base32 "0clriq2ypz1fycd6mpjyrhzid44svzpzw0amnank593h69b216ax")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 96968a5790..b600a1e5b2 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -108,7 +108,7 @@ and they are executed on lists of files, hosts, users or other items.") (define-public slurm (package (name "slurm") - (version "19.05.3-2") + (version "20.02.5") (source (origin (method url-fetch) (uri (string-append @@ -116,7 +116,7 @@ and they are executed on lists of files, hosts, users or other items.") version ".tar.bz2")) (sha256 (base32 - "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc")) + "08qp60rxsny6fcx58xim88avx7f7h7q1vpq3lfw6nlha04r7lan3")) (modules '((guix build utils))) (snippet '(begin @@ -140,19 +140,19 @@ and they are executed on lists of files, hosts, users or other items.") #t)))) ;; FIXME: More optional inputs could be added, ;; in particular mysql and gtk+. - (inputs `(("expect" ,expect) - ("freeipmi" ,freeipmi) + (inputs `(("freeipmi" ,freeipmi) ("hwloc" ,hwloc-2 "lib") ("json-c" ,json-c) ("linux-pam" , linux-pam) ("munge" ,munge) ("numactl" ,numactl) - ("perl" ,perl) - ("python" ,python-wrapper) ("readline" ,readline))) (native-inputs `(("autoconf" ,autoconf) - ("pkg-config" ,pkg-config))) + ("expect" ,expect) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 85dbeef28f..c178c2de8d 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -381,8 +382,17 @@ them out, at the source.") "13hw532fmzc5xjpy75d74rlfdlxf2a8ibb4hyy9c0s92wsgf0qsj")))) (build-system gnu-build-system) (arguments - ;; XXX: have RUNPATH issue. - '(#:configure-flags '("--disable-python-bindings"))) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-LDFLAGS + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "LDFLAGS" + (string-append + "-Wl,-rpath=" + (assoc-ref outputs "out") "/lib")) + #t))))) + (native-inputs + `(("python" ,python-wrapper))) (inputs `(("cracklib" ,cracklib))) (synopsis "Password quality checker") diff --git a/gnu/packages/patches/clamav-system-tomsfastmath.patch b/gnu/packages/patches/clamav-system-tomsfastmath.patch index 2153723a76..99fbf9c6dc 100644 --- a/gnu/packages/patches/clamav-system-tomsfastmath.patch +++ b/gnu/packages/patches/clamav-system-tomsfastmath.patch @@ -1,8 +1,8 @@ From: Tobias Geerinckx-Rice <me@tobias.gr> -Date: Sun, 24 Feb 2019 15:50:37 +0100 +Date: Sat, 03 Oct 2020 22:10:20 +0200 Subject: gnu: clamav: Add support for system tomsfastmath. -Adjusted from the original for clamav 0.101.1: +Adjusted from the original for clamav 0.103.0: From 756ff89526b5ffaa7a4f49b1bbecf2ecbd6f85f9 Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> @@ -19,9 +19,10 @@ Patch-Name: add-support-for-system-tomsfastmath.patch 5 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 m4/reorganization/libs/tomsfastmath.m4 ---- a/configure.ac 1970-01-01 01:00:00.000000000 +0100 -+++ b/configure.ac 2019-02-24 15:47:14.076992864 +0100 -@@ -89,6 +89,7 @@ +diff -Naur a/configure.ac b/configure.ac +--- a/configure.ac 1970-01-01 01:00:01.000000000 +0100 ++++ b/configure.ac 2020-10-03 22:04:00.535448352 +0200 +@@ -94,6 +94,7 @@ m4_include([m4/reorganization/libs/json.m4]) m4_include([m4/reorganization/libs/pcre.m4]) m4_include([m4/reorganization/libs/libmspack.m4]) @@ -29,7 +30,7 @@ Patch-Name: add-support-for-system-tomsfastmath.patch if test "x$use_internal_mspack" = "xno"; then mspack_msg="External, $LIBMSPACK_CFLAGS $LIBMSPACK_LIBS" -@@ -297,6 +298,7 @@ +@@ -361,6 +362,7 @@ fi CL_MSG_STATUS([yara ],[$enable_yara],[$enable_yara]) CL_MSG_STATUS([fts ],[yes],[$lfs_fts_msg]) @@ -37,9 +38,9 @@ Patch-Name: add-support-for-system-tomsfastmath.patch # Yep, downgrading the compiler avoids the bug too: -diff -Naur clamav-0.101.1/libclamav/bignum.h clamav-0.101.1b/libclamav/bignum.h ---- a/libclamav/bignum.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/libclamav/bignum.h 2019-02-24 15:46:36.216998323 +0100 +diff -Naur a/libclamav/bignum.h b/libclamav/bignum.h +--- a/libclamav/bignum.h 1970-01-01 01:00:01.000000000 +0100 ++++ b/libclamav/bignum.h 2020-10-03 22:04:00.535448352 +0200 @@ -1,9 +1,13 @@ #ifndef BIGNUM_H_ #define BIGNUM_H_ @@ -54,11 +55,11 @@ diff -Naur clamav-0.101.1/libclamav/bignum.h clamav-0.101.1b/libclamav/bignum.h + typedef fp_int mp_int; #define mp_cmp fp_cmp - #define mp_toradix_n(a,b,c,d) fp_toradix_n(a,b,c,d) -diff -Naur clamav-0.101.1/libclamav/Makefile.am clamav-0.101.1b/libclamav/Makefile.am ---- a/libclamav/Makefile.am 1970-01-01 01:00:00.000000000 +0100 -+++ b/libclamav/Makefile.am 2019-02-24 15:46:36.216998323 +0100 -@@ -597,8 +597,10 @@ + #define mp_toradix_n(a, b, c, d) fp_toradix_n(a, b, c, d) +diff -Naur a/libclamav/Makefile.am b/libclamav/Makefile.am +--- a/libclamav/Makefile.am 1970-01-01 01:00:01.000000000 +0100 ++++ b/libclamav/Makefile.am 2020-10-03 22:06:42.705447754 +0200 +@@ -588,8 +588,10 @@ yara_clam.h endif @@ -68,23 +69,23 @@ diff -Naur clamav-0.101.1/libclamav/Makefile.am clamav-0.101.1b/libclamav/Makefi + +if !SYSTEM_TOMSFASTMATH +libclamav_la_SOURCES += bignum_fast.h\ - tomsfastmath/addsub/fp_add.c\ - tomsfastmath/addsub/fp_add_d.c\ - tomsfastmath/addsub/fp_addmod.c\ -@@ -680,6 +682,10 @@ - tomsfastmath/sqr/fp_sqr_comba_generic.c\ - tomsfastmath/sqr/fp_sqr_comba_small_set.c\ + tomsfastmath/addsub/fp_add.c\ + tomsfastmath/addsub/fp_add_d.c\ + tomsfastmath/addsub/fp_addmod.c\ +@@ -671,6 +673,10 @@ + tomsfastmath/sqr/fp_sqr_comba_generic.c\ + tomsfastmath/sqr/fp_sqr_comba_small_set.c\ tomsfastmath/sqr/fp_sqrmod.c +else +libclamav_la_CFLAGS += $(TOMSFASTMATH_CFLAGS) +libclamav_la_LIBADD += $(TOMSFASTMATH_LIBS) +endif - .PHONY: version.h.tmp + .PHONY2: version.h.tmp version.c: version.h -diff -Naur clamav-0.101.1/libclamav/xdp.c clamav-0.101.1b/libclamav/xdp.c ---- a/libclamav/xdp.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/libclamav/xdp.c 2019-02-24 15:46:36.216998323 +0100 +diff -Naur a/libclamav/xdp.c b/libclamav/xdp.c +--- a/libclamav/xdp.c 1970-01-01 01:00:01.000000000 +0100 ++++ b/libclamav/xdp.c 2020-10-03 22:04:00.535448352 +0200 @@ -52,7 +52,7 @@ #include "scanners.h" #include "conv.h" @@ -94,9 +95,9 @@ diff -Naur clamav-0.101.1/libclamav/xdp.c clamav-0.101.1b/libclamav/xdp.c #include "filetypes.h" static char *dump_xdp(cli_ctx *ctx, const char *start, size_t sz); -diff -Naur clamav-0.101.1/m4/reorganization/libs/tomsfastmath.m4 clamav-0.101.1b/m4/reorganization/libs/tomsfastmath.m4 +diff -Naur a/m4/reorganization/libs/tomsfastmath.m4 b/m4/reorganization/libs/tomsfastmath.m4 --- a/m4/reorganization/libs/tomsfastmath.m4 1970-01-01 01:00:00.000000000 +0100 -+++ b/m4/reorganization/libs/tomsfastmath.m4 2019-02-24 15:46:36.216998323 +0100 ++++ b/m4/reorganization/libs/tomsfastmath.m4 2020-10-03 22:04:00.535448352 +0200 @@ -0,0 +1,12 @@ +dnl Check for system tomsfastmath +PKG_CHECK_MODULES([TOMSFASTMATH], [tomsfastmath], [have_system_tomsfastmath=yes], [have_system_tomsfastmath=no]) diff --git a/gnu/packages/patches/clang-11.0-libc-search-path.patch b/gnu/packages/patches/clang-11.0-libc-search-path.patch new file mode 100644 index 0000000000..c014de179d --- /dev/null +++ b/gnu/packages/patches/clang-11.0-libc-search-path.patch @@ -0,0 +1,89 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-Guix systems. + +diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp +--- a/lib/Driver/ToolChains/Gnu.cpp ++++ b/lib/Driver/ToolChains/Gnu.cpp +@@ -2797,7 +2797,7 @@ void Generic_GCC::AddMultilibPaths(const Driver &D, + // the cross. Note that GCC does include some of these directories in some + // configurations but this seems somewhere between questionable and simply + // a bug. +- if (StringRef(LibPath).startswith(SysRoot)) { ++ if (0) { + addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths); + addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths); + } +@@ -2811,6 +2811,10 @@ void Generic_GCC::AddMultiarchPaths(const Driver &D, + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ ++// The following code would end up adding things like ++// "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -2823,6 +2827,7 @@ void Generic_GCC::AddMultiarchPaths(const Driver &D, + D, GCCInstallation.getInstallPath() + BiarchSibling.gccSuffix(), + Paths); + } ++#endif // Guix + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp +--- a/lib/Driver/ToolChains/Linux.cpp ++++ b/lib/Driver/ToolChains/Linux.cpp +@@ -219,6 +219,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + Generic_GCC::PushPPaths(PPaths); + ++// Comment out the distro-specific tweaks so that they don't bite when ++// using Guix on a foreign distro. ++#if 0 + Distro Distro(D.getVFS(), Triple); + + if (Distro.IsAlpineLinux() || Triple.isAndroid()) { +@@ -284,6 +287,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif // Guix + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -310,6 +314,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); + addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); + ++// This requires the commented distro tweaks above. ++#if 0 + if (IsAndroid) { + // Android sysroots contain a library directory for each supported OS + // version as well as some unversioned libraries in the usual multiarch +@@ -338,6 +344,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths); + addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths); + } ++#endif // Guix + + Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths); + +@@ -349,8 +356,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const { diff --git a/gnu/packages/patches/dconf-meson-0.52.patch b/gnu/packages/patches/dconf-meson-0.52.patch deleted file mode 100644 index c636edc108..0000000000 --- a/gnu/packages/patches/dconf-meson-0.52.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fix build failure with Meson 0.52. - -Taken from upstream: -https://gitlab.gnome.org/GNOME/dconf/commit/7ad890fb7a2ec90a777a756a1fa20a615ec7245e -https://gitlab.gnome.org/GNOME/dconf/merge_requests/54 - -diff --git a/client/meson.build b/client/meson.build -index f3b7122cb05bfa7bb481c487e3cd052aa1ad58e5..de6387e2cac2aba12b83f2614c277bada434fd16 100644 ---- a/client/meson.build -+++ b/client/meson.build -@@ -28,7 +28,7 @@ libdconf_client = static_library( - - libdconf_client_dep = declare_dependency( - dependencies: gio_dep, -- link_whole: libdconf_client, -+ link_with: libdconf_client, - ) - - libdconf = shared_library( diff --git a/gnu/packages/patches/fplll-std-fenv.patch b/gnu/packages/patches/fplll-std-fenv.patch new file mode 100644 index 0000000000..aa2438f0c9 --- /dev/null +++ b/gnu/packages/patches/fplll-std-fenv.patch @@ -0,0 +1,18 @@ +See https://github.com/fplll/fplll/issues/444 + +--- fplll-5.3.3-checkout.old/fplll/enum/enumerate_base.h 2020-09-23 13:55:27.833769823 +0200 ++++ fplll-5.3.3-checkout/fplll/enum/enumerate_base.h 2020-09-23 13:56:14.313771769 +0200 +@@ -127,10 +127,10 @@ + int rounding_backup; + void save_rounding() + { +- rounding_backup = std::fegetround(); +- std::fesetround(FE_TONEAREST); ++ rounding_backup = fegetround(); ++ fesetround(FE_TONEAREST); + } +- void restore_rounding() { std::fesetround(rounding_backup); } ++ void restore_rounding() { fesetround(rounding_backup); } + + inline bool next_pos_up() + { diff --git a/gnu/packages/patches/gnome-settings-daemon-gc.patch b/gnu/packages/patches/gnome-settings-daemon-gc.patch new file mode 100644 index 0000000000..688544b418 --- /dev/null +++ b/gnu/packages/patches/gnome-settings-daemon-gc.patch @@ -0,0 +1,43 @@ +This patch adds a "guix gc" button to the low disk space notification +that 'gsd-housekeeping' emits. + +diff --git a/plugins/housekeeping/gsd-disk-space.c b/plugins/housekeeping/gsd-disk-space.c +index bd3437e..89027d8 100644 +--- a/plugins/housekeeping/gsd-disk-space.c ++++ b/plugins/housekeeping/gsd-disk-space.c +@@ -546,6 +546,21 @@ empty_trash_callback (NotifyNotification *n, + notify_notification_close (n, NULL); + } + ++static void ++guix_gc_callback (NotifyNotification *n, ++ const char *action) ++{ ++ const gchar *argv[] = { "guix", "gc", NULL }; ++ ++ g_assert (action != NULL); ++ g_assert (strcmp (action, "run-guix-gc") == 0); ++ ++ g_spawn_async (NULL, (gchar **) argv, NULL, G_SPAWN_SEARCH_PATH, ++ NULL, NULL, NULL, NULL); ++ ++ notify_notification_close (n, NULL); ++} ++ + static void + on_notification_closed (NotifyNotification *n) + { +@@ -591,6 +606,13 @@ ldsm_notify (const char *summary, + g_free); + } + ++ notify_notification_add_action (notification, ++ "run-guix-gc", ++ _("Collect Unused Guix Items"), ++ (NotifyActionCallback) guix_gc_callback, ++ NULL, ++ NULL); ++ + has_trash = ldsm_mount_has_trash (mount_path); + + if (has_trash) { diff --git a/gnu/packages/patches/grim-revert-output-rotation.patch b/gnu/packages/patches/grim-revert-output-rotation.patch new file mode 100644 index 0000000000..cbf0a86502 --- /dev/null +++ b/gnu/packages/patches/grim-revert-output-rotation.patch @@ -0,0 +1,27 @@ +From 80b17ceaff90b81b28b44004d2aca4cc40f365be Mon Sep 17 00:00:00 2001 +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Fri, 2 Oct 2020 00:07:30 +0200 +Subject: [PATCH] Revert "Correct interpretation of output rotation" + +This reverts commit 8f9d60885ce2f9bd66cd93d3378dcb6866d4588a. +It is incompatible with the current Sway version (1.4) in Guix. +--- + render.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/render.c b/render.c +index 8f31e7e..a6b0b12 100644 +--- a/render.c ++++ b/render.c +@@ -104,7 +104,7 @@ cairo_surface_t *render(struct grim_state *state, struct grim_box *geometry, + cairo_matrix_translate(&matrix, + (double)output->geometry.width / 2, + (double)output->geometry.height / 2); +- cairo_matrix_rotate(&matrix, get_output_rotation(output->transform)); ++ cairo_matrix_rotate(&matrix, -get_output_rotation(output->transform)); + cairo_matrix_scale(&matrix, + (double)raw_output_width / output_width * output_flipped_x, + (double)raw_output_height / output_height * output_flipped_y); +-- +2.28.0 + diff --git a/gnu/packages/patches/hplip-fix-bug-1898438.patch b/gnu/packages/patches/hplip-fix-bug-1898438.patch new file mode 100644 index 0000000000..7c095f9b2a --- /dev/null +++ b/gnu/packages/patches/hplip-fix-bug-1898438.patch @@ -0,0 +1,19 @@ +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Sun, 04 Oct 2020 13:28:49 +0200 +Subject: [PATCH] gnu: hplip: Fix non-network builds (bug #1898438) + +Reported as <https://bugs.launchpad.net/hplip/+bug/1898438>. + +diff -Naur a/scan/sane/hpaio.c b/scan/sane/hpaio.c +--- a/scan/sane/hpaio.c 1970-01-01 01:00:01.000000000 +0100 ++++ b/scan/sane/hpaio.c 2020-10-04 13:26:34.665244052 +0200 +@@ -36,7 +36,9 @@ + #include <string.h> + #include <cups/cups.h> + #include "hpmud.h" ++#ifdef HAVE_LIBNETSNMP + #include "avahiDiscovery.h" ++#endif + #include "hp_ipp.h" + #include "soap.h" + #include "soapht.h" diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index 265725ce36..c90950d5ef 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch @@ -25,7 +25,7 @@ index 8be2362..48716f2 100755 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc --echo -n ae692bf2a15908cacbb9d4c7ccf78525a87410ff3f13befedc1926f849bc27cc firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +-echo -n 5fd27d67689fe60803022035e556146d2dbce5e53d21c14d026fc31dd2e45be9 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - -echo Extracting Firefox tarball -tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -37,7 +37,7 @@ index 8be2362..48716f2 100755 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc -+# echo -n ae692bf2a15908cacbb9d4c7ccf78525a87410ff3f13befedc1926f849bc27cc firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - ++# echo -n 5fd27d67689fe60803022035e556146d2dbce5e53d21c14d026fc31dd2e45be9 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -63,9 +63,9 @@ index 8be2362..48716f2 100755 - -mv l10n $SOURCEDIR - --hg clone http://hg.mozilla.org/l10n/compare-locales/ +-hg clone https://hg.mozilla.org/l10n/compare-locales/ -cd compare-locales/ --hg checkout RELEASE_3_3_0 +-hg checkout RELEASE_8_0_0 -cd .. -rm compare-locales/.hg* compare-locales/.git* -rf -mv compare-locales $SOURCEDIR/l10n @@ -84,9 +84,9 @@ index 8be2362..48716f2 100755 +# +# mv l10n $SOURCEDIR +# -+# hg clone http://hg.mozilla.org/l10n/compare-locales/ ++# hg clone https://hg.mozilla.org/l10n/compare-locales/ +# cd compare-locales/ -+# hg checkout RELEASE_3_3_0 ++# hg checkout RELEASE_8_0_0 +# cd .. +# rm compare-locales/.hg* compare-locales/.git* -rf +# mv compare-locales $SOURCEDIR/l10n @@ -98,7 +98,7 @@ index 8be2362..48716f2 100755 shopt -s nullglob for patch in $DATA/patches/*.patch; do -@@ -603,6 +603,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in +@@ -598,6 +598,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in # Fix CVE-2012-3386 /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true diff --git a/gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch b/gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch new file mode 100644 index 0000000000..8867d4f191 --- /dev/null +++ b/gnu/packages/patches/jamvm-1.5.1-aarch64-support.patch @@ -0,0 +1,572 @@ +From 9c83c3d3f443eb92f87dc87c7dcfe95577b95621 Mon Sep 17 00:00:00 2001 +From: Simon South <simon@simonsouth.net> +Date: Thu, 28 May 2020 14:29:55 -0400 +Subject: [PATCH] Add support for aarch64 on GNU/Linux + +--- + configure.ac | 10 +- + src/arch/Makefile.am | 2 +- + src/arch/aarch64.h | 110 ++++++++++++++++ + src/os/linux/Makefile.am | 2 +- + src/os/linux/aarch64/Makefile.am | 28 ++++ + src/os/linux/aarch64/callNative.S | 212 ++++++++++++++++++++++++++++++ + src/os/linux/aarch64/dll_md.c | 59 +++++++++ + src/os/linux/aarch64/init.c | 51 +++++++ + 8 files changed, 469 insertions(+), 5 deletions(-) + create mode 100644 src/arch/aarch64.h + create mode 100644 src/os/linux/aarch64/Makefile.am + create mode 100644 src/os/linux/aarch64/callNative.S + create mode 100644 src/os/linux/aarch64/dll_md.c + create mode 100644 src/os/linux/aarch64/init.c + +diff --git a/configure.ac b/configure.ac +index ccd530f..707f281 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -43,6 +43,7 @@ amd64-*-freebsd*) host_os=bsd libdl_needed=no ;; + arm*-*-linux*) host_cpu=arm host_os=linux ;; + arm*-*-openbsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; + arm*-*-freebsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; ++aarch64*-*-linux*) host_cpu=aarch64 host_os=linux ;; + powerpc*-*-linux*) host_cpu=powerpc host_os=linux ;; + powerpc*-*-openbsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; + powerpc*-*-freebsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; +@@ -149,9 +150,11 @@ AC_ARG_ENABLE(runtime-reloc-checks, + + AC_ARG_ENABLE(int-inlining, + [AS_HELP_STRING(--enable-int-inlining,enable inline threaded version of the interpreter +- (by default enabled on x86_64, i386 and powerpc, disabled otherwise))],, +- [if test "$host_cpu" = x86_64 -o "$host_cpu" = i386 -o "$host_cpu" = powerpc && \ +- test "$cross_compiling" = no -o "$enable_runtime_reloc_checks" != no; then ++ (by default enabled on x86_64, i386, powerpc and aarch64, ++ disabled otherwise))],, ++ [if test "$host_cpu" = x86_64 -o "$host_cpu" = i386 -o "$host_cpu" = powerpc -o \ ++ "$host_cpu" = aarch64 && test "$cross_compiling" = no -o \ ++ "$enable_runtime_reloc_checks" != no; then + enable_int_inlining=yes + else + enable_int_inlining=no +@@ -298,6 +301,7 @@ AC_CONFIG_FILES( + src/os/linux/x86_64/Makefile \ + src/os/linux/parisc/Makefile \ + src/os/linux/mips/Makefile \ ++ src/os/linux/aarch64/Makefile \ + src/os/darwin/i386/Makefile \ + src/os/darwin/arm/Makefile \ + src/os/darwin/powerpc/Makefile \ +diff --git a/src/arch/Makefile.am b/src/arch/Makefile.am +index 078c1de..afb26d1 100644 +--- a/src/arch/Makefile.am ++++ b/src/arch/Makefile.am +@@ -19,4 +19,4 @@ + ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + ## + +-EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h ++EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h aarch64.h +diff --git a/src/arch/aarch64.h b/src/arch/aarch64.h +new file mode 100644 +index 0000000..c96aa9f +--- /dev/null ++++ b/src/arch/aarch64.h +@@ -0,0 +1,110 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 ++ * Robert Lougher <rob@lougher.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include <stdint.h> ++ ++#define OS_ARCH "aarch64" ++ ++#define HANDLER_TABLE_T static const void ++#define DOUBLE_1_BITS 0x3ff0000000000000LL ++ ++#define READ_DBL(v,p,l) v = ((u8)p[0]<<56)|((u8)p[1]<<48)|((u8)p[2]<<40) \ ++ |((u8)p[3]<<32)|((u8)p[4]<<24)|((u8)p[5]<<16) \ ++ |((u8)p[6]<<8)|(u8)p[7]; p+=8 ++ ++/* Needed for i386 -- empty here */ ++#define FPU_HACK ++ ++#define COMPARE_AND_SWAP_64(addr, old_val, new_val) \ ++({ \ ++ int result, read_val; \ ++ __asm__ __volatile__ (" \ ++ 1: ldaxr %2, %1; \ ++ cmp %2, %3; \ ++ b.ne 2f; \ ++ stlxr %w0, %4, %1; \ ++ cmp %w0, wzr; \ ++ b.ne 1b; \ ++ 2: cset %w0, eq;" \ ++ : "=&r" (result), "+Q" (*addr), "=&r" (read_val) \ ++ : "r" (old_val), "r" (new_val) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define LOCKWORD_READ(addr) \ ++({ \ ++ uintptr_t result; \ ++ __asm__ __volatile__ (" \ ++ ldar %0, %1;" \ ++ : "=r" (result) \ ++ : "Q" (*addr) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define LOCKWORD_WRITE(addr, value) \ ++({ \ ++ __asm__ __volatile__ (" \ ++ stlr %1, %0;" \ ++ : "=Q" (*addr) \ ++ : "r" (value) \ ++ : "cc"); \ ++}) ++ ++#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define FLUSH_CACHE(addr, length) \ ++{ \ ++ uintptr_t start = (uintptr_t) (addr); \ ++ uintptr_t end = start + length; \ ++ uintptr_t i; \ ++ \ ++ for(i = start & aarch64_data_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_data_cache_line_len) \ ++ __asm__ ("dc cvau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish"); \ ++ \ ++ for(i = start & aarch64_instruction_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_instruction_cache_line_len) \ ++ __asm__ ("ic ivau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish; isb"); \ ++} ++ ++#define MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define UNLOCK_MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define JMM_LOCK_MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define JMM_UNLOCK_MBARRIER() JMM_LOCK_MBARRIER() ++ ++/* Defined in src/os/linux/aarch64/init.c */ ++extern unsigned char aarch64_data_cache_line_len; ++extern uintptr_t aarch64_data_cache_line_mask; ++extern unsigned char aarch64_instruction_cache_line_len; ++extern uintptr_t aarch64_instruction_cache_line_mask; +diff --git a/src/os/linux/Makefile.am b/src/os/linux/Makefile.am +index aa29be1..d582b97 100644 +--- a/src/os/linux/Makefile.am ++++ b/src/os/linux/Makefile.am +@@ -20,7 +20,7 @@ + ## + + SUBDIRS = @arch@ +-DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips ++DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips aarch64 + + noinst_LTLIBRARIES = libos.la + libos_la_SOURCES = os.c +diff --git a/src/os/linux/aarch64/Makefile.am b/src/os/linux/aarch64/Makefile.am +new file mode 100644 +index 0000000..1024c3a +--- /dev/null ++++ b/src/os/linux/aarch64/Makefile.am +@@ -0,0 +1,28 @@ ++## ++## Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 ++## Robert Lougher <rob@lougher.org.uk>. ++## ++## File added by Simon South <simon@simonsouth.net>. ++## ++## This file is part of JamVM. ++## ++## This program 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 2, ++## or (at your option) any later version. ++## ++## This program 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 this program; if not, write to the Free Software ++## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++## ++ ++noinst_LTLIBRARIES = libnative.la ++libnative_la_SOURCES = init.c dll_md.c callNative.S ++ ++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src ++AM_CCASFLAGS = -I$(top_builddir)/src +diff --git a/src/os/linux/aarch64/callNative.S b/src/os/linux/aarch64/callNative.S +new file mode 100644 +index 0000000..e067c4f +--- /dev/null ++++ b/src/os/linux/aarch64/callNative.S +@@ -0,0 +1,212 @@ ++/* ++ * Copyright (C) 2008, 2009, 2011, 2012 Robert Lougher <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "config.h" ++ ++#ifndef USE_FFI ++ .text ++ .arch armv8-a ++ .align 2 ++ .global callJNIMethod ++ .type callJNIMethod,function ++ ++/* ++ * Arguments passed in: ++ * ++ * x0 JNIEnv ++ * x1 class or NULL ++ * x2 sig ++ * w3 extra arg ++ * x4 ostack ++ * x5 function pntr ++ * w6 args count ++ */ ++ ++/* Register usage: ++ * ++ * x20 ostack ++ * x19 sig pntr ++ * x16 function pntr ++ * x15 ostack pntr ++ * x14 args pntr ++ * x13 float/double handler ++ * x12 int/long handler ++ * w11 fp regs remaining ++ * w10 int regs remaining ++ * x9 scratch ++ * x2-x7 outgoing int args ++ * x1 outgoing class or this pntr ++ * x0 outgoing JNIEnv (as passed in) ++ * ++ * d0 - d7 outgoing float args ++ */ ++ ++callJNIMethod: ++ stp x29, x30, [sp, #-32]! ++ mov x29, sp ++ stp x19, x20, [x29, #16] ++ ++ sub sp, sp, w3 /* allocate room for stacked args */ ++ mov x14, sp ++ ++ mov x20, x4 /* preserve ostack */ ++ add x19, x2, #1 /* init sig pntr -- skipping '(' */ ++ ++ mov x16, x5 /* save function pntr */ ++ mov x15, x20 /* init ostack pntr */ ++ ++ adr x13, fp_reg_handlers-8 ++ adr x12, int_reg_handlers-8 ++ ++ mov w11, #8 /* fp regs remaining */ ++ mov w10, #6 /* int regs remaining */ ++ ++ cbnz x1, scan_sig /* is method non-static? */ ++ ldr x1, [x15], #8 /* yes, load x1 with "this" */ ++ ++scan_sig: ++ ldrb w9, [x19], #1 /* get next sig char */ ++ ++ cmp w9, #41 /* ')' */ ++ b.eq done ++ ++ cmp w9, #74 /* 'J' */ ++ b.eq long ++ ++ cmp w9, #70 /* 'F' */ ++ b.eq float ++ ++ cmp w9, #68 /* 'D' */ ++ b.eq double ++ ++skip_brackets: ++ cmp w9, #91 /* '[' */ ++ b.ne 1f ++ ldrb w9, [x19], #1 ++ b skip_brackets ++1: ++ cmp w9, #76 /* 'L' */ ++ b.ne int ++ ++skip_ref: ++ ldrb w9, [x19], #1 ++ cmp w9, #59 /* ';' */ ++ b.ne skip_ref ++ ++int: ++ ldr x9, [x15], #8 ++ cbz w10, stack_push ++ ++load_int_reg: ++ sub w10, w10, #1 ++ add x12, x12, #8 ++ br x12 ++ ++int_reg_handlers: ++ mov x2, x9 ++ b scan_sig ++ mov x3, x9 ++ b scan_sig ++ mov x4, x9 ++ b scan_sig ++ mov x5, x9 ++ b scan_sig ++ mov x6, x9 ++ b scan_sig ++ mov x7, x9 ++ b scan_sig ++ ++long: ++ ldr x9, [x15], #16 ++ cbz w10, stack_push ++ b load_int_reg ++ ++float: ++ ldr w9, [x15], #8 ++ cbz w11, stack_push ++ b load_fp_reg ++ ++double: ++ ldr x9, [x15], #16 ++ cbz w11, stack_push ++ ++load_fp_reg: ++ sub w11, w11, #1 ++ add x13, x13, #8 ++ br x13 ++ ++fp_reg_handlers: ++ fmov d0, x9 ++ b scan_sig ++ fmov d1, x9 ++ b scan_sig ++ fmov d2, x9 ++ b scan_sig ++ fmov d3, x9 ++ b scan_sig ++ fmov d4, x9 ++ b scan_sig ++ fmov d5, x9 ++ b scan_sig ++ fmov d6, x9 ++ b scan_sig ++ fmov d7, x9 ++ b scan_sig ++ ++stack_push: ++ str x9, [x14], #8 ++ b scan_sig ++ ++done: ++ /* Call the function */ ++ blr x16 ++ ++ mov sp, x29 /* Pop argument area */ ++ ++ ldrb w9, [x19] /* Return type */ ++ ++ cmp w9, #86 /* 'V' */ ++ b.eq return ++ ++ cmp w9, #68 /* 'D' */ ++ b.ne 2f ++ str d0, [x20], #16 ++ b return ++2: ++ cmp w9, #70 /* 'F' */ ++ b.ne 3f ++ str s0, [x20], #8 ++ b return ++3: ++ cmp w9, #74 /* 'J' */ ++ b.ne 4f ++ str x0, [x20], #16 ++ b return ++4: ++ str x0, [x20], #8 ++ ++return: ++ mov x0, x20 /* return ostack */ ++ ++ ldp x19, x20, [x29, #16] ++ ldp x29, x30, [sp], #32 ++ ret ++#endif +diff --git a/src/os/linux/aarch64/dll_md.c b/src/os/linux/aarch64/dll_md.c +new file mode 100644 +index 0000000..189f8a8 +--- /dev/null ++++ b/src/os/linux/aarch64/dll_md.c +@@ -0,0 +1,59 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011 ++ * Robert Lougher <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "jam.h" ++ ++#ifndef USE_FFI ++ ++int nativeExtraArg(MethodBlock *mb) { ++ char *sig = mb->type; ++ int stack_args = 0; ++ int int_args = 6; ++ int fp_args = 8; ++ ++ while(*++sig != ')') ++ switch(*sig) { ++ case 'F': ++ case 'D': ++ if(fp_args == 0) ++ stack_args += 8; ++ else ++ fp_args--; ++ ++ default: ++ if(int_args == 0) ++ stack_args += 8; ++ else ++ int_args--; ++ ++ if(*sig == '[') ++ while(*++sig == '['); ++ if(*sig == 'L') ++ while(*++sig != ';'); ++ break; ++ } ++ ++ /* Ensure the stack remains 16 byte aligned. */ ++ return (stack_args + 15) & ~15; ++} ++ ++#endif +diff --git a/src/os/linux/aarch64/init.c b/src/os/linux/aarch64/init.c +new file mode 100644 +index 0000000..e03b446 +--- /dev/null ++++ b/src/os/linux/aarch64/init.c +@@ -0,0 +1,51 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007 ++ * Robert Lougher <rob@lougher.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "arch/aarch64.h" ++ ++/* Length in bytes of the smallest line in the host system's data cache */ ++unsigned char aarch64_data_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the data cache */ ++uintptr_t aarch64_data_cache_line_mask; ++ ++/* Length in bytes of the smallest line in the host system's instruction ++ cache */ ++unsigned char aarch64_instruction_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the instruction cache */ ++uintptr_t aarch64_instruction_cache_line_mask; ++ ++void initialisePlatform() { ++ unsigned int cache_type; ++ ++ /* Extract information from the cache-type register, which describes aspects ++ of the host's cache configuration */ ++ __asm__ ("mrs %0, ctr_el0" : "=r" (cache_type)); ++ ++ aarch64_data_cache_line_len = 4 << ((cache_type >> 16) & 0x0f); ++ aarch64_data_cache_line_mask = ~(aarch64_data_cache_line_len - 1); ++ ++ aarch64_instruction_cache_line_len = 4 << (cache_type & 0x0f); ++ aarch64_instruction_cache_line_mask = ++ ~(aarch64_instruction_cache_line_len - 1); ++} +-- +2.26.2 + diff --git a/gnu/packages/patches/jamvm-arm.patch b/gnu/packages/patches/jamvm-1.5.1-armv7-support.patch index 9e998e18db..9e998e18db 100644 --- a/gnu/packages/patches/jamvm-arm.patch +++ b/gnu/packages/patches/jamvm-1.5.1-armv7-support.patch diff --git a/gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch b/gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch new file mode 100644 index 0000000000..b67d8b4584 --- /dev/null +++ b/gnu/packages/patches/jamvm-2.0.0-aarch64-support.patch @@ -0,0 +1,645 @@ +From a44154f7a18496cc3e5fc0b1b2ea69523ebc623a Mon Sep 17 00:00:00 2001 +From: Simon South <simon@simonsouth.net> +Date: Mon, 1 Jun 2020 07:09:34 -0400 +Subject: [PATCH] Add support for aarch64 on GNU/Linux + +--- + AUTHORS | 1 + + README | 2 +- + configure.ac | 7 +- + src/arch/Makefile.am | 2 +- + src/arch/aarch64.h | 147 +++++++++++++++++++++ + src/jam.c | 3 +- + src/os/linux/Makefile.am | 2 +- + src/os/linux/aarch64/Makefile.am | 28 ++++ + src/os/linux/aarch64/callNative.S | 212 ++++++++++++++++++++++++++++++ + src/os/linux/aarch64/dll_md.c | 59 +++++++++ + src/os/linux/aarch64/init.c | 51 +++++++ + 11 files changed, 508 insertions(+), 6 deletions(-) + create mode 100644 src/arch/aarch64.h + create mode 100644 src/os/linux/aarch64/Makefile.am + create mode 100644 src/os/linux/aarch64/callNative.S + create mode 100644 src/os/linux/aarch64/dll_md.c + create mode 100644 src/os/linux/aarch64/init.c + +diff --git a/AUTHORS b/AUTHORS +index e1334fe..6fd0eeb 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -1 +1,2 @@ + Robert Lougher <rob@jamvm.org.uk> ++Simon South <simon@simonsouth.net> +diff --git a/README b/README +index c9d80bb..0e93d00 100644 +--- a/README ++++ b/README +@@ -77,7 +77,7 @@ versions of JamVM also includes stubs for common method signatures. + The following platforms/architectures are recognised by configure. Those + marked with * must be configured to use libffi. + +-- Linux: x86, x86_64, ARM, PowerPC, PowerPC64(*), MIPS, HPPA ++- Linux: x86, x86_64, ARM, ARM64, PowerPC, PowerPC64(*), MIPS, HPPA + - FreeBSD: x86, x86_64, ARM, PowerPC, PowerPC64(*), SPARC(*) + - OpenBSD: x86, x86_64, ARM, PowerPC, PowerPC64(*), SPARC(*) + - Mac OS X/Darwin: x86, x86_64, ARM, PowerPC, PowerPC64 +diff --git a/configure.ac b/configure.ac +index 138b7e6..e7051d7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -46,6 +46,7 @@ x86_64-*-freebsd*) host_os=bsd libdl_needed=no ;; + arm*-*-linux*) host_cpu=arm host_os=linux interp_cflags=-marm ;; + arm*-*-openbsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; + arm*-*-freebsd*) host_cpu=arm host_os=bsd libdl_needed=no ;; ++aarch64*-*-linux*) host_cpu=aarch64 host_os=linux ;; + powerpc*-*-linux*) host_cpu=powerpc host_os=linux ;; + powerpc*-*-openbsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; + powerpc*-*-freebsd*) host_cpu=powerpc host_os=bsd libdl_needed=no ;; +@@ -155,10 +156,11 @@ AC_ARG_ENABLE(runtime-reloc-checks, + + AC_ARG_ENABLE(int-inlining, + [AS_HELP_STRING(--enable-int-inlining,enable inline threaded version of the interpreter +- (by default enabled on x86_64, i386, powerpc, mips and arm, ++ (by default enabled on x86_64, i386, powerpc, mips, arm and aarch64, + disabled otherwise))],, + [if test "$host_cpu" = x86_64 -o "$host_cpu" = i386 -o "$host_cpu" = x86 -o \ +- "$host_cpu" = powerpc -o "$host_cpu" = arm -o "$host_cpu" = mips; then ++ "$host_cpu" = powerpc -o "$host_cpu" = arm -o "$host_cpu" = mips -o \ ++ "$host_cpu" = aarch64; then + enable_int_inlining=yes + else + enable_int_inlining=no +@@ -407,6 +409,7 @@ AC_CONFIG_FILES( + src/os/linux/x86_64/Makefile \ + src/os/linux/parisc/Makefile \ + src/os/linux/mips/Makefile \ ++ src/os/linux/aarch64/Makefile \ + src/os/darwin/i386/Makefile \ + src/os/darwin/arm/Makefile \ + src/os/darwin/powerpc/Makefile \ +diff --git a/src/arch/Makefile.am b/src/arch/Makefile.am +index 7580a1b..4e2a4f9 100644 +--- a/src/arch/Makefile.am ++++ b/src/arch/Makefile.am +@@ -19,4 +19,4 @@ + ## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + ## + +-EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h sparc.h ++EXTRA_DIST = powerpc.h arm.h i386.h x86_64.h parisc.h mips.h sparc.h aarch64.h +diff --git a/src/arch/aarch64.h b/src/arch/aarch64.h +new file mode 100644 +index 0000000..1912e79 +--- /dev/null ++++ b/src/arch/aarch64.h +@@ -0,0 +1,147 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 ++ * Robert Lougher <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include <stdint.h> ++ ++#define OS_ARCH "aarch64" ++ ++#define HANDLER_TABLE_T static const void ++#define DOUBLE_1_BITS 0x3ff0000000000000LL ++ ++#define READ_DBL(v,p,l) v = ((u8)p[0]<<56)|((u8)p[1]<<48)|((u8)p[2]<<40) \ ++ |((u8)p[3]<<32)|((u8)p[4]<<24)|((u8)p[5]<<16) \ ++ |((u8)p[6]<<8)|(u8)p[7]; p+=8 ++ ++/* Needed for i386 -- empty here */ ++#define FPU_HACK ++ ++#define COMPARE_AND_SWAP_64(addr, old_val, new_val) \ ++({ \ ++ int result, read_val; \ ++ __asm__ __volatile__ (" \ ++ 1: ldaxr %2, %1; \ ++ cmp %2, %3; \ ++ b.ne 2f; \ ++ stlxr %w0, %4, %1; \ ++ cmp %w0, wzr; \ ++ b.ne 1b; \ ++ 2: cset %w0, eq;" \ ++ : "=&r" (result), "+Q" (*addr), "=&r" (read_val) \ ++ : "r" (old_val), "r" (new_val) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define COMPARE_AND_SWAP_32(addr, old_val, new_val) \ ++({ \ ++ int result, read_val; \ ++ __asm__ __volatile__ (" \ ++ 1: ldaxr %w2, %1; \ ++ cmp %w2, %w3; \ ++ b.ne 2f; \ ++ stlxr %w0, %w4, %1; \ ++ cmp %w0, wzr; \ ++ b.ne 1b; \ ++ 2: cset %w0, eq;" \ ++ : "=&r" (result), "+Q" (*addr), "=&r" (read_val) \ ++ : "r" (old_val), "r" (new_val) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define LOCKWORD_READ(addr) \ ++({ \ ++ uintptr_t result; \ ++ __asm__ __volatile__ (" \ ++ ldar %0, %1;" \ ++ : "=r" (result) \ ++ : "Q" (*addr) \ ++ : "cc"); \ ++ result; \ ++}) ++ ++#define LOCKWORD_WRITE(addr, value) \ ++({ \ ++ __asm__ __volatile__ (" \ ++ stlr %1, %0;" \ ++ : "=Q" (*addr) \ ++ : "r" (value) \ ++ : "cc"); \ ++}) ++ ++#define LOCKWORD_COMPARE_AND_SWAP(addr, old_val, new_val) \ ++ COMPARE_AND_SWAP_64(addr, old_val, new_val) ++ ++#define FLUSH_CACHE(addr, length) \ ++{ \ ++ uintptr_t start = (uintptr_t) (addr); \ ++ uintptr_t end = start + length; \ ++ uintptr_t i; \ ++ \ ++ for(i = start & aarch64_data_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_data_cache_line_len) \ ++ __asm__ ("dc cvau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish"); \ ++ \ ++ for(i = start & aarch64_instruction_cache_line_mask; \ ++ i < end; \ ++ i += aarch64_instruction_cache_line_len) \ ++ __asm__ ("ic ivau, %0" :: "r" (i)); \ ++ \ ++ __asm__ ("dsb ish; isb"); \ ++} ++ ++#define GEN_REL_JMP(target_addr, patch_addr, patch_size) \ ++({ \ ++ int patched = FALSE; \ ++ \ ++ if(patch_size >= 4) { \ ++ /* Guard against the pointer difference being \ ++ larger than the signed range */ \ ++ long long offset = (uintptr_t)(target_addr) - \ ++ (uintptr_t)(patch_addr); \ ++ \ ++ if(offset >= -1<<28 && offset < 1<<28) { \ ++ *(uint32_t*)(patch_addr) = offset>>2 & 0x03ffffff \ ++ | 0x14000000; \ ++ patched = TRUE; \ ++ } \ ++ } \ ++ patched; \ ++}) ++ ++#define MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define RMBARRIER() __asm__ ("dmb ishld" ::: "memory") ++#define WMBARRIER() __asm__ ("dmb ishst" ::: "memory") ++#define JMM_LOCK_MBARRIER() __asm__ ("dmb ish" ::: "memory") ++#define JMM_UNLOCK_MBARRIER() JMM_LOCK_MBARRIER() ++ ++/* Defined in src/os/linux/aarch64/init.c */ ++extern unsigned char aarch64_data_cache_line_len; ++extern uintptr_t aarch64_data_cache_line_mask; ++extern unsigned char aarch64_instruction_cache_line_len; ++extern uintptr_t aarch64_instruction_cache_line_mask; +diff --git a/src/jam.c b/src/jam.c +index 052f84a..c97524a 100644 +--- a/src/jam.c ++++ b/src/jam.c +@@ -98,7 +98,8 @@ void showUsage(char *name) { + void showVersionAndCopyright() { + printf("java version \"%s\"\n", JAVA_COMPAT_VERSION); + printf("JamVM version %s\n", VERSION); +- printf("Copyright (C) 2003-2014 Robert Lougher <rob@jamvm.org.uk>\n\n"); ++ printf("Copyright (C) 2003-2014 Robert Lougher <rob@jamvm.org.uk>\n"); ++ printf("Portions Copyright (C) 2020 Simon South <simon@simonsouth.net>\n\n"); + printf("This program is free software; you can redistribute it and/or\n"); + printf("modify it under the terms of the GNU General Public License\n"); + printf("as published by the Free Software Foundation; either version 2,\n"); +diff --git a/src/os/linux/Makefile.am b/src/os/linux/Makefile.am +index 542094e..83e7dfe 100644 +--- a/src/os/linux/Makefile.am ++++ b/src/os/linux/Makefile.am +@@ -20,7 +20,7 @@ + ## + + SUBDIRS = @arch@ +-DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips ++DIST_SUBDIRS = powerpc arm i386 x86_64 parisc mips aarch64 + + noinst_LTLIBRARIES = libos.la + libos_la_SOURCES = os.c +diff --git a/src/os/linux/aarch64/Makefile.am b/src/os/linux/aarch64/Makefile.am +new file mode 100644 +index 0000000..0e5134f +--- /dev/null ++++ b/src/os/linux/aarch64/Makefile.am +@@ -0,0 +1,28 @@ ++## ++## Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 ++## Robert Lougher <rob@jamvm.org.uk>. ++## ++## File added by Simon South <simon@simonsouth.net>. ++## ++## This file is part of JamVM. ++## ++## This program 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 2, ++## or (at your option) any later version. ++## ++## This program 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 this program; if not, write to the Free Software ++## Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++## ++ ++noinst_LTLIBRARIES = libnative.la ++libnative_la_SOURCES = init.c dll_md.c callNative.S ++ ++AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src ++AM_CCASFLAGS = -I$(top_builddir)/src +diff --git a/src/os/linux/aarch64/callNative.S b/src/os/linux/aarch64/callNative.S +new file mode 100644 +index 0000000..e067c4f +--- /dev/null ++++ b/src/os/linux/aarch64/callNative.S +@@ -0,0 +1,212 @@ ++/* ++ * Copyright (C) 2008, 2009, 2011, 2012 Robert Lougher <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "config.h" ++ ++#ifndef USE_FFI ++ .text ++ .arch armv8-a ++ .align 2 ++ .global callJNIMethod ++ .type callJNIMethod,function ++ ++/* ++ * Arguments passed in: ++ * ++ * x0 JNIEnv ++ * x1 class or NULL ++ * x2 sig ++ * w3 extra arg ++ * x4 ostack ++ * x5 function pntr ++ * w6 args count ++ */ ++ ++/* Register usage: ++ * ++ * x20 ostack ++ * x19 sig pntr ++ * x16 function pntr ++ * x15 ostack pntr ++ * x14 args pntr ++ * x13 float/double handler ++ * x12 int/long handler ++ * w11 fp regs remaining ++ * w10 int regs remaining ++ * x9 scratch ++ * x2-x7 outgoing int args ++ * x1 outgoing class or this pntr ++ * x0 outgoing JNIEnv (as passed in) ++ * ++ * d0 - d7 outgoing float args ++ */ ++ ++callJNIMethod: ++ stp x29, x30, [sp, #-32]! ++ mov x29, sp ++ stp x19, x20, [x29, #16] ++ ++ sub sp, sp, w3 /* allocate room for stacked args */ ++ mov x14, sp ++ ++ mov x20, x4 /* preserve ostack */ ++ add x19, x2, #1 /* init sig pntr -- skipping '(' */ ++ ++ mov x16, x5 /* save function pntr */ ++ mov x15, x20 /* init ostack pntr */ ++ ++ adr x13, fp_reg_handlers-8 ++ adr x12, int_reg_handlers-8 ++ ++ mov w11, #8 /* fp regs remaining */ ++ mov w10, #6 /* int regs remaining */ ++ ++ cbnz x1, scan_sig /* is method non-static? */ ++ ldr x1, [x15], #8 /* yes, load x1 with "this" */ ++ ++scan_sig: ++ ldrb w9, [x19], #1 /* get next sig char */ ++ ++ cmp w9, #41 /* ')' */ ++ b.eq done ++ ++ cmp w9, #74 /* 'J' */ ++ b.eq long ++ ++ cmp w9, #70 /* 'F' */ ++ b.eq float ++ ++ cmp w9, #68 /* 'D' */ ++ b.eq double ++ ++skip_brackets: ++ cmp w9, #91 /* '[' */ ++ b.ne 1f ++ ldrb w9, [x19], #1 ++ b skip_brackets ++1: ++ cmp w9, #76 /* 'L' */ ++ b.ne int ++ ++skip_ref: ++ ldrb w9, [x19], #1 ++ cmp w9, #59 /* ';' */ ++ b.ne skip_ref ++ ++int: ++ ldr x9, [x15], #8 ++ cbz w10, stack_push ++ ++load_int_reg: ++ sub w10, w10, #1 ++ add x12, x12, #8 ++ br x12 ++ ++int_reg_handlers: ++ mov x2, x9 ++ b scan_sig ++ mov x3, x9 ++ b scan_sig ++ mov x4, x9 ++ b scan_sig ++ mov x5, x9 ++ b scan_sig ++ mov x6, x9 ++ b scan_sig ++ mov x7, x9 ++ b scan_sig ++ ++long: ++ ldr x9, [x15], #16 ++ cbz w10, stack_push ++ b load_int_reg ++ ++float: ++ ldr w9, [x15], #8 ++ cbz w11, stack_push ++ b load_fp_reg ++ ++double: ++ ldr x9, [x15], #16 ++ cbz w11, stack_push ++ ++load_fp_reg: ++ sub w11, w11, #1 ++ add x13, x13, #8 ++ br x13 ++ ++fp_reg_handlers: ++ fmov d0, x9 ++ b scan_sig ++ fmov d1, x9 ++ b scan_sig ++ fmov d2, x9 ++ b scan_sig ++ fmov d3, x9 ++ b scan_sig ++ fmov d4, x9 ++ b scan_sig ++ fmov d5, x9 ++ b scan_sig ++ fmov d6, x9 ++ b scan_sig ++ fmov d7, x9 ++ b scan_sig ++ ++stack_push: ++ str x9, [x14], #8 ++ b scan_sig ++ ++done: ++ /* Call the function */ ++ blr x16 ++ ++ mov sp, x29 /* Pop argument area */ ++ ++ ldrb w9, [x19] /* Return type */ ++ ++ cmp w9, #86 /* 'V' */ ++ b.eq return ++ ++ cmp w9, #68 /* 'D' */ ++ b.ne 2f ++ str d0, [x20], #16 ++ b return ++2: ++ cmp w9, #70 /* 'F' */ ++ b.ne 3f ++ str s0, [x20], #8 ++ b return ++3: ++ cmp w9, #74 /* 'J' */ ++ b.ne 4f ++ str x0, [x20], #16 ++ b return ++4: ++ str x0, [x20], #8 ++ ++return: ++ mov x0, x20 /* return ostack */ ++ ++ ldp x19, x20, [x29, #16] ++ ldp x29, x30, [sp], #32 ++ ret ++#endif +diff --git a/src/os/linux/aarch64/dll_md.c b/src/os/linux/aarch64/dll_md.c +new file mode 100644 +index 0000000..189f8a8 +--- /dev/null ++++ b/src/os/linux/aarch64/dll_md.c +@@ -0,0 +1,59 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011 ++ * Robert Lougher <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "jam.h" ++ ++#ifndef USE_FFI ++ ++int nativeExtraArg(MethodBlock *mb) { ++ char *sig = mb->type; ++ int stack_args = 0; ++ int int_args = 6; ++ int fp_args = 8; ++ ++ while(*++sig != ')') ++ switch(*sig) { ++ case 'F': ++ case 'D': ++ if(fp_args == 0) ++ stack_args += 8; ++ else ++ fp_args--; ++ ++ default: ++ if(int_args == 0) ++ stack_args += 8; ++ else ++ int_args--; ++ ++ if(*sig == '[') ++ while(*++sig == '['); ++ if(*sig == 'L') ++ while(*++sig != ';'); ++ break; ++ } ++ ++ /* Ensure the stack remains 16 byte aligned. */ ++ return (stack_args + 15) & ~15; ++} ++ ++#endif +diff --git a/src/os/linux/aarch64/init.c b/src/os/linux/aarch64/init.c +new file mode 100644 +index 0000000..b21dc55 +--- /dev/null ++++ b/src/os/linux/aarch64/init.c +@@ -0,0 +1,51 @@ ++/* ++ * Copyright (C) 2003, 2004, 2005, 2006, 2007 ++ * Robert Lougher <rob@jamvm.org.uk>. ++ * Copyright (C) 2020 Simon South <simon@simonsouth.net>. ++ * ++ * This file is part of JamVM. ++ * ++ * This program 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 2, ++ * or (at your option) any later version. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ++ */ ++ ++#include "arch/aarch64.h" ++ ++/* Length in bytes of the smallest line in the host system's data cache */ ++unsigned char aarch64_data_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the data cache */ ++uintptr_t aarch64_data_cache_line_mask; ++ ++/* Length in bytes of the smallest line in the host system's instruction ++ cache */ ++unsigned char aarch64_instruction_cache_line_len; ++ ++/* Mask used to align a virtual address to a line in the instruction cache */ ++uintptr_t aarch64_instruction_cache_line_mask; ++ ++void initialisePlatform() { ++ unsigned int cache_type; ++ ++ /* Extract information from the cache-type register, which describes aspects ++ of the host's cache configuration */ ++ __asm__ ("mrs %0, ctr_el0" : "=r" (cache_type)); ++ ++ aarch64_data_cache_line_len = 4 << ((cache_type >> 16) & 0x0f); ++ aarch64_data_cache_line_mask = ~(aarch64_data_cache_line_len - 1); ++ ++ aarch64_instruction_cache_line_len = 4 << (cache_type & 0x0f); ++ aarch64_instruction_cache_line_mask = ++ ~(aarch64_instruction_cache_line_len - 1); ++} +-- +2.26.2 + diff --git a/gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch b/gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch new file mode 100644 index 0000000000..5415c27a62 --- /dev/null +++ b/gnu/packages/patches/jamvm-2.0.0-opcode-guard.patch @@ -0,0 +1,35 @@ +From ca11b53896365c948426974cb90e8f71c70d123b Mon Sep 17 00:00:00 2001 +From: Simon South <simon@simonsouth.net> +Date: Sun, 31 May 2020 20:36:43 -0400 +Subject: [PATCH] Guard floating-point opcodes with explicit memory barrier + +--- + src/interp/engine/interp-inlining.h | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/src/interp/engine/interp-inlining.h b/src/interp/engine/interp-inlining.h +index 3339b0e..4ee5c5a 100644 +--- a/src/interp/engine/interp-inlining.h ++++ b/src/interp/engine/interp-inlining.h +@@ -78,8 +78,17 @@ + 4.3, we need to insert a label, and ensure its address + is taken (to stop it being optimised out). However, + this reduces performance on PowerPC by approx 1 - 2%. ++ ++ With gcc 5 and newer an asm statement with a "memory" ++ clobber argument explicitly sets a memory barrier for the ++ compiler, preventing it from reordering memory accesses ++ in a way that breaks decaching. + */ +-#if (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) ++#if (__GNUC__ > 4) ++#define DEF_GUARD_TABLE(level) /* none */ ++#define GUARD(opcode, level) __asm__("" ::: "memory"); ++#define GUARD_TBLS /* none */ ++#elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) + #define DEF_GUARD_TABLE(level) DEF_HANDLER_TABLE(level, GUARD) + #define GUARD(opcode, level) label(opcode, level, GUARD) + #define GUARD_TBLS , HNDLR_TBLS(GUARD) +-- +2.26.2 + diff --git a/gnu/packages/patches/java-antlr4-Add-standalone-generator.patch b/gnu/packages/patches/java-antlr4-Add-standalone-generator.patch new file mode 100644 index 0000000000..75b6dce39f --- /dev/null +++ b/gnu/packages/patches/java-antlr4-Add-standalone-generator.patch @@ -0,0 +1,52 @@ +From 3b43b79da15be994348f13035474925ba592fe1f Mon Sep 17 00:00:00 2001 +From: Julien Lepiller <julien@lepiller.eu> +Date: Fri, 15 Sep 2017 10:06:42 +0200 +Subject: [PATCH] Add standalone template generator + +--- + tool/src/org/antlr/v4/unicode/UnicodeRenderer.java | 33 ++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + create mode 100644 tool/src/org/antlr/v4/unicode/UnicodeRenderer.java + +diff --git a/tool/src/org/antlr/v4/unicode/UnicodeRenderer.java b/tool/src/org/antlr/v4/unicode/UnicodeRenderer.java +new file mode 100644 +index 0000000..9e53213 +--- /dev/null ++++ b/tool/src/org/antlr/v4/unicode/UnicodeRenderer.java +@@ -0,0 +1,33 @@ ++package org.antlr.v4.unicode; ++ ++import org.stringtemplate.v4.*; ++import org.stringtemplate.v4.misc.ErrorBuffer; ++import org.antlr.v4.unicode.UnicodeDataTemplateController; ++ ++import java.io.File; ++import java.io.FileWriter; ++import java.io.IOException; ++import java.util.Map; ++import java.util.Map.Entry; ++ ++public class UnicodeRenderer extends UnicodeDataTemplateController { ++ public static void main(String[] arg) ++ throws IOException { ++ String inputdir = arg[0]; ++ String input = arg[1]; ++ String output = arg[2]; ++ ++ FileWriter fileWriter = new FileWriter(new File(output)); ++ ErrorBuffer listener = new ErrorBuffer(); ++ ++ STGroupDir group = new STGroupDir(inputdir); ++ ST st = group.getInstanceOf(input); ++ ++ for(Entry<String, Object> entry : getProperties().entrySet()) ++ st.add(entry.getKey(), entry.getValue()); ++ ++ st.write(new AutoIndentWriter(fileWriter), listener); ++ fileWriter.flush(); ++ fileWriter.close(); ++ } ++} +-- +2.13.5 + diff --git a/gnu/packages/patches/java-antlr4-fix-code-too-large.java b/gnu/packages/patches/java-antlr4-fix-code-too-large.java new file mode 100644 index 0000000000..9e9f92349d --- /dev/null +++ b/gnu/packages/patches/java-antlr4-fix-code-too-large.java @@ -0,0 +1,90 @@ +From d22db2048534bdf3d9615117291f9d86564ff10d Mon Sep 17 00:00:00 2001 +From: Julien Lepiller <julien@lepiller.eu> +Date: Sat, 19 Sep 2020 21:05:48 +0200 +Subject: [PATCH] Separate addPropertyAliases in two methods + +The quantity of data used to generate addPropertyAliases creates a big +method, that is too big for java and results in "error: code too large". +This is most likely due to added data between the expected version of +icu and the actual version of icu in Guix. +--- + .../org/antlr/v4/tool/templates/unicodedata.st | 17 ++++++++++++++--- + .../unicode/UnicodeDataTemplateController.java | 18 ++++++++++-------- + 2 files changed, 24 insertions(+), 11 deletions(-) + +diff --git a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st +index 0f22c73..3573873 100644 +--- a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st ++++ b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st +@@ -1,4 +1,4 @@ +-unicodedata(propertyCodePointRanges, propertyAliases) ::= << ++unicodedata(propertyCodePointRanges, propertyAliasesA, propertyAliasesB) ::= << + package org.antlr.v4.unicode; + + import java.util.Arrays; +@@ -15,7 +15,7 @@ import org.antlr.v4.runtime.misc.Interval; + */ + public abstract class UnicodeData { + private static final Map\<String, IntervalSet\> propertyCodePointRanges = new HashMap\<\>(<length(propertyCodePointRanges)>); +- private static final Map\<String, String\> propertyAliases = new HashMap\<\>(<length(propertyAliases)>); ++ private static final Map\<String, String\> propertyAliases = new HashMap\<\>(<length(propertyAliasesA)> + <length(propertyAliasesB)>); + + // Work around Java 64k bytecode method limit by splitting up static + // initialization into one method per Unicode property +@@ -30,9 +30,20 @@ static private void addProperty<i>() { + propertyCodePointRanges.put("<k>".toLowerCase(Locale.US), codePointRanges); + \}}; separator="\n\n"> + ++ // Property aliases ++ static private void addPropertyAliases1() { ++ <propertyAliasesA.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliasesA.(k)>".toLowerCase(Locale.US)); }; separator="\n"> ++ } ++ ++ // Property aliases ++ static private void addPropertyAliases2() { ++ <propertyAliasesB.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliasesB.(k)>".toLowerCase(Locale.US)); }; separator="\n"> ++ } ++ + // Property aliases + static private void addPropertyAliases() { +- <propertyAliases.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliases.(k)>".toLowerCase(Locale.US)); }; separator="\n"> ++ addPropertyAliases1(); ++ addPropertyAliases2(); + } + + // Put it all together +diff --git a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java +index da244a3..dc591cb 100644 +--- a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java ++++ b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java +@@ -78,17 +78,19 @@ public abstract class UnicodeDataTemplateController { + addTR35ExtendedPictographicPropertyCodesToCodePointRanges(propertyCodePointRanges); + addEmojiPresentationPropertyCodesToCodePointRanges(propertyCodePointRanges); + +- Map<String, String> propertyAliases = new LinkedHashMap<>(); +- addUnicodeCategoryCodesToNames(propertyAliases); +- addUnicodeBinaryPropertyCodesToNames(propertyAliases); +- addUnicodeScriptCodesToNames(propertyAliases); +- addUnicodeBlocksToNames(propertyAliases); +- addUnicodeIntPropertyCodesToNames(propertyAliases); +- propertyAliases.put("EP", "Extended_Pictographic"); ++ Map<String, String> propertyAliases1 = new LinkedHashMap<>(); ++ Map<String, String> propertyAliases2 = new LinkedHashMap<>(); ++ addUnicodeCategoryCodesToNames(propertyAliases1); ++ addUnicodeBinaryPropertyCodesToNames(propertyAliases1); ++ addUnicodeScriptCodesToNames(propertyAliases1); ++ addUnicodeBlocksToNames(propertyAliases2); ++ addUnicodeIntPropertyCodesToNames(propertyAliases2); ++ propertyAliases2.put("EP", "Extended_Pictographic"); + + Map<String, Object> properties = new LinkedHashMap<>(); + properties.put("propertyCodePointRanges", propertyCodePointRanges); +- properties.put("propertyAliases", propertyAliases); ++ properties.put("propertyAliasesA", propertyAliases1); ++ properties.put("propertyAliasesB", propertyAliases2); + return properties; + } + +-- +2.28.0 + diff --git a/gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch b/gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch new file mode 100644 index 0000000000..7bdf05eb9c --- /dev/null +++ b/gnu/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch @@ -0,0 +1,87 @@ +From 56ae699a27eca52cc0bb14cbc9944b62136be52b Mon Sep 17 00:00:00 2001 +From: Julien Lepiller <julien@lepiller.eu> +Date: Sun, 20 Sep 2020 21:07:29 +0200 +Subject: [PATCH] Separate addPropertyAliases in two methods + +The quantity of data used to generate addPropertyAliases creates a big +method, that is too big for java and results in "error: code too large". +This is most likely due to added data between the expected version of +icu and the actual version of icu in Guix. +--- + .../org/antlr/v4/tool/templates/unicodedata.st | 15 ++++++++++++--- + .../unicode/UnicodeDataTemplateController.java | 18 ++++++++++-------- + 2 files changed, 22 insertions(+), 11 deletions(-) + +diff --git a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st +index f5052b7..125d15b 100644 +--- a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st ++++ b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st +@@ -1,4 +1,4 @@ +-unicodedata(propertyCodePointRanges, propertyAliases) ::= << ++unicodedata(propertyCodePointRanges, propertyAliasesA, propertyAliasesB) ::= << + package org.antlr.v4.unicode; + + import java.util.Arrays; +@@ -17,7 +17,7 @@ public enum UnicodeData { + ; + + private static final Map\<String, IntervalSet\> propertyCodePointRanges = new HashMap\<String, IntervalSet\>(<length(propertyCodePointRanges)>); +- private static final Map\<String, String\> propertyAliases = new HashMap\<String, String\>(<length(propertyAliases)>); ++ private static final Map\<String, String\> propertyAliases = new HashMap\<String, String\>(<length(propertyAliasesA)> + <length(propertyAliasesB)>); + + // Work around Java 64k bytecode method limit by splitting up static + // initialization into one method per Unicode property +@@ -33,8 +33,17 @@ static private void addProperty<i>() { + \}}; separator="\n\n"> + + // Property aliases ++ static private void addPropertyAliasesA() { ++ <propertyAliasesA.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliasesA.(k)>".toLowerCase(Locale.US)); }; separator="\n"> ++ } ++ ++ static private void addPropertyAliasesB() { ++ <propertyAliasesB.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliasesB.(k)>".toLowerCase(Locale.US)); }; separator="\n"> ++ } ++ + static private void addPropertyAliases() { +- <propertyAliases.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliases.(k)>".toLowerCase(Locale.US)); }; separator="\n"> ++ addPropertyAliasesA(); ++ addPropertyAliasesB(); + } + + // Put it all together +diff --git a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java +index 570190c..692cee0 100644 +--- a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java ++++ b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java +@@ -74,17 +74,19 @@ public abstract class UnicodeDataTemplateController { + addTR35ExtendedPictographicPropertyCodesToCodePointRanges(propertyCodePointRanges); + addEmojiPresentationPropertyCodesToCodePointRanges(propertyCodePointRanges); + +- Map<String, String> propertyAliases = new LinkedHashMap<String, String>(); +- addUnicodeCategoryCodesToNames(propertyAliases); +- addUnicodeBinaryPropertyCodesToNames(propertyAliases); +- addUnicodeScriptCodesToNames(propertyAliases); +- addUnicodeBlocksToNames(propertyAliases); +- addUnicodeIntPropertyCodesToNames(propertyAliases); +- propertyAliases.put("EP", "Extended_Pictographic"); ++ Map<String, String> propertyAliasesA = new LinkedHashMap<String, String>(); ++ Map<String, String> propertyAliasesB = new LinkedHashMap<String, String>(); ++ addUnicodeCategoryCodesToNames(propertyAliasesA); ++ addUnicodeBinaryPropertyCodesToNames(propertyAliasesA); ++ addUnicodeScriptCodesToNames(propertyAliasesA); ++ addUnicodeBlocksToNames(propertyAliasesB); ++ addUnicodeIntPropertyCodesToNames(propertyAliasesB); ++ propertyAliasesB.put("EP", "Extended_Pictographic"); + + Map<String, Object> properties = new LinkedHashMap<String, Object>(); + properties.put("propertyCodePointRanges", propertyCodePointRanges); +- properties.put("propertyAliases", propertyAliases); ++ properties.put("propertyAliasesA", propertyAliasesA); ++ properties.put("propertyAliasesB", propertyAliasesB); + return properties; + } + +-- +2.28.0 + diff --git a/gnu/packages/patches/konversation-Fix-build-with-Qt-5.11.patch b/gnu/packages/patches/konversation-Fix-build-with-Qt-5.11.patch deleted file mode 100644 index d9d29bbd1a..0000000000 --- a/gnu/packages/patches/konversation-Fix-build-with-Qt-5.11.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 4d0036617becc26a76fd021138c98aceec4c7b53 Mon Sep 17 00:00:00 2001 -From: Luca Beltrame <lbeltrame@kde.org> -Date: Sun, 21 Jul 2019 09:14:32 +0200 -Subject: Fix build with Qt 5.13 - ---- - src/irc/outputfilter.cpp | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/irc/outputfilter.cpp b/src/irc/outputfilter.cpp -index f9e6253..45d11fb 100644 ---- a/src/irc/outputfilter.cpp -+++ b/src/irc/outputfilter.cpp -@@ -32,6 +32,7 @@ - - #include <QStringList> - #include <QFile> -+#include <QMetaMethod> - #include <QRegExp> - #include <QTextCodec> - #include <QByteArray> --- -cgit v1.1 - diff --git a/gnu/packages/patches/libcanberra-wayland-crash.patch b/gnu/packages/patches/libcanberra-wayland-crash.patch new file mode 100644 index 0000000000..e347436bbe --- /dev/null +++ b/gnu/packages/patches/libcanberra-wayland-crash.patch @@ -0,0 +1,55 @@ +# This patch comes from upstream commit c0620e432650e81062c1967cc669829dbd29b310. +# gtk: Don't assume all GdkDisplays are GdkX11Displays: broadway/wayland + +--- src/canberra-gtk-module.c.orig ++++ src/canberra-gtk-module.c +@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDisplay *d) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { + gboolean ret = FALSE; + Atom xembed; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return FALSE; ++#endif ++ + /* Gnome Panel applets are XEMBED windows. We need to make sure we + * ignore them */ + +--- src/canberra-gtk.c.orig ++++ src/canberra-gtk.c +@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, diff --git a/gnu/packages/patches/libcyaml-libyaml-compat.patch b/gnu/packages/patches/libcyaml-libyaml-compat.patch new file mode 100644 index 0000000000..dcb8cb51b8 --- /dev/null +++ b/gnu/packages/patches/libcyaml-libyaml-compat.patch @@ -0,0 +1,51 @@ +Fix build against libyaml 0.2.5. + +Taken from upstream: +https://github.com/tlsa/libcyaml/commit/0e947264b947f51f7ea785068637c4bfce5d4171 + +diff --git a/test/units/save.c b/test/units/save.c +--- a/test/units/save.c ++++ b/test/units/save.c +@@ -3476,7 +3476,7 @@ static bool test_save_sequence_null_values_int( + ttest_report_ctx_t *report, + const cyaml_config_t *config) + { +- static const unsigned char ref[] = ++ static const unsigned char ref1[] = + "---\n" + "- 7\n" + "- 6\n" +@@ -3487,6 +3487,18 @@ static bool test_save_sequence_null_values_int( + "- \n" + "- 0\n" + "...\n"; ++ /* As of libyaml 0.2.5, trailing spaces are not emitted. */ ++ static const unsigned char ref2[] = ++ "---\n" ++ "- 7\n" ++ "- 6\n" ++ "- 5\n" ++ "-\n" ++ "- 3\n" ++ "- 2\n" ++ "-\n" ++ "- 0\n" ++ "...\n"; + static const int d[] = { 7, 6, 5, 4, 3, 2, 1, 0 }; + static const int *data[] = { d + 0, d + 1, d + 2, NULL, + d + 4, d + 5, NULL, d + 7, }; +@@ -3515,11 +3527,12 @@ static bool test_save_sequence_null_values_int( + return ttest_fail(&tc, cyaml_strerror(err)); + } + +- if (len != YAML_LEN(ref) || memcmp(ref, buffer, len) != 0) { ++ if ((len != YAML_LEN(ref1) || memcmp(ref1, buffer, len) != 0) && ++ (len != YAML_LEN(ref2) || memcmp(ref2, buffer, len) != 0)) { + return ttest_fail(&tc, "Bad data:\n" + "EXPECTED (%zu):\n\n%.*s\n\n" + "GOT (%zu):\n\n%.*s\n", +- YAML_LEN(ref), YAML_LEN(ref), ref, ++ YAML_LEN(ref1), YAML_LEN(ref1), ref1, + len, len, buffer); + } + diff --git a/gnu/packages/patches/libdrm-realpath-virtio.patch b/gnu/packages/patches/libdrm-realpath-virtio.patch deleted file mode 100644 index b7d85160b4..0000000000 --- a/gnu/packages/patches/libdrm-realpath-virtio.patch +++ /dev/null @@ -1,42 +0,0 @@ -Only check for for relative path on virtio devices. Otherwise it could -break driver loading in some circumstances, notably the IceCat sandbox. - -https://gitlab.freedesktop.org/mesa/drm/-/issues/39 - -Taken from upstream: -https://gitlab.freedesktop.org/mesa/drm/-/commit/57df07572ce45a1b60bae6fb89770388d3abd6dd - -diff --git a/xf86drm.c b/xf86drm.c ---- a/xf86drm.c -+++ b/xf86drm.c -@@ -3103,15 +3103,18 @@ static int drmParseSubsystemType(int maj, int min) - int subsystem_type; - - snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device", maj, min); -- if (!realpath(path, real_path)) -- return -errno; -- snprintf(path, sizeof(path), "%s", real_path); - - subsystem_type = get_subsystem_type(path); -+ /* Try to get the parent (underlying) device type */ - if (subsystem_type == DRM_BUS_VIRTIO) { -+ /* Assume virtio-pci on error */ -+ if (!realpath(path, real_path)) -+ return DRM_BUS_VIRTIO; - strncat(path, "/..", PATH_MAX); - subsystem_type = get_subsystem_type(path); -- } -+ if (subsystem_type < 0) -+ return DRM_BUS_VIRTIO; -+ } - return subsystem_type; - #elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) - return DRM_BUS_PCI; -@@ -3920,6 +3923,7 @@ process_device(drmDevicePtr *device, const char *d_name, - - switch (subsystem_type) { - case DRM_BUS_PCI: -+ case DRM_BUS_VIRTIO: - return drmProcessPciDevice(device, node, node_type, maj, min, - fetch_deviceinfo, flags); - case DRM_BUS_USB: diff --git a/gnu/packages/patches/liblouisutdml-fix-tests.patch b/gnu/packages/patches/liblouisutdml-fix-tests.patch deleted file mode 100644 index 08d3db2c21..0000000000 --- a/gnu/packages/patches/liblouisutdml-fix-tests.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 52d44cdbc307d4e2ffc3ebe674745eb9d43ec337 Mon Sep 17 00:00:00 2001 -From: Christian Egli <christian.egli@sbs.ch> -Date: Mon, 10 Aug 2020 16:08:17 +0200 -Subject: [PATCH] Some math over and under tests now actually pass - -with the newest liblouis ---- - tests/Makefile.am | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 157b005..932a5d0 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -321,10 +321,6 @@ XFAIL_TESTS += \ - mathml_nemeth/mover_06.test \ - mathml_nemeth/mover_07.test \ - mathml_nemeth/mover_08.test \ -- mathml_nemeth/mover_09.test \ -- mathml_nemeth/mover_10.test \ -- mathml_nemeth/mover_11.test \ -- mathml_nemeth/mover_12.test \ - mathml_nemeth/mover_13.test \ - mathml_nemeth/mover_14.test \ - mathml_nemeth/mover_15.test \ -@@ -332,7 +328,6 @@ XFAIL_TESTS += \ - mathml_nemeth/munder_01.test \ - mathml_nemeth/munder_02.test \ - mathml_nemeth/munder_03.test \ -- mathml_nemeth/munder_04.test \ - mathml_nemeth/munder_05.test \ - mathml_nemeth/munder_06.test \ - mathml_nemeth/munder_07.test \ diff --git a/gnu/packages/patches/libsndfile-CVE-2017-12562.patch b/gnu/packages/patches/libsndfile-CVE-2017-12562.patch deleted file mode 100644 index 58cb242b10..0000000000 --- a/gnu/packages/patches/libsndfile-CVE-2017-12562.patch +++ /dev/null @@ -1,97 +0,0 @@ -Fix CVE-2017-12562: - -https://github.com/erikd/libsndfile/issues/292 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12562 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 - -From cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= <osmanx@problemloesungsmaschine.de> -Date: Wed, 14 Jun 2017 12:25:40 +0200 -Subject: [PATCH] src/common.c: Fix heap buffer overflows when writing strings - in binheader - -Fixes the following problems: - 1. Case 's' only enlarges the buffer by 16 bytes instead of size bytes. - 2. psf_binheader_writef() enlarges the header buffer (if needed) prior to the - big switch statement by an amount (16 bytes) which is enough for all cases - where only a single value gets added. Cases 's', 'S', 'p' however - additionally write an arbitrary length block of data and again enlarge the - buffer to the required amount. However, the required space calculation does - not take into account the size of the length field which gets output before - the data. - 3. Buffer size requirement calculation in case 'S' does not account for the - padding byte ("size += (size & 1) ;" happens after the calculation which - uses "size"). - 4. Case 'S' can overrun the header buffer by 1 byte when no padding is - involved - ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;" while - the buffer is only guaranteed to have "size" space available). - 5. "psf->header.ptr [psf->header.indx] = 0 ;" in case 'S' always writes 1 byte - beyond the space which is guaranteed to be allocated in the header buffer. - 6. Case 's' can overrun the provided source string by 1 byte if padding is - involved ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;" - where "size" is "strlen (strptr) + 1" (which includes the 0 terminator, - plus optionally another 1 which is padding and not guaranteed to be - readable via the source string pointer). - -Closes: https://github.com/erikd/libsndfile/issues/292 ---- - src/common.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/src/common.c b/src/common.c -index 1a6204ca..6b2a2ee9 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -681,16 +681,16 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - /* Write a C string (guaranteed to have a zero terminator). */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) + 1 ; -- size += (size & 1) ; - -- if (psf->header.indx + (sf_count_t) size >= psf->header.len && psf_bump_header_allocation (psf, 16)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - - if (psf->rwf_endian == SF_ENDIAN_BIG) -- header_put_be_int (psf, size) ; -+ header_put_be_int (psf, size + (size & 1)) ; - else -- header_put_le_int (psf, size) ; -+ header_put_le_int (psf, size + (size & 1)) ; - memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ; -+ size += (size & 1) ; - psf->header.indx += size ; - psf->header.ptr [psf->header.indx - 1] = 0 ; - count += 4 + size ; -@@ -703,16 +703,15 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) ; -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - if (psf->rwf_endian == SF_ENDIAN_BIG) - header_put_be_int (psf, size) ; - else - header_put_le_int (psf, size) ; -- memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ; -+ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + (size & 1)) ; - size += (size & 1) ; - psf->header.indx += size ; -- psf->header.ptr [psf->header.indx] = 0 ; - count += 4 + size ; - break ; - -@@ -724,7 +723,7 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - size = (size & 1) ? size : size + 1 ; - size = (size > 254) ? 254 : size ; - -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 1 + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, 1 + size)) - return count ; - - header_put_byte (psf, size) ; diff --git a/gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch b/gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch deleted file mode 100644 index 5f63231af0..0000000000 --- a/gnu/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch +++ /dev/null @@ -1,77 +0,0 @@ -Fix CVE-2017-{8361,8363,8365}: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8361 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8363 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8365 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/fd0484aba8e51d16af1e3a880f9b8b857b385eb3 - -From fd0484aba8e51d16af1e3a880f9b8b857b385eb3 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Wed, 12 Apr 2017 19:45:30 +1000 -Subject: [PATCH] FLAC: Fix a buffer read overrun - -Buffer read overrun occurs when reading a FLAC file that switches -from 2 channels to one channel mid-stream. Only option is to -abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/230 ---- - src/common.h | 1 + - src/flac.c | 13 +++++++++++++ - src/sndfile.c | 1 + - 3 files changed, 15 insertions(+) - -diff --git a/src/common.h b/src/common.h -index 0bd810c3..e2669b6a 100644 ---- a/src/common.h -+++ b/src/common.h -@@ -725,6 +725,7 @@ enum - SFE_FLAC_INIT_DECODER, - SFE_FLAC_LOST_SYNC, - SFE_FLAC_BAD_SAMPLE_RATE, -+ SFE_FLAC_CHANNEL_COUNT_CHANGED, - SFE_FLAC_UNKOWN_ERROR, - - SFE_WVE_NOT_WVE, -diff --git a/src/flac.c b/src/flac.c -index 84de0e26..986a7b8f 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -434,6 +434,19 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - - switch (metadata->type) - { case FLAC__METADATA_TYPE_STREAMINFO : -+ if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) -+ { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -+ "Nothing to be but to error out.\n" , -+ psf->sf.channels, metadata->data.stream_info.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return ; -+ } ; -+ -+ if (psf->sf.channels > 0 && psf->sf.samplerate != (int) metadata->data.stream_info.sample_rate) -+ { psf_log_printf (psf, "Warning: FLAC stream changed sample rates from %d to %d.\n" -+ "Carrying on as if nothing happened.", -+ psf->sf.samplerate, metadata->data.stream_info.sample_rate) ; -+ } ; - psf->sf.channels = metadata->data.stream_info.channels ; - psf->sf.samplerate = metadata->data.stream_info.sample_rate ; - psf->sf.frames = metadata->data.stream_info.total_samples ; -diff --git a/src/sndfile.c b/src/sndfile.c -index 41875610..e2a87be8 100644 ---- a/src/sndfile.c -+++ b/src/sndfile.c -@@ -245,6 +245,7 @@ ErrorStruct SndfileErrors [] = - { SFE_FLAC_INIT_DECODER , "Error : problem with initialization of the flac decoder." }, - { SFE_FLAC_LOST_SYNC , "Error : flac decoder lost sync." }, - { SFE_FLAC_BAD_SAMPLE_RATE, "Error : flac does not support this sample rate." }, -+ { SFE_FLAC_CHANNEL_COUNT_CHANGED, "Error : flac channel changed mid stream." }, - { SFE_FLAC_UNKOWN_ERROR , "Error : unknown error in flac decoder." }, - - { SFE_WVE_NOT_WVE , "Error : not a WVE file." }, --- -2.12.2 - diff --git a/gnu/packages/patches/libsndfile-CVE-2017-8362.patch b/gnu/packages/patches/libsndfile-CVE-2017-8362.patch deleted file mode 100644 index 5fc52a377a..0000000000 --- a/gnu/packages/patches/libsndfile-CVE-2017-8362.patch +++ /dev/null @@ -1,61 +0,0 @@ -Fix CVE-2017-8362: - -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8362 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/ef1dbb2df1c0e741486646de40bd638a9c4cd808 - -From ef1dbb2df1c0e741486646de40bd638a9c4cd808 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Fri, 14 Apr 2017 15:19:16 +1000 -Subject: [PATCH] src/flac.c: Fix a buffer read overflow - -A file (generated by a fuzzer) which increased the number of channels -from one frame to the next could cause a read beyond the end of the -buffer provided by libFLAC. Only option is to abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/231 ---- - src/flac.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/flac.c b/src/flac.c -index 5a4f8c21..e4f9aaa0 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -169,6 +169,14 @@ flac_buffer_copy (SF_PRIVATE *psf) - const int32_t* const *buffer = pflac->wbuffer ; - unsigned i = 0, j, offset, channels, len ; - -+ if (psf->sf.channels != (int) frame->header.channels) -+ { psf_log_printf (psf, "Error: FLAC frame changed from %d to %d channels\n" -+ "Nothing to do but to error out.\n" , -+ psf->sf.channels, frame->header.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return 0 ; -+ } ; -+ - /* - ** frame->header.blocksize is variable and we're using a constant blocksize - ** of FLAC__MAX_BLOCK_SIZE. -@@ -202,7 +210,6 @@ flac_buffer_copy (SF_PRIVATE *psf) - return 0 ; - } ; - -- - len = SF_MIN (pflac->len, frame->header.blocksize) ; - - if (pflac->remain % channels != 0) -@@ -436,7 +443,7 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - { case FLAC__METADATA_TYPE_STREAMINFO : - if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) - { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -- "Nothing to be but to error out.\n" , -+ "Nothing to do but to error out.\n" , - psf->sf.channels, metadata->data.stream_info.channels) ; - psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; - return ; --- -2.12.2 - diff --git a/gnu/packages/patches/libsndfile-armhf-type-checks.patch b/gnu/packages/patches/libsndfile-armhf-type-checks.patch deleted file mode 100644 index 7e0c71c3f6..0000000000 --- a/gnu/packages/patches/libsndfile-armhf-type-checks.patch +++ /dev/null @@ -1,42 +0,0 @@ -This is a regression in 1.0.28 that causes a test failure on armhf. - -Upstream bug URL: - -https://github.com/erikd/libsndfile/issues/229 - -Patch copied from upstream source repository: - -https://github.com/erikd/libsndfile/commit/9d470ee5577d3ccedb1c28c7e0a7295ba17feaf5 - -From 9d470ee5577d3ccedb1c28c7e0a7295ba17feaf5 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Sun, 16 Apr 2017 17:54:17 +1000 -Subject: [PATCH] src/rf64.c: Fix varargs related bug - -C's <stargs.h> functionality isn't type checked so that passing an -`sf_count_t` (64 bits) by mistake in place of a `unit32_t` can cause -errors. This would be fine if it was an error on every architecture -and platform, but its not. This particular problem only manifested -on armhf and some other Arm architectures. It was not an issue on -32 bit x86. - -I have now fixed variants of this same bug several times. - -Closes: https://github.com/erikd/libsndfile/issues/229 ---- - src/rf64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/rf64.c b/src/rf64.c -index b3d637f..02dd904 100644 ---- a/src/rf64.c -+++ b/src/rf64.c -@@ -742,7 +742,7 @@ rf64_write_header (SF_PRIVATE *psf, int calc_length) - - pad_size = psf->dataoffset - 16 - psf->header.indx ; - if (pad_size >= 0) -- psf_binheader_writef (psf, "m4z", PAD_MARKER, pad_size, make_size_t (pad_size)) ; -+ psf_binheader_writef (psf, "m4z", PAD_MARKER, (unsigned int) pad_size, make_size_t (pad_size)) ; - - if (wpriv->rf64_downgrade && (psf->filelength < RIFF_DOWNGRADE_BYTES)) - psf_binheader_writef (psf, "tm8", data_MARKER, psf->datalength) ; diff --git a/gnu/packages/patches/lsh-fix-x11-forwarding.patch b/gnu/packages/patches/lsh-fix-x11-forwarding.patch new file mode 100644 index 0000000000..fd56a5bafd --- /dev/null +++ b/gnu/packages/patches/lsh-fix-x11-forwarding.patch @@ -0,0 +1,20 @@ +--- a/src/server_x11.c 2016-08-01 11:58:54.714647794 +0200 ++++ b/src/server_x11.c 2016-08-01 11:58:46.606563478 +0200 +@@ -151,7 +151,7 @@ DEFINE_COMMAND(open_forwarded_x11) + #define X11_MIN_DISPLAY 10 + #define X11_MAX_DISPLAY 1000 + +-/* FIXME: Create the /tmp/.X11-unix directory, if needed. Figure out ++/* FIXME: Figure out + * if and how we should use /tmp/.X17-lock. Consider using display + * "unix:17" instead of just ":17". + */ +@@ -253,6 +253,7 @@ open_x11_socket(struct ssh_channel *chan + + old_umask = umask(0077); + ++ mkdir(X11_SOCKET_DIR, S_IRWXU | S_IRWXG | S_IRWXO | S_ISVTX); + old_cd = lsh_pushd(X11_SOCKET_DIR, &dir, 0, 0); + if (old_cd < 0) + { + diff --git a/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch b/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch new file mode 100644 index 0000000000..2a1c81648b --- /dev/null +++ b/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch @@ -0,0 +1,26 @@ +From 5ca6382fe8adb5bc436a6d873c8b86c69d5abfd1 Mon Sep 17 00:00:00 2001 +From: Sergey Poznyakoff <gray@gnu.org> +Date: Sun, 13 Sep 2020 14:43:46 +0300 +Subject: [PATCH] Fix uninitialized variable in readmsg + +* readmsg/readmsg.c (main): Initialize weedc. +--- + readmsg/readmsg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/readmsg/readmsg.c b/readmsg/readmsg.c +index 9f305bb9c..3a9f420db 100644 +--- a/readmsg/readmsg.c ++++ b/readmsg/readmsg.c +@@ -466,7 +466,7 @@ main (int argc, char **argv) + mu_mailbox_t mbox = NULL; + struct mu_wordsplit ws; + char **weedv; +- int weedc; ++ int weedc = 0; + int unix_header = 0; + + /* Native Language Support */ +-- +2.28.0 + diff --git a/gnu/packages/patches/mariadb-client-test-32bit.patch b/gnu/packages/patches/mariadb-client-test-32bit.patch deleted file mode 100644 index 02017e324d..0000000000 --- a/gnu/packages/patches/mariadb-client-test-32bit.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 93efa48a7b972fc463406603574a4d508eefe792 Mon Sep 17 00:00:00 2001 -From: Sergei Golubchik <serg@mariadb.org> -Date: Sun, 13 May 2018 18:50:21 +0200 -Subject: [PATCH] fix failing main.mysql_client_test test on 32bit - -in `ulonglong=ulong*uint` multiplication -is done in ulong, wrapping around on 32bit. - -This became visible after C/C changed the -default charset to utf8, thus changing -mbmaxlem from 1 to 3. ---- - tests/mysql_client_fw.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tests/mysql_client_fw.c b/tests/mysql_client_fw.c -index f69eb28a2871..4d036887629a 100644 ---- a/tests/mysql_client_fw.c -+++ b/tests/mysql_client_fw.c -@@ -768,7 +768,7 @@ static void do_verify_prepare_field(MYSQL_RES *result, - { - MYSQL_FIELD *field; - CHARSET_INFO *cs; -- ulonglong expected_field_length; -+ ulonglong expected_field_length= length; - - if (!(field= mysql_fetch_field_direct(result, no))) - { -@@ -777,7 +777,7 @@ static void do_verify_prepare_field(MYSQL_RES *result, - } - cs= get_charset(field->charsetnr, 0); - DIE_UNLESS(cs); -- if ((expected_field_length= length * cs->mbmaxlen) > UINT_MAX32) -+ if ((expected_field_length*= cs->mbmaxlen) > UINT_MAX32) - expected_field_length= UINT_MAX32; - if (!opt_silent) - { diff --git a/gnu/packages/patches/nginx-socket-cloexec.patch b/gnu/packages/patches/nginx-socket-cloexec.patch new file mode 100644 index 0000000000..985ce573b5 --- /dev/null +++ b/gnu/packages/patches/nginx-socket-cloexec.patch @@ -0,0 +1,185 @@ +diff --git a/auto/unix b/auto/unix +index 10835f6c..b5b33bb3 100644 +--- a/auto/unix ++++ b/auto/unix +@@ -990,3 +990,27 @@ ngx_feature_test='struct addrinfo *res; + if (getaddrinfo("localhost", NULL, NULL, &res) != 0) return 1; + freeaddrinfo(res)' + . auto/feature ++ ++ngx_feature="SOCK_CLOEXEC support" ++ngx_feature_name="NGX_HAVE_SOCKET_CLOEXEC" ++ngx_feature_run=no ++ngx_feature_incs="#include <sys/types.h> ++ #include <sys/socket.h>" ++ngx_feature_path= ++ngx_feature_libs= ++ngx_feature_test="int fd; ++ fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);" ++. auto/feature ++ ++ngx_feature="FD_CLOEXEC support" ++ngx_feature_name="NGX_HAVE_FD_CLOEXEC" ++ngx_feature_run=no ++ngx_feature_incs="#include <sys/types.h> ++ #include <sys/socket.h> ++ #include <fcntl.h>" ++ngx_feature_path= ++ngx_feature_libs= ++ngx_feature_test="int fd; ++ fd = socket(AF_INET, SOCK_STREAM, 0); ++ fcntl(fd, F_SETFD, FD_CLOEXEC);" ++. auto/feature +diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c +index cd55520c..438e0806 100644 +--- a/src/core/ngx_resolver.c ++++ b/src/core/ngx_resolver.c +@@ -4466,8 +4466,14 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec) + ngx_event_t *rev, *wev; + ngx_connection_t *c; + ++#if (NGX_HAVE_SOCKET_CLOEXEC) ++ s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM | SOCK_CLOEXEC, 0); ++ ++#else + s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM, 0); + ++#endif ++ + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &rec->log, 0, "TCP socket %d", s); + + if (s == (ngx_socket_t) -1) { +@@ -4494,6 +4500,15 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec) + goto failed; + } + ++#if (NGX_HAVE_FD_CLOEXEC) ++ if (ngx_cloexec(s) == -1) { ++ ngx_log_error(NGX_LOG_ALERT, &rec->log, ngx_socket_errno, ++ ngx_cloexec_n " failed"); ++ ++ goto failed; ++ } ++#endif ++ + rev = c->read; + wev = c->write; + +diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h +index 19fec68..8c2f01a 100644 +--- a/src/event/ngx_event.h ++++ b/src/event/ngx_event.h +@@ -73,6 +73,9 @@ struct ngx_event_s { + /* to test on worker exit */ + unsigned channel:1; + unsigned resolver:1; ++#if (HAVE_SOCKET_CLOEXEC_PATCH) ++ unsigned skip_socket_leak_check:1; ++#endif + + unsigned cancelable:1; + +diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c +index 77563709..5827b9d0 100644 +--- a/src/event/ngx_event_accept.c ++++ b/src/event/ngx_event_accept.c +@@ -62,7 +62,9 @@ ngx_event_accept(ngx_event_t *ev) + + #if (NGX_HAVE_ACCEPT4) + if (use_accept4) { +- s = accept4(lc->fd, &sa.sockaddr, &socklen, SOCK_NONBLOCK); ++ s = accept4(lc->fd, &sa.sockaddr, &socklen, ++ SOCK_NONBLOCK | SOCK_CLOEXEC); ++ + } else { + s = accept(lc->fd, &sa.sockaddr, &socklen); + } +@@ -202,6 +204,16 @@ ngx_event_accept(ngx_event_t *ev) + ngx_close_accepted_connection(c); + return; + } ++ ++#if (NGX_HAVE_FD_CLOEXEC) ++ if (ngx_cloexec(s) == -1) { ++ ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno, ++ ngx_cloexec_n " failed"); ++ ngx_close_accepted_connection(c); ++ return; ++ } ++#endif ++ + } + } + +diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c +index c5bb8068..cf33b1d2 100644 +--- a/src/event/ngx_event_connect.c ++++ b/src/event/ngx_event_connect.c +@@ -38,8 +38,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc) + + type = (pc->type ? pc->type : SOCK_STREAM); + ++#if (NGX_HAVE_SOCKET_CLOEXEC) ++ s = ngx_socket(pc->sockaddr->sa_family, type | SOCK_CLOEXEC, 0); ++ ++#else + s = ngx_socket(pc->sockaddr->sa_family, type, 0); + ++#endif ++ ++ + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, pc->log, 0, "%s socket %d", + (type == SOCK_STREAM) ? "stream" : "dgram", s); + +@@ -80,6 +87,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc) + goto failed; + } + ++#if (NGX_HAVE_FD_CLOEXEC) ++ if (ngx_cloexec(s) == -1) { ++ ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, ++ ngx_cloexec_n " failed"); ++ ++ goto failed; ++ } ++#endif ++ + if (pc->local) { + + #if (NGX_HAVE_TRANSPARENT_PROXY) +diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c +index c4376a5..48e8fa8 100644 +--- a/src/os/unix/ngx_process_cycle.c ++++ b/src/os/unix/ngx_process_cycle.c +@@ -1032,6 +1032,9 @@ ngx_worker_process_exit(ngx_cycle_t *cycle) + for (i = 0; i < cycle->connection_n; i++) { + if (c[i].fd != -1 + && c[i].read ++#if (HAVE_SOCKET_CLOEXEC_PATCH) ++ && !c[i].read->skip_socket_leak_check ++#endif + && !c[i].read->accept + && !c[i].read->channel + && !c[i].read->resolver) +diff --git a/src/os/unix/ngx_socket.h b/src/os/unix/ngx_socket.h +index fcc51533..d1eebf47 100644 +--- a/src/os/unix/ngx_socket.h ++++ b/src/os/unix/ngx_socket.h +@@ -38,6 +38,17 @@ int ngx_blocking(ngx_socket_t s); + + #endif + ++#if (NGX_HAVE_FD_CLOEXEC) ++ ++#define ngx_cloexec(s) fcntl(s, F_SETFD, FD_CLOEXEC) ++#define ngx_cloexec_n "fcntl(FD_CLOEXEC)" ++ ++/* at least FD_CLOEXEC is required to ensure connection fd is closed ++ * after execve */ ++#define HAVE_SOCKET_CLOEXEC_PATCH 1 ++ ++#endif ++ + int ngx_tcp_nopush(ngx_socket_t s); + int ngx_tcp_push(ngx_socket_t s); + diff --git a/gnu/packages/patches/nss-pkgconfig.patch b/gnu/packages/patches/nss-3.56-pkgconfig.patch index e3145aa4cf..91b6aef604 100644 --- a/gnu/packages/patches/nss-pkgconfig.patch +++ b/gnu/packages/patches/nss-3.56-pkgconfig.patch @@ -7,7 +7,7 @@ Modifications: Remove optional patching in nss/Makefile. Include -L$libdir in output from "nss-config --libs". -Later adapted to apply cleanly to nss-3.21. +Later adapted to apply cleanly to nss-3.53. --- nss-3.21/nss/config/Makefile +++ nss-3.21/nss/config/Makefile @@ -217,9 +217,12 @@ Later adapted to apply cleanly to nss-3.21. + --- nss-3.21/nss/manifest.mn +++ nss-3.21/nss/manifest.mn -@@ -10,4 +10,4 @@ - +@@ -10,7 +10,7 @@ + RELEASE = nss - + -DIRS = coreconf lib cmd cpputil gtests +DIRS = coreconf lib cmd cpputil gtests config + + lib: coreconf + cmd: lib diff --git a/gnu/packages/patches/picard-fix-id3-rename-test.patch b/gnu/packages/patches/picard-fix-id3-rename-test.patch new file mode 100644 index 0000000000..3c4fa63c84 --- /dev/null +++ b/gnu/packages/patches/picard-fix-id3-rename-test.patch @@ -0,0 +1,11 @@ +Index: b/test/formats/test_id3.py +=================================================================== +--- a/test/formats/test_id3.py ++++ b/test/formats/test_id3.py +@@ -266,5 +266,5 @@ + def test_rename_txxx_tags(self): + file_path = os.path.join('test', 'data', 'test-id3-rename-tags.mp3') +- filename = self.copy_file_tmp(file_path, 'mp3') ++ filename = self.copy_file_tmp(file_path, '.mp3') + raw_metadata = load_raw(filename) + self.assertIn('TXXX:Artists', raw_metadata) diff --git a/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch b/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch deleted file mode 100644 index affa0e1317..0000000000 --- a/gnu/packages/patches/python-gst-fix-build-with-python-3.8.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix build with Python 3.8 by also checking for python-3.X-embed.pc. Since -Python 3.8 the normal checks don't include the Python libraries anymore and -linking of the gst-python module would fail. - -See also https://github.com/mesonbuild/meson/issues/5629 -Fixes https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 - -Patch based on upstream commit: - -https://gitlab.freedesktop.org/gstreamer/gst-python/-/commit/10707f437f2fc3632067c6a0efa4432f7ebaf362 - -diff --git a/meson.build b/meson.build -index 5f13b48..d7c7e66 100644 ---- a/meson.build -+++ b/meson.build -@@ -23,7 +23,17 @@ pygobject_dep = dependency('pygobject-3.0', fallback: ['pygobject', 'pygobject_d - - pymod = import('python') - python = pymod.find_installation(get_option('python')) --python_dep = python.dependency(required : true) -+pythonver = python.language_version() -+if pythonver.version_compare('<3.0') -+ error('Python2 is not supported anymore, please port your code to python3 (@0@ specified)'.format(python.language_version())) -+endif -+ -+# Workaround for https://github.com/mesonbuild/meson/issues/5629 -+# https://gitlab.freedesktop.org/gstreamer/gst-python/issues/28 -+python_dep = dependency('python-@0@-embed'.format(pythonver), version: '>=3', required: false) -+if not python_dep.found() -+ python_dep = python.dependency(required : true) -+endif - - python_abi_flags = python.get_variable('ABIFLAGS', '') - pylib_loc = get_option('libpython-dir') --- -2.26.2 diff --git a/gnu/packages/patches/qemu-build-info-manual.patch b/gnu/packages/patches/qemu-build-info-manual.patch new file mode 100644 index 0000000000..d57b26ea00 --- /dev/null +++ b/gnu/packages/patches/qemu-build-info-manual.patch @@ -0,0 +1,139 @@ +From 07303a0a4daa83a0555ac4abad7a5d65584307ad Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Thu, 17 Sep 2020 13:28:19 -0400 +Subject: [PATCH] build: Build and install the info manual. + +Take advantage of the Sphinx texinfo backend to generate a QEMU info +manual. The texinfo format allows for more structure and info readers +provide more advanced navigation capabilities compared to manpages +readers. + +* configure (infodir): Add the --infodir option, which allows +configuring the directory under which the info manuals are installed. +* docs/index.rst: Include the top level documents to prevent +warnings (treated as errors by sphinx-build). +* Makefile (sphinxdocs-info, $(MANUAL_BUILDDIR)/QEMU.texi)): New targets. +(info): Depend on sphinxdocs-info. +(install-doc): Install the info manual. +--- + Makefile | 13 +++++++++++-- + configure | 7 +++++++ + docs/index.rst | 2 ++ + 3 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 13dd708c..da78612d 100644 +--- a/Makefile ++++ b/Makefile +@@ -864,12 +864,14 @@ endef + # Note that we deliberately do not install the "devel" manual: it is + # for QEMU developers, and not interesting to our users. + .PHONY: install-sphinxdocs +-install-sphinxdocs: sphinxdocs ++install-sphinxdocs: sphinxdocs sphinxdocs-info + $(call install-manual,interop) + $(call install-manual,specs) + $(call install-manual,system) + $(call install-manual,tools) + $(call install-manual,user) ++ $(INSTALL_DIR) "$(DESTDIR)$(infodir)" ++ $(INSTALL_DATA) $(MANUAL_BUILDDIR)/QEMU.info "$(DESTDIR)$(infodir)" + + install-doc: $(DOCS) install-sphinxdocs + $(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)" +@@ -1067,6 +1069,13 @@ sphinxdocs: $(MANUAL_BUILDDIR)/devel/index.html \ + $(MANUAL_BUILDDIR)/tools/index.html \ + $(MANUAL_BUILDDIR)/user/index.html + ++# Build the complete info manual. ++.PHONE: sphinxdocs-info ++sphinxdocs-info: $(MANUAL_BUILDDIR)/QEMU.info ++ ++$(MANUAL_BUILDDIR)/QEMU.texi: $(call manual-deps,*) $(wildcard $(SRC_PATH)/docs/*.rst) ++ $(call build-manual,,texinfo) ++ + # Canned command to build a single manual + # Arguments: $1 = manual name, $2 = Sphinx builder ('html' or 'man') + # Note the use of different doctree for each (manual, builder) tuple; +@@ -1126,7 +1135,7 @@ docs/interop/qemu-ga-qapi.texi: qga/qapi-generated/qga-qapi-doc.texi + @cp -p $< $@ + + html: docs/interop/qemu-qmp-ref.html docs/interop/qemu-ga-ref.html sphinxdocs +-info: docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info ++info: docs/interop/qemu-qmp-ref.info docs/interop/qemu-ga-ref.info sphinxdocs-info + pdf: docs/interop/qemu-qmp-ref.pdf docs/interop/qemu-ga-ref.pdf + txt: docs/interop/qemu-qmp-ref.txt docs/interop/qemu-ga-ref.txt + +diff --git a/configure b/configure +index 2acc4d14..3691bd2e 100755 +--- a/configure ++++ b/configure +@@ -415,6 +415,7 @@ LDFLAGS_SHARED="-shared" + modules="no" + module_upgrades="no" + prefix="/usr/local" ++infodir="\${prefix}/share/info" + mandir="\${prefix}/share/man" + datadir="\${prefix}/share" + firmwarepath="\${prefix}/share/qemu-firmware" +@@ -987,6 +988,7 @@ if test "$mingw32" = "yes" ; then + LIBS="-liberty $LIBS" + fi + prefix="c:/Program Files/QEMU" ++ infodir="\${prefix}" + mandir="\${prefix}" + datadir="\${prefix}" + qemu_docdir="\${prefix}" +@@ -1087,6 +1089,8 @@ for opt do + static="yes" + QEMU_PKG_CONFIG_FLAGS="--static $QEMU_PKG_CONFIG_FLAGS" + ;; ++ --infodir=*) infodir="$optarg" ++ ;; + --mandir=*) mandir="$optarg" + ;; + --bindir=*) bindir="$optarg" +@@ -1780,6 +1784,7 @@ Advanced options (experts only): + --smbd=SMBD use specified smbd [$smbd] + --with-git=GIT use specified git [$git] + --static enable static build [$static] ++ --infodir=PATH install info manual in PATH + --mandir=PATH install man pages in PATH + --datadir=PATH install firmware in PATH$confsuffix + --docdir=PATH install documentation in PATH$confsuffix +@@ -6836,6 +6841,7 @@ echo "include directory $(eval echo $includedir)" + echo "config directory $(eval echo $sysconfdir)" + if test "$mingw32" = "no" ; then + echo "local state directory $(eval echo $local_statedir)" ++echo "Info manual directory $(eval echo $infodir)" + echo "Manual directory $(eval echo $mandir)" + echo "ELF interp prefix $interp_prefix" + else +@@ -7059,6 +7065,7 @@ echo "bindir=$bindir" >> $config_host_mak + echo "libdir=$libdir" >> $config_host_mak + echo "libexecdir=$libexecdir" >> $config_host_mak + echo "includedir=$includedir" >> $config_host_mak ++echo "infodir=$infodir" >> $config_host_mak + echo "mandir=$mandir" >> $config_host_mak + echo "sysconfdir=$sysconfdir" >> $config_host_mak + echo "qemu_confdir=$qemu_confdir" >> $config_host_mak +diff --git a/docs/index.rst b/docs/index.rst +index 763e3d04..4f155b51 100644 +--- a/docs/index.rst ++++ b/docs/index.rst +@@ -9,6 +9,7 @@ Welcome to QEMU's documentation! + .. toctree:: + :maxdepth: 2 + :caption: Contents: ++ :glob: + + system/index + user/index +@@ -16,3 +17,4 @@ Welcome to QEMU's documentation! + interop/index + specs/index + devel/index ++ * +-- +2.28.0 + diff --git a/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch b/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch new file mode 100644 index 0000000000..b56c628537 --- /dev/null +++ b/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch @@ -0,0 +1,55 @@ +From 454ccd986b61799908a6898a55d0480911f15306 Mon Sep 17 00:00:00 2001 +From: Ralph Boehme <slow@samba.org> +Date: Mon, 21 Sep 2020 07:48:43 +0200 +Subject: [PATCH] s3: fix fcntl waf configure check + +RN: Fix fcntl waf configure check +BUG: https://bugzilla.samba.org/show_bug.cgi?id=14503 + +Signed-off-by: Ralph Boehme <slow@samba.org> +Reviewed-by: Volker Lendecke <vl@samba.org> + +Autobuild-User(master): Volker Lendecke <vl@samba.org> +Autobuild-Date(master): Mon Sep 21 07:26:54 UTC 2020 on sn-devel-184 +--- + source3/wscript | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/source3/wscript b/source3/wscript +index 840ed430c0f..d3ef346eecd 100644 +--- a/source3/wscript ++++ b/source3/wscript +@@ -1244,7 +1244,7 @@ err: + + int main(void) + { +- uint64_t *hint, get_hint; ++ uint64_t hint, get_hint; + int fd; + + fd = open(DATA, O_RDONLY | O_CREAT | O_EXCL); +@@ -1252,8 +1252,8 @@ int main(void) + goto err; + } + +- *hint = RWH_WRITE_LIFE_SHORT; +- int ret = fcntl(fd, F_SET_RW_HINT, hint); ++ hint = RWH_WRITE_LIFE_SHORT; ++ int ret = fcntl(fd, F_SET_RW_HINT, &hint); + if (ret == -1) { + goto err; + } +@@ -1267,8 +1267,8 @@ int main(void) + goto err; + } + +- *hint = RWH_WRITE_LIFE_EXTREME; +- ret = fcntl(fd, F_SET_FILE_RW_HINT, hint); ++ hint = RWH_WRITE_LIFE_EXTREME; ++ ret = fcntl(fd, F_SET_FILE_RW_HINT, &hint); + if (ret == -1) { + goto err; + } +-- +2.28.0 + diff --git a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch b/gnu/packages/patches/sbcl-graph-asdf-definitions.patch deleted file mode 100644 index ec17949675..0000000000 --- a/gnu/packages/patches/sbcl-graph-asdf-definitions.patch +++ /dev/null @@ -1,70 +0,0 @@ -commit 52ebece1243ae6900e414b6248b5145a28348eef -Author: Guillaume Le Vaillant <glv@posteo.net> -Date: Fri Oct 18 15:41:23 2019 +0200 - - Use basic ASDF system definitions instead of package-inferred-system - -diff --git a/graph.asd b/graph.asd -index 193b6e3..56afc8f 100644 ---- a/graph.asd -+++ b/graph.asd -@@ -3,12 +3,10 @@ - :version "0.0.0" - :author ("Eric Schulte <schulte.eric@gmail.com>" "Thomas Dye") - :licence "GPL V3" -- :class :package-inferred-system -- :defsystem-depends-on (:asdf-package-system) -+ :in-order-to ((test-op (test-op graph-test))) - :depends-on (alexandria - metabang-bind - named-readtables - curry-compose-reader-macros -- graph/graph)) -- --(register-system-packages "femlisp-matlisp" '(:fl.matlisp)) -+ cl-heap) -+ :components ((:file "graph"))) -diff --git a/graph-dot.asd b/graph-dot.asd -new file mode 100644 -index 0000000..12aec7e ---- /dev/null -+++ b/graph-dot.asd -@@ -0,0 +1,8 @@ -+(defsystem :graph-dot -+ :depends-on (alexandria -+ metabang-bind -+ named-readtables -+ curry-compose-reader-macros -+ cl-ppcre -+ graph) -+ :components ((:file "dot"))) -diff --git a/graph-json.asd b/graph-json.asd -new file mode 100644 -index 0000000..e7d091f ---- /dev/null -+++ b/graph-json.asd -@@ -0,0 +1,8 @@ -+(defsystem :graph-json -+ :depends-on (alexandria -+ metabang-bind -+ named-readtables -+ curry-compose-reader-macros -+ yason -+ graph) -+ :components ((:file "json"))) -diff --git a/graph-test.asd b/graph-test.asd -new file mode 100644 -index 0000000..1e811e1 ---- /dev/null -+++ b/graph-test.asd -@@ -0,0 +1,10 @@ -+(defsystem :graph-test -+ :depends-on (alexandria -+ metabang-bind -+ named-readtables -+ curry-compose-reader-macros -+ graph -+ stefil) -+ :perform (test-op (o s) -+ (uiop:symbol-call :graph/test 'test)) -+ :components ((:file "test"))) diff --git a/gnu/packages/patches/sunxi-tools-remove-sys-io.patch b/gnu/packages/patches/sunxi-tools-remove-sys-io.patch new file mode 100644 index 0000000000..fc1e5ea28d --- /dev/null +++ b/gnu/packages/patches/sunxi-tools-remove-sys-io.patch @@ -0,0 +1,52 @@ +From 783cbd59fcf086a9aaf603271823fb4ca71f0c55 Mon Sep 17 00:00:00 2001 +From: Danny Milosavljevic <dannym@scratchpost.org> +Date: Thu, 8 Oct 2020 23:01:05 +0200 +Subject: [PATCH] meminfo: Replace sys/io.h by direct register accesses. +See: https://github.com/linux-sunxi/sunxi-tools/pull/144 + +Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> +--- + meminfo.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/meminfo.c b/meminfo.c +index 0b0ff23..3b3a5df 100644 +--- a/meminfo.c ++++ b/meminfo.c +@@ -22,7 +22,6 @@ + #include <sys/mman.h> + #include <stdint.h> + #include <errno.h> +-#include <sys/io.h> + #include <stdbool.h> + + #include "common.h" +@@ -74,24 +73,24 @@ static enum sunxi_soc_version soc_version; + unsigned int + sunxi_io_read(void *base, int offset) + { +- return inl((unsigned long) (base + offset)); ++ return *(volatile unsigned int*) (base + offset); + } + + void + sunxi_io_write(void *base, int offset, unsigned int value) + { +- outl(value, (unsigned long) (base + offset)); ++ *(volatile unsigned int*) (base + offset) = value; + } + + void + sunxi_io_mask(void *base, int offset, unsigned int value, unsigned int mask) + { +- unsigned int tmp = inl((unsigned long) (base + offset)); ++ unsigned int tmp = sunxi_io_read(base, offset); + + tmp &= ~mask; + tmp |= value & mask; + +- outl(tmp, (unsigned long) (base + offset)); ++ sunxi_io_write(base, offset, tmp); + } + + diff --git a/gnu/packages/patches/unison-fix-ocaml-4.08.patch b/gnu/packages/patches/unison-fix-ocaml-4.08.patch new file mode 100644 index 0000000000..811f590721 --- /dev/null +++ b/gnu/packages/patches/unison-fix-ocaml-4.08.patch @@ -0,0 +1,81 @@ +This patch is taken from the opam repository: +https://github.com/ocaml/opam-repository/blob/master/packages/unison/unison.2.51.2/files/ocaml48.patch + +It fixes compatibility with changes introduced in OCaml 4.08. + +diff --git a/src/Makefile.OCaml b/src/Makefile.OCaml +index 7cefa2e..378fc8b 100644 +--- a/src/Makefile.OCaml ++++ b/src/Makefile.OCaml +@@ -272,7 +272,7 @@ endif + + # Gtk GUI + ifeq ($(UISTYLE), gtk) +- CAMLFLAGS+=-I +lablgtk ++ CAMLFLAGS+=-I $(LABLGTKLIB) + OCAMLOBJS+=pixmaps.cmo uigtk.cmo linkgtk.cmo + OCAMLLIBS+=lablgtk.cma + endif +@@ -282,7 +282,7 @@ OCAMLFIND := $(shell command -v ocamlfind 2> /dev/null) + + ifeq ($(UISTYLE), gtk2) + ifndef OCAMLFIND +- CAMLFLAGS+=-I +lablgtk2 ++ CAMLFLAGS+=-I $(LABLGTK2LIB) + else + CAMLFLAGS+=$(shell $(OCAMLFIND) query -i-format lablgtk2 ) + endif +diff --git a/src/files.ml b/src/files.ml +index 5ff1881..1d1fbcc 100644 +--- a/src/files.ml ++++ b/src/files.ml +@@ -734,7 +734,7 @@ let get_files_in_directory dir = + with End_of_file -> + dirh.System.closedir () + end; +- Sort.list (<) !files ++ List.sort String.compare !files + + let ls dir pattern = + Util.convertUnixErrorsToTransient +diff --git a/src/recon.ml b/src/recon.ml +index 2c619bb..2412c18 100644 +--- a/src/recon.ml ++++ b/src/recon.ml +@@ -661,8 +661,8 @@ let rec reconcile + + (* Sorts the paths so that they will be displayed in order *) + let sortPaths pathUpdatesList = +- Sort.list +- (fun (p1, _) (p2, _) -> Path.compare p1 p2 <= 0) ++ List.sort ++ Path.compare + pathUpdatesList + + let rec enterPath p1 p2 t = +diff --git a/src/system/system_generic.ml b/src/system/system_generic.ml +index 453027d..c2288b8 100755 +--- a/src/system/system_generic.ml ++++ b/src/system/system_generic.ml +@@ -47,7 +47,7 @@ let open_out_gen = open_out_gen + let chmod = Unix.chmod + let chown = Unix.chown + let utimes = Unix.utimes +-let link = Unix.link ++let link s d = Unix.link s d + let openfile = Unix.openfile + let opendir f = + let h = Unix.opendir f in +diff --git a/src/uigtk2.ml b/src/uigtk2.ml +index fbc5d8f..4e82cc2 100644 +--- a/src/uigtk2.ml ++++ b/src/uigtk2.ml +@@ -94,7 +94,7 @@ let icon = + let icon = + let p = GdkPixbuf.create ~width:48 ~height:48 ~has_alpha:true () in + Gpointer.blit +- (Gpointer.region_of_string Pixmaps.icon_data) (GdkPixbuf.get_pixels p); ++ (Gpointer.region_of_bytes Pixmaps.icon_data) (GdkPixbuf.get_pixels p); + p + + let leftPtrWatch = diff --git a/gnu/packages/patches/xpra-4.0.4-norequests.patch b/gnu/packages/patches/xpra-4.0.4-norequests.patch new file mode 100644 index 0000000000..e545be7f1d --- /dev/null +++ b/gnu/packages/patches/xpra-4.0.4-norequests.patch @@ -0,0 +1,39 @@ +Remove python-requests dependency, r27626 upstream. + +--- a/xpra/net/websockets/common.py (revision 27625) ++++ b/xpra/net/websockets/common.py (revision 27626) +@@ -7,7 +7,6 @@ + import uuid + from hashlib import sha1 + from base64 import b64encode +-from requests.structures import CaseInsensitiveDict + + from xpra.os_util import strtobytes, bytestostr, monotonic_time + from xpra.log import Logger +@@ -77,7 +76,7 @@ + for line in lines: + parts = line.split(b": ", 1) + if len(parts)==2: +- headers[parts[0]] = parts[1] ++ headers[parts[0].lower()] = parts[1] + return headers + + def verify_response_headers(headers, key): +@@ -84,14 +83,13 @@ + log("verify_response_headers(%s)", headers) + if not headers: + raise Exception("no http headers found in response") +- headers = CaseInsensitiveDict(headers) +- upgrade = headers.get(b"Upgrade", b"") ++ upgrade = headers.get(b"upgrade", b"") + if upgrade!=b"websocket": + raise Exception("invalid http upgrade: '%s'" % upgrade) +- protocol = headers.get(b"Sec-WebSocket-Protocol", b"") ++ protocol = headers.get(b"sec-websocket-protocol", b"") + if protocol!=b"binary": + raise Exception("invalid websocket protocol: '%s'" % protocol) +- accept_key = headers.get(b"Sec-WebSocket-Accept", b"") ++ accept_key = headers.get(b"sec-websocket-accept", b"") + if not accept_key: + raise Exception("websocket accept key is missing") + expected_key = make_websocket_accept_hash(key) diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index c26977be1f..12dd472c68 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -321,7 +321,7 @@ you to figure out what is going on in that merge you keep avoiding.") (define-public patchwork (package (name "patchwork") - (version "2.1.5") + (version "2.2.2") (source (origin (method git-fetch) (uri (git-reference @@ -330,7 +330,7 @@ you to figure out what is going on in that merge you keep avoiding.") (file-name (git-file-name name version)) (sha256 (base32 - "1n4hfwlgmw6mj5kp261zfx47mgb0l7g2yzl1rf0rnm8x69lr3as6")))) + "1cr3lhm589zhvcgfm8gni036866k2livq1rcxbnigjxlw9p5znaf")))) (build-system python-build-system) (arguments `(;; TODO: Tests require a running database @@ -396,23 +396,10 @@ application = get_wsgi_application()\n") port))))) (install-file file (string-append out "/bin"))) (list (string-append out-site-packages - "patchwork/bin/pwclient") - (string-append out-site-packages "patchwork/bin/parsemail.sh") (string-append out-site-packages "patchwork/bin/parsemail-batch.sh"))) - ;; Delete the symlink to pwclient, and replace it with the - ;; actual file, as this can cause issues when serving the file - ;; from a webserver. - (let ((template-pwclient (string-append - out-site-packages - "patchwork/templates/patchwork/pwclient"))) - (delete-file template-pwclient) - (copy-file (string-append out-site-packages - "patchwork/bin/pwclient") - template-pwclient)) - ;; Collect the static assets, this includes JavaScript, CSS and ;; fonts. This is a standard Django process when running a ;; Django application for regular use, and includes assets for @@ -467,7 +454,7 @@ if __name__ == \"__main__\": (inputs `(("python-wrapper" ,python-wrapper))) (propagated-inputs - `(("python-django" ,python-django) + `(("python-django" ,python-django-2.2) ;; TODO: Make this configurable ("python-psycopg2" ,python-psycopg2) ("python-mysqlclient" ,python-mysqlclient) diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm index c992988437..a5ed121c85 100644 --- a/gnu/packages/pciutils.scm +++ b/gnu/packages/pciutils.scm @@ -36,7 +36,7 @@ (define-public pciutils (package (name "pciutils") - (version "3.6.4") + (version "3.7.0") (source (origin (method url-fetch) (uri (string-append @@ -45,7 +45,7 @@ (patches (search-patches "pciutils-hurd-configure.patch")) (sha256 (base32 - "0mb0f2phdcmp4kfiqsszn2k6nlln0w160ffzrjjv4bbfjwrgfzzn")))) + "1ss0rnfsx8gvqjxaji4mvbhf9xyih4cadmgadbwwv8mnx1xvjh4x")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 4c11111323..c9cce98e7f 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au> ;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -580,7 +581,7 @@ by using the poppler rendering engine.") (define-public zathura (package (name "zathura") - (version "0.4.5") + (version "0.4.7") (source (origin (method url-fetch) (uri @@ -588,7 +589,7 @@ by using the poppler rendering engine.") version ".tar.xz")) (sha256 (base32 - "0b3nrcvykkpv2vm99kijnic2gpfzva520bsjlihaxandzfm9ff8c")))) + "1rx1fk9s556fk59lmqgvhwrmv71ashh89bx9adjq46wq5gzdn4p0")))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 0aaae65573..cc7736ce18 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -1442,15 +1442,14 @@ from boxed blocks of test code.") (define-public perl-test-utf8 (package (name "perl-test-utf8") - (version "1.01") + (version "1.02") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/MA/MARKF/" "Test-utf8-" version ".tar.gz")) (sha256 - (base32 - "0yhvf735v334qqvp9zg7i66qyk6r4cbk5s2psv93d3fdd4bindzg")))) + (base32 "1mwbdgbbzm54v7wdw3l80bk73lr4z9i8274zlhjhp0s0b6fg10nz")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install))) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index bd6e746b67..ad84d63785 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2013, 2019 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2013, 2019, 2020 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> @@ -27,6 +27,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,7 +75,8 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages textutils) #:use-module (gnu packages video) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (gnu packages xorg)) ;;; ;;; Please: Try to add new module packages in alphabetic order. @@ -454,14 +456,14 @@ list manipulation routines.") (define-public perl-async-interrupt (package (name "perl-async-interrupt") - (version "1.25") + (version "1.26") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/M/ML/MLEHMANN/" "Async-Interrupt-" version ".tar.gz")) (sha256 (base32 - "0jh94wj1b6a0cnni8prsb59g5lak5rfj2fw5ng96291zmz2yqp1w")))) + "0nq8wqy0gsnwhiw23wsp1dmgzzbf2q1asi85yd0d7cmg4haxsmib")))) (build-system perl-build-system) (native-inputs `(("perl-canary-stability" ,perl-canary-stability))) @@ -1961,7 +1963,7 @@ the caller.") (synopsis "Extract data from Macintosh BinHex files") (description "BinHex is a format for transporting files safely through electronic -mail, as short-lined, 7-bit, semi-compressed data streams. Ths module +mail, as short-lined, 7-bit, semi-compressed data streams. This module provides a means of converting those data streams back into into binary data.") (license license:perl-license))) @@ -2211,7 +2213,7 @@ Password Generator\".") (define-public perl-crypt-rijndael (package (name "perl-crypt-rijndael") - (version "1.14") + (version "1.15") (source (origin (method url-fetch) @@ -2219,8 +2221,7 @@ Password Generator\".") "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-" version ".tar.gz")) (sha256 - (base32 - "03l5nwq97a8q9na4dpd4m3r7vrwpranx225vw8xm40w7zvgw6lb4")))) + (base32 "0qs1b6ma4sj0ip5d8544fzgc1bbankc4qlmznp8hay8dk5arp650")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Crypt-Rijndael") (synopsis "Crypt::CBC compliant Rijndael encryption module") @@ -3812,24 +3813,15 @@ of the input. MD4 is described in RFC 1320.") (define-public perl-digest-md5 (package (name "perl-digest-md5") - (version "2.55") + (version "2.58") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/Digest-MD5-" + (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/Digest-MD5-" version ".tar.gz")) (sha256 - (base32 - "0g0fklbrm2krswc1xhp4iwn1dhqq71fqh2p5wm8xj9a4s6i9ic83")))) + (base32 "057psy6k7im0pr3344ny6k5rsnbqj8aizkmwgw53kbbngabh20kx")))) (build-system perl-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'build 'set-permissions - (lambda _ - ;; Make MD5.so read-write so it can be stripped. - (chmod "blib/arch/auto/Digest/MD5/MD5.so" #o755) - #t))))) (home-page "https://metacpan.org/release/Digest-MD5") (synopsis "Perl interface to the MD-5 algorithm") (description @@ -7870,6 +7862,64 @@ technology to store hierarchical information such as links to other documents within a single file.") (license (package-license perl)))) +(define-public perl-opengl + (package + (name "perl-opengl") + (version "0.70") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/C/CH/CHM/OpenGL-" + version + ".tar.gz")) + (sha256 + (base32 + "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj")))) + (build-system perl-build-system) + (inputs `(("freeglut" ,freeglut) + ("libxi" ,libxi) + ("libxmu" ,libxmu))) + (arguments + '(#:tests? #f ; test.pl fails with our empty glversion.txt, while + ; the package still seems to work on the examples + #:phases + (modify-phases %standard-phases + (add-before 'configure 'glversion + ;; Building utils/glversion.txt fails, and is probably + ;; dependent on the graphics card in the build system. + ;; Replace it by a content-free file; while this breaks + ;; the tests, the examples in the examples/ subdirectory + ;; can be run. + (lambda _ + (substitute* "Makefile.PL" + (("unlink") "# unlink") ; prevent utils/glversion.txt + ; from being deleted once... + (("\\.\"\\$make_ver clean\"") "")) ; ...and twice... + (substitute* "utils/Makefile" + (("all: glversion.txt") "all: ")) ; ...and thrice. + (call-with-output-file "utils/glversion.txt" + (lambda (port) + (display (string-append "FREEGLUT=\nGLUT=\nVERSION=\n" + "VENDOR=\nRENDERER=\n" + "EXTENSIONS=\n") + port))) + #t)) + (add-before 'configure 'fix-library-flags + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makefile.PL" + (("-L/usr/local/freeglut/lib") + (string-append "-L" (assoc-ref inputs "freeglut") "/lib\n" + "-L" (assoc-ref inputs "glu") "/lib\n" + "-L" (assoc-ref inputs "mesa") "/lib\n"))) + #t))))) + (home-page "https://metacpan.org/release/OpenGL") + (synopsis + "Perl bindings to the OpenGL API, GLU, and GLUT/FreeGLUT") + (description "The package provides Perl bindings to OpenGL, GLU +and FreeGLUT.") + (license (package-license perl)))) + (define-public perl-package-anon (package (name "perl-package-anon") @@ -8555,14 +8605,14 @@ and @code{deserialize_regexp}.") (define-public perl-role-tiny-2 (package (inherit perl-role-tiny) - (version "2.001001") + (version "2.001004") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Role-Tiny-" version ".tar.gz")) (sha256 - (base32 "16yryg3cr14xw201gm8k8ci00hs60fy8lk2xhnaqa85n5m68flk8")))))) + (base32 "11qn516352yhi794www3ykwa9xv2gxpfnhn9jcn10x0ahl95gflj")))))) (define-public perl-safe-isa (package diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 5f97d7e214..dbe18a025a 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> @@ -238,14 +238,14 @@ data as produced by digital cameras.") (define-public libgphoto2 (package (name "libgphoto2") - (version "2.5.25") + (version "2.5.26") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/libgphoto/" version "/libgphoto2-" version ".tar.bz2")) (sha256 (base32 - "0fkz2rx7xlmr6zl6f56hhxps6bx16dwcw5pyd8c2icf273s9h3kw")))) + "1m5wxap3x9z6x8s2gj3sw9lqwlmbgz00dv6z3h3qk15prfizwh3p")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -269,14 +269,14 @@ from digital cameras.") (define-public gphoto2 (package (name "gphoto2") - (version "2.5.23") + (version "2.5.26") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/gphoto/" version "/gphoto2-" version ".tar.bz2")) (sha256 (base32 - "1laqwhxr0xhbykmp0dhd3j4rr2lhj5y228s31afnqxp700hhk1yz")))) + "0bxbcn31xalsvjp8fra324hf2105y3ps7zlyfz11v71j0lxj2lvn")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 18fc9f1b2c..9e34811969 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -60,7 +60,7 @@ (define-public php (package (name "php") - (version "7.4.10") + (version "7.4.11") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -68,7 +68,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "045h9zb0mw369n35gd4mp5yhwh62akp0s43vg255i122n400pnf2")) + "1knnw9b5hkxmisxclw384ic6bcihihhii51q0fyva8cwkdd6fcax")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -311,7 +311,11 @@ ;; ("ISO-8859-1"=>"UTF-8") unknown error. "ext/standard/tests/file/bug43008.phpt" ;; Table data not created in sqlite(?). - "ext/pdo_sqlite/tests/bug_42589.phpt")) + "ext/pdo_sqlite/tests/bug_42589.phpt" + + ;; This tests whether microseconds ‘differ enough’ and + ;; fails inconsistently on ‘fast’ machines. + "ext/date/tests/bug73837.phpt")) ;; Skip tests requiring network access. (setenv "SKIP_ONLINE_TESTS" "1") diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm index df80f12077..11d2b1827d 100644 --- a/gnu/packages/popt.scm +++ b/gnu/packages/popt.scm @@ -59,27 +59,23 @@ line syntax.") (define-public popt (package (name "popt") - (version "1.16") + (version "1.18") (source (origin (method url-fetch) - ;; The original rpm5.org domain is not accessible since - ;; 2019-06-13, so use Debians copy of the tarball. - (uri (string-append "https://deb.debian.org/debian/pool/main" - "/p/popt/popt_" version ".orig.tar.gz")) - ;; Ensure the file name stays the same to prevent rebuilds. - (file-name (string-append "popt-" version ".tar.gz")) + (uri (string-append "http://ftp.rpm.org/popt/releases" + "/popt-1.x/popt-" version ".tar.gz")) (sha256 (base32 - "1j2c61nn2n351nhj4d25mnf3vpiddcykq005w2h6kw79dwlysa77")))) + "1lf5zlj5rbg6s4bww7hbhpca97prgprnarx978vcwa0bl81vqnai")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'patch-test (lambda _ - (substitute* "test-poptrc.in" + (substitute* "tests/test-poptrc.in" (("/bin/echo") (which "echo"))) - (substitute* "testit.sh" ; don't expect old libtool names + (substitute* "tests/testit.sh" ;don't expect old libtool names (("lt-test1") "test1")) #t))))) (home-page "http://rpm5.org/files/popt/") diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index eeae472f08..b247cf21e1 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -1,8 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> @@ -190,6 +190,19 @@ to @code{IOStreams}.") ;; The library is bsd-2, but documentation and tests include other licenses. (license (list bsd-2 bsd-3 psfl)))) +(define-public fmt-6 + (package + (inherit fmt) + (name "fmt") + (version "6.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/fmtlib/fmt/releases/download/" + version "/fmt-" version ".zip")) + (sha256 + (base32 "06l8g59frbsbwj15kg6x2bbn6p8yidh6wzsigdhbdjncvm1agzll")))))) + (define-public source-highlight (package (name "source-highlight") @@ -217,6 +230,18 @@ to @code{IOStreams}.") #:parallel-tests? #f ;There appear to be race conditions #:phases (modify-phases %standard-phases + ,@(if (%current-target-system) + ;; 'doc/Makefile.am' tries to run stuff even when + ;; cross-compiling. Explicitly skip it. + ;; XXX: Inline this on next rebuild cycle. + `((add-before 'build 'skip-doc-directory + (lambda _ + (substitute* "Makefile" + (("^SUBDIRS = (.*) doc(.*)$" _ before after) + (string-append "SUBDIRS = " before + " " after "\n"))) + #t))) + '()) (add-before 'check 'patch-test-files (lambda _ ;; Unpatch shebangs in test input so that source-highlight diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index 86b4bd2107..324b089f4b 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -86,7 +86,7 @@ manner. It also features an interactive interpreter.") (define-public swi-prolog (package (name "swi-prolog") - (version "8.3.5") + (version "8.3.9") (source (origin (method git-fetch) (uri (git-reference @@ -96,7 +96,7 @@ manner. It also features an interactive interpreter.") (file-name (git-file-name name version)) (sha256 (base32 - "14dga0gja45x1717fp1bwgf96nzc0zgb8x1lha0pb46jg1raa2da")))) + "0ixb8pc5s7q8q0njs8is1clpvik6jhhdcwnys7m9rpwdzgi10sjz")))) (build-system cmake-build-system) (arguments `(#:parallel-build? #t @@ -125,7 +125,7 @@ manner. It also features an interactive interpreter.") ("texinfo" ,texinfo) ("libarchive" ,libarchive) ("libunwind" ,libunwind) - ("libjpeg", libjpeg-turbo) + ("libjpeg" ,libjpeg-turbo) ("libxft" ,libxft) ("fontconfig" ,fontconfig) ("perl" ,perl) diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 63450c7d10..4e748e1f1d 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -162,7 +162,7 @@ internal RPC protocols and file formats.") (define-public protobuf-c (package (name "protobuf-c") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/protobuf-c/protobuf-c/" @@ -170,7 +170,7 @@ internal RPC protocols and file formats.") "/protobuf-c-" version ".tar.gz")) (sha256 (base32 - "0x4ybd9rfd878p2imz0hb8zxfd7l60vbdw7cg84dnysr9kqm3wjk")))) + "0y3yaanq97si7iyld06p8w20m0shpj7sf4xwzbhhvijhxw36d592")))) (build-system gnu-build-system) (inputs `(("protobuf" ,protobuf))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -233,18 +233,17 @@ mechanism for serializing structured data.") (define-public python-pure-protobuf (package (name "python-pure-protobuf") - (version "2.0.0") + (version "2.0.1") (source (origin - ;; pypi is broken; has no tests + ;; The PyPI tarball is broken: it has no tests. (method git-fetch) (uri (git-reference (url "https://github.com/eigenein/protobuf") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0lgs99dpfyckz6spib419sl7jpdk2g54pcw0yg59gdcsd1f5zqgz")))) + (base32 "15dp5pvazd0jx4wzzh79080ah7hkpd3axh40al9vhzs2hf3v90hx")))) (build-system python-build-system) (native-inputs `(("python-flake8" ,python-flake8) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 9522d023ad..d9e9488484 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Amin Bandali <bandali@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,25 +71,41 @@ (define-public libsndfile (package (name "libsndfile") - (version "1.0.28") + (version "1.0.30") (source (origin (method url-fetch) - (uri (string-append "http://www.mega-nerd.com/libsndfile/files/libsndfile-" - version ".tar.gz")) - (patches (search-patches "libsndfile-armhf-type-checks.patch" - "libsndfile-CVE-2017-8361-8363-8365.patch" - "libsndfile-CVE-2017-8362.patch" - "libsndfile-CVE-2017-12562.patch")) + (uri (string-append "https://github.com/erikd/libsndfile" + "/releases/download/v" version + "/libsndfile-" version ".tar.bz2")) (sha256 (base32 - "1afzm7jx34jhqn32clc5xghyjglccam2728yxlx37yj2y0lkkwqz")))) + "06k1wj3lwm7vf21s8yqy51k6nrkn9z610bj1gxb618ag5hq77wlx")) + (modules '((ice-9 textual-ports) (guix build utils))) + (snippet + '(begin + ;; Remove carriage returns (CRLF) to prevent bogus + ;; errors from bash like "$'\r': command not found". + (let ((data (call-with-input-file + "tests/pedantic-header-test.sh.in" + (lambda (port) + (string-join + (string-split (get-string-all port) + #\return)))))) + (call-with-output-file "tests/pedantic-header-test.sh.in" + (lambda (port) (format port data)))) + + ;; While at it, fix hard coded executable name. + (substitute* "tests/test_wrapper.sh.in" + (("^/usr/bin/env") "env")) + #t)))) (build-system gnu-build-system) (inputs `(("libvorbis" ,libvorbis) ("libogg" ,libogg) ("flac" ,flac))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("python" ,python))) (home-page "http://www.mega-nerd.com/libsndfile/") (synopsis "Reading and writing files containing sampled sound") (description @@ -224,7 +241,7 @@ rates.") ("eudev" ,eudev))) ;for the detection of hardware audio devices (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("m4" ,m4) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index c0de32b207..498f495584 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> @@ -852,6 +852,26 @@ also ensuring that the notebooks are running without errors.") variables in the @file{pytest.ini} file.") (license license:expat))) +(define-public python-pyux + (package + (name "python-pyux") + (version "0.0.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyux" version)) + (sha256 + (base32 + "1i17xh4dy238ibrjdgh8vn78fk5q6dj37mcznpvdfzidj57js7ca")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;the mini test suite fails + (home-page "https://github.com/farizrahman4u/pyux") + (synopsis "Utility to check API integrity in Python libraries") + (description "The pyux utility allows to detect API changes in Python +libraries.") + (license license:expat))) + (define-public python-codacy-coverage (package (name "python-codacy-coverage") @@ -999,3 +1019,28 @@ any Python VM with basically no runtime overhead.") ;; Foundation License version 2: stdlib-samples/*, mypyc/lib-rt/pythonsupport.h and ;; mypyc/lib-rt/getargs.c (license (list license:expat license:psfl)))) + +(define-public python-robber + (package + (name "python-robber") + (version "1.1.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "robber" version)) + (sha256 + (base32 + "0xp5csgv2g9q38hscml6bc5i1nm4xy5lzqqiimm2drxsf0hw2nq5")))) + (build-system python-build-system) + ;; There are no tests in the tarball downloaded from PyPI. + ;; The last version tagged in Github (0.1.0) is older than the one on PyPI. + ;; Reported upstream: <https://github.com/vesln/robber.py/issues/20>. + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-mock" ,python-mock) + ("python-termcolor" ,python-termcolor))) + ;; URL of the fork used to generate the package available on PyPI. + (home-page "https://github.com/EastAgile/robber.py") + (synopsis "Test-driven development (TDD) assertion library for Python") + (description "Robber is a Python assertion library for test-driven and +behavior-driven development (TDD and BDD).") + (license license:expat))) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 22b1a1ebe3..228dd594b1 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages swig) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (srfi srfi-1)) @@ -91,14 +92,14 @@ Python. It does not bind to libotr.") (define-public python-base58 (package (name "python-base58") - (version "1.0.3") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "base58" version)) (sha256 (base32 - "0q1yr0n5jaf17xq98m7dma6z4rh8p19ch55l1s09gi3rk5ckqycs")))) + "0yfaqp76kbdb62hikr5n4jkkfjfmii89grwfy6sw3fmsv5hrap1n")))) (build-system python-build-system) (native-inputs `(("python-pyhamcrest" ,python-pyhamcrest))) @@ -141,13 +142,13 @@ Password Scheme\"} by Niels Provos and David Mazieres.") (define-public python-passlib (package (name "python-passlib") - (version "1.7.2") + (version "1.7.4") (source (origin (method url-fetch) (uri (pypi-uri "passlib" version)) (sha256 - (base32 "1a5ngap7kq0b4azq8nlfg6xg5bcl1i0v1sbynhmbr631jgpnqrld")))) + (base32 "015y5qaw9qnxr29lg60dml1g5rbqd4586wy5n8m41ib55gvm1zfy")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) @@ -157,8 +158,8 @@ Password Scheme\"} by Niels Provos and David Mazieres.") `(#:phases (modify-phases %standard-phases (add-before 'check 'set-PYTHON_EGG_CACHE - ;; some tests require access to "$HOME/.cython" - (lambda* _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t))))) + ;; Some tests require access to "$HOME/.cython". + (lambda _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t))))) (home-page "https://bitbucket.org/ecollins/passlib") (synopsis "Comprehensive password hashing framework") (description @@ -286,7 +287,7 @@ Python interface around SSH networking concepts.") (description "This is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve Digital Signature Algorithm), implemented purely in Python. With this -library, you can quickly create keypairs (signing key and verifying key), sign +library, you can quickly create key pairs (signing key and verifying key), sign messages, and verify the signatures. The keys and signatures are very short, making them easy to handle and incorporate into other protocols.") (license license:expat))) @@ -497,14 +498,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.9.2") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "1d4iykcv7cn9j399hczlxm5pzxmqy6d80h3j16dkjwlmv3293b4r")))) + "1xp2j79c1y8qj4b97ygx451gzp8l4cp830hnvg3zw8j134bcaaam")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -519,14 +520,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.9.2") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "0af25w5mkd6vwns3r6ai1w5ip9xp0ms9s261zzssbpadzdr05hx0")))) + "0z81q4d1nangw3r0v5f41mfl4d9r04qnbayl5ll5v5jpcfhwd7wx")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) @@ -741,18 +742,23 @@ ECB and OFB).") (define-public python-asn1crypto (package (name "python-asn1crypto") - (version "0.24.0") + (version "1.4.0") (source - (origin + (origin (method git-fetch) (uri (git-reference - (url "https://github.com/wbond/asn1crypto") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "10lai2cs5mnz3gpaffbw1m7b885ls8328q5wxm35vfmcip1f0xmb")))) + (url "https://github.com/wbond/asn1crypto") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19abibn6jw20mzi1ln4n9jjvpdka8ygm4m439hplyrdfqbvgm01r")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "run.py" "tests")))))) (home-page "https://github.com/wbond/asn1crypto") (synopsis "ASN.1 parser and serializer in Python") (description "asn1crypto is an ASN.1 parser and serializer with definitions @@ -1060,6 +1066,53 @@ through the Engine interface.") (propagated-inputs `(("python2-typing" ,python2-typing)))))) +(define-public python-pykeepass + (package + (name "python-pykeepass") + (version "3.2.0") + (source + (origin + (method git-fetch) + ;; Source tarball on PyPI doesn't include tests. + (uri (git-reference + (url "https://github.com/libkeepass/pykeepass") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wxbfpy7467mlnfsvmh685fhfnq4fki9y7yc9cylp30r5n3hisaj")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-kdbx-writable + ;; Tests have to write to the .kdbx files in the test directory. + (lambda _ + (with-directory-excursion "tests" + (for-each make-file-writable (find-files ".")) + #t))) + (add-before 'build 'patch-requirements + (lambda _ + ;; Update requirements from dependency==version + ;; to dependency>=version. + (substitute* "setup.py" + (("==") ">=")) + #t))))) + (propagated-inputs + `(("python-argon2-cffi" ,python-argon2-cffi) + ("python-construct" ,python-construct) + ("python-dateutil" ,python-dateutil) + ("python-future" ,python-future) + ("python-lxml" ,python-lxml) + ("python-pycryptodome" ,python-pycryptodome))) + (home-page "https://github.com/libkeepass/pykeepass") + (synopsis "Python library to interact with keepass databases") + (description + "This library allows you to write entries to a KeePass database. It +supports KDBX3 and KDBX4.") + ;; There are no copyright headers in the source code. The LICENSE file + ;; indicates GPL3. + (license license:gpl3+))) + (define-public python-pylibscrypt (package (name "python-pylibscrypt") @@ -1133,6 +1186,26 @@ been constructed to maintain extensive documentation on how to use @code{NaCl} as well as being completely portable.") (license license:asl2.0))) +(define-public python-pyotp + (package + (name "python-pyotp") + (version "2.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyotp" version)) + (sha256 + (base32 "0a1dx07y785xyl70h0vj6vssg13qfx11w04d0gz8h48qffsymv01")))) + (build-system python-build-system) + (home-page "https://github.com/pyauth/pyotp") + (synopsis "Python One Time Password Library") + (description + "PyOTP is a Python library for generating and verifying one-time +passwords. It can be used to implement two-factor (2FA) or multi-factor +(MFA) authentication methods in web applications and in other systems that +require users to log in.") + (license license:expat))) + (define-public python-scrypt (package (name "python-scrypt") @@ -1537,20 +1610,28 @@ signatures.") (define-public python-pgpy (package (name "python-pgpy") - (version "0.5.2") + (version "0.5.3") (source (origin (method url-fetch) (uri (pypi-uri "PGPy" version)) (sha256 - (base32 - "0i4lqhzdwkjkim3wab0kqadx28z3r5ixlh6qxj4lif4gif56c0m7")))) + (base32 "11rrq15gmn6qbahli7czflfcngjl7zyybjlvk732my6axnf2d754")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) (native-inputs `(("python-cryptography" ,python-cryptography) ("python-pyasn1" ,python-pyasn1) + ("python-pytest" ,python-pytest) ("python-singledispatch" ,python-singledispatch) - ("python-six" ,python-six))) + ("python-six" ,python-six) + ("python-wheel" ,python-wheel))) (home-page "https://github.com/SecurityInnovation/PGPy") (synopsis "Python implementation of OpenPGP") (description diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 7926539233..a0770df17d 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2020 Noisytoot <noisytoot@gmail.com> ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -89,14 +90,13 @@ (define-public python-aiohttp (package (name "python-aiohttp") - (version "3.6.2") + (version "3.6.3") (source (origin (method url-fetch) (uri (pypi-uri "aiohttp" version)) (sha256 - (base32 - "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5")) + (base32 "0i9n7h8n06m2d8ryqyk4fv1si1m44ibq7blbfaxq46vx7jydg339")) (patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch")))) (build-system python-build-system) (arguments @@ -222,6 +222,60 @@ The package includes a module with full coverage of JSON RPC versions 1.0 and comes with a SOCKS proxy client.") (license (list license:expat license:bsd-2)))) +(define-public python-asgiref + (package + (name "python-asgiref") + (version "3.2.10") + (source (origin + (method url-fetch) + (uri (pypi-uri "asgiref" version)) + (sha256 + (base32 + "06kg3hnnvh7qg0w9amkvk1hd6n6bs055r04b7if6ipa7w4g92lby")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-asyncio" ,python-pytest-asyncio))) + (home-page "https://github.com/django/asgiref/") + (synopsis "ASGI specs, helper code, and adapters") + (description + "ASGI is a standard for Python asynchronous web apps and servers to +communicate with each other, and positioned as an asynchronous successor to +WSGI. This package includes libraries for implementing ASGI servers.") + (license license:bsd-3))) + +(define-public python-css-html-js-minify + (package + (name "python-css-html-js-minify") + (version "2.5.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "css-html-js-minify" version ".zip")) + (sha256 + (base32 + "0v3l2dqdk2y4r6ax259gs4ij1zzm9yxg6491s6254vs9w3vi37sa")))) + (build-system python-build-system) + ;; XXX: The git repository has no tags, and the PyPI releases do not + ;; contain tests. + (arguments '(#:tests? #f)) + (native-inputs `(("unzip" ,unzip))) + (home-page "https://github.com/juancarlospaco/css-html-js-minify") + (synopsis "CSS/HTML/JS minifier") + (description + "This package provides a single-file minifier for CSS, HTML, and JavaScript.") + ;; XXX: The README just says "GNU GPL and GNU LGPL and MIT". From + ;; <https://github.com/juancarlospaco/css-html-js-minify/issues/9> it + ;; looks like the user can choose a license. + (license (list license:gpl3+ license:lgpl3+ license:expat)))) + (define-public python-falcon (package (name "python-falcon") @@ -675,9 +729,9 @@ both of which are installed automatically if you install this library.") (home-page "https://github.com/html5lib/html5lib-python") (synopsis - "Python HTML parser based on the WHATWG HTML specifcation") + "Python HTML parser based on the WHATWG HTML specification") (description - "Html5lib is an HTML parser based on the WHATWG HTML specifcation + "Html5lib is an HTML parser based on the WHATWG HTML specification and written in Python.") (license license:expat))) @@ -817,14 +871,14 @@ is Python’s.") (define-public python-openid (package (name "python-openid") - (version "3.1.0") + (version "3.2.0") (source (origin (method url-fetch) (uri (pypi-uri "python3-openid" version)) (sha256 (base32 - "00l5hrjh19740w00b3fnsqldnla41wbr2rics09dl4kyd1fkd3b2")))) + "1bxf9a3ny1js422j962zfzl4a9dhj192pvai05whn7j0iy9gdyrk")))) (build-system python-build-system) (arguments `(#:phases @@ -1879,16 +1933,71 @@ WebSocket usage in Python programs.") "Purl is a Python package for handling URLs.") (license license:expat))) +(define-public python-apiron + (package + (name "python-apiron") + (version "5.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "apiron" version)) + (sha256 + (base32 "1qwbqn47sf0aqznj1snbv37v8ijx476qqkjf5l9pac7xjkxsr8qk")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv" "--cov" "-k" + ;; This test tries to connect to the internet. + "not test_call")))))) + (propagated-inputs + `(("python-requests" ,python-requests))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov))) + (home-page "https://github.com/ithaka/apiron") + (synopsis "Python wrapper for interacting with RESTful APIs") + (description + "@code{apiron} provides a declarative, structured configuration of +services and endpoints with a unified interface for interacting with RESTful +APIs.") + (license license:expat))) + +(define-public python-beren + (package + (name "python-beren") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "beren" version)) + (sha256 + (base32 "1v3mdwfqsyza892zvs124ym9w1bkng1j56b7l4dwfjir3723xcgf")))) + (build-system python-build-system) + (arguments + ;; The test tries to open a connection to a remote server. + `(#:tests? #f)) + (propagated-inputs + `(("python-apiron" ,python-apiron))) + (home-page "https://github.com/teffalump/beren") + (synopsis "REST client for Orthanc DICOM servers") + (description + "@code{beren} provides a REST client for Orthanc, a DICOM server.") + (license license:gpl3+))) + (define-public python-requests (package (name "python-requests") - (version "2.23.0") + (version "2.24.0") (source (origin (method url-fetch) (uri (pypi-uri "requests" version)) (sha256 (base32 - "1rhpg0jb08v0gd7f19jjiwlcdnxpmqi1fhvw7r4s9avddi4kvx5k")))) + "06r3017hz0hzxv42gpg73l8xvdjbzw7q904ljvp36b5p3l9rlmdk")))) (build-system python-build-system) (propagated-inputs `(("python-certifi" ,python-certifi) @@ -2029,16 +2138,38 @@ with python-requests.") `(;; FIXME: Some tests require network access. #:tests? #f)))) +(define-public python-requests-ftp + (package + (name "python-requests-ftp") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "requests-ftp" version)) + (sha256 + (base32 + "0yh5v21v36dsjsgv4y9dx4mmz35741l5jf6pbq9w19d8rfsww13m")))) + (build-system python-build-system) + (propagated-inputs + `(("python-requests" ,python-requests))) + (home-page + "https://github.com/Lukasa/requests-ftp") + (synopsis "FTP Transport Adapter for Requests") + (description + "Requests-FTP is an implementation of a simple FTP transport +adapter for use with the Requests library.") + (license license:asl2.0))) + (define-public python-oauthlib (package (name "python-oauthlib") - (version "3.0.1") + (version "3.1.0") (source (origin (method url-fetch) (uri (pypi-uri "oauthlib" version)) (sha256 (base32 - "163jg4a8f7c5ki655grrr47kgljy12wri3qly7ijf64sk1fjrqqc")))) + "12gqnabwck30gdlpwm6af3s28qm9p2yc7b1w8s4fk9ncbz1irr5y")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -2113,7 +2244,6 @@ authenticated session objects providing things like keep-alive.") ("python-certifi" ,python-certifi) ("python-cryptography" ,python-cryptography) ("python-idna" ,python-idna) - ("python-ipaddress" ,python-ipaddress) ("python-pyopenssl" ,python-pyopenssl) ("python-pysocks" ,python-pysocks))) (home-page "https://urllib3.readthedocs.io/") @@ -2122,6 +2252,7 @@ authenticated session objects providing things like keep-alive.") "Urllib3 supports features left out of urllib and urllib2 libraries. It can reuse the same socket connection for multiple requests, it can POST files, supports url redirection and retries, and also gzip and deflate decoding.") + (properties `((python2-variant . ,(delay python2-urllib3)))) (license license:expat))) ;; Some software requires an older version of urllib3, notably Docker. @@ -2137,7 +2268,12 @@ supports url redirection and retries, and also gzip and deflate decoding.") (define-public python2-urllib3 - (package-with-python2 python-urllib3)) + (let ((base (package-with-python2 (strip-python2-variant python-urllib3)))) + (package/inherit + base + (propagated-inputs + `(("python-ipaddress" ,python2-ipaddress) + ,@(package-propagated-inputs base)))))) (define-public awscli (package @@ -2211,13 +2347,13 @@ and to spawn subprocesses to handle requests.") (define-public python-pastedeploy (package (name "python-pastedeploy") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (pypi-uri "PasteDeploy" version)) (sha256 - (base32 "16qsq5y6mryslmbp5pn35x4z8z3ndp5rpgl42h226879nrw9hmg7")))) + (base32 "05s88qdjdwd9d9qs13fap7nqgxs7qs5qfzzjbrc5va13k2mxdskd")))) (build-system python-build-system) (arguments '(#:test-target "pytest")) @@ -3041,15 +3177,29 @@ for Flask.") (define-public python-webassets (package (name "python-webassets") - (version "0.12.1") + (version "2.0") (source (origin (method url-fetch) (uri (pypi-uri "webassets" version)) (sha256 (base32 - "1nrqkpb7z46h2b77xafxihqv3322cwqv6293ngaky4j3ff4cing7")))) + "1kc1042jydgk54xpgcp0r1ib4gys91nhy285jzfcxj3pfqrk4w8n")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-some-tests + (lambda _ + ;; This test requires 'postcss' and 'babel' which are + ;; not yet available in Guix. + (delete-file "tests/test_filters.py") + #t)) + (replace 'check + (lambda _ + (setenv "PYTHONPATH" + (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) (native-inputs `(("python-jinja2" ,python-jinja2) ("python-mock" ,python-mock) @@ -3255,14 +3405,14 @@ authentication for Flask routes.") (define-public python-uritemplate (package (name "python-uritemplate") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (pypi-uri "uritemplate" version)) (sha256 (base32 - "0781gm9g34wa0asc19dx81ng0nqq07igzv3bbvdqmz13pv7469n0")))) + "1bkwmgr0ia9gcn4bszs2xlvml79f0bi2s4a87xg22ky9rq8avy2s")))) (build-system python-build-system) (home-page "https://uritemplate.readthedocs.org") (synopsis "Library to deal with URI Templates") @@ -3972,7 +4122,7 @@ event loop. It is implemented in Cython and uses libuv under the hood.") #t))))) (native-inputs `(("binutils" ,binutils) ;; for ctypes.util.find_library() - ("python-aiohttp", python-aiohttp) + ("python-aiohttp" ,python-aiohttp) ("python-pytest" ,python-pytest) ("python-pytest-cov" ,python-pytest-cov) ("python-sphinx" ,python-sphinx) @@ -4310,7 +4460,7 @@ and serve updated contents upon changes to the directory.") (define-public python-httpcore (package (name "python-httpcore") - (version "0.10.2") + (version "0.11.0") (source (origin ;; PyPI tarball does not contain tests. @@ -4320,7 +4470,7 @@ and serve updated contents upon changes to the directory.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "00gn8nfv814rg6fj7xv97mrra3fvx6fzjcgx9y051ihm6hxljdsi")))) + (base32 "01bhajcxqgkdzg7b7x0fqs2lwcfsajlgqwi1nlxx58jss7g2kxn9")))) (build-system python-build-system) (arguments `(#:phases @@ -4385,7 +4535,7 @@ Some things HTTP Core does do: (define-public python-httpx (package (name "python-httpx") - (version "0.14.3") + (version "0.15.4") (source (origin ;; PyPI tarball does not contain tests. @@ -4395,7 +4545,7 @@ Some things HTTP Core does do: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0mn8gqkgaij3s2pbwgrih20iq34f3f82dfvypaw3nnh7n63vna43")))) + (base32 "1qr91xw6jxynvihmw953bi5446ssm9ffmb2c4nhfa77v7883sp21")))) (build-system python-build-system) (arguments `(#:phases @@ -4403,8 +4553,16 @@ Some things HTTP Core does do: (replace 'check (lambda _ (invoke "pytest" "-vv" "-k" - ;; This test tries to open an outgoing connection. - "not test_connect_timeout[asyncio]")))))) + ;; These tests try to open an outgoing connection. + (string-append + "not test_connect_timeout" + " and not test_that_send_cause_async_client_to_be_not_" + "closed" + " and not test_that_async_client_caused_warning_when_" + "being_deleted" + " and not test_that_send_cause_client_to_be_not_closed" + " and not test_async_proxy_close" + " and not test_sync_proxy_close"))))))) (native-inputs `(("python-autoflake" ,python-autoflake) ("python-black" ,python-black) @@ -4430,7 +4588,7 @@ Some things HTTP Core does do: ("python-idna" ,python-idna) ("python-rfc3986" ,python-rfc3986) ("python-sniffio" ,python-sniffio))) - (home-page "https://github.com/encode/httpx") + (home-page "https://www.python-httpx.org/") (synopsis "HTTP client for Python") (description "HTTPX is a fully featured HTTP client for Python 3, which provides sync @@ -4577,7 +4735,7 @@ major web browsers.") ("python-pytest-cov" ,python-pytest-cov))) (arguments '(#:test-target "pytest")) (home-page "https://docs.pylonsproject.org/projects/venusian") - (synopsis "Library for defering decorator actions") + (synopsis "Library for deferring decorator actions") (description "Venusian is a library which allows framework authors to defer decorator actions. Instead of taking actions when a function (or class) decorator is diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b11080bde7..69aaaa1670 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -84,6 +84,9 @@ ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com> +;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com> +;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> +;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,6 +108,7 @@ #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages adns) + #:use-module (gnu packages aidc) #:use-module (gnu packages attr) #:use-module (gnu packages backup) #:use-module (gnu packages bash) @@ -129,6 +133,7 @@ #:use-module (gnu packages gsasl) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) @@ -506,14 +511,20 @@ pidof, tty, taskset, pmap.") (define-public python-shapely (package (name "python-shapely") - (version "1.6.4.post2") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "Shapely" version)) (sha256 (base32 - "03r42fmd9alp6r3q95ad6rldq2f7n1wimrw53zy5kpn33yv7pf64")))) + "0adiz4jwmwxk7k1awqifb1a9bj5x4nx4gglb5dz9liam21674h8n")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file "shapely/speedups/_speedups.c") + (delete-file "shapely/vectorized/_vectorized.c") + #t)))) (build-system python-build-system) (native-inputs `(("python-cython" ,python-cython) @@ -532,12 +543,15 @@ pidof, tty, taskset, pmap.") (let ((geos (assoc-ref inputs "geos")) (glibc (assoc-ref inputs ,(if (%current-target-system) "cross-libc" "libc")))) - (substitute* "shapely/geos.py" + (substitute* '("shapely/geos.py" "shapely/_buildcfg.py") (("_lgeos = load_dll\\('geos_c', fallbacks=.*\\)") (string-append "_lgeos = load_dll('geos_c', fallbacks=['" geos "/lib/libgeos_c.so'])")) (("free = load_dll\\('c'\\)\\.free") (string-append "free = load_dll('c', fallbacks=['" + glibc "/lib/libc.so.6']).free")) + (("free = load_dll\\('c', fallbacks=.*\\)\\.free") + (string-append "free = load_dll('c', fallbacks=['" glibc "/lib/libc.so.6']).free")))) #t))))) (home-page "https://github.com/Toblerity/Shapely") @@ -1612,18 +1626,18 @@ of @code{xmlfile}.") (define-public python-openpyxl (package (name "python-openpyxl") - (version "2.6.2") + (version "3.0.5") (source (origin ;; We use the upstream repository, as the tests are not included in the ;; PyPI releases. (method hg-fetch) (uri (hg-reference - (url "https://bitbucket.org/openpyxl/openpyxl") + (url "https://foss.heptapod.net/openpyxl/openpyxl") (changeset version))) (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 "1qhij6kcvdxqjy4g6193nsv4q7fy8n4fwyd3c2z047idlm6s3j4w")))) + (base32 "0s6fgwwkcfz1bnrp5gjd4g2lcbl4a76147ylkrmkbabi2nf4xlli")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -1643,8 +1657,25 @@ of @code{xmlfile}.") (description "This Python library allows reading and writing to the Excel XLSX, XLSM, XLTX and XLTM file formats that are defined by the Office Open XML (OOXML) standard.") + (properties `((python2-variant . ,(delay python2-openpyxl)))) (license license:expat))) +(define-public python2-openpyxl + (let ((base (package-with-python2 + (strip-python2-variant python-openpyxl)))) + (package + (inherit base) + ;; This is the latest version that has python2 support + (version "2.6.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "openpyxl" version)) + (sha256 + (base32 + "1qzjj8nwj4dn0mhq1j64f136afiqqb81lvqiikipz3g1g0b80lqx")))) + (arguments '(#:tests? #f))))) ; No test suite. + (define-public python-eventlet (package (name "python-eventlet") @@ -3462,14 +3493,14 @@ text styles of documentation.") (define-public python-pygments (package (name "python-pygments") - (version "2.5.2") + (version "2.6.1") (source (origin (method url-fetch) (uri (pypi-uri "Pygments" version)) (sha256 (base32 - "1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q")))) + "0i4gnd4q0mgkq0dp5wymn7ca8zjd8fgp63139svs6jf2c6h48wv4")))) (build-system python-build-system) (arguments ;; FIXME: Tests require sphinx, which depends on this. @@ -3478,10 +3509,21 @@ text styles of documentation.") (synopsis "Syntax highlighting") (description "Pygments is a syntax highlighting package written in Python.") - (license license:bsd-2))) + (license license:bsd-2) + (properties `((python2-variant . ,(delay python2-pygments)))))) +;; Pygments 2.6 and later does not support Python 2. (define-public python2-pygments - (package-with-python2 python-pygments)) + (let ((base (package-with-python2 (strip-python2-variant python-pygments)))) + (package + (inherit base) + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "Pygments" version)) + (sha256 + (base32 + "1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q"))))))) (define-public python-bumpversion (package @@ -4066,6 +4108,27 @@ matching of file paths.") (description "Black is the uncompromising Python code formatter.") (license license:expat))) +(define-public python-black-macchiato + (package + (name "python-black-macchiato") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "black-macchiato" version)) + (sha256 + (base32 + "1drp5p697ni1xn5y2lbjpalgpkzy2i4cyxjj5pk4dxr0vk97dd7i")))) + (build-system python-build-system) + (propagated-inputs + `(("python-black" ,python-black))) + (home-page "https://github.com/wbolster/black-macchiato") + (synopsis "Partial @code{python-black} formatting") + (description + "This package is built on top the @{python-black} code formatter to +enable formatting of partial files.") + (license license:bsd-3))) + (define-public python-blinker (package (name "python-blinker") @@ -4158,14 +4221,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.17") + (version "0.29.21") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "1wnaz40hdw4mg5acz5gqb6bhjhn4cvfxg0xdzfy7aa6qn665hqb3")))) + "1bcwpra7c6k30yvic3sw2v3rq2dr40ypc4zqif6kr52mpn4wnyp5")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -5994,6 +6057,61 @@ memoizing PEG/Packrat parser in Python.") (define-public python2-grako (package-with-python2 python-grako)) +(define-public python-grandalf + (package + (name "python-grandalf") + (version "0.7") + (source + (origin + ;; There's no source tarball on PyPI. + (method git-fetch) + (uri (git-reference + (url "https://github.com/bdcht/grandalf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03p8w8ljpb87qbyldm3s6b7qi30hfcn43h33iwlgqcf31fjsyr4g")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "setup.py" "pytest")))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (propagated-inputs + `(("python-numpy" ,python-numpy) + ("python-ply" ,python-ply))) + (home-page "https://github.com/bdcht/grandalf") + (synopsis "Graph and drawing algorithms framework") + (description + "Grandalf is a Python package made for experimentations with graphs +drawing algorithms. It is written in pure Python, and currently implements +two layouts: the Sugiyama hierarchical layout and the force-driven or energy +minimization approach. While not as fast or featured as graphviz or other +libraries like OGDF (C++), it provides a way to walk and draw graphs no larger +than thousands of nodes, while keeping the source code simple enough to tweak +and hack any part of it for experimental purpose. With a total of about 1500 +lines of Python, the code involved in drawing the Sugiyama (dot) layout fits +in less than 600 lines. The energy minimization approach is comprised of only +250 lines! + +Grandalf does only 2 not-so-simple things: +@itemize +@item computing the nodes (x,y) coordinates (based on provided nodes +dimensions, and a chosen layout) +@item routing the edges with lines or nurbs +@end itemize + +It doesn’t depend on any GTK/Qt/whatever graphics toolkit. This means that it +will help you find where to draw things like nodes and edges, but it’s up to +you to actually draw things with your favorite toolkit.") + ;; The user can choose either license. + (license (list license:gpl2 license:epl1.0)))) + (define-public python-gridmap (package (name "python-gridmap") @@ -7318,13 +7436,13 @@ interfaces in an easy and portable manner.") (define-public python-networkx (package (name "python-networkx") - (version "2.4") + (version "2.5") (source (origin (method url-fetch) (uri (pypi-uri "networkx" version)) (sha256 - (base32 "0r2wr7aqay9fwjrgk35fkjzk8lvvb4i4df7ndaqzkr4ndw5zzx7q")))) + (base32 "00hnii2lplig2s324k1hvi29pyfab6z7i22922f67jgv4da9ay3r")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -7514,15 +7632,17 @@ and statistical routines from scipy and statsmodels.") (define-public python-mpmath (package (name "python-mpmath") - (version "0.19") + (version "1.1.0") (source (origin (method url-fetch) - (uri (string-append "http://mpmath.org/files/mpmath-" - version ".tar.gz")) + (uri (pypi-uri "mpmath" version)) + (file-name (git-file-name name version)) (sha256 (base32 - "08ijsr4ifrqv3cjc26mkw0dbvyygsa99in376hr4b96ddm1gdpb8")))) + "1xlrcja213jpfhw25q1jl5pl10w1a2cc68x1c4mkicxsbzhan5zw")))) (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) (arguments '(#:phases (modify-phases %standard-phases @@ -7566,27 +7686,22 @@ multiprecision arithmetic.") (define-public python-sympy (package (name "python-sympy") - (version "1.1.1") + (version "1.6.2") (source (origin (method url-fetch) - (uri (string-append - "https://github.com/sympy/sympy/releases/download/sympy-" - version "/sympy-" version ".tar.gz")) + (uri (pypi-uri "sympy" version)) (sha256 - (base32 "190n29sppw7g8ihilc5451y7jlfcaw56crqiqbf1jff43dlmfnxc")))) + (base32 "0247skhkxanczpqqdz6n9k1axgpwl665b25hyn9vgr060p4dryhw")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - ;; Run the core tests after installation. By default it would run - ;; *all* tests, which take a very long time to complete and are known - ;; to be flaky. - (delete 'check) - (add-after 'install 'check + (replace 'check (lambda* (#:key outputs #:allow-other-keys) - (invoke "python3" "-c" "import sympy; sympy.test(\"/core\")") - #t))))) + (invoke + (or (which "python3") (which "python")) + "-c" "import sympy; sympy.test(\"/core\")")))))) (propagated-inputs `(("python-mpmath" ,python-mpmath))) (home-page "https://www.sympy.org/") @@ -7600,17 +7715,13 @@ as possible in order to be comprehensible and easily extensible.") (define-public python2-sympy (package (inherit (package-with-python2 python-sympy)) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; Run the core tests after installation. By default it would run - ;; *all* tests, which take a very long time to complete and are known - ;; to be flaky. - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs #:allow-other-keys) - (invoke "python" "-c" "import sympy; sympy.test(\"/core\")") - #t))))))) + (version "1.5.1") ; last release for python2 + (source + (origin + (method url-fetch) + (uri (pypi-uri "sympy" version)) + (sha256 + (base32 "0zjfbxlkazzh9z22gf62azrkipb2xw7mpzjz3wl1az9893bh2yfp")))))) (define-public python-q (package @@ -8033,13 +8144,13 @@ complexity of Python source code.") (define-public python-flake8 (package (name "python-flake8") - (version "3.8.3") + (version "3.8.4") (source (origin (method url-fetch) (uri (pypi-uri "flake8" version)) (sha256 (base32 - "02527892hh0qjivxaiphzalj7q32qkna1cqaikjs7c03mk5ryjzh")))) + "0fvcrsbyzjpcli8ldbpsdbpmf238nkvwc1dy4hy82lf63rvfinma")))) (build-system python-build-system) (arguments `(#:phases @@ -9116,14 +9227,14 @@ versions of Python.") (define-public python-idna (package (name "python-idna") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri (pypi-uri "idna" version)) (sha256 (base32 - "1jxp2pdi8y4asi7ka1zhx3yx09kv8kzj533f0ds7viz49b0x323m")))) + "1xmk3s92d2vq42684p61wixfmh3qpr2mw762w0n6662vhlpqf1xk")))) (build-system python-build-system) (home-page "https://github.com/kjd/idna") (synopsis "Internationalized domain names in applications") @@ -9154,7 +9265,7 @@ specification.") (define-public python-libsass (package (name "python-libsass") - (version "0.20.0") + (version "0.20.1") (source (origin ;; PyPI tarball is missing some test files. @@ -9164,7 +9275,7 @@ specification.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0h9rj4k9izkfdvli8ip72bbvh6a7bvrv5pxz6zay2bq235gpfgfc")))) + (base32 "1r0kgl7i6nnhgjl44sjw57k08gh2qr7l8slqih550dyxbf1akbxh")))) (build-system python-build-system) (arguments `(#:phases @@ -9177,10 +9288,7 @@ specification.") (replace 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (invoke "pytest" "sasstests.py" "-k" - ;; See https://github.com/sass/libsass/issues/3092. - ;; This test may work in a future release of libsass. - "not test_stack_trace_formatting")))))) + (invoke "pytest" "sasstests.py")))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-werkzeug" ,python-werkzeug))) @@ -10799,36 +10907,40 @@ Pytest but stripped of Pytest specific details.") (define-public python-tox (package - (name "python-tox") - (version "2.8.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "tox" version)) - (sha256 - (base32 - "1drp6mwm8wdypjym15ia8lwjxbhcksb9vzxg4ay5dh4ji57by2ny")))) - (build-system python-build-system) - (arguments - ;; FIXME: Tests require pytest-timeout, which itself requires - ;; pytest>=2.8.0 for installation. - '(#:tests? #f)) - (propagated-inputs - `(("python-pluggy" ,python-pluggy) ; >=0.3.0,<0.4.0 - ("python-py" ,python-py) - ("python-virtualenv" ,python-virtualenv))) - (native-inputs - `(; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout) - ("python-pytest" ,python-pytest) ; >= 2.3.5 - ("python-setuptools-scm" ,python-setuptools-scm))) - (home-page "https://tox.readthedocs.io") - (synopsis "Virtualenv-based automation of test activities") - (description "Tox is a generic virtualenv management and test command line + (name "python-tox") + (version "3.20.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tox" version)) + (sha256 + (base32 + "0nk0nyzhzamcrvn0qqzzy54isxxqwdi28swml7a2ym78c3f9sqpb")))) + (build-system python-build-system) + (arguments + ;; FIXME: Tests require pytest-timeout, which itself requires + ;; pytest>=2.8.0 for installation. + '(#:tests? #f)) + (propagated-inputs + `(("python-filelock" ,python-filelock) + ("python-packaging" ,python-packaging) + ("python-pluggy" ,python-pluggy) + ("python-py" ,python-py) + ("python-six" ,python-six) + ("python-toml" ,python-toml) + ("python-virtualenv" ,python-virtualenv))) + (native-inputs + `(; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout) + ("python-pytest" ,python-pytest) ; >= 2.3.5 + ("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://tox.readthedocs.io") + (synopsis "Virtualenv-based automation of test activities") + (description "Tox is a generic virtualenv management and test command line tool. It can be used to check that a package installs correctly with different Python versions and interpreters, or run tests in each type of supported environment, or act as a frontend to continuous integration servers.") - (license license:expat))) + (license license:expat))) (define-public python2-tox (package-with-python2 python-tox)) @@ -10978,14 +11090,14 @@ python-xdo for newer bindings.)") (define-public python-mako (package (name "python-mako") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (pypi-uri "Mako" version)) (sha256 (base32 - "17bd6r9ynp4hyfckkia0bb8gpd98f42jfl5rmzdpbld59bbcaf9i")))) + "09ywrmhr6gdyfx6d5727wwjnz73i6rklqcb4c14m7sqc830wi5c1")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -14433,7 +14545,7 @@ PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function which is part of the RSA Public Key Cryptography Standards series. The provided implementation takes a password or a passphrase and a salt value (and optionally a iteration count, a digest module, and a MAC module) and provides -a file-like object from which an arbitrarly-sized key can be read.") +a file-like object from which an arbitrarily-sized key can be read.") (license license:expat))) (define-public python2-pbkdf2 @@ -15368,18 +15480,18 @@ perform the operations required for synchronizing plain text.") (define-public python-dirsync (package (name "python-dirsync") - (version "2.2.3") + (version "2.2.5") (source (origin (method url-fetch) (uri (pypi-uri "dirsync" version)) (sha256 (base32 - "1r40fkanksagcszf1ag85mdr8w7rgc7196n6s1qlsk2abw6i7v0z")))) + "1gm82jddm1lkazdi8lfsl1b3vi1z0252ng60mzjym8irnv94qfhy")))) (build-system python-build-system) (propagated-inputs `(("six" ,python-six))) - (home-page "https://bitbucket.org/tkhyn/dirsync") + (home-page "https://github.com/tkhyn/dirsync") (synopsis "Advanced directory tree synchronisation tool") (description "Advanced directory tree synchronisation tool.") (license license:expat))) @@ -15933,6 +16045,51 @@ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).") (define-public python2-rfc3987 (package-with-python2 python-rfc3987)) +;; The latest commit contains fixes for building with both python3 and python2. +(define-public python-rfc6555 + (let ((commit "1a181b432312731f6742a5eb558dae4761d32361") + (revision "1")) + (package + (name "python-rfc6555") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sethmlarson/rfc6555") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bxl17j9vs69cshcqnlwamr03hnykxqnwz3mdgi6x3s2k4q18npp")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + ;; Other tests require network access. + (invoke "pytest" "tests/test_ipv6.py") + #t)))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://pypi.org/project/rfc6555/") + (synopsis "Python implementation of RFC 6555") + (description + "Python implementation of the Happy Eyeballs Algorithm described in RFC +6555. Provided with a single file and dead-simple API to allow easy vendoring +and integration into other projects.") + (properties `((python2-variant . ,(delay python2-rfc6555)))) + (license license:asl2.0)))) + +(define-public python2-rfc6555 + (let ((base (package-with-python2 + (strip-python2-variant python-rfc6555)))) + (package + (inherit base) + (propagated-inputs + `(("python2-selectors2" ,python2-selectors2)))))) + (define-public python-validators (package (name "python-validators") @@ -16415,14 +16572,14 @@ requirements is not met.") (define-public python-pysocks (package (name "python-pysocks") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "PySocks" version)) (sha256 (base32 - "0z4p31bpqm893cf87qqgb30k7nwd8kqfjwwjm5cvxb6zbyj1w0yr")))) + "184sg65mbmih6ljblfsxcmq5js5l7dj3gpn618w9q5dy3rbh921z")))) (build-system python-build-system) (arguments `(#:tests? #f)) (home-page "https://github.com/Anorov/PySocks") @@ -17142,6 +17299,31 @@ user's @file{~/Trash} directory.") (string-append (getcwd) ":" (getenv "PYTHONPATH"))) #t)))))))) +(define-public python-pyfavicon + (package + (name "python-pyfavicon") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyfavicon" version)) + (sha256 + (base32 "15wfpa99hvcfsv8j0m8iprmydi2p4qkhm86qfx485244y0ia5mgx")))) + (build-system python-build-system) + (arguments + ;; There are no tests in the PyPI tarball and the tests from the + ;; repository require online data. + '(#:tests? #f)) + (propagated-inputs + `(("python-aiohttp" ,python-aiohttp) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-pillow" ,python-pillow))) + (home-page "https://github.com/bilelmoussaoui/pyfavicon") + (synopsis "Async favicon fetcher") + (description + "@code{pyfavicon} is an async favicon fetcher.") + (license license:expat))) + (define-public python-yapf (package (name "python-yapf") @@ -17303,6 +17485,58 @@ Week instances stringify to this form.") (define-public python2-isoweek (package-with-python2 python-isoweek)) +(define-public python-pyzbar + (package + (name "python-pyzbar") + (version "0.1.8") + (source + (origin + ;; There's no source tarball on PyPI. + (method git-fetch) + (uri (git-reference + (url "https://github.com/NaturalHistoryMuseum/pyzbar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fqlfg5p2v9lzzzi0si2sz54lblprk6jjjhjw54b64lp58c1yhsl")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-failing-test + (lambda _ + ;; This tests if find_library was called once, but we remove + ;; the call in the stage below to make the library find libzbar. + (delete-file "pyzbar/tests/test_zbar_library.py") + #t)) + (add-before 'build 'set-library-file-name + (lambda* (#:key inputs #:allow-other-keys) + (let ((libzbar (assoc-ref inputs "zbar"))) + (substitute* "pyzbar/zbar_library.py" + (("find_library\\('zbar'\\)") + (string-append "'" libzbar "/lib/libzbar.so.0'"))) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-numpy" ,python-numpy) + ("python-pillow" ,python-pillow))) + (inputs + `(("zbar" ,zbar))) + (home-page "https://github.com/NaturalHistoryMuseum/pyzbar/") + (synopsis "Read one-dimensional barcodes and QR codes") + (description + "Read one-dimensional barcodes and QR codes using the zbar library. + +Features: + +@itemize +@item Pure python +@item Works with PIL / Pillow images, OpenCV / numpy ndarrays, and raw bytes +@item Decodes locations of barcodes +@item No dependencies, other than the zbar library itself +@end itemize") + (license license:expat))) + (define-public python-tokenize-rt (package (name "python-tokenize-rt") @@ -18939,7 +19173,7 @@ with a non-list @code{cdr}.") (description "This Python module provides line editing functions similar to the default Emacs-style ones of GNU Readline. Unlike the Python standard library's -@code{readline} package, this one allows access to those capabilties in settings +@code{readline} package, this one allows access to those capabilities in settings outside of a standard command-line interface. It is especially well-suited to interfacing with Urwid, due to a shared syntax for describing key inputs. @@ -19242,13 +19476,13 @@ project.") (define-public python-trio (package (name "python-trio") - (version "0.16.0") + (version "0.17.0") (source (origin (method url-fetch) (uri (pypi-uri "trio" version)) (sha256 - (base32 "0g6gkwz6i05rm9ym4l4imxakzld7qcgxhb21kprilchcav87s1nz")))) + (base32 "0zcxirpdvvl54pbfkgw7vz984879xwvdygqfpggnam24is2zjp78")))) (build-system python-build-system) (arguments `(#:phases @@ -19434,6 +19668,27 @@ file-based data structures that are @code{mmap}ped into memory so that many processes may share the same data.") (license license:asl2.0))) +(define-public python-croniter + (package + (name "python-croniter") + (version "0.3.34") + (source (origin + (method url-fetch) + (uri (pypi-uri "croniter" version)) + (sha256 + (base32 + "0r79cx4v2dw4hzr0annkkxxis46c8hivq61sr39z6p7lcjsbk1ki")))) + (build-system python-build-system) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-natsort" ,python-natsort))) + (home-page "https://github.com/kiorky/croniter") + (synopsis "Iterate datetime objects with cron-like syntax") + (description + "@code{croniter} provides iteration for datetime object with cron-like +format.") + (license license:expat))) + (define-public python-pylzma (package (name "python-pylzma") @@ -19847,6 +20102,31 @@ hard (or impossible without root privileges) to set the state of the real services to what you expect in your tests.") (license license:lgpl3+))) +(define-public python-jsonplus + (package + (name "python-jsonplus") + (version "0.8.0") + (home-page "https://github.com/randomir/jsonplus") + (source (origin + (method url-fetch) + (uri (pypi-uri "jsonplus" version)) + (sha256 + (base32 + "05yv3dw813zwas9snz124k2hki49y268b3mx0gj9w7v1nrjmglq1")))) + (build-system python-build-system) + ;; XXX: No tests on PyPI, and the repository has no tags. + (arguments '(#:tests? #f)) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-simplejson" ,python-simplejson) + ("python-sortedcontainers" ,python-sortedcontainers))) + (synopsis "Serialize Python types to/from JSON") + (description + "This package provides functionality to serialize arbitrary data types +to and from JSON. Common data types are implemented and it is easy to +register custom encoders and decoders.") + (license license:expat))) + (define-public python-ujson (package (name "python-ujson") @@ -20040,11 +20320,11 @@ load balancing.") `(("python-pytest" ,python-pytest) ("which" ,which))) (home-page "https://pypi.org/project/pox/") - (synopsis "Python utilities for filesystem exploration and automated builds") + (synopsis "Python utilities for file system exploration and automated builds") (description "Pox provides a collection of utilities for navigating and manipulating -filesystems. This module is designed to facilitate some of the low level -operating system interactions that are useful when exploring a filesystem on a +file systems. This module is designed to facilitate some of the low-level +operating system interactions that are useful when exploring a file system on a remote host. Pox provides Python equivalents of several shell commands such as @command{which} and @command{find}. These commands allow automated discovery of what has been installed on an operating system, and where the @@ -20244,12 +20524,23 @@ Notation (CSON).") (invoke "python" "-X" "dev" "-m" "unittest" "-v" "test"))) (add-after 'unpack 'disable-tests (lambda* _ - (substitute* "test/test_selector.py" - ;; XXX: This test fails for unknown reason inside the build - ;; environment. + ;; XXX: 7 tests fail out of 220. Disable them for now. + (substitute* (list "test/test_selector.py" + "test/test_mock.py") (("def test_events_watched_outside_test_are_ignored") "@unittest.skip('disabled by guix') - def test_events_watched_outside_test_are_ignored"))))))) + def test_events_watched_outside_test_are_ignored") + (("def test_awaited_from_autospec_mock.*" line) + (string-append line " return True\n")) + (("def test_create_autospec_on_coroutine_and_using_assert_methods.*" line) + (string-append line " return True\n")) + (("def test_patch_coroutine_with_multiple_scopes.*" line) + (string-append line " return True\n")) + (("def test_multiple_patches_on_coroutine.*" line) + (string-append line " return True\n")) + (("def test_patch_coroutine_only_when_running.*" line) + (string-append line " return True\n"))) + #t))))) (home-page "https://github.com/Martiusweb/asynctest") (synopsis "Extension of unittest for testing asyncio libraries") (description @@ -20368,15 +20659,31 @@ tests.") (define-public python-gssapi (package (name "python-gssapi") - (version "1.6.5") + (version "1.6.9") (source (origin (method url-fetch) (uri (pypi-uri "gssapi" version)) (sha256 (base32 - "02i5s7998dg5kcr4m0xwamd8vjqk1816xbzldyp68l91f6bynwcr")))) + "1fa78pn5jzfbwf3y6mj4fc8sh11wjf1hwh5qv39cdlxb71qsq2hb")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Work around + ;; https://github.com/pythongssapi/python-gssapi/issues/220. + (add-before 'check 'disable-failing-tests + (lambda _ + (let ((reason "Disabled failing test (see: \ +https://github.com/pythongssapi/python-gssapi/issues/220).")) + (substitute* "gssapi/tests/test_high_level.py" + ((".*def test_add_with_impersonate.*" all) + (string-append all " self.skipTest('" reason "')\n"))) + (substitute* "gssapi/tests/test_raw.py" + ((".*def test_.*impersonate_name.*" all) + (string-append all " self.skipTest('" reason "')\n"))) + #t)))))) (propagated-inputs `(("python-decorator" ,python-decorator) ("python-six" ,python-six))) @@ -20393,7 +20700,7 @@ tests.") (description "Python-GSSAPI provides both low-level and high level wrappers around the GSSAPI C libraries. While it focuses on the Kerberos mechanism, it should -also be useable with other GSSAPI mechanisms.") +also be usable with other GSSAPI mechanisms.") (license license:isc))) (define-public python-check-manifest @@ -20469,8 +20776,8 @@ files. These files are used to translate strings in android apps.") `(("python-pytest-cov" ,python-pytest-cov) ("python-pytest-timeout" ,python-pytest-timeout))) (home-page "https://github.com/gorakhargosh/watchdog") - (synopsis "Filesystem events monitoring") - (description "This package provides a way to monitor filesystem events + (synopsis "File system events monitoring") + (description "This package provides a way to monitor file system events such as a file modification and trigger an action. This is similar to inotify, but portable.") (license license:asl2.0))) @@ -20741,13 +21048,13 @@ content models.") ;; Testing requires undocumented setup changes, and so testing is disabled here. (arguments `(#:tests? #f)) (propagated-inputs - `(("python-certifi", python-certifi) - ("python-six", python-six) - ("python-dateutil", python-dateutil) - ("python-urllib3", python-urllib3) - ("python-pyjwt", python-pyjwt) - ("python-cryptography", python-cryptography) - ("python-nose", python-nose))) + `(("python-certifi" ,python-certifi) + ("python-six" ,python-six) + ("python-dateutil" ,python-dateutil) + ("python-urllib3" ,python-urllib3) + ("python-pyjwt" ,python-pyjwt) + ("python-cryptography" ,python-cryptography) + ("python-nose" ,python-nose))) (synopsis "DocuSign Python Client") (description "The Official DocuSign Python Client Library used to interact with the eSign REST API. Send, sign, and approve documents using this client.") @@ -20770,9 +21077,9 @@ content models.") `(("python-cffi" ,python-cffi))) (home-page "https://github.com/xattr/xattr") (synopsis - "Python wrapper for extended filesystem attributes") + "Python wrapper for extended file system attributes") (description "This package provides a Python wrapper for using extended -filesystem attributes. Extended attributes extend the basic attributes of files +file system attributes. Extended attributes extend the basic attributes of files and directories in the file system. They are stored as name:data pairs associated with file system objects (files, directories, symlinks, etc).") (license license:expat))) @@ -21375,6 +21682,37 @@ randomness (including real life dice) and different wordlists (including cryptographically signed ones).") (license license:gpl3+))) +(define-public python-dictdiffer + (package + (name "python-dictdiffer") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "dictdiffer" version)) + (sha256 + (base32 + "1lk3qmy1hkaphk4n7ayfk0wl6m2yvd6r7qkam6yncqfzgkbc1phs")))) + (build-system python-build-system) + (native-inputs + `(("python-check-manifest" ,python-check-manifest) + ("python-coverage" ,python-coverage) + ("python-isort" ,python-isort) + ("python-mock" ,python-mock) + ("python-pydoctstyle" ,python-pydocstyle) + ("python-pytest-cache" ,python-pytest-cache) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-pep8" ,python-pytest-pep8) + ("python-pytest-runner" ,python-pytest-runner) + ("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-tox" ,python-tox))) + (home-page "https://github.com/inveniosoftware/dictdiffer") + (synopsis "Diff and patch Python dictionary objects") + (description + "Dictdiffer is a Python module that helps you to diff and patch +dictionaries.") + (license license:expat))) + (define-public pyzo (package (name "pyzo") @@ -21785,10 +22123,10 @@ RFC 3464.") (home-page "https://flufli18n.readthedocs.io") (synopsis "API for Python internationalization") (description - "This package provides a high level, convenient API for managing -internationalization translation contexts in Python application. There is a + "This package provides a high-level, convenient API for managing +internationalization/translation contexts in Python applications. There is a simple API for single-context applications, such as command line scripts which -only need to translate into one language during the entire course of thei +only need to translate into one language during the entire course of their execution. There is a more flexible, but still convenient API for multi-context applications, such as servers, which may need to switch language contexts for different tasks.") @@ -21938,6 +22276,42 @@ dates in almost any string formats commonly found on web pages.") (description "This package provides a parser for Python dependency files.") (license license:expat))) +(define-public python-dpath + (package + (name "python-dpath") + (version "2.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dpath" version)) + (sha256 + (base32 + "1ymi9ssk7i0mx3mviplf4csfvzibdd6wyj4qzj6s487n9xgnp85y")))) + (build-system python-build-system) + (native-inputs + `(("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose))) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + ;; This invokation is taken from tox.ini. + (invoke "nosetests" "-d" "-v" "tests/")))))) + (home-page "https://github.com/akesterson/dpath-python") + (synopsis "Filesystem-like pathing and searching for dictionaries") + (description + "@code{python-dpath} is a library for accessing and searching +dictionaries via /slashed/paths ala xpath. + +Basically it lets you glob over a dictionary as if it were a filesystem. It +allows you to specify globs (ala the bash eglob syntax, through some advanced +fnmatch.fnmatch magic) to access dictionary elements, and provides some +facility for filtering those results.") + (license license:expat))) + (define-public python-safety (package (name "python-safety") @@ -21969,3 +22343,154 @@ dates in almost any string formats commonly found on web pages.") (description "Safety checks installed dependencies for known vulnerabilities. By default it uses the open Python vulnerability database Safety DB.") (license license:expat))) + +(define-public python-pypandoc + (package + (name "python-pypandoc") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pypandoc" version)) + (sha256 + (base32 + "1zvn9764cf7kkjkmr9gw6wc8adpk06qxr1rhxwa9pg0zmdvrk90l")))) + (build-system python-build-system) + (inputs + `(("pandoc" ,pandoc) + ("pandoc-citeproc" ,pandoc-citeproc))) + (propagated-inputs + `(("wheel" ,python-wheel))) + (native-inputs + `(("texlive" ,(texlive-union (list texlive-amsfonts + texlive-fonts-ec + texlive-latex-hyperref + texlive-latex-oberdiek + texlive-lm + texlive-xcolor))))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'disable-tests + (lambda _ + ;; Disable test requiring network access + (substitute* "tests.py" + (("test_basic_conversion_from_http_url") + "skip_test_basic_conversion_from_http_url")) + ;; Needed by texlive-union to generate fonts + (setenv "HOME" "/tmp") + #t))))) + (home-page "https://github.com/bebraw/pypandoc") + (synopsis "Python wrapper for pandoc") + (description "pypandoc is a thin Python wrapper around pandoc +and pandoc-citeproc.") + (license license:expat))) + +(define-public python-rnc2rng + (package + (name "python-rnc2rng") + (version "2.6.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "rnc2rng" version)) + (sha256 + (base32 + "1kmp3iwxxyzjsd47j2sprd47ihhkwhb3yydih3af5bbfq0ibh1w8")))) + (build-system python-build-system) + (propagated-inputs + `(("python-rply" ,python-rply))) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "python" "test.py")))))) + (home-page "https://github.com/djc/rnc2rng") + (synopsis "Convert RELAX NG Compact to regular syntax") + (description + "This package provides the @command{rnc2rng} command-line tool as well as +a Python library to convert RELAX NG schemata in Compact syntax (rnc) to +equivalent schemata in the XML-based default RELAX NG syntax.") + (license license:expat))) + +(define-public python-citeproc-py + (package + (name "python-citeproc-py") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "citeproc-py" version)) + (sha256 + (base32 + "00aaff50jy4j0nakdzq9258z1gzrac9baarli2ymgspj88jg5968")))) + (build-system python-build-system) + (propagated-inputs + `(("python-lxml" ,python-lxml) + ("python-rnc2rng" ,python-rnc2rng))) + (home-page + "https://github.com/brechtm/citeproc-py") + (synopsis "Citations and bibliography formatter") + (description + "Citeproc-py is a CSL processor for Python. It aims to implement the +CSL 1.0.1 specification. citeproc-py can output styled citations and +bibliographies in a number of different output formats. Currently supported +are plain text, reStructuredText and HTML.") + (license license:bsd-2))) + +(define-public python-inform + (package + (name "python-inform") + (version "1.23.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "inform" version)) + (sha256 + (base32 + "0dvc5klbnbryrvspp45nmlg02g40j7xspcz7lqsm0c0dj0z29zdz")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; PyPI tarball lacks tests + (native-inputs + `(("python-hypothesis" ,python-hypothesis) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner))) + (propagated-inputs + `(("python-arrow" ,python-arrow) + ("python-six" ,python-six))) + (home-page "https://inform.readthedocs.io") + (synopsis "Print & logging utilities for communicating with user") + (description + "Inform is designed to display messages from programs that are typically run from +a console. It provides a collection of ‘print’ functions that allow you to simply and +cleanly print different types of messages.") + (license license:gpl3+))) + +(define-public python-nestedtext + (package + (name "python-nestedtext") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "nestedtext" version)) + (sha256 + (base32 + "0xjx863n7yd1xmkwhy48lhmqrmlzgbx3civhk386hvrzyq4sx148")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; PyPI tarball lacks tests + (propagated-inputs + `(("python-inform" ,python-inform))) + (home-page "https://nestedtext.org") + (synopsis "Human readable and writable data interchange format") + (description + "NestedText is a file format for holding data that is to be entered, edited, or +viewed by people. It allows data to be organized into a nested collection of +dictionaries, lists, and strings. In this way it is similar to JSON and YAML, but +without the complexity and risk of YAML and without the syntatic clutter of JSON. +NestedText is both simple and natural. Only a small number of concepts and rules must +be kept in mind when creating it. It is easily created, modified, or viewed with +a text editor and easily understood and used by both programmers and non-programmers.") + (license license:expat))) ; MIT license diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7936638794..d99ff18af2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -592,7 +592,7 @@ To function properly, this package should not be installed together with the (define-public micropython (package (name "micropython") - (version "1.12") + (version "1.13") (source (origin (method url-fetch) @@ -600,8 +600,7 @@ To function properly, this package should not be installed together with the "releases/download/v" version "/micropython-" version ".tar.gz")) (sha256 - (base32 - "1fl1dm2aay23hyqbarnv69qj7z2wljcvkwmvfwfac8yadcv05zcq")) + (base32 "0lfl7dv5v9rqckslrjqy5swjri29x1nj5d79wxnjys4sq6r2xcws")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 25f811ac70..aabbdc308f 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -195,7 +195,6 @@ system, and the core design of Django is reused in Grantlee.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("postgresql" ,postgresql) @@ -346,7 +345,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtbase (package (name "qtbase") - ;; TODO Remove ((gnu packages kde) qtbase-for-krita) when upgrading qtbase. (version "5.14.2") (source (origin (method url-fetch) @@ -359,7 +357,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") "12mjsahlma9rw3vz9a6b5h2s6ylg8b34hxc2vnlna5ll429fgfa8")) ;; Use TZDIR to avoid depending on package "tzdata". (patches (search-patches "qtbase-use-TZDIR.patch" - "qtbase-moc-ignore-gcc-macro.patch")) + "qtbase-moc-ignore-gcc-macro.patch" + "qtbase-absolute-runpath.patch" + "qtbase-fix-krita-deadlock.patch")) (modules '((guix build utils))) (snippet ;; corelib uses bundled harfbuzz, md4, md5, sha3 @@ -371,6 +371,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") "zlib")) #t))))) (build-system gnu-build-system) + (outputs '("out" "debug")) (propagated-inputs `(("mesa" ,mesa) ;; Use which the package, not the function @@ -404,7 +405,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") ("libxslt" ,libxslt) ("libxtst" ,libxtst) ("mtdev" ,mtdev) - ("mariadb" ,mariadb "lib") ("mariadb-dev" ,mariadb "dev") ("nss" ,nss) ("openssl" ,openssl) @@ -477,6 +477,9 @@ developers using C++ or QML, a CSS & JavaScript like language.") "-opensource" "-confirm-license" + ;; Later stripped into the :debug output. + "-force-debug-info" + ;; These features require higher versions of Linux than the ;; minimum version of the glibc. See ;; src/corelib/global/minimum-linux_p.h. By disabling these @@ -601,27 +604,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") ;; qt used to refer to the monolithic Qt 5.x package (define-deprecated qt qtbase) -;; This variable is required by 'python-pyside-2-tools', which copies some -;; qtbase executables that fail to run because RUNPATH refers to the -;; wrong $ORIGIN. TODO: Merge with qtbase in the next rebuild cycle. -(define qtbase/next - (package - (inherit qtbase) - (source - (origin - (inherit (package-source qtbase)) - (patches (append (origin-patches (package-source qtbase)) - (search-patches "qtbase-absolute-runpath.patch"))))))) - -(define-public qtbase-for-krita - (hidden-package - (package - (inherit qtbase) - (source (origin - (inherit (package-source qtbase)) - (patches (append (origin-patches (package-source qtbase)) - (search-patches "qtbase-fix-krita-deadlock.patch")))))))) - (define-public qtsvg (package (inherit qtbase) (name "qtsvg") @@ -2779,7 +2761,7 @@ generate Python bindings for your C or C++ code.") (inputs `(("python-pyside-2" ,python-pyside-2) ("python-shiboken-2" ,python-shiboken-2) - ("qtbase" ,qtbase/next))) + ("qtbase" ,qtbase))) (native-inputs `(("python" ,python-wrapper))) (arguments diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index e5b4724bd6..a8f57b6c17 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -159,15 +159,14 @@ this package. E.g.: @code{(udev-rules-service 'rtl-sdr rtl-sdr)}") (define-public chirp (package (name "chirp") - (version "20200430") + (version "20201014") (source (origin (method url-fetch) (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" version "/chirp-daily-" version ".tar.gz")) (sha256 - (base32 - "060fzplgmpfrk6wkfaasx7phpfk90mmylk6drbwzk4f9r1655vda")))) + (base32 "16x3ix2n7a9l7lln2pri1xfmhyfvvzxb0nr3h33iajqimbwckxj0")))) (build-system python-build-system) (inputs `(("python2-libxml2" ,python2-libxml2) @@ -1084,7 +1083,7 @@ from devices on the 433 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz ISM bands.") (define-public multimon-ng (package (name "multimon-ng") - (version "1.1.8") + (version "1.1.9") (source (origin (method git-fetch) @@ -1093,13 +1092,13 @@ from devices on the 433 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz ISM bands.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1973xfyvzl1viz19zr83cgqlx5laxbjrca35rqabn6dlb6xb5xk8")))) + (base32 "01716cfhxfzsab9zjply9giaa4nn4b7rm3p3vizrwi7n253yiwm2")))) (build-system cmake-build-system) (inputs `(("libx11" ,libx11) ("pulseaudio" ,pulseaudio))) (arguments - '(#:tests? #f)) ; No test suite + '(#:tests? #f)) ; no test suite (home-page "https://github.com/EliasOenal/multimon-ng") (synopsis "Decoder for digital radio transmission modes") (description "Multimon-ng can decode several digital radio transmission diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index 2e364b2b8e..0fc63e8675 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> @@ -35,6 +35,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) @@ -81,15 +82,16 @@ to remotely control a user's Windows desktop.") (define-public freerdp (package (name "freerdp") - (version "2.0.0-rc4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://github.com/FreeRDP/FreeRDP.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0546i0m2d4nz5jh84ngwzpcm3c43fp987jk6cynqspsmvapab6da")))) + (version "2.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://github.com/FreeRDP/FreeRDP.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02zlg5r704zbryx09a5rjjf7q137kj16i9qh25dw9q1y69ri619n")))) (build-system cmake-build-system) (native-inputs `(("docbook-xml" ,docbook-xml) @@ -104,6 +106,7 @@ to remotely control a user's Windows desktop.") ("cups" ,cups) ("ffmpeg" ,ffmpeg) ("libjpeg" ,libjpeg-turbo) + ("libusb" ,libusb) ("libx11" ,libx11) ("libxkbcommon" ,libxkbcommon) ("libxkbfile" ,libxkbfile) @@ -123,7 +126,6 @@ to remotely control a user's Windows desktop.") `(#:build-type "RELEASE" #:configure-flags (list "-DWITH_JPEG=ON" - "-DWITH_LIBSYSTEMD=OFF" ,@(if (string-prefix? "x86_64" (or (%current-target-system) (%current-system))) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index b1906a6145..be426e102a 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -268,17 +268,17 @@ and triple stores.") (define-public serd (package (name "serd") - (version "0.30.4") + (version "0.30.6") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/serd-" version ".tar.bz2")) (sha256 (base32 - "168rn3m32c59qbar120f83ibcnnd987ij9p053kybgl7cmm6358c")))) + "1vrprliknw9s0mz99dk7qf8i8xx38dd173q6b60332wxcm6cg8pm")))) (build-system waf-build-system) (arguments - `(#:tests? #f ; no check target + `(#:tests? #f ; no check target #:phases (modify-phases %standard-phases (add-before @@ -302,14 +302,14 @@ ideal (e.g. in LV2 implementations or embedded applications).") (define-public sord (package (name "sord") - (version "0.16.4") + (version "0.16.6") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/sord-" version ".tar.bz2")) (sha256 (base32 - "1mwh4qvp9q4vgrgg5bz9sgjhxscncrylf2b06h0q55ddwzs9hndi")))) + "0i4x49ckdi1d24kwp6rmnf2mz78sncdpq22xhv9kclq8frxg4yk6")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 81269d28d9..42d4faa234 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -650,8 +650,8 @@ outcomes of a code example.") (synopsis "Ripper-style abstract syntax tree to Ruby source generator") (description "Sorcerer generates Ruby code from a Ripper-like abstract syntax tree (i.e. S-Expressions). Sorcerer is targeted mainly at small -snippets of Ruby code, expressable in a single line. Longer examples may be -re-sourced, but they will be rendered in a single line format.") +snippets of Ruby code, expressible in a single line. Longer examples may be +re-sourced, but they will be rendered in a single-line format.") (home-page "https://github.com/rspec-given/sorcerer") (license license:expat))) @@ -3753,8 +3753,7 @@ specs for Ruby implementations in ruby/spec.") (invoke "rspec")) #t))))) (inputs - `(("mariadb" ,mariadb "lib") - ("mariadb-dev" ,mariadb "dev") + `(("mariadb-dev" ,mariadb "dev") ("zlib" ,zlib))) (native-inputs `(("ruby-rspec" ,ruby-rspec) @@ -7750,7 +7749,7 @@ master/html-formatter/ruby") (native-inputs `(;; Use a untested version of aruba, to avoid a circular dependency, as ;; ruby-aruba depends on ruby-cucumber. - ("ruby-aruba", ruby-aruba-without-tests) + ("ruby-aruba" ,ruby-aruba-without-tests) ("ruby-rspec" ,ruby-rspec) ("ruby-pry" ,ruby-pry) ("ruby-nokogiri" ,ruby-nokogiri) @@ -8809,7 +8808,7 @@ display width of strings in Ruby.") (native-inputs `(("ruby-rdoc" ,ruby-rdoc) ("ruby-rspec" ,ruby-rspec) - ("ruby-rubygems-tasks", ruby-rubygems-tasks))) + ("ruby-rubygems-tasks" ,ruby-rubygems-tasks))) (synopsis "Ruby library to help check the Ruby version") (description "@code{ruby_version} provides a @code{RubyVersion} module to simplify checking for the right Ruby version in software.") @@ -9921,7 +9920,7 @@ all known public suffixes.") ("bundler" ,bundler) ("ruby-idn-ruby" ,ruby-idn-ruby) ("ruby-sporkmonger-rack-mount" ,ruby-sporkmonger-rack-mount) - ("ruby-rspec-its", ruby-rspec-its-minimal) + ("ruby-rspec-its" ,ruby-rspec-its-minimal) ("ruby-yard" ,ruby-yard) ("ruby-simplecov" ,ruby-simplecov))) (propagated-inputs diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 0700167521..fabb4e0380 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -29,6 +29,7 @@ #:use-module (guix packages) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-graphics) #:use-module (gnu packages documentation) #:use-module (gnu packages jemalloc) #:use-module (gnu packages pcre) @@ -465,7 +466,7 @@ Example use cases: Features: @itemize @bullet -@item Coalesces multiple filesystem events into one, for editors that +@item Coalesces multiple file system events into one, for editors that use swap/backup files during saving @item By default, uses @code{.gitignore} and @code{.ignore} to determine which files to ignore notifications for diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index d5914f012b..35a96b5754 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -4,11 +4,12 @@ ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Nikolai Merinov <nikolai.merinov@member.fsf.org> -;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -421,7 +422,9 @@ test = { path = \"../libtest\" } `(("bison" ,bison) ; For the tests ("cmake" ,cmake-minimal) ("flex" ,flex) ; For the tests - ("gdb" ,gdb) ; For the tests + ;; FIXME: Rust 1.27 and some later versions require GDB 8.2 specifically. + ;; See <https://bugs.gnu.org/37810>. Use it on all Rusts for simplicity. + ("gdb" ,gdb-8.2) ; For the tests ("procps" ,procps) ; For the tests ("python-2" ,python-2) ("rustc-bootstrap" ,mrustc) @@ -449,7 +452,7 @@ test = { path = \"../libtest\" } (variable "LIBRARY_PATH") (files '("lib" "lib64"))))) - (synopsis "Compiler for the Rust progamming language") + (synopsis "Compiler for the Rust programming language") (description "Rust is a systems programming language that provides memory safety and thread safety guarantees.") (home-page "https://www.rust-lang.org") @@ -614,7 +617,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (lambda (file) (delete-manifest-file out file)) '("install.log" "manifest-rust-docs" - "manifest-rust-std-x86_64-unknown-linux-gnu" + ,(string-append "manifest-rust-std-" + (nix-system->gnu-triplet-for-rust)) "manifest-rustc")) (for-each (lambda (file) (delete-manifest-file cargo-out file)) @@ -756,6 +760,9 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (patches (search-patches "rust-coresimd-doctest.patch" "rust-1.25-accept-more-detailed-gdb-lines.patch")))) + (inputs + (alist-replace "openssl" (list openssl) + (package-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) @@ -798,7 +805,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (("fn finds_author_git") "#[ignore]\nfn finds_author_git") (("fn finds_local_author_git") "#[ignore]\nfn finds_local_author_git")) #t)) - ;; TODO(rebuild-rust): Remove this phase in rust-1.28 when rebuilding. (add-after 'patch-cargo-tests 'disable-cargo-test-for-nightly-channel (lambda* _ ;; This test failed to work on "nightly" channel builds @@ -827,11 +833,6 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" "rust-bootstrap-stage0-test.patch" "rust-1.25-accept-more-detailed-gdb-lines.patch" "rust-reproducible-builds.patch")))) - (native-inputs - ;; FIXME: Rust 1.27 and some later versions require GDB 8.2 specifically. - ;; See <https://bugs.gnu.org/37810>. - (alist-replace "gdb" (list gdb-8.2) - (package-native-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) @@ -883,6 +884,8 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" (substitute* "src/test/run-pass/issue-44056.rs" (("only-x86_64") "ignore-test")) #t)) + ;; This is no longer needed as of 1.28 + (delete 'disable-cargo-test-for-nightly-channel) ;; The thinlto test should pass with llvm 6. (delete 'disable-thinlto-test)))))))) @@ -1145,14 +1148,13 @@ move around." (setenv "CARGO_HOME" cargo-home) #t)))))))))) -;; TODO(rebuild-rust): Switch to LLVM 9 in 1.38 instead of 1.40. (define-public rust-1.38 (let ((base-rust (rust-bootstrapped-package rust-1.37 "1.38.0" "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4"))) (package (inherit base-rust) - #;(inputs + (inputs (alist-replace "llvm" (list llvm-9) (package-inputs base-rust))) (arguments @@ -1195,9 +1197,6 @@ move around." "1ba9llwhqm49w7sz3z0gqscj039m53ky9wxzhaj11z6yg1ah15yx"))) (package (inherit base-rust) - (inputs - (alist-replace "llvm" (list llvm-9) - (package-inputs base-rust))) (source (origin (inherit (package-source base-rust)) @@ -1252,8 +1251,6 @@ move around." ,(patch-command-exec-tests-phase '(match (find-files "src/test" "command-exec\\.rs") ((file) file)))) - ;; TODO(rebuild-rust): The test in question got fixed long ago. - (delete 'disable-cargo-test-for-nightly-channel) ;; The test got removed in commit 000fe63b6fc57b09828930cacbab20c2ee6e6d15 ;; "Remove painful test that is not pulling its weight" (delete 'remove-unsupported-tests))))))))) @@ -1322,4 +1319,4 @@ move around." "0a17jby2pd050s24cy4dfc0gzvgcl585v3vvyfilniyvjrqknsid")) ;; TODO(staging): Bump this variable to the latest packaged rust. -(define-public rust rust-1.39) +(define-public rust rust-1.45) diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 8c837fdaeb..943e9ba5b9 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -59,7 +59,7 @@ `(("python-cysignals" ,python-cysignals))) (inputs `(("gmp" ,gmp) - ("pari-gp", pari-gp))) + ("pari-gp" ,pari-gp))) (home-page "https://cypari2.readthedocs.io/") (synopsis "Python interface to the number theory library libpari") diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 84e389340b..76a9c01866 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (guix build-system gnu) #:use-module (guix licenses) #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) @@ -173,14 +175,15 @@ external dependencies.") (define-public samba (package (name "samba") - (version "4.12.3") + (version "4.12.7") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 - (base32 "09w7aap1cjc41ayhaksm1igc7p7gl40fad4a1l6q4ds9a2jbrb9z")) + (base32 "1lkgih0vrarf5zy6chspkwarqdylzwr63nxr3qjkpazrs86nlm9h")) + (patches (search-patches "samba-fix-fcntl-hint-detection.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index cf6bf18373..96e23518ec 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -197,14 +197,14 @@ with a PKCS #11 Cryptographic Token Interface.") (define-public pcsc-lite (package (name "pcsc-lite") - (version "1.8.26") + (version "1.9.0") (source (origin (method url-fetch) (uri (string-append "https://pcsclite.apdu.fr/files/" "pcsc-lite-" version ".tar.bz2")) (sha256 (base32 - "1ndvvz0fgqwz70pijymsxmx25mzryb0zav1i8jjc067ndryvxdry")))) + "1y9f9zipnrmgiw0mxrvcgky8vfrcmg6zh40gbln5a93i2c1x8j01")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers" diff --git a/gnu/packages/sequoia.scm b/gnu/packages/sequoia.scm index 714f2b5ab0..8f2b351031 100644 --- a/gnu/packages/sequoia.scm +++ b/gnu/packages/sequoia.scm @@ -83,7 +83,7 @@ ("rust-dirs" ,rust-dirs-2.0) ;;("rust-failure" included ("rust-filetime" ,rust-filetime-0.2) - ("rust-flate2" ,rust-flate2-1.0) + ("rust-flate2" ,rust-flate2-1) ("rust-fs2" ,rust-fs2-0.4) ("rust-futures" ,rust-futures-0.1) ("rust-http" ,rust-http-0.1) @@ -98,7 +98,7 @@ ("rust-native-tls" ,rust-native-tls-0.2) ("rust-nettle" ,rust-nettle-7) ("rust-parity-tokio-ipc" ,rust-parity-tokio-ipc-0.4) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) + ("rust-percent-encoding" ,rust-percent-encoding-2) ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quickcheck" ,rust-quickcheck-0.9) @@ -107,11 +107,11 @@ ("rust-rusqlite" ,rust-rusqlite-0.19) ("rust-structopt" ,rust-structopt-0.3) ("rust-tempfile" ,rust-tempfile-3) - ("rust-thiserror" ,rust-thiserror-1.0) + ("rust-thiserror" ,rust-thiserror-1) ("rust-tokio" ,rust-tokio-0.1) ("rust-tokio-core" ,rust-tokio-core-0.1) ("rust-unicode-normalization" ,rust-unicode-normalization-0.1) - ("rust-url" ,rust-url-2.1) + ("rust-url" ,rust-url-2) ("rust-zbase32" ,rust-zbase32-0.1)) #:cargo-development-inputs (("rust-bindgen" ,rust-bindgen-0.51) ;; FIXME for nettle-sys and rusqlite diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 7868dc40f0..9e400eb27e 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -513,13 +513,13 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.9.21") + (version "0.9.23") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 - (base32 "1mih5w73wp57fnf1vcxnfmm5d31vm7pz8fq5a9vw1ch3dv0yczl5")) + (base32 "165lx37kibsm56srg9rj7s950b0p7g4g8qhs2iikbcyinp303g35")) (modules '((guix build utils))) (snippet `(begin @@ -701,8 +701,9 @@ Its features include: (home-page "https://github.com/rain-1/s") (synopsis "Extremely minimal shell with the simplest syntax possible") (description - "S is a new shell that aims to be extremely simple. -S does not implemnt the POSIX shell standard. + "S is a new shell that aims to be extremely simple. It does not +implement the POSIX shell standard. + There are no globs or \"splatting\" where a variable $FOO turns into multiple command line arguments. One token stays one token forever. This is a \"no surprises\" straightforward approach. @@ -813,15 +814,14 @@ Shell (pdksh).") (define-public oil (package (name "oil") - ;; https://www.oilshell.org/blog/2020/04/release-0.8.pre4.html#comment-on-version-numbering - (version "0.8.pre6") + (version "0.8.2") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "11nfwn5b1w74hv78065jg2zm45mqzi59381b0f649j7n3g7yp3iq")))) + (base32 "1m49darrs38x60zqi3sy1mh4a47qvwcyf7djrkzqwzwxsczxybgr")))) (build-system gnu-build-system) (arguments `(#:strip-binaries? #f ; strip breaks the binary @@ -830,7 +830,7 @@ Shell (pdksh).") (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (setenv "CC" "gcc") + (setenv "CC" ,(cc-for-target)) (substitute* "configure" ((" cc ") " $CC ")) (invoke "./configure" (string-append "--prefix=" out) @@ -838,7 +838,7 @@ Shell (pdksh).") (replace 'check ;; The tests are not distributed in the tarballs but upstream ;; recommends running this smoke test. - ;; https://github.com/oilshell/oil/blob/release/0.8.pre6/INSTALL.txt#L38-L48 + ;; https://github.com/oilshell/oil/blob/release/0.8.0/INSTALL.txt#L38-L48 (lambda _ (let* ((oil "_bin/oil.ovm")) (invoke/quiet oil "osh" "-c" "echo hi") diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 848a811d33..0e259d71f3 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -30,14 +30,14 @@ (define-public skalibs (package (name "skalibs") - (version "2.9.2.1") + (version "2.9.3.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" version ".tar.gz")) (sha256 - (base32 "0ff551181vv9d1z5sv7yg6n4b88ajcdircs4p4nif4yl7nsrj2r5")))) + (base32 "0i1vg3bh0w3bpj7cv0kzs6q9v2dd8wa2by8h8j39fh1qkl20f6ph")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -62,14 +62,14 @@ and file system operations. It is used by all skarnet.org software.") (define-public execline (package (name "execline") - (version "2.6.0.2") + (version "2.6.1.1") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/execline/execline-" version ".tar.gz")) (sha256 - (base32 "0wdg93hwpxxdqmsnd8j1nf3m2pf85n3rxaawzaih1y0ajyz6gwya")))) + (base32 "0mmsnai3bkyhng0cxdz6bf7d6b7kbsxs4p39m63215lz6kq0hhrr")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -104,14 +104,14 @@ complexity."))) (define-public s6 (package (name "s6") - (version "2.9.1.0") + (version "2.9.2.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6/s6-" version ".tar.gz")) (sha256 - (base32 "1xqzl2wnvcmcyhppk7mc10h1ac7fkik3i6gpyliwpf3d5i9mkqh5")))) + (base32 "1pfxx50shncg2s47ic4kp02jh1cxfjq75j3mnxjagyzzz0mbfg9n")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline))) @@ -150,14 +150,14 @@ functionality with a very small amount of code."))) (define-public s6-dns (package (name "s6-dns") - (version "2.3.2.0") + (version "2.3.3.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6-dns/s6-dns-" version ".tar.gz")) (sha256 - (base32 "09hyb1xv9glqq0yy7wy8hiwvlr78kwv552pags8ancgamag15di7")))) + (base32 "05l74ciflaahlgjpvy1g0slydwqclxgybxrkpvdddd2yzwc5kira")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -179,14 +179,14 @@ as an alternative to the BIND, djbdns or other DNS clients."))) (define-public s6-networking (package (name "s6-networking") - (version "2.3.1.2") + (version "2.3.2.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/s6-networking/s6-networking-" version ".tar.gz")) (sha256 - (base32 "1029bgwfmv903y5ji93j75m7p2jgchdxya1khxzb42q2z7yxnlyr")))) + (base32 "04kxj579pm4n5ifc3gfmrqj74vqqfqc82d69avzkn3yrc226mqxv")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs) ("execline" ,execline) @@ -263,7 +263,7 @@ environment."))) (define-public s6-portable-utils (package (name "s6-portable-utils") - (version "2.2.2.4") + (version "2.2.3.0") (source (origin (method url-fetch) @@ -271,7 +271,7 @@ environment."))) "https://skarnet.org/software/s6-portable-utils/s6-portable-utils-" version ".tar.gz")) (sha256 - (base32 "0494saavpqfa4v5kib69p186858yjy87hm5qm804a4xvq51wqbwm")))) + (base32 "063zwifigg2b3wsixdcz4h9yvr6fkqssvx0iyfsprjfmm1yapfi9")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -307,7 +307,7 @@ systems and other constrained environments, but they work everywhere."))) (build-system gnu-build-system) (inputs `(("execline" ,execline) - ("s6", s6) + ("s6" ,s6) ("skalibs" ,skalibs))) (arguments '(#:configure-flags @@ -340,7 +340,7 @@ all the details."))) (define-public s6-linux-utils (package (name "s6-linux-utils") - (version "2.5.1.2") + (version "2.5.1.3") (source (origin (method url-fetch) @@ -348,7 +348,7 @@ all the details."))) "https://skarnet.org/software/s6-linux-utils/s6-linux-utils-" version ".tar.gz")) (sha256 - (base32 "0w4jms9qyb5kx9zcyd3gzri60rrii2rbmh08s59ckg4awy27py86")))) + (base32 "0wbv02zxaami88xbj2zg63kspz05bbplswg0c6ncb5g9khf52wa4")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index f27f9d0176..5ba9594135 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -48,14 +48,14 @@ (define-public python-sphinx (package (name "python-sphinx") - (version "2.3.1") + (version "3.1.2") (source (origin (method url-fetch) (uri (pypi-uri "Sphinx" version)) (sha256 (base32 - "19a28nsb0w4bs6k8rdfyk6vzrcwdpvhs2wq77rgpmww59yvndrz6")))) + "1zd8l4dh0v4p8m7s51xr001k09cq2023dd0953ygw7xa76dypnmr")))) (build-system python-build-system) (arguments `(#:phases @@ -99,52 +99,7 @@ for Python projects or other documents consisting of multiple reStructuredText sources.") (license license:bsd-2) - (properties `((python2-variant . ,(delay python2-sphinx)))))) - -;; Sphinx 2 does not support Python 2, so we stick with this older version here. -;; Remove this package once python2-pbcore no longer requires it. -(define-public python2-sphinx - (let ((base (package-with-python2 (strip-python2-variant python-sphinx)))) - (package - (inherit base) - (version "1.7.7") - (source (origin - (method url-fetch) - (uri (pypi-uri "Sphinx" version)) - (sha256 - (base32 - "0pkkbfj7cl157q550gcs45am5y78ps0h7q6455d64s1zmw01jlvi")))) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'check 'disable-broken-tests - (lambda _ - ;; These tests are broken when using Python2: - ;; <https://github.com/sphinx-doc/sphinx/issues/4710>. - (for-each delete-file '("tests/test_api_translator.py" - "tests/test_setup_command.py")) - #t)))))) - (native-inputs `(("python2-mock" ,python2-mock) - ("python2-enum34" ,python2-enum34) - ,@(package-native-inputs base))) - ;; Sphinx 2 has some dependencies that do not support Python 2, so - ;; we keep our own propagated-inputs here instead of inheriting. - (propagated-inputs `(("python2-pytz" ,python2-pytz) - ("python2-typing" ,python2-typing) - ("python2-imagesize" ,python2-imagesize) - ("python2-sphinx-alabaster-theme" - ,python2-sphinx-alabaster-theme) - ("python2-babel" ,python2-babel-2.6) - ("python2-snowballstemmer" ,python2-snowballstemmer) - ("python2-docutils" ,python2-docutils-0.14) - ("python2-jinja2" ,python2-jinja2) - ("python2-packaging" ,python2-packaging) - ("python2-pygments" ,python2-pygments) - ("python2-requests" ,python2-requests) - ("python2-six" ,python2-six) - ("python2-sphinxcontrib-websupport" - ,python2-sphinxcontrib-websupport)))))) + (properties `((python2-variant . ,(delay python-sphinx)))))) (define-public python-sphinxcontrib-applehelp (package diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 4aff8dbf56..2fb587aa7a 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -102,7 +102,7 @@ system to use the host GPU to accelerate 3D rendering.") (define-public spice-protocol (package (name "spice-protocol") - (version "0.14.2") + (version "0.14.3") (source (origin (method url-fetch) (uri (string-append @@ -110,7 +110,7 @@ system to use the host GPU to accelerate 3D rendering.") "spice-protocol-" version ".tar.xz")) (sha256 (base32 - "1sgi9ksb781qs47pdbw0bmnyg8dgayn5xrzj6vzdy043nv466flg")))) + "0yj8k7gcirrsf21w0q6146n5g4nzn2pqky4p90n5760m5ayfb1pr")))) (build-system meson-build-system) (arguments `(#:phases @@ -144,11 +144,8 @@ which allows users to view a desktop computing environment.") (build-system gnu-build-system) (propagated-inputs `(("gstreamer" ,gstreamer) - ("gst-libav" ,gst-libav) ("gst-plugins-base" ,gst-plugins-base) ("gst-plugins-good" ,gst-plugins-good) - ("gst-plugins-bad" ,gst-plugins-bad) - ("gst-plugins-ugly" ,gst-plugins-ugly) ("spice-protocol" ,spice-protocol) ;; These are required by the pkg-config files. diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 79f8256a3f..ca99235a01 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -57,6 +57,8 @@ #:use-module (gnu packages popt) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) @@ -123,7 +125,7 @@ file names. (define-public libssh (package (name "libssh") - (version "0.9.4") + (version "0.9.5") (source (origin (method git-fetch) (uri (git-reference @@ -131,7 +133,7 @@ file names. (commit (string-append "libssh-" version)))) (sha256 (base32 - "0qr4vi3k1wv69c95d9j26fiv78pzyksaq8ccd76b8nxar5z1fbj6")) + "1b2klflmn0mdkcyjl4dqfg116bf9nhmqm4qla5cqa9xis89a5bn6")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (outputs '("out" "debug")) @@ -182,7 +184,7 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "8.3p1") + (version "8.4p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" @@ -190,7 +192,7 @@ a server that supports the SSH-2 protocol.") (patches (search-patches "openssh-hurd.patch")) (sha256 (base32 - "1cl74ghi9y21dc3f4xa0qamb7dhwacbynh1ks9syprrg8zhgpgpj")))) + "091b3pxdlj47scxx6kkf4agkx8c8sdacdxx8m1dw1cby80pd40as")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff) ("pkg-config" ,pkg-config))) @@ -592,10 +594,13 @@ basis for almost any application.") (substitute* "src/testsuite/login-auth-test" (("/bin/cat") "cat")) - #t)))) + #t)) + (patches (search-patches "lsh-fix-x11-forwarding.patch")))) (build-system gnu-build-system) (native-inputs - `(("m4" ,m4) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("m4" ,m4) ("guile" ,guile-2.0) ("gperf" ,gperf) ("psmisc" ,psmisc))) ; for `killall' @@ -613,7 +618,8 @@ basis for almost any application.") ;; The server (lshd) invokes xauth when X11 forwarding is requested. ;; This adds 24 MiB (or 27%) to the closure of lsh. - ("xauth" ,xauth))) + ("xauth" ,xauth) + ("libxau" ,libxau))) ;also required for x11-forwarding (arguments '(;; Skip the `configure' test that checks whether /dev/ptmx & ;; co. work as expected, because it relies on impurities (for @@ -626,14 +632,20 @@ basis for almost any application.") ;; 'lsh_argp.h' checks HAVE_ARGP_PARSE but nothing ;; defines it. "CPPFLAGS=-DHAVE_ARGP_PARSE") - - ;; FIXME: Tests won't run in a chroot, presumably because - ;; /etc/profile is missing, and thus clients get an empty $PATH - ;; and nothing works. - #:tests? #f - #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; FIXME: Most tests won't run in a chroot, presumably because + ;; /etc/profile is missing, and thus clients get an empty $PATH + ;; and nothing works. Run only the subset that passes. + (delete-file "configure") ;force rebootstrap + (substitute* "src/testsuite/Makefile.am" + (("seed-test \\\\") ;prevent trailing slash + "seed-test") + (("^\t(lsh|daemon|tcpip|socks|lshg|lcp|rapid7|lshd).*test.*") + "")) + #t)) (add-before 'configure 'pre-configure (lambda* (#:key inputs #:allow-other-keys) (let* ((nettle (assoc-ref inputs "nettle")) @@ -694,7 +706,7 @@ manipulating key files.") (base32 "0q7fblaczb7kwbsz0gdy9267z0sllzgmf0c7z5c9mf88wv74ycn6")))) (build-system gnu-build-system) - (description "sshpass is a tool for non-interactivly performing password + (description "sshpass is a tool for non-interactively performing password authentication with SSH's so-called @dfn{interactive keyboard password authentication}.") (license license:gpl2+))) @@ -852,3 +864,39 @@ program doesn't depend on any cryptographic libraries. It's a simple, single-threaded, standalone C program. It uses @code{poll()} to trap multiple clients at a time.") (license license:unlicense))) + +(define-public webssh + (package + (name "webssh") + (version "1.5.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/huashengdun/webssh") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l4bwzaifsd6pl120d400qkhvaznj2ck1lvwg76ycb08jsk6gpaz")))) + (build-system python-build-system) + (propagated-inputs + `(("python-paramiko" ,python-paramiko) + ("python-tornado" ,python-tornado))) + (home-page "https://webssh.huashengdun.org/") + (synopsis "Web application to be used as an SSH client") + (description "This package provides a web application to be used as an SSH +client. + +Features: +@itemize @bullet +@item SSH password authentication supported, including empty password. +@item SSH public-key authentication supported, including DSA RSA ECDSA +Ed25519 keys. +@item Encrypted keys supported. +@item Two-Factor Authentication (time-based one-time password) supported. +@item Fullscreen terminal supported. +@item Terminal window resizable. +@item Auto detect the ssh server's default encoding. +@item Modern browsers are supported. +@end itemize") + (license license:expat))) diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index aa91424b4d..b2b5da96f8 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -164,7 +164,7 @@ fundamental object types for C.") ("tdb" ,tdb) ("tevent" ,tevent))) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml) ("libxml2" ,libxml2) ; for xmllint diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 82f97c679e..71ff921c62 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -702,14 +702,14 @@ analysis.") (define-public r-survival (package (name "r-survival") - (version "3.2-3") + (version "3.2-7") (source (origin (method url-fetch) (uri (cran-uri "survival" version)) (sha256 (base32 - "07h76r2y23w889257krlijcw4n4d7ssx92x7i5qb1xyv5gyvl3rx")))) + "0ila864g5b9yhjhk3jirgdpi06sksc0axa78890dmkvyv9rwsmjk")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -1415,13 +1415,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.") (define-public r-knitr (package (name "r-knitr") - (version "1.29") + (version "1.30") (source (origin (method url-fetch) (uri (cran-uri "knitr" version)) (sha256 (base32 - "00rcwiq8znmk5h4qgrwd0639xyb38iwbjykqjk3disz3kvrcvbn1")))) + "0gn9qwc5762a6j0iywfwhalni52g228dcy4bl4di6d52cqsv3ars")))) (build-system r-build-system) (propagated-inputs `(("r-evaluate" ,r-evaluate) @@ -1965,13 +1965,13 @@ inference for statistical models.") (define-public r-coda (package (name "r-coda") - (version "0.19-3") + (version "0.19-4") (source (origin (method url-fetch) (uri (cran-uri "coda" version)) (sha256 (base32 - "1mn50bshky968gn4nf6vnkaa768fnvm1xmhkms7szwdw9341zpyk")))) + "13z5dwfpnyyhpsbpg4xr9g5c1685jhqj90f4x4qkcykr6kykqba2")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -2034,14 +2034,14 @@ files in R. It is built on top of the libxml2 C library.") (define-public r-multitaper (package (name "r-multitaper") - (version "1.0-14") + (version "1.0-15") (source (origin (method url-fetch) (uri (cran-uri "multitaper" version)) (sha256 (base32 - "04wd9bbhyx7697pfy0fpj02v1csr48hkpqj62h9p8a6w84ji4k68")))) + "1gm3wr8xqpqiby7q1dr3zxim77v0bvvrqi0hlazf5g3gnkrp2zc3")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -2100,14 +2100,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.1.9") + (version "1.1.10") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "1mz3r6ad484xmx0i89gvmak4wzl4cp59gxdzirrci9znw1axrrvx")))) + "1pq16bf40zx441ylmqqqilj3xp39r707h56kwqp5yqklq9yln2z1")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2322,14 +2322,14 @@ collation, and NAMESPACE files.") (define-public r-openssl (package (name "r-openssl") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (cran-uri "openssl" version)) (sha256 (base32 - "17fkc6pr8w5z3rpadg692a689p1v4j7xl5ak0y64is7c74cxgljx")))) + "0sc2skh1nz7jj65p0pq4a6bl8jza6lyi4zvmvwndzxfgivgh281l")))) (build-system r-build-system) (inputs `(("libressl" ,libressl))) @@ -2426,13 +2426,13 @@ informative error messages when it's not available.") (define-public r-devtools (package (name "r-devtools") - (version "2.3.1") + (version "2.3.2") (source (origin (method url-fetch) (uri (cran-uri "devtools" version)) (sha256 (base32 - "100mgighf6vqsfwv2qw5rlnd5sfvcji9l9jrmx9ii28r9fd2gyas")))) + "0vcqs4c5dfjs2ddkclv3z7zzix2zrnrxvzax8hjvjszgp8362275")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) @@ -2467,13 +2467,13 @@ tools to simplify the devolpment of R packages.") (define-public r-withr (package (name "r-withr") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (cran-uri "withr" version)) (sha256 (base32 - "10mmfffjbnb2zq5x0kqhhb4z6va4micc6pjzvlfji34gyhffa8ac")))) + "1837vjp35npjrnis1im5xrwj1swpgnms00gkjiz7296l8yckrh1c")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -2511,22 +2511,27 @@ time-of-day values, based on the @code{difftime} class.") (define-public r-readr (package (name "r-readr") - (version "1.3.1") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "readr" version)) (sha256 (base32 - "1wz496rw0ah433p755n3xac8gh7yzid4xgdjzd1a7wmpkgilvy9k")))) + "1fa67h4l9d30ig460xizgzl115i9pm3bk9dvsbrw6awbmf51ic82")))) (build-system r-build-system) (propagated-inputs - `(("r-clipr" ,r-clipr) + `(("r-cli" ,r-cli) + ("r-clipr" ,r-clipr) + ("r-cpp11" ,r-cpp11) ("r-crayon" ,r-crayon) - ("r-rcpp" ,r-rcpp) ("r-hms" ,r-hms) + ("r-lifecycle" ,r-lifecycle) ("r-tibble" ,r-tibble) ("r-r6" ,r-r6) + ("r-rlang" ,r-rlang) ("r-bh" ,r-bh))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/readr") (synopsis "Read tabular data") (description @@ -2690,18 +2695,17 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.3") + (version "2.4") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "0vdjq4kcyxkr2m27588kk6yi5g53symjshj4jz4n0j18wz53shji")))) + (base32 "1y2156w1abik8df8vl376ilv8s1jg8i0x2w4n4dwrnm3xxgp5kf0")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs - `(("r-base64enc" ,r-base64enc) - ("r-evaluate" ,r-evaluate) + `(("r-evaluate" ,r-evaluate) ("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-knitr" ,r-knitr) @@ -2806,13 +2810,13 @@ a column in data frame.") (define-public r-rsqlite (package (name "r-rsqlite") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (cran-uri "RSQLite" version)) (sha256 (base32 - "1m38sj8rwbf3p2lhqabcp7c7djk7s9ng37cz39yxk706v9pi4380")))) + "0lynli9144dzb9vhxssba20v7z5h2nirawpvvy8ykv4n3ir7qlsl")))) (properties `((upstream-name . "RSQLite"))) (build-system r-build-system) (propagated-inputs @@ -2824,6 +2828,8 @@ a column in data frame.") ("r-bit64" ,r-bit64) ("r-blob" ,r-blob) ("r-pkgconfig" ,r-pkgconfig))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/rstats-db/RSQLite") (synopsis "SQLite interface for R") (description @@ -3604,13 +3610,13 @@ t-probabilities, quantiles, random deviates and densities.") (define-public r-matrixstats (package (name "r-matrixstats") - (version "0.56.0") + (version "0.57.0") (source (origin (method url-fetch) (uri (cran-uri "matrixStats" version)) (sha256 (base32 - "09qgfv9x32x6ncgf19iy7yjp26fwy6p5wm8spc2xzfc0qhylmqrr")))) + "0hzkx7yi9ira476izsgw7r2bhv72ra4z2m9zr1i1f4ivrn3ihs7r")))) (properties `((upstream-name . "matrixStats"))) (build-system r-build-system) (native-inputs @@ -4079,27 +4085,6 @@ framework, with additional code inspection and report generation tools.") hierarchical clustering dendrograms.") (license license:gpl2+))) -(define-public r-preprocesscore - (package - (name "r-preprocesscore") - (version "1.50.0") - (source - (origin - (method url-fetch) - (uri (bioconductor-uri "preprocessCore" version)) - (sha256 - (base32 - "0q1406kswylc8zn5k3wyd34p34pfzbhi1ggkfsh30zcjp6adbwjl")))) - (properties - `((upstream-name . "preprocessCore"))) - (build-system r-build-system) - (home-page "https://github.com/bmbolstad/preprocessCore") - (synopsis "Collection of pre-processing functions") - (description - "This package provides a library of core pre-processing and normalization -routines.") - (license license:lgpl2.0+))) - (define-public r-fastcluster (package (name "r-fastcluster") @@ -4217,18 +4202,17 @@ including: (define-public r-gplots (package (name "r-gplots") - (version "3.0.4") + (version "3.1.0") (source (origin (method url-fetch) (uri (cran-uri "gplots" version)) (sha256 (base32 - "15ip3v4xiqzbanf8bc5fj90cbwdgixr72aj5jrp34jfdzdx0gxwg")))) + "05rislwgaw6v5dmhcwyvc04hi1fgaxrpb61f66kx483px45w6f24")))) (build-system r-build-system) (propagated-inputs `(("r-catools" ,r-catools) - ("r-gdata" ,r-gdata) ("r-gtools" ,r-gtools) ("r-kernsmooth" ,r-kernsmooth))) (native-inputs @@ -4927,14 +4911,14 @@ of the points.") (define-public r-fpc (package (name "r-fpc") - (version "2.2-7") + (version "2.2-8") (source (origin (method url-fetch) (uri (cran-uri "fpc" version)) (sha256 (base32 - "1xnp3j36hggfg675v39mnr6rgvp7i11pfng7nmyy3k2ldgklz0j9")))) + "07a125pji1flmybn6iidcnizwnqyl6chnrckxa5jp4qxxfdqx658")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) @@ -5096,13 +5080,13 @@ using modular prediction and response module classes.") (define-public r-quantreg (package (name "r-quantreg") - (version "5.67") + (version "5.73") (source (origin (method url-fetch) (uri (cran-uri "quantreg" version)) (sha256 - (base32 "09hgch8x6x2k7wm17c0njp7l0r6rrrlcji60afrv19dm9r4596wr")))) + (base32 "0mjwwj3c7cfnprlh90ld0f1lll0mrqbx8mpnbfr7bvzg8h6072y4")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5230,13 +5214,13 @@ Companion to Applied Regression, Third Edition, Sage.") (define-public r-car (package (name "r-car") - (version "3.0-9") + (version "3.0-10") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 - (base32 "1clh8c7mj87i4hz27l16w76dpw7k4mlnjbgm9mbrhrfkv0lpb63c")))) + (base32 "1w95b7xm0bna3qm637pwyv4s7294ffz9dl153naprd79zv91dqqw")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) @@ -5383,14 +5367,14 @@ multivariate case.") (define-public r-tclust (package (name "r-tclust") - (version "1.4-1") + (version "1.4-2") (source (origin (method url-fetch) (uri (cran-uri "tclust" version)) (sha256 (base32 - "17md6l9v9dl9b72l84df01b52h2xiynbcjm437mv9mzcr09fc2sb")))) + "1nb5iky4kc832627jf28lzj19wrvgwg5da6fyl3kyf0npmyx1p4m")))) (build-system r-build-system) ;; These are all suggested packages, not build dependencies. (propagated-inputs @@ -5805,78 +5789,81 @@ Java package that provides routines for various statistical distributions.") (license license:gpl2+))) (define-public emacs-ess - (package - (name "emacs-ess") - (version "18.10.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacs-ess/ESS") - (commit (string-append "v" version)))) - (sha256 - (base32 - "1yq41l2bicwjrc0b731iic20cpcnz6ppigri1jn621qv2qv22vy3")) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - '(begin - ;; Stop ESS from trying to bundle an external julia-mode.el. - (substitute* "lisp/Makefile" - (("^ess-julia.elc: julia-mode.elc") "") - (("^all: julia-mode.el") - "all:")) - ;; Include *.el files in install target. - (substitute* "lisp/Makefile" - (("\t\\$\\(INSTALL) \\$\\(ELC\\) \\$\\(LISPDIR\\)" elc) - (string-append "\t$(INSTALL) $(ELS) ess-autoloads.el " - "$(LISPDIR)\n" elc))) - ;; Only build docs in info format. - (substitute* "doc/Makefile" - (("all : info text") - "all : info") - (("install: install-info install-other-docs") - "install: install-info")) - ;; Stop install-info from trying to update the info directory. - (substitute* "doc/Makefile" - ((".*\\$\\(INFODIR\\)/dir.*") "")) - ;; Fix roxygen preview test. - (substitute* "test/ess-r-tests.el" - (("Add together two numbers.\n") - "Add together two numbers. ") - (("##' add\\(10, 1\\)") "add(10, 1)")) - #t)))) - (build-system gnu-build-system) - (arguments - (let ((base-directory "/share/emacs/site-lisp")) - `(#:make-flags (list (string-append "PREFIX=" %output) - (string-append "ETCDIR=" %output - ,base-directory "/etc") - (string-append "LISPDIR=" %output - ,base-directory)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-before 'build 'more-shebang-patching - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Makeconf" - (("SHELL = /bin/sh") - (string-append "SHELL = " (which "sh")))) - #t)) - (replace 'check - (lambda _ - (invoke "make" "test"))))))) - (inputs - `(("emacs" ,emacs-minimal) - ("r-minimal" ,r-minimal))) - (native-inputs - `(("perl" ,perl) - ("r-roxygen2" ,r-roxygen2) - ("texinfo" ,texinfo))) - (propagated-inputs - `(("emacs-julia-mode" ,emacs-julia-mode))) - (home-page "https://ess.r-project.org/") - (synopsis "Emacs mode for statistical analysis programs") - (description "Emacs Speaks Statistics (ESS) is an add-on package for GNU -Emacs. It is designed to support editing of scripts and interaction with -various statistical analysis programs such as R, Julia, and JAGS.") - (license license:gpl2+))) + ;; Latest release is old. This is not the latest commit either due to bug + ;; reported here: <https://github.com/emacs-ess/ESS/issues/987>. + (let ((commit "24da603184ce39246611dd5b8602e769d7ebd5bf") + (version "18.10.2") + (revision "0")) + (package + (name "emacs-ess") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacs-ess/ESS") + (commit commit))) + (sha256 + (base32 "0j98lv07nzwzd54d4dgcfz01wy5gj48m0mnirxzh5r45ik2myh1r")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Stop ESS from trying to bundle an external julia-mode.el. + (substitute* "lisp/Makefile" + ((" \\$\\(JULIAS)") "") + (("\ttest.*julia-mode.*\\.el") "")) + ;; Only build docs in info format. + (substitute* "doc/Makefile" + (("all : info text") + "all : info") + (("install: install-info install-other-docs") + "install: install-info")) + ;; Stop install-info from trying to update the info directory. + (substitute* "doc/Makefile" + ((".*/dir.*") "")) + ;; Fix r-help-mode test. + (substitute* "test/ess-test-r.el" + (("\\(equal ess-help-object \"plot.default\")") "t")) + ;; Avoid generating ess-autoloads.el twice. + (substitute* "Makefile" + (("all: lisp doc etc autoloads") + "all: lisp doc etc")) + ;; Install to correct directories. + (substitute* "Makefile" + (("mkdir -p \\$\\(ESSDESTDIR)") + "$(MAKE) -C lisp install; $(MAKE) -C doc install") + (("\\$\\(INSTALL) -R \\./\\* \\$\\(ESSDESTDIR)/") + "$(MAKE) -C etc install")) + #t)))) + (build-system gnu-build-system) + (arguments + (let ((base-directory "/share/emacs/site-lisp")) + `(#:make-flags (list (string-append "PREFIX=" %output) + (string-append "ETCDIR=" %output + ,base-directory "/etc") + (string-append "LISPDIR=" %output + ,base-directory) + (string-append "INFODIR=" %output + "/share/info")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda _ (invoke "make" "test"))))))) + (native-inputs + `(("perl" ,perl) + ("r-roxygen2" ,r-roxygen2) + ("texinfo" ,texinfo))) + (inputs + `(("emacs" ,emacs-minimal) + ("r-minimal" ,r-minimal))) + (propagated-inputs + `(("emacs-julia-mode" ,emacs-julia-mode))) + (home-page "https://ess.r-project.org/") + (synopsis "Emacs mode for statistical analysis programs") + (description + "Emacs Speaks Statistics (ESS) is an add-on package for GNU Emacs. It +is designed to support editing of scripts and interaction with various +statistical analysis programs such as R, Julia, and JAGS.") + (license license:gpl3+)))) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 51a82a58d9..7e297eb9ae 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -137,14 +137,14 @@ optimising the environment for the application in use and the task performed.") (define-public dmenu (package (name "dmenu") - (version "4.9") + (version "5.0") (source (origin (method url-fetch) (uri (string-append "https://dl.suckless.org/tools/dmenu-" version ".tar.gz")) (sha256 (base32 - "0ia9nqr83bv6x247q30bal0v42chcj9qcjgv59xs6xj46m7iz5xk")))) + "1lvfxzg3chsgcqbc2vr0zic7vimijgmbvnspayx73kyvqi1f267y")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index eea6817ce6..82d3fa3a21 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -53,7 +53,7 @@ (define-public newsboat (package (name "newsboat") - (version "2.20.1") + (version "2.21") (source (origin (method url-fetch) @@ -61,13 +61,7 @@ "/newsboat-" version ".tar.xz")) (sha256 (base32 - "0rimjikni96m52vhymgsg1b9g99af6ggyzd1lpvhgqsznxwj0y42")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "rust/libnewsboat/Cargo.toml" - (("= 1.0.17") "1.0.17")) - #t)))) + "0ccwbb3maini18453wjqn8m3bd7zzm6dn5a9vpb8smxv8vfv6ihc")))) (build-system cargo-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -77,7 +71,7 @@ ("asciidoctor" ,ruby-asciidoctor))) (inputs `(("curl" ,curl) - ("json-c" ,json-c-0.13) + ("json-c" ,json-c) ("libxml2" ,libxml2) ("ncurses" ,ncurses) ("stfl" ,stfl) @@ -93,18 +87,15 @@ ("rust-chrono" ,rust-chrono-0.4) ("rust-clap" ,rust-clap-2) ("rust-curl-sys" ,rust-curl-sys-0.4) - ("rust-dirs" ,rust-dirs-2.0) - ("rust-gettext-rs" ,rust-gettext-rs-0.4) + ("rust-gettext-rs" ,rust-gettext-rs-0.5) ("rust-gettext-sys" ,rust-gettext-sys-0.19) + ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) - ("rust-libz-sys" ,rust-libz-sys-1) ("rust-natord" ,rust-natord-1.0) ("rust-nom" ,rust-nom-5) - ("rust-once-cell" ,rust-once-cell-1.2) - ("rust-percent-encoding" ,rust-percent-encoding-2.1) - ("rust-rand" ,rust-rand-0.6) - ("rust-smallvec" ,rust-smallvec-0.6) - ("rust-url" ,rust-url-2.1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rand" ,rust-rand-0.7) + ("rust-url" ,rust-url-2) ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-xdg" ,rust-xdg-2.2)) #:cargo-development-inputs @@ -119,6 +110,11 @@ (delete-file-recursively (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")) #t)) + (add-after 'unpack 'patch-source + (lambda _ + (substitute* "Makefile" + (("Cargo.lock") "")) + #t)) (replace 'build (lambda* args ((assoc-ref gnu:%standard-phases 'build) @@ -169,6 +165,9 @@ file system, and many more features.") '("asciidoctor" "openssl")) ;; For building documentation. ("asciidoc" ,asciidoc))) + (inputs + `(("json-c" ,json-c-0.13) + ,@(alist-delete "json-c" (package-inputs newsboat)))) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 601a3616f7..3c0efe13e2 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,11 +20,22 @@ (define-module (gnu packages task-management) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) #:use-module (gnu packages linux) #:use-module (gnu packages lua) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (guix download) - #:use-module (guix build-system cmake)) + #:use-module (guix git-download) + #:use-module (guix utils) + #:use-module (guix build-system cmake) + #:use-module (guix build-system meson)) (define-public taskwarrior (package @@ -59,3 +71,57 @@ Done time management method. It supports network synchronization, filtering and querying data, exposing task data in multiple formats to other tools.") (license license:expat))) + +(define-public blanket + (package + (name "blanket") + (version "0.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rafaelmardojai/blanket/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13xip9b2p2ai2jchkck71c849s2rlxzfvlbsgpraw9hswi0rk0jg")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:tests? #f ;the "Validate appstream file" test fails + #:phases + (modify-phases %standard-phases + (add-after 'wrap 'wrap-libs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")) + (python-path (getenv "PYTHONPATH"))) + (wrap-program (string-append out "/bin/blanket") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) + `("PYTHONPATH" ":" prefix (,python-path)))) + #t))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("appstream-glib" ,appstream-glib) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gst-plugins-bad" ,gst-plugins-bad) + ("gst-plugins-good" ,gst-plugins-good) ;for ScaleTempo plugin + ("gtk+" ,gtk+) + ("libhandy" ,libhandy) + ("python-gst" ,python-gst) + ("python-pygobject" ,python-pygobject))) + (home-page "https://github.com/rafaelmardojai/blanket") + (synopsis "Ambient sound and noise player") + (description + "Blanket provides different ambient sounds and types of noise to listen +to with the goal of improving your focus and enhancing your productivity. +You can also use it to fall asleep in a noisy environment.") + (license license:gpl3+))) diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index a0bf631baa..5f1438667d 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -29,7 +29,7 @@ (define-public tbb (package (name "tbb") - (version "2020.2") + (version "2020.3") (source (origin (method git-fetch) (uri (git-reference @@ -38,7 +38,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0h8kdxikpq2v4a2h9cj33ril9kj0ig47n0vvbd92wabkn442jwar")) + "0r9axsdlmacjlcnax4vkzg86nwf8lsx7wbqdi3wnryaxk0xvdcx6")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 57c84d7718..e596c1b81f 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -53,6 +53,7 @@ #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-graphics) #:use-module (gnu packages crypto) #:use-module (gnu packages docbook) #:use-module (gnu packages fontutils) @@ -220,24 +221,29 @@ text-based approach to terminal recording.") (package (name "libtsm") (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - ;; The freedesktop repository is no longer maintained. - (uri (git-reference - (url (string-append "https://github.com/Aetf/" name)) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx")))) + (source + (origin + (method git-fetch) + ;; The freedesktop repository is no longer maintained. + (uri (git-reference + (url (string-append "https://github.com/Aetf/" name)) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove a bundled copy of libxkbcommon's xkbcommon-keysyms.h. + (delete-file-recursively "external/xkbcommon") + #t)))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTING=ON"))) (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("libxkbcommon" ,libxkbcommon) - ("check" ,check))) + `(("check" ,check) + ("libxkbcommon" ,libxkbcommon) ; for xkbcommon-keysyms.h + ("pkg-config" ,pkg-config))) (synopsis "Xterm state machine library") (description "TSM is a state machine for DEC VT100-VT520 compatible terminal emulators. It tries to support all common standards while keeping @@ -426,7 +432,7 @@ to all types of devices that provide serial consoles.") allowing different sounds to indicate different events. While it can be run quite happily on the command line, its intended place of residence is within scripts, notifying the user when something interesting occurs. Of course, it -has no notion of what's interesing, but it's very good at that notifying part.") +has no notion of what's interesting, but it's very good at that notifying part.") (home-page "https://github.com/spkr-beep/beep") (license license:gpl2+))) @@ -731,7 +737,7 @@ programmer to write text-based user interfaces.") (define-public go-github-com-junegunn-fzf (package (name "go-github-com-junegunn-fzf") - (version "0.18.0") + (version "0.22.0") (source (origin (method git-fetch) @@ -741,7 +747,7 @@ programmer to write text-based user interfaces.") (file-name (git-file-name name version)) (sha256 (base32 - "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl")))) + "0n0cy5q2r3dm1a3ivlzrv9c5d11awxlqim5b9x8zc85dlr73n35l")))) (build-system go-build-system) (arguments `(#:import-path "github.com/junegunn/fzf")) @@ -750,6 +756,8 @@ programmer to write text-based user interfaces.") ("go-github-com-mattn-go-shellwords" ,go-github-com-mattn-go-shellwords) ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) ("go-github-com-gdamore-tcell" ,go-github-com-gdamore-tcell) + ("go-github-com-saracen-walker" ,go-github-com-saracen-walker) + ("go-golang.org-x-sync-errgroup" ,go-golang.org-x-sync-errgroup) ("go-golang-org-x-crypto" ,go-golang-org-x-crypto))) (home-page "https://github.com/junegunn/fzf") (synopsis "Command-line fuzzy-finder") @@ -1175,7 +1183,7 @@ made by suckless.") ("rust-mio" ,rust-mio-0.6) ("rust-mio-extras" ,rust-mio-extras-2) ("rust-terminfo" ,rust-terminfo-0.6) - ("rust-url" ,rust-url-2.1) + ("rust-url" ,rust-url-2) ("rust-vte" ,rust-vte-0.3) ("rust-nix" ,rust-nix-0.15) ("rust-miow" ,rust-miow-0.3) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 1252ba031b..2623c256d5 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -7376,3 +7376,158 @@ subdivided bibliographies, such as bibliographies per chapter or section. @end enumerate\n") (license license:lppl1.3c)))) + +(define-public texlive-todonotes + (let ((template (simple-texlive-package + "texlive-todonotes" + (list "/doc/latex/todonotes/" + "/tex/latex/todonotes/") + (base32 + "0lvxsskz4bdfxhd59hf77kiq8k4nh2spb66vc6hifdgi21z8r8wm") + #:trivial? #t))) + (package + (inherit template) + (propagated-inputs + `(("texlive-latex-pgf" ,texlive-latex-pgf) + ("texlive-latex-xkeyval" ,texlive-latex-xkeyval))) + (home-page "http://www.ctan.org/pkg/todonotes") + (synopsis "Marking things to do in a LaTeX document") + (description "The @code{todonotes} package lets the user mark +things to do later, in a simple and visually appealing way. The +package takes several options to enable customization and finetuning +of the visual appearance.") + (license license:lppl1.3+)))) + +(define-public texlive-units + (let ((template (simple-texlive-package + "texlive-units" + (list "/doc/latex/units/" + "/tex/latex/units/") + (base32 + "1ia1vzy8dp7pdvmawwnmh9lmkajmpnnh62dixrjpb6mnxq118bfd") + #:trivial? #t))) + (package + (inherit template) + (home-page "http://www.ctan.org/pkg/units") + (synopsis "Typeset physical units and fractions") + (description "@code{units} is a package for typesetting physical +units in a standard-looking way. The package is based upon +@code{nicefrac}, a package for typing fractions. @code{nicefrac} is +included in the @code{units} bundle.") + (license license:gpl3+)))) + +(define-public texlive-microtype + (let ((template (simple-texlive-package + "texlive-microtype" + (list "/doc/latex/microtype/" + "/tex/latex/microtype/") + (base32 + "0xmjpzbj4nqmnl5m7xx1bshdk2c8n57rmbvn0j479ypj4wdlq9iy") + #:trivial? #t))) + (package + (inherit template) + (home-page "http://www.ctan.org/pkg/microtype") + (synopsis "Subliminal refinements towards typographical perfection") + (description "@code{microtype} provides a LaTeX interface to the +micro-typographic extensions that were introduced by pdfTeX and have +since propagated to XeTeX and LuaTeX: most prominently character +protrusion and font expansion, the adjustment of kerning and interword +spacing, hyphenatable letterspacing and the possibility to disable all +or selected ligatures. These features may be applied to customisable +sets of fonts. All micro-typographic aspects of the fonts can be +configured in a straight-forward and flexible way. Settings for +various fonts are provided. An alternative package +@code{letterspace}, which also works with plain TeX, is included in +the bundle.") + (license license:lppl1.3c)))) + +(define-public texlive-caption + (let ((template (simple-texlive-package + "texlive-caption" + (list "/doc/latex/caption/" + "/tex/latex/caption/") + (base32 + "09gmh8yjj9f5zak8r18g87w9p5jn7flnvmlhxmvdq6992mbdc6hg") + #:trivial? #t))) + (package + (inherit template) + (home-page "http://www.ctan.org/pkg/caption") + (synopsis "Customising captions in floating environments") + (description "The @code{caption} package provides many ways to +customise the captions in floating environments like figure and table. +Facilities include rotating captions, sideways captions and continued +captions (for tables or figures that come in several parts). A list +of compatibility notes, for other packages, is provided in the +documentation. The package also provides the \"caption outside +float\" facility, in the same way that simpler packages like +@code{capt-ofcapt-of} do. The package supersedes @code{caption2}. +Packages @code{bicaption}, @code{ltcaption}, @code{newfloat}, +@code{subcaption} and @code{totalcount} are included in the bundle.") + (license license:lppl1.3+)))) + +(define-public texlive-symbol + (package + (inherit (simple-texlive-package + "texlive-symbol" + (list "/dvips/symbol/" + "/fonts/afm/adobe/symbol/" + "/fonts/afm/urw/symbol/" + "/fonts/tfm/adobe/symbol/" + "/fonts/tfm/urw35vf/symbol/" + "/fonts/type1/urw/symbol/" + "/fonts/map/dvips/symbol/" + "/tex/latex/symbol/") + (base32 + "01xiygb88xwi7rfvh1zrlxzi5pqb5fvylws5zzszg379iz4pyzwj") + #:trivial? #t)) + (home-page "https://ctan.org/pkg/urw-base35") + (synopsis "URW Base 35 font pack for LaTeX") + (description "This package provides a drop-in replacement for the +Symbol font from Adobe's basic set.") + (license license:gpl2))) + +(define-public texlive-mathpazo + (package + (inherit (simple-texlive-package + "texlive-mathpazo" + (list "/doc/latex/mathpazo/" + "/fonts/afm/public/mathpazo/" + "/fonts/tfm/public/mathpazo/" + "/fonts/type1/public/mathpazo/" + "/fonts/vf/public/mathpazo/") + (base32 + "02in6hdnbnkz216mpy8g6fk3wmlls8nh5982vmg37vhbj77lk0rh") + #:trivial? #t)) + (home-page "http://www.ctan.org/pkg/mathpazo") + (synopsis "Fonts to typeset mathematics to match Palatino") + (description "The Pazo Math fonts are a family of PostScript fonts +suitable for typesetting mathematics in combination with the Palatino +family of text fonts. The Pazo Math family is made up of five fonts +provided in Adobe Type 1 format. These contain glyphs that are +usually not available in Palatino and for which Computer Modern looks +odd when combined with Palatino. These glyphs include the uppercase +Greek alphabet in upright and slanted shapes, the lowercase Greek +alphabet in slanted shape, several mathematical glyphs and the +uppercase letters commonly used to represent various number sets. +LaTeX macro support is provided in package @code{psnfss}.") + (license license:gpl3+))) + +(define-public texlive-fpl + (package + (inherit (simple-texlive-package + "texlive-fpl" + (list "/doc/fonts/fpl/" + "/source/fonts/fpl/" + "/fonts/afm/public/fpl/" + "/fonts/type1/public/fpl/") + (base32 + "02gkl516z9kn8xqs269pdkqn37sxm8ib0pcs43s4rs2rhyyl5z68") + #:trivial? #t)) + (home-page "https://www.ctan.org/pkg/fpl") + (synopsis "SC and OsF fonts for URW Palladio L") + (description "The FPL Fonts provide a set of SC/OsF fonts for URW +Palladio L which are compatible with the Palatino SC/OsF fonts from +Adobe. LaTeX use is enabled by the mathpazo package, which is part of +the @code{psnfss} distribution.") + ;; Either LPPL version 1.0 or later, or GPL version 2 + (license (list license:lppl1.0+ license:gpl2)))) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 18f1c00da5..ed88c8de1c 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -227,7 +227,7 @@ bindings and many of the powerful features of GNU Emacs.") (define-public jucipp (package (name "jucipp") - (version "1.6.0") + (version "1.6.1") (home-page "https://gitlab.com/cppit/jucipp") (source (origin (method git-fetch) @@ -239,7 +239,7 @@ bindings and many of the powerful features of GNU Emacs.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "177myy6qvjlb6j3f3i3xmfml5r3p9in8xzpvm0n59dn56s81gpnr")))) + (base32 "0lb477acqrm3fy3j6i7j9l68j48cnkrzi80588npwwjssqicy4g6")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTING=ON" @@ -802,14 +802,14 @@ Octave. TeXmacs is completely extensible via Guile.") (define-public scintilla (package (name "scintilla") - (version "4.4.4") + (version "4.4.5") (source (origin (method url-fetch) (uri (let ((v (apply string-append (string-split version #\.)))) (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) (sha256 - (base32 "1zjsb6iiqi4cw9r9md3xv8qyy86ssz11p680xn7vmllrxshxvs8y")))) + (base32 "1v1kyxj7rv5rxadbg8gl8wh1jafpy7zj0wr6dcyxq9209dl6h8ag")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 6ee3442c76..7cbbe5f61d 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> @@ -67,18 +67,19 @@ (define-public dos2unix (package (name "dos2unix") - (version "7.4.1") + (version "7.4.2") (source (origin (method url-fetch) (uri (string-append "https://waterlan.home.xs4all.nl/dos2unix/" "dos2unix-" version ".tar.gz")) (sha256 - (base32 "08w6yywzirsxq8bh87jycvvw922ybhc2l426j2iqzliyn1h8mm8w")))) + (base32 "00dfsf4rfyjb5j12gan8xjiirm0asshdz6dmd3l34a7ays6wadb0")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list "CC=gcc" - (string-append "prefix=" (assoc-ref %outputs "out"))) + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -850,14 +851,14 @@ Filter, list, or split a tar file. (name "java-rsyntaxtextarea") (version "2.6.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/bobbylight/" - "RSyntaxTextArea/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/bobbylight/RSyntaxTextArea") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0c5mqg2klj5rvf8fhycrli8rf6s37l9p7a8knw9gpp65r1c120q2")))) + "0dyflzvxq2wvs0rgqfyi5yzzrb6r4bzw2dm8cl304dakxk38ddys")))) (build-system ant-build-system) (arguments `(;; FIXME: some tests fail because locale resources cannot be found. diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 517bf1dc3d..0f38d937d3 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -181,8 +181,8 @@ living in the same process.") "0n0m93ymzd0q9hbknxc2ycanz49sqlkyyf73g9fk7n787llc7a0f")))) (build-system gnu-build-system) (arguments - `(#:tests? ,(not (hurd-target?)) - + `(#:tests? ,(not (or (%current-target-system) + (hurd-target?))) ;; Ensure we don't keep a reference to the tools used for testing. #:disallowed-references ,(if (hurd-target?) '() @@ -519,14 +519,14 @@ required structures.") (define-public libressl (package (name "libressl") - (version "3.0.2") + (version "3.1.4") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/LibreSSL/" "libressl-" version ".tar.gz")) (sha256 (base32 - "13ir2lpxz8y1m151k7lrx306498nzfhwlvgkgv97v5cvywmifyyz")))) + "1dnbbnr43jashxivnafmh9gnn57c7ayva788ba03z633k6f18k21")))) (build-system gnu-build-system) (arguments ;; Do as if 'getentropy' was missing since older Linux kernels lack it diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index c852c54a5b..9bde4a4c23 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -54,14 +54,14 @@ (define-public tor (package (name "tor") - (version "0.4.3.6") + (version "0.4.4.5") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "0qmcrkjip0ywq77232m73pjwqiaj0q2klwklqlpbw575shvhcbba")))) + "09lr6l98qmc69pzsi8r02z86v969dbfwjrwphfm3npknzq5a0p54")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index 459c0c4953..6387e84a3d 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> @@ -32,7 +32,8 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix utils)) (define-public sl (package @@ -77,52 +78,51 @@ typing @command{sl} instead of @command{ls}.") "See LICENSE in the distribution.")))) (define-public filters - (let ((version "2.55") - (commit "c5c291916b52ed9e6418448a8eee30475fb9adcf")) - (package - (name "filters") - (version "2.55") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.joeyh.name/filters") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs")) - (modules '((guix build utils))) - (snippet '(begin - ;; kenny is under nonfree Artistic License (Perl) 1.0. - (delete-file "kenny") - (substitute* "Makefile" - (("kenny") - "")))))) - (build-system gnu-build-system) - (arguments - `(#:make-flags - (list "CC=gcc" (string-append "DESTDIR=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'fix-install-directories - (lambda _ - (substitute* "Makefile" - (("/usr/games") - "/bin/") - (("/usr/share/") - "/share/")) - #t))) - #:tests? #f)) ; no test suite - (native-inputs - `(("bison" ,bison) - ("flex" ,flex))) - (inputs - `(("perl" ,perl))) - (home-page "https://joeyh.name/code/filters/") - (synopsis "Various amusing text filters") - (description - "The filters collection harks back to the late 1980s, when various text + (package + (name "filters") + (version "2.55") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.joeyh.name/filters") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs")) + (modules '((guix build utils))) + (snippet '(begin + ;; kenny is under nonfree Artistic License (Perl) 1.0. + (delete-file "kenny") + (substitute* "Makefile" + (("kenny") + "")))))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'respect-prefix + (lambda _ + (substitute* "Makefile" + (("/usr/games") + "$(prefix)/bin/") + (("/usr") + "$(prefix)")) + #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (inputs + `(("perl" ,perl))) + (home-page "https://joeyh.name/code/filters/") + (synopsis "Various amusing text filters") + (description + "The filters collection harks back to the late 1980s, when various text filters were written to munge written language in amusing ways. The earliest and best known were legends such as the Swedish Chef filter and B1FF. @@ -156,13 +156,13 @@ This package contains the following filter commands: @end enumerate The GNU project hosts a similar collection of filters, the GNU talkfilters.") - (license ; see debian/copyright - (list license:gpl2+ ; most of the filters - license:gpl2 ; rasterman, ky00te.dir/* nethackify, pirate - license:gpl3+ ; scramble, scottish - license:public-domain ; jethro, kraut, ken, studly - license:gpl1+ ; cockney, jive, nyc only say "gpl" - license:expat))))) ; newspeak + (license ; see debian/copyright + (list license:gpl2+ ; most of the filters + license:gpl2 ; rasterman, ky00te.dir/* nethackify, pirate + license:gpl3+ ; scramble, scottish + license:public-domain ; jethro, kraut, ken, studly + license:gpl1+ ; cockney, jive, nyc only say "gpl" + license:expat)))) ; newspeak (define-public xsnow (package diff --git a/gnu/packages/tv.scm b/gnu/packages/tv.scm index 2196162956..88df5c90bf 100644 --- a/gnu/packages/tv.scm +++ b/gnu/packages/tv.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018 Alex Kost <alezost@gmail.com> -;;; Copyright © 208 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; diff --git a/gnu/packages/uml.scm b/gnu/packages/uml.scm index ecf8fe0c45..2202316016 100644 --- a/gnu/packages/uml.scm +++ b/gnu/packages/uml.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. @@ -31,14 +31,14 @@ (define-public plantuml (package (name "plantuml") - (version "1.2020.15") + (version "1.2020.19") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/plantuml/" version "/plantuml-" version ".tar.gz")) (sha256 (base32 - "0n9zrdylc79kdzq7i42kd38bndrhgs7p24bmcm7l09nzv8w8j5r0")))) + "0ja2f72x2qd11pkgh1qj6k03yq9ljwsvd6lh84nndwhrbdj5vns7")))) (build-system ant-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 75e852915e..4036bd461b 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,9 @@ (define-public valgrind (package (name "valgrind") - (version "3.15.0") + ;; Note: check "guix refresh -l -e '(@ (gnu packages valgrind) valgrind)'" + ;; when updating this package to find which branch it should go to. + (version "3.16.1") (source (origin (method url-fetch) (uri (list (string-append "https://sourceware.org/pub/valgrind" @@ -41,7 +44,7 @@ "/valgrind-" version ".tar.bz2"))) (sha256 (base32 - "1ccawxrni8brcvwhygy12iprkvz409hbr9xkk1bd03gnm2fplz21")) + "1jik19rcd34ip8a5c9nv5wfj8k8maqb8cyclr4xhznq2gcpkl7y9")) (patches (search-patches "valgrind-enable-arm.patch")))) (build-system gnu-build-system) (outputs '("doc" ;16 MB @@ -70,9 +73,6 @@ (mkdir-p dest) (rename-file orig dest) #t)))))) - (inputs - ;; GDB is needed to provide a sane default for `--db-command'. - `(("gdb" ,gdb))) (native-inputs `(("perl" ,perl))) (home-page "https://www.valgrind.org/") @@ -82,4 +82,15 @@ tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools.") - (license gpl2+))) + (license gpl2+) + + ;; Hide this variant so end users get the "interactive" Valgrind below. + (properties '((hidden? . #t))))) + +(define-public valgrind/interactive + (package/inherit + valgrind + (inputs + ;; GDB is needed to provide a sane default for `--db-command'. + `(("gdb" ,gdb))) + (properties '()))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 2ee8247071..fe61bc8fce 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2016, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2015, 2018 Kyle Meyer <kyle@kyleam.com> +;;; Copyright © 2015, 2018, 2020 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is> @@ -1901,14 +1901,14 @@ masters from remote CVS hosts.") (define-public vc-dwim (package (name "vc-dwim") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/vc-dwim/vc-dwim-" version ".tar.xz")) (sha256 (base32 - "0mf1dd7wdqxsm4fcfinfd7iadzarmzvg747pbsbi32qpavpk8gdf")))) + "0am6axxdvkm2vwgg0gjrd930yv4dlsdbf0rdv0zh5bhy1ir64rph")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (native-inputs @@ -2269,6 +2269,43 @@ supports a large number of version control systems: Git, Subversion, Mercurial, Bazaar, Darcs, CVS, Fossil, and Veracity.") (license license:gpl2+))) +(define-public grokmirror + (package + (name "grokmirror") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://git.kernel.org/pub/scm/" + "utils/grokmirror/grokmirror.git")) + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "1cs43vf87x8x5k5ncgiwiclc92a1dvxpg2z6lh6psaiip808gylp")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no test suite + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-manpages + (lambda* (#:key outputs #:allow-other-keys) + (let* ((man (string-append (assoc-ref outputs "out") + "/man/man1/"))) + (mkdir-p man) + (for-each (lambda (file) (install-file file man)) + (find-files "." "\\.1$"))) + #t))))) + (propagated-inputs + `(("python-requests" ,python-requests))) + (home-page + "https://git.kernel.org/pub/scm/utils/grokmirror/grokmirror.git") + (synopsis "Framework to smartly mirror git repositories") + (description "Grokmirror enables replicating large git repository +collections efficiently. Mirrors decide to clone and update repositories +based on a manifest file published by servers.") + (license license:gpl3+))) + (define-public git-annex-remote-rclone (package (name "git-annex-remote-rclone") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8ebe7dbcdf..bd5367d439 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -96,6 +96,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages crates-io) + #:use-module (gnu packages crates-graphics) #:use-module (gnu packages curl) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dns) @@ -134,6 +135,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages ocr) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-web) @@ -524,7 +526,7 @@ applications by providing high-level classes for commonly required tasks.") (define-public libde265 (package (name "libde265") - (version "1.0.6") + (version "1.0.7") (source (origin (method git-fetch) @@ -534,7 +536,7 @@ applications by providing high-level classes for commonly required tasks.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ipccyavlgf7hfzx1g8bvzg62xq10vcxvwgq70r3z3j6mdvmrzjp")))) + (base32 "0x7g9771457z49qvzpk4iswfhq018i0mzsflv9gg8if5hjqhfdp0")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -697,14 +699,15 @@ old-fashioned output methods with powerful ascii-art renderer.") (define-public celluloid (package (name "celluloid") - (version "0.19") + (version "0.20") (source (origin (method url-fetch) - (uri (string-append "https://github.com/celluloid-player/celluloid/releases" - "/download/v" version "/celluloid-" version ".tar.xz")) + (uri (string-append "https://github.com/celluloid-player/celluloid" + "/releases/download/v" version + "/celluloid-" version ".tar.xz")) (sha256 - (base32 "1s3qkism96gi44incvsb6rqg255qcvjvw61ya7nw30md0sapj4sl")))) + (base32 "0kjjv2pcdvwcn4yi8kbpsca7pnx6cx6xdznv7ppqm0fssx68qyb3")))) (build-system glib-or-gtk-build-system) (native-inputs `(("intltool" ,intltool) @@ -878,14 +881,14 @@ H.264 (MPEG-4 AVC) video streams.") (define-public mkvtoolnix (package (name "mkvtoolnix") - (version "37.0.0") + (version "50.0.0") (source (origin (method url-fetch) (uri (string-append "https://mkvtoolnix.download/sources/" "mkvtoolnix-" version ".tar.xz")) (sha256 - (base32 "0r4d9318ymb9a0mkc0shi9p4kjy3m70s49v4f8dmjhvj63silhix")) + (base32 "09485qfbdirr9g536shglzdm271yipb1669r3dm3hxp46k0x59aq")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled libraries. @@ -911,6 +914,7 @@ H.264 (MPEG-4 AVC) video streams.") ("libogg" ,libogg) ("libvorbis" ,libvorbis) ("lzo" ,lzo) + ("pcre2" ,pcre2) ("pugixml" ,pugixml) ("qtbase" ,qtbase) ("qtmultimedia" ,qtmultimedia) @@ -1318,7 +1322,7 @@ libebml is a C++ library to read and write EBML files.") (define-public libva (package (name "libva") - (version "2.7.1") + (version "2.9.0") (source (origin (method url-fetch) @@ -1330,7 +1334,7 @@ libebml is a C++ library to read and write EBML files.") (string-append "https://www.freedesktop.org/software/vaapi/releases/" "libva/libva-" version "/libva-" version ".tar.bz2"))) (sha256 - (base32 "014av7ayyc624xfmr63xhbgg7nw8fynsswj1g2wmk4lnkyfz23x0")))) + (base32 "0jsq6ia3fzyzvq7lxsrn4a8kn2kx4z3v777xkxn6k4ny5lww2i73")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1451,6 +1455,8 @@ operate properly.") ("sdl" ,sdl2) ("soxr" ,soxr) ("speex" ,speex) + ;; FFmpeg is not yet compatible with SRT > 1.4.1. + ("srt" ,srt-1.4.1) ("twolame" ,twolame) ("vidstab" ,vidstab) ("x265" ,x265) @@ -1535,6 +1541,7 @@ operate properly.") '()) "--enable-libsoxr" "--enable-libspeex" + "--enable-libsrt" "--enable-libtheora" "--enable-libtwolame" "--enable-libvidstab" @@ -1826,6 +1833,8 @@ videoformats depend on the configuration flags of ffmpeg.") ("sdl-image" ,sdl-image) ("speex" ,speex) ("speexdsp" ,speexdsp) + ;; VLC is not yet compatible with SRT > 1.4.1. + ("srt" ,srt-1.4.1) ("taglib" ,taglib) ("twolame" ,twolame) ("unzip" ,unzip) @@ -2125,9 +2134,8 @@ To load this plugin, specify the following option when starting mpv: (define-public libvpx (package (name "libvpx") - (version "1.8.2") + (version "1.9.0") (source (origin - ;; XXX: Upstream does not provide tarballs for > 1.6.1. (method git-fetch) (uri (git-reference (url "https://chromium.googlesource.com/webm/libvpx") @@ -2135,7 +2143,7 @@ To load this plugin, specify the following option when starting mpv: (file-name (git-file-name name version)) (sha256 (base32 - "0gyq4fkbd2fv7m1mm9xrvn6rk6f4jsmbv8bnlhingmnrvyncnmnr")) + "16xv6ambc82g14h1y0q1vyy57wp6j9fbp0nk0wd5csnrw407rhry")) (patches (search-patches "libvpx-CVE-2016-2818.patch")))) (build-system gnu-build-system) (arguments @@ -2153,7 +2161,11 @@ To load this plugin, specify the following option when starting mpv: ;; The configure script does not understand some of the GNU ;; options, so we only add the flags specified above. (apply invoke "./configure" configure-flags)))) - #:tests? #f)) ; no check target + + ;; XXX: The test suite wants to download 871 files from a cloud storage + ;; service (see test/test-data.sha1). It is possible to specify a + ;; custom directory, but there seems to be no tarball with all files. + #:tests? #f)) (native-inputs `(("perl" ,perl) ("yasm" ,yasm))) @@ -2165,7 +2177,7 @@ To load this plugin, specify the following option when starting mpv: (define-public youtube-dl (package (name "youtube-dl") - (version "2020.09.14") + (version "2020.09.20") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -2173,7 +2185,7 @@ To load this plugin, specify the following option when starting mpv: version ".tar.gz")) (sha256 (base32 - "18wfhprbaszpxgqkac3hb050ngvdsaibbcifg88rkv5vc6bc2mq6")))) + "1pkw3hnkddk1kqv0in152q1k4jjgbmf2xvc9j3r5nd38z6f7j6mc")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -2184,6 +2196,16 @@ To load this plugin, specify the following option when starting mpv: ;; 'youtube-dl.bash-completion'. `(#:tests? #f ; Many tests fail. The test suite can be run with pytest. #:phases (modify-phases %standard-phases + (add-after 'unpack 'default-to-the-ffmpeg-input + (lambda _ + ;; See <https://issues.guix.gnu.org/43418#5>. + ;; ffmpeg is big but required to request free formats + ;; from, e.g., YouTube so pull it in unconditionally. + ;; Continue respecting the --ffmpeg-location argument. + (substitute* "youtube_dl/postprocessor/ffmpeg.py" + (("\\.get\\('ffmpeg_location'\\)" match) + (format #f "~a or '~a'" match (which "ffmpeg")))) + #t)) (add-before 'install 'fix-the-data-directories (lambda* (#:key outputs #:allow-other-keys) (let ((prefix (assoc-ref outputs "out"))) @@ -2207,6 +2229,8 @@ To load this plugin, specify the following option when starting mpv: (copy-file "youtube-dl.zsh" (string-append zsh "/_youtube-dl")) #t)))))) + (inputs + `(("ffmpeg" ,ffmpeg))) (synopsis "Download videos from YouTube.com and other sites") (description "Youtube-dl is a small command-line program to download videos from @@ -2352,7 +2376,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (define-public youtube-viewer (package (name "youtube-viewer") - (version "3.7.8") + (version "3.7.9") (source (origin (method git-fetch) (uri (git-reference @@ -2361,7 +2385,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (file-name (git-file-name name version)) (sha256 (base32 - "1ckzzf35nbwlx5prvzjr52n28chyd479vhdk5w7vb2343az80mzi")))) + "16p0sa91h0zpqdpqmy348g6b9qj5f6qrbzrljn157vk00cg6mx18")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) @@ -2374,6 +2398,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") ("perl-libwww" ,perl-libwww) ("perl-lwp-protocol-https" ,perl-lwp-protocol-https) ("perl-lwp-useragent-cached" ,perl-lwp-useragent-cached) + ("perl-memoize" ,perl-memoize) ("perl-mozilla-ca" ,perl-mozilla-ca) ("perl-term-readline-gnu" ,perl-term-readline-gnu) ("perl-unicode-linebreak" ,perl-unicode-linebreak) @@ -2980,7 +3005,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "25.0.8") + (version "26.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -2989,14 +3014,24 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "0j2k65q3wfyfxhvkl6icz4qy0s3kfqhksizy2i3ah7yml266axbj")))) + "1d502f80whh686mvq0yn6zpa5nvmnlzxwp5sjz43vpbbvhpbrdqj")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; no test suite - #:configure-flags - (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version)))) + `(#:configure-flags + (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version) + "-DENABLE_UNIT_TESTS=TRUE") + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-executable + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (plugin-path (getenv "QT_PLUGIN_PATH"))) + (wrap-program (string-append out "/bin/obs") + `("QT_PLUGIN_PATH" ":" prefix (,plugin-path)))) + #t))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("cmocka" ,cmocka) + ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("curl" ,curl) @@ -3014,7 +3049,7 @@ be used for realtime video capture via Linux-specific APIs.") ("qtbase" ,qtbase) ("qtsvg" ,qtsvg) ("qtx11extras" ,qtx11extras) - ("speex" ,speex) + ("speexdsp" ,speexdsp) ("v4l-utils" ,v4l-utils) ("zlib" ,zlib))) (synopsis "Live streaming software") @@ -3023,13 +3058,12 @@ video recording and live streaming. OBS supports capturing audio and video from many input sources such as webcams, X11 (for screencasting), PulseAudio, and JACK.") (home-page "https://obsproject.com") - (supported-systems '("x86_64-linux" "i686-linux")) (license license:gpl2+))) (define-public libvdpau (package (name "libvdpau") - (version "1.3") + (version "1.4") (source (origin (method git-fetch) @@ -3039,7 +3073,7 @@ and JACK.") (file-name (git-file-name name version)) (sha256 (base32 - "1fb1nh5apr9kzx9bm2lysjwpyva1s60b2l2p230nqgvb11q25hd2")))) + "1hc4mcrbr1yhfiy4zfd8wc2iiqbp90z6jswap0jia20vmyk5lqld")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -3585,7 +3619,7 @@ practically any type of media.") (define-public libmediainfo (package (name "libmediainfo") - (version "20.08") + (version "20.09") (source (origin (method url-fetch) (uri (string-append "https://mediaarea.net/download/source/" @@ -3593,7 +3627,7 @@ practically any type of media.") name "_" version ".tar.xz")) (sha256 (base32 - "19n8h9jq42b6r3dbag77fzwfksfywszmzpi636w87fvc1nqldlqj")))) + "15ni9pnch6688m72swwax109a7mg4a08yx75qknrx7qa6dbyhz6h")))) ;; TODO add a Big Buck Bunny webm for tests. (native-inputs `(("autoconf" ,autoconf) @@ -3643,7 +3677,7 @@ MPEG-2, MPEG-4, DVD (VOB)... (define-public mediainfo (package (name "mediainfo") - (version "20.08") + (version "20.09") (source (origin (method url-fetch) ;; Warning: This source has proved unreliable 1 time at least. @@ -3654,7 +3688,7 @@ MPEG-2, MPEG-4, DVD (VOB)... name "_" version ".tar.xz")) (sha256 (base32 - "1baf2dj5s3g1x4ssqli1b2r1203syk42m09zhp36qcinmfixv11l")))) + "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -4524,7 +4558,7 @@ result in several formats: ("rust-arrayvec" ,rust-arrayvec-0.5) ("rust-backtrace" ,rust-backtrace-0.3) ("rust-bitstream-io" ,rust-bitstream-io-0.8) - ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-byteorder" ,rust-byteorder-1) ("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-clap" ,rust-clap-2) ("rust-console" ,rust-console-0.11) @@ -4548,7 +4582,7 @@ result in several formats: ("rust-serde" ,rust-serde-1) ("rust-signal-hook" ,rust-signal-hook-0.1) ("rust-simd-helpers" ,rust-simd-helpers-0.1) - ("rust-thiserror" ,rust-thiserror-1.0) + ("rust-thiserror" ,rust-thiserror-1) ("rust-toml" ,rust-toml-0.5) ("rust-y4m" ,rust-y4m-0.5) ("rust-cc" ,rust-cc-1) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 083f9da3a4..05136981ea 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -70,7 +70,7 @@ (define-public vim (package (name "vim") - (version "8.2.1500") + (version "8.2.1852") (source (origin (method git-fetch) (uri (git-reference @@ -79,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1f3ghv7g6khcvvs8irkxmskzc352xxmxw3wy0jq9q9r497v6p3ls")))) + "0nvcvvig5fc45smf4kh71jqyqafffgxzaizwqknk0h9vzl4k4h57")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -166,7 +166,7 @@ configuration files.") (package (inherit vim) (name "xxd") (arguments - `(#:make-flags '("CC=gcc") + `(#:make-flags (list ,(string-append "CC=" (cc-for-target))) #:tests? #f ; there are none #:phases (modify-phases %standard-phases @@ -499,8 +499,7 @@ commit or run any Git arbitrary command.") '(#:install-plan '(("autoload" "share/vim/vimfiles/") ("doc" "share/vim/vimfiles/") - ("plugin" "share/vim/vimfiles/") - ("t" "share/vim/vimfiles/")))) + ("plugin" "share/vim/vimfiles/")))) (synopsis "Statusline for Vim") (description "@code{vim-airline} is an extensible statusline for Vim. @@ -699,7 +698,7 @@ refactor Vim in order to: (define-public vifm (package (name "vifm") - (version "0.10.1") + (version "0.11") (source (origin (method url-fetch) @@ -710,7 +709,7 @@ refactor Vim in order to: "vifm-" version ".tar.bz2"))) (sha256 (base32 - "0fyhxh7ndjn8fyjhj14ymkr3pjcs3k1xbs43g7xvvq85vdb6y04r")))) + "0rqyd424y0g5b5basw2ybb60r9gar4f40d1xgzr3c2dsy4jpwvyh")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-build-timestamp") @@ -780,13 +779,13 @@ With the package comes a plugin to use vifm as a vim file selector.") (define-public python-pynvim (package (name "python-pynvim") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) (uri (pypi-uri "pynvim" version)) (sha256 (base32 - "0n2cx22lrmbq7xk7356lyn6k77ryqvkxplw9k0fglk35ckb1isam")))) + "13qgwkqbx012j5spis1aw8rb120rw0zphgjy1j58irax8r6j1ikb")))) (build-system python-build-system) (propagated-inputs `(("python-greenlet" ,python-greenlet) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 8e634ba6c6..ac062dfa15 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -129,21 +130,19 @@ (define-public qemu (package (name "qemu") - (version "5.0.0") + (version "5.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://download.qemu.org/qemu-" - version ".tar.xz")) - (sha256 - (base32 - "1dlcwyshdp94fwd30pddxf9bn2q8dfw5jsvry2gvdj551wmaj4rg")))) + (method url-fetch) + (uri (string-append "https://download.qemu.org/qemu-" + version ".tar.xz")) + (sha256 + (base32 + "1rd41wwlvp0vpialjp2czs6i3lsc338xc72l3zkbb7ixjfslw5y9")) + (patches (search-patches "qemu-build-info-manual.patch")))) + (outputs '("out" "doc")) ;4.7 MiB of HTML docs (build-system gnu-build-system) (arguments - `(;; Running tests in parallel can occasionally lead to failures, like: - ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) - #:parallel-tests? #f - - ;; FIXME: Disable tests on i686 to work around + `(;; FIXME: Disable tests on i686 to work around ;; <https://bugs.gnu.org/40527>. #:tests? ,(or (%current-target-system) (not (string=? "i686-linux" (%current-system)))) @@ -178,6 +177,24 @@ '("include") input-directories) #t))) + (add-after 'unpack 'disable-unusable-tests + (lambda _ + (substitute* "tests/Makefile.include" + ;; Comment out the test-qga test, which needs /sys and + ;; fails within the build environment. + (("check-unit-.* tests/test-qga" all) + (string-append "# " all)) + ;; Comment out the test-char test, which needs networking and + ;; fails within the build environment. + (("check-unit-.* tests/test-char" all) + (string-append "# " all))) + (substitute* "tests/qtest/Makefile.include" + ;; Disable the following test, which triggers a crash on some + ;; x86 CPUs (see https://issues.guix.info/43048 and + ;; https://bugs.launchpad.net/qemu/+bug/1896263). + (("check-qtest-i386-y \\+= bios-tables-test" all) + (string-append "# " all))) + #t)) (add-after 'patch-source-shebangs 'patch-/bin/sh-references (lambda _ ;; Ensure the executables created by these source files reference @@ -188,7 +205,7 @@ #t)) (replace 'configure (lambda* (#:key inputs outputs (configure-flags '()) - #:allow-other-keys) + #:allow-other-keys) ;; The `configure' script doesn't understand some of the ;; GNU options. Thus, add a new phase that's compatible. (let ((out (assoc-ref outputs "out"))) @@ -218,23 +235,12 @@ ,(string-append "--prefix=" out) ,(string-append "--sysconfdir=/etc") ,@configure-flags))))) - (add-after 'install 'install-info - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Install the Info manual, unless Texinfo is missing. - (when (assoc-ref inputs "texinfo") - (let* ((out (assoc-ref outputs "out")) - (dir (string-append out "/share/info"))) - (invoke "make" "info") - (for-each (lambda (info) - (install-file info dir)) - (find-files "." "\\.info")))) - #t)) ;; Create a wrapper for Samba. This allows QEMU to use Samba without ;; pulling it in as an input. Note that you need to explicitly install ;; Samba in your Guix profile for Samba support. - (add-after 'install-info 'create-samba-wrapper + (add-after 'install 'create-samba-wrapper (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref %outputs "out")) + (let* ((out (assoc-ref outputs "out")) (libexec (string-append out "/libexec"))) (call-with-output-file "samba-wrapper" (lambda (port) @@ -243,18 +249,14 @@ exec smbd $@"))) (chmod "samba-wrapper" #o755) (install-file "samba-wrapper" libexec)) #t)) - (add-before 'check 'disable-unusable-tests + (add-after 'install 'move-html-doc (lambda* (#:key inputs outputs #:allow-other-keys) - (substitute* "tests/Makefile.include" - ;; Comment out the test-qga test, which needs /sys and - ;; fails within the build environment. - (("check-unit-.* tests/test-qga" all) - (string-append "# " all))) - (substitute* "tests/Makefile.include" - ;; Comment out the test-char test, which needs networking and - ;; fails within the build environment. - (("check-unit-.* tests/test-char" all) - (string-append "# " all))) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (qemu-doc (string-append doc "/share/doc/qemu-" ,version))) + (mkdir-p qemu-doc) + (rename-file (string-append out "/share/doc/qemu") + (string-append qemu-doc "/html"))) #t))))) (inputs ; TODO: Add optional inputs. `(("alsa-lib" ,alsa-lib) @@ -1516,18 +1518,19 @@ monitor/GPU.") "-xvf" source)))) (replace 'build (lambda* (#:key import-path #:allow-other-keys) - (chdir (string-append "src/" import-path)) - ;; XXX: requires 'go-md2man'. - ;; (invoke "make" "man") - (invoke "make"))) + (with-directory-excursion (string-append "src/" import-path) + ;; XXX: requires 'go-md2man'. + ;; (invoke "make" "man") + (invoke "make")))) ;; (replace 'check ;; (lambda _ ;; (invoke "make" "localunittest"))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "make" "install" "install-bash" - (string-append "PREFIX=" out)))))))) + (lambda* (#:key import-path outputs #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" "install" "install-bash" + (string-append "PREFIX=" out))))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -1571,14 +1574,15 @@ Open Container Initiative specification.") "-xvf" source)))) (replace 'build (lambda* (#:key import-path #:allow-other-keys) - (chdir (string-append "src/" import-path)) - ;; TODO: build manpages with 'go-md2man'. - (invoke "make" "SHELL=bash"))) + (with-directory-excursion (string-append "src/" import-path) + ;; TODO: build manpages with 'go-md2man'. + (invoke "make" "SHELL=bash")))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key import-path outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bindir (string-append out "/bin"))) - (install-file "umoci" bindir) + (install-file (string-append "src/" import-path "/umoci") + bindir) #t)))))) (home-page "https://umo.ci/") (synopsis "Tool for modifying Open Container images") @@ -1590,16 +1594,16 @@ Open Container Initiative (OCI) image layout and its tagged images.") (define-public skopeo (package (name "skopeo") - (version "0.1.40") + (version "1.2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/projectatomic/skopeo") + (url "https://github.com/containers/skopeo") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1bagirzdzjhicn5dr691092ac3q6lhz3xngjzgqiqkxnvpz7p6cn")))) + "1v7k3ki10i6082r7zswblyirx6zck674y6bw3plssw4p1l2611rd")))) (build-system go-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1613,22 +1617,23 @@ Open Container Initiative (OCI) image layout and its tagged images.") ("glib" ,glib) ("gpgme" ,gpgme))) (arguments - '(#:import-path "github.com/projectatomic/skopeo" + '(#:import-path "github.com/containers/skopeo" #:install-source? #f - #:tests? #f ; The tests require Docker + #:tests? #f ; The tests require Docker #:phases (modify-phases %standard-phases (replace 'build (lambda* (#:key import-path #:allow-other-keys) - (chdir (string-append "src/" import-path)) - ;; TODO: build manpages with 'go-md2man'. - (invoke "make" "binary-local"))) + (with-directory-excursion (string-append "src/" import-path) + ;; TODO: build manpages with 'go-md2man'. + (invoke "make" "bin/skopeo")))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "make" "install-binary" "install-completions" - (string-append "PREFIX=" out)))))))) - (home-page "https://github.com/projectatomic/skopeo") + (lambda* (#:key import-path outputs #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" "install-binary" "install-completions" + (string-append "PREFIX=" out))))))))) + (home-page "https://github.com/containers/skopeo") (synopsis "Interact with container images and container image registries") (description "@command{skopeo} is a command line utility providing various operations @@ -1995,14 +2000,14 @@ administrators and developers in managing the database.") (define-public osinfo-db (package (name "osinfo-db") - (version "20200813") + (version "20201011") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-" version ".tar.xz")) (sha256 (base32 - "127lr4kvdy2b2lil7i0gbbxcf8vap0r6hxhnbmms4p7h2h0sdgri")))) + "1zzx5gsqgzg2zki6h8vl0h7kpcrk5i2s1qhz7gcb18s7g99px8aj")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm index d1296c1c2f..e0b2e7bcfc 100644 --- a/gnu/packages/vlang.scm +++ b/gnu/packages/vlang.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,15 +20,20 @@ (define-module (gnu packages vlang) #:use-module (gnu packages glib) + #:use-module (gnu packages node) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages tls) + #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix packages)) -(define-public v +(define-public vlang (package - (name "v") - (version "0.1.27") + (name "vlang") + (version "0.1.29") (source (origin (method git-fetch) @@ -35,20 +42,18 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1d9qhacllvkqif42jaayixhjyhx7pzslh8p1yr5p19447q763fq1")))) + (base32 "1rqi7cah5nq8aggrib9xvdpfjxq20li91svv0w9yny6nn1ag7snx")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; tests are broken in v 0.1.27 - #:make-flags - `("CC=gcc" - "GITCLEANPULL=true" - "GITFASTCLONE=mkdir -p" - "TCCREPO=" - "TMPTCC=tcc" - ,(string-append "TMPVC=" (assoc-ref %build-inputs "vc")) - "VCREPO=" - "VERBOSE=1" - "V_ALWAYS_CLEAN_TMP=false") + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "TMPTCC=tcc" + (string-append "VC=" (assoc-ref %build-inputs "vc")) + "GITCLEANPULL=true" + "GITFASTCLONE=mkdir -p" + "TCCREPO=" + "VCREPO=" + "VERBOSE=1") #:phases (modify-phases %standard-phases (delete 'configure) @@ -56,22 +61,32 @@ (lambda _ (substitute* "Makefile" (("rm -rf") "true") - (("v self") "v -cc gcc cmd/v")) + (("v self") (string-append "v -cc " ,(cc-for-target) " cmd/v"))) #t)) - ;; A few tests are broken in v 0.1.27. This function should be - ;; enabled to run tests in the next release. - ;; (replace 'check - ;; (lambda _ - ;; (let* ((tmpbin "tmp/bin") - ;; (gcc (which "gcc"))) - ;; (mkdir-p tmpbin) - ;; (symlink gcc (string-append tmpbin "/cc")) - ;; (setenv "PATH" (string-append tmpbin ":" (getenv "PATH"))) - ;; (invoke "./v" "test-fixed")) - ;; #t)) - (replace 'install + (add-before 'check 'delete-failing-tests + ;; XXX As always, these should eventually be fixed and run. (lambda _ - (let* ((bin (string-append (assoc-ref %outputs "out") "/bin")) + (for-each delete-file + '("vlib/v/gen/x64/tests/x64_test.v" + "vlib/v/tests/repl/repl_test.v" + "vlib/v/tests/valgrind/valgrind_test.v" + "vlib/v/tests/valgrind/strings_and_arrays.vv" + "vlib/v/tests/live_test.v" + "vlib/net/websocket/ws_test.v")) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (let* ((bin "tmp/bin") + (gcc (which "gcc"))) + (when tests? + (mkdir-p bin) + (symlink gcc (string-append bin "/cc")) + (setenv "PATH" (string-append bin ":" (getenv "PATH"))) + (invoke "./v" "test-fixed"))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((bin (string-append (assoc-ref outputs "out") "/bin")) (tools (string-append bin "/cmd/tools")) (thirdparty (string-append bin "/thirdparty")) (vlib (string-append bin "/vlib")) @@ -90,7 +105,9 @@ `(("glib" ,glib))) (native-inputs `(("vc" - ,(let ((vc-version "0884d7092f4c2a4f8ca16da6f1792efa235247be")) + ;; Versions are not consistently tagged, but the matching commit will + ;; probably have ‘v0.x.y’ in the commit message. + ,(let ((vc-version "b01d0fcda4b55861baa4be82e307cca4834b1641")) ;; v bootstraps from generated c source code from a dedicated ;; repository. It's readable, as generated source goes, and not at all ;; obfuscated, and it's about 15kb. The original source written in @@ -104,10 +121,20 @@ (commit vc-version))) (file-name (git-file-name "vc" vc-version)) (sha256 - (base32 "17bs09iwxfd0si70j48n9nd16gfgcj8imd0azypk3xzzbz4wybnz"))))))) + (base32 "052gp5q2k31r3lci3rx4k0vy0vjdjva64xvrbbihn8lgmw63lc9f"))))) + + ;; For the tests. + ("libx11" ,libx11) + ("node" ,node) + ("openssl" ,openssl) + ("sqlite" ,sqlite))) (home-page "https://vlang.io/") (synopsis "Compiler for the V programming language") (description "V is a systems programming language. It provides memory safety and thread safety guarantees with minimal abstraction.") (license license:expat))) + +(define-public v + ;; We used to provide 'vlang' under the name 'v'. + (deprecated-package "v" vlang)) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 12ead4b434..67f099d19e 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -338,10 +338,11 @@ traversing network address translators (@dfn{NAT}s) and firewalls.") (build-system python-build-system) (arguments '(#:tests? #f)) ; no tests in repo (native-inputs - `(("docopt" ,python-docopt))) + `(("python-docopt" ,python-docopt))) (inputs - `(("pythondialog" ,python-pythondialog) - ("requests" ,python-requests))) + `(("python-jinja2" ,python-jinja2) + ("python-pythondialog" ,python-pythondialog) + ("python-requests" ,python-requests))) (propagated-inputs `(("openvpn" ,openvpn) ("dialog" ,dialog))) @@ -405,7 +406,7 @@ private network between hosts on the internet.") (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) ;; For tests only. - ("python-flake8", python-flake8) + ("python-flake8" ,python-flake8) ("python-mock" ,python-mock) ("python-pytest-cov" ,python-pytest-cov) ("python-pytest-runner" ,python-pytest-runner))) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index fe37b59e26..7e622946e9 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -183,7 +183,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-headers (package (name "vulkan-headers") - (version "1.2.141") + (version "1.2.148") (source (origin (method git-fetch) @@ -193,7 +193,7 @@ interpretation of the specifications for these languages.") (file-name (git-file-name name version)) (sha256 (base32 - "10nmx6y4llllfcczyfz76amd0vkqv09dj952d19zkzmmgcval7zq")))) + "1c877npvmkv2qxac308m3x0ij3il7hy5xk3fwsfi7s9dcsaxi63j")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. @@ -207,7 +207,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-loader (package (name "vulkan-loader") - (version "1.2.140") + (version "1.2.148") (source (origin (method git-fetch) @@ -217,7 +217,7 @@ interpretation of the specifications for these languages.") (file-name (git-file-name name version)) (sha256 (base32 - "0rhyz0qgp0i7pcx6wlvgwy7j33d4cs0xx39f0b6igpfk0vk70r1w")))) + "0rxh4q09k0pdl3xlvxdv5qkak4d7az25gijxr5w170fjnd8yfrhk")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -261,7 +261,7 @@ and the ICD.") (define-public vulkan-tools (package (name "vulkan-tools") - (version "1.2.140") + (version "1.2.148") (source (origin (method git-fetch) @@ -271,7 +271,7 @@ and the ICD.") (file-name (git-file-name name version)) (sha256 (base32 - "08dk0q77kpycn4vv19jh3ig73gbq3psan246a7fss0nfxpiddg0j")))) + "1908fw4rvg5iaim8ph0c0bzhac6jplg8dhfs6dpxd1dapzwqllkf")))) (build-system cmake-build-system) (inputs `(("glslang" ,glslang) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 205538ee27..3ea4f7f867 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -280,7 +280,7 @@ and the GTK+ toolkit.") (define-public lynx (package (name "lynx") - (version "2.8.9rel.1") + (version "2.9.0dev.6") (source (origin (method url-fetch) (uri (string-append @@ -288,7 +288,7 @@ and the GTK+ toolkit.") "/lynx" version ".tar.bz2")) (sha256 (base32 - "15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq")))) + "1cjkpwxc1r8x8q73bgh9a4skaph1bwa0anml6f6lvf7lh5zvxw3q")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) @@ -344,7 +344,7 @@ access.") (define-public qutebrowser (package (name "qutebrowser") - (version "1.13.1") + (version "1.14.0") (source (origin (method url-fetch) @@ -352,7 +352,7 @@ access.") "qutebrowser/releases/download/v" version "/" "qutebrowser-" version ".tar.gz")) (sha256 - (base32 "1n72dvrv4dch4i07lsis76p7g16a039fwx8rk7w8q9f60wgqb5i8")))) + (base32 "0jip413yvyhdaywz0iadc32aaanjnhbx1d1vwzx3z1xbgc4i9svn")))) (build-system python-build-system) (native-inputs `(("python-attrs" ,python-attrs))) ; for tests @@ -461,7 +461,7 @@ driven and does not detract you from your daily work.") (name "nyxt") ;; Package the pre-release because latest stable 1.5.0 does not build ;; anymore. - (version "2-pre-release-1") + (version "2-pre-release-2") (source (origin (method git-fetch) @@ -472,7 +472,7 @@ driven and does not detract you from your daily work.") (commit version))) (sha256 (base32 - "0aipsmzqnlkmy001cihz2jnc0hja8c10rm08jycxr05j3gx3qsxd")) + "0wqq8ppn0n7js3pxzzb36h0lf3r3gqhs2hi8h85c3n8a54hnbp8q")) (file-name (git-file-name "nyxt" version)))) (build-system gnu-build-system) (arguments @@ -534,45 +534,42 @@ driven and does not detract you from your daily work.") `(("prove" ,sbcl-prove) ("sbcl" ,sbcl))) (inputs - ;; We need to avoid sbcl-* inputs (sbcl-cl-cffi-gtk in particular) as they - ;; seem to cause Nyxt to hang into a hogging process in about 10 minutes. - ;; Probably an issue between CFFI and how we build SBCL packages. - ;; See https://github.com/atlas-engineer/nyxt/issues/680. - `(("alexandria" ,cl-alexandria) - ("bordeaux-threads" ,cl-bordeaux-threads) - ("cl-containers" ,cl-containers) - ("cl-css" ,cl-css) - ("cl-json" ,cl-json) - ("cl-markup" ,cl-markup) - ("cl-ppcre" ,cl-ppcre) - ("cl-prevalence" ,cl-prevalence) - ("closer-mop" ,cl-closer-mop) - ("cluffer" ,cl-cluffer) - ("dexador" ,cl-dexador) - ("enchant" ,cl-enchant) - ("fset" ,cl-fset) - ("iolib" ,cl-iolib) - ("local-time" ,cl-local-time) - ("log4cl" ,cl-log4cl) - ("lparallel" ,cl-lparallel) - ("mk-string-metrics" ,cl-mk-string-metrics) - ("moptilities" ,cl-moptilities) - ("osicat" ,sbcl-osicat) ; SBCL version needed for libosicat.so. - ("parenscript" ,cl-parenscript) - ("plump" ,cl-plump) - ("quri" ,cl-quri) - ("serapeum" ,cl-serapeum) - ("str" ,cl-str) - ("swank" ,cl-slime-swank) - ("trivia" ,cl-trivia) - ("trivial-clipboard" ,cl-trivial-clipboard) - ("trivial-features" ,cl-trivial-features) - ("trivial-package-local-nicknames" ,cl-trivial-package-local-nicknames) - ("trivial-types" ,cl-trivial-types) - ("unix-opts" ,cl-unix-opts) + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-containers" ,sbcl-cl-containers) + ("cl-css" ,sbcl-cl-css) + ("cl-json" ,sbcl-cl-json) + ("cl-markup" ,sbcl-cl-markup) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-prevalence" ,sbcl-cl-prevalence) + ("closer-mop" ,sbcl-closer-mop) + ("cluffer" ,sbcl-cluffer) + ("dexador" ,sbcl-dexador) + ("enchant" ,sbcl-enchant) + ("fset" ,sbcl-fset) + ("hu.dwim.defclass-star" ,sbcl-hu.dwim.defclass-star) + ("iolib" ,sbcl-iolib) + ("local-time" ,sbcl-local-time) + ("log4cl" ,sbcl-log4cl) + ("lparallel" ,sbcl-lparallel) + ("mk-string-metrics" ,sbcl-mk-string-metrics) + ("moptilities" ,sbcl-moptilities) + ("osicat" ,sbcl-osicat) + ("parenscript" ,sbcl-parenscript) + ("plump" ,sbcl-plump) + ("quri" ,sbcl-quri) + ("serapeum" ,sbcl-serapeum) + ("str" ,sbcl-cl-str) + ("swank" ,sbcl-slime-swank) + ("trivia" ,sbcl-trivia) + ("trivial-clipboard" ,sbcl-trivial-clipboard) + ("trivial-features" ,sbcl-trivial-features) + ("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames) + ("trivial-types" ,sbcl-trivial-types) + ("unix-opts" ,sbcl-unix-opts) ;; WebKitGTK deps - ("cl-cffi-gtk" ,cl-cffi-gtk) - ("cl-webkit" ,cl-webkit) + ("cl-cffi-gtk" ,sbcl-cl-cffi-gtk) + ("cl-webkit" ,sbcl-cl-webkit) ("glib-networking" ,glib-networking) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) (synopsis "Extensible web-browser in Common Lisp") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 473fe2ff97..5ca9cf19d0 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,39 +68,39 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) - #:use-module (guix git-download) #:use-module (guix cvs-download) #:use-module (guix hg-download) + #:use-module (guix git-download) #:use-module (guix utils) - #:use-module (guix build-system gnu) + #:use-module (guix build-system ant) + #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system perl) - #:use-module (guix build-system cmake) - #:use-module (guix build-system trivial) #:use-module (guix build-system python) - #:use-module (guix build-system ant) #:use-module (guix build-system scons) - #:use-module (guix build-system go) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages adns) #:use-module (gnu packages apr) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) - #:use-module (gnu packages documentation) - #:use-module (gnu packages docbook) - #:use-module (gnu packages emacs) - #:use-module (gnu packages emacs-xyz) - #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) - #:use-module (gnu packages bison) + #:use-module (gnu packages docbook) + #:use-module (gnu packages documentation) + #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages kerberos) #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) @@ -113,11 +114,12 @@ #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) + #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages jemalloc) - #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages kde) + #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) @@ -132,19 +134,18 @@ #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages openstack) - #:use-module (gnu packages base) #:use-module (gnu packages package-management) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) - #:use-module (gnu packages readline) #:use-module (gnu packages re2c) + #:use-module (gnu packages readline) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) @@ -231,14 +232,14 @@ Interface} specification.") ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.19.2") + (version "1.19.3") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "0wr4ss4gld7x717m4j3a6l6f7ijblrrd55y563lkwhvr7sqpn7vw")))) + "1w4dkq7bl5gyix3x0ap3d9lndh7zyvc3mscl693d4ybql57vgrci")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -254,31 +255,32 @@ Interface} specification.") #t)) (replace 'configure ;; The configure script is hand-written, not from GNU autotools. - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key configure-flags outputs #:allow-other-keys) (let ((flags - (list (string-append "--prefix=" (assoc-ref outputs "out")) - "--with-http_ssl_module" - "--with-http_v2_module" - "--with-pcre-jit" - "--with-debug" - ;; Even when not cross-building, we pass the - ;; --crossbuild option to avoid customizing for the - ;; kernel version on the build machine. - ,(let ((system "Linux") ; uname -s - (release "3.2.0") ; uname -r - ;; uname -m - (machine (match (or (%current-target-system) - (%current-system)) - ("x86_64-linux" "x86_64") - ("i686-linux" "i686") - ("mips64el-linux" "mips64") - ;; Prevent errors when querying - ;; this package on unsupported - ;; platforms, e.g. when running - ;; "guix package --search=" - (_ "UNSUPPORTED")))) - (string-append "--crossbuild=" - system ":" release ":" machine))))) + (append (list (string-append "--prefix=" (assoc-ref outputs "out")) + "--with-http_ssl_module" + "--with-http_v2_module" + "--with-pcre-jit" + "--with-debug" + ;; Even when not cross-building, we pass the + ;; --crossbuild option to avoid customizing for the + ;; kernel version on the build machine. + ,(let ((system "Linux") ; uname -s + (release "3.2.0") ; uname -r + ;; uname -m + (machine (match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ("mips64el-linux" "mips64") + ;; Prevent errors when querying + ;; this package on unsupported + ;; platforms, e.g. when running + ;; "guix package --search=" + (_ "UNSUPPORTED")))) + (string-append "--crossbuild=" + system ":" release ":" machine))) + configure-flags))) (setenv "CC" "gcc") (format #t "configure flags: ~s~%" flags) (apply invoke "./configure" flags) @@ -318,53 +320,11 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") ;; except for two source files which are bsd-4 licensed. (license (list license:bsd-2 license:expat license:bsd-3 license:bsd-4)))) -(define nginx-xslscript - (let ((revision 11) - (changeset "01dc9ba12e1b")) - (package - (name "nginx-xslscript") - (version - (simple-format #f "2014-03-31-~A-~A" revision changeset)) - (source (origin - (method hg-fetch) - (uri (hg-reference - (url "http://hg.nginx.org/xslscript") - (changeset changeset))) - (file-name (string-append name "-" version)) - (sha256 - (base32 - "0am8zvdx3jmiwkg5q07qjaw5r26r4i2v5i4yr8a1k0jgib6ii08g")))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ; No test suite - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out-bin (string-append - (assoc-ref outputs "out") - "/bin"))) - (mkdir-p out-bin) - (copy-file "xslscript.pl" - (string-append - out-bin - "/xslscript.pl")) - #t)))))) - (home-page "http://hg.nginx.org/xslscript") - (synopsis "XSLScript with NGinx specific modifications") - (description - "XSLScript is a terse notation for writing complex XSLT stylesheets. -This is modified version, specifically intended for use with the NGinx -documentation.") - (license license:bsd-2)))) - (define-public nginx-documentation ;; This documentation should be relevant for the current nginx package. - (let ((version "1.19.2") - (revision 2581) - (changeset "324ca14c3003")) + (let ((version "1.19.3") + (revision 2603) + (changeset "94ebfbcd68bb")) (package (name "nginx-documentation") (version (simple-format #f "~A-~A-~A" version revision changeset)) @@ -376,7 +336,7 @@ documentation.") (file-name (string-append name "-" version)) (sha256 (base32 - "15bdbi6cjqhx8lqsyr3hnwagq2r80bsyh2im80ajmbfv7y47djqi")))) + "1yryharm4dkjnj424r7sy0rc28h8ypfyj8as255a42gmllkwl2pg")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite @@ -549,6 +509,120 @@ supported at your website.") ;; binary: (package-license nginx))))))) +(define nginx-xslscript + (let ((revision 11) + (changeset "01dc9ba12e1b")) + (package + (name "nginx-xslscript") + (version + (simple-format #f "2014-03-31-~A-~A" revision changeset)) + (source (origin + (method hg-fetch) + (uri (hg-reference + (url "http://hg.nginx.org/xslscript") + (changeset changeset))) + (file-name (string-append name "-" version)) + (sha256 + (base32 + "0am8zvdx3jmiwkg5q07qjaw5r26r4i2v5i4yr8a1k0jgib6ii08g")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; No test suite + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out-bin (string-append + (assoc-ref outputs "out") + "/bin"))) + (mkdir-p out-bin) + (copy-file "xslscript.pl" + (string-append + out-bin + "/xslscript.pl")) + #t)))))) + (home-page "http://hg.nginx.org/xslscript") + (synopsis "XSLScript with NGinx specific modifications") + (description + "XSLScript is a terse notation for writing complex XSLT stylesheets. +This is modified version, specifically intended for use with the NGinx +documentation.") + (license license:bsd-2)))) + +(define nginx-socket-cloexec + (package + (inherit nginx) + (name "nginx-socket-cloexec") ;required for lua-resty-shell + (source + (origin + (inherit (package-source nginx)) + (patches (append (search-patches "nginx-socket-cloexec.patch") + (origin-patches (package-source nginx)))))))) + +(define-public nginx-lua-module + (package + (inherit nginx) + (name "nginx-lua-module") + (version "0.10.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/openresty/lua-nginx-module") + (commit (string-append "v" version)))) + (file-name (git-file-name "lua-nginx-module" version)) + (sha256 + (base32 + "1j216isp0546hycklbr5wi8mlga5hq170hk7f2sm16sfavlkh5gz")))) + (build-system gnu-build-system) + (inputs + `(("nginx-sources" ,(package-source nginx-socket-cloexec)) + ("luajit" ,luajit) + ,@(package-inputs nginx))) + (arguments + (substitute-keyword-arguments + `(#:configure-flags '("--add-dynamic-module=.") + #:make-flags '("modules") + #:modules ((guix build utils) + (guix build gnu-build-system) + (ice-9 popen) + (ice-9 regex) + (ice-9 textual-ports)) + ,@(package-arguments nginx)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'unpack-nginx-sources + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (begin + ;; The nginx source code is part of the module’s source. + (format #t "decompressing nginx source code~%") + (let ((tar (assoc-ref inputs "tar")) + (nginx-srcs (assoc-ref inputs "nginx-sources"))) + (invoke (string-append tar "/bin/tar") + "xvf" nginx-srcs "--strip-components=1")) + #t))) + (add-before 'configure 'set-luajit-env + (lambda* (#:key inputs #:allow-other-keys) + (let ((luajit (assoc-ref inputs "luajit"))) + (setenv "LUAJIT_LIB" + (string-append luajit "/lib")) + (setenv "LUAJIT_INC" + (string-append luajit "/include/luajit-2.1")) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((modules-dir (string-append (assoc-ref outputs "out") + "/etc/nginx/modules"))) + (install-file "objs/ngx_http_lua_module.so" modules-dir) + #t))) + (delete 'fix-root-dirs) + (delete 'install-man-page))))) + (synopsis "NGINX module for Lua programming language support") + (description "This NGINX module provides a scripting support with Lua +programming language."))) + (define-public lighttpd (package (name "lighttpd") @@ -1272,15 +1346,15 @@ perform the opening handshake in HTTP.") (define-public libpsl (package (name "libpsl") - (version "0.21.0") + (version "0.21.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/rockdaboot/libpsl/" - "releases/download/libpsl-" version + "releases/download/" version "/libpsl-" version ".tar.gz")) (sha256 (base32 - "04pfagb7ppq3yibx4lhazd1v9nwkxdfkyy2rgcrmrf3mldsirga1")))) + "0k0d46bbh1jj2ll369f134vciplrzbqkg7fv9m62bl6lzghy2v5c")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1345,6 +1419,50 @@ used to validate and fix HTML data.") (home-page "http://tidy.sourceforge.net/") (license (license:x11-style "file:///include/tidy.h")))) +(define-public esbuild + (package + (name "esbuild") + (version "0.7.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/evanw/esbuild") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y5hqymv2r8r29f8vh8kgncj3wlkg4fzi0zlc7mgyss872ajkc7i")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove prebuilt binaries + (delete-file-recursively "npm") + #t)))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/evanw/esbuild/cmd/esbuild" + #:unpack-path "github.com/evanw/esbuild" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? unpack-path #:allow-other-keys) + (if tests? + (with-directory-excursion (string-append "src/" unpack-path) + (invoke "make" "test-go"))) + #t))))) + (inputs + `(("go-golang-org-x-sys" ,go-golang-org-x-sys))) + (native-inputs + `(("go-github-com-kylelemons-godebug" ,go-github-com-kylelemons-godebug))) + (home-page "https://github.com/evanw/esbuild") + (synopsis "Bundler and minifier tool for JavaScript and TypeScript") + (description + "The esbuild tool provides a unified bundler, transpiler and +minifier. It packages up JavaScript and TypeScript code, along with JSON +and other data, for distribution on the web.") + (license license:expat))) + (define-public tinyproxy (package (name "tinyproxy") @@ -1502,15 +1620,18 @@ hash/signatures.") (define-public libyaml (package (name "libyaml") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (string-append "https://pyyaml.org/download/libyaml/yaml-" version ".tar.gz")) (sha256 - (base32 "0mq5wf17ifcwwxq3kbimhi53jn3fg23vcynqpzxjcz3vfjlfs2nq")))) + (base32 + "1x4fcw13r3lqy8ndydr3ili87wicplw2awbcv6r21qgyfndswhn6")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "https://pyyaml.org/wiki/LibYAML") (synopsis "YAML 1.1 parser and emitter written in C") (description @@ -2629,15 +2750,14 @@ development server with Starman.") (define-public perl-cgi (package (name "perl-cgi") - (version "4.47") + (version "4.51") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/L/LE/LEEJO/" "CGI-" version ".tar.gz")) (sha256 - (base32 - "1a9cylhqsm5icvbg09m21nj0xx4zy5gbk4p74npm1ch3qlryzyyr")))) + (base32 "02k0p8zwbn0fz9r39rg8jvbmky8fwdg6kznklzk557rg07kiblhb")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep) @@ -2855,15 +2975,15 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom.") (define-public perl-file-listing (package (name "perl-file-listing") - (version "6.04") + (version "6.11") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-" + "mirror://cpan/authors/id/P/PL/PLICEASE/File-Listing-" version ".tar.gz")) (sha256 (base32 - "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y")))) + "0vmzw1mhv580flzkla80gvwfpficnhlbqr1dnlf9x50bw7n18k62")))) (build-system perl-build-system) (propagated-inputs `(("perl-http-date" ,perl-http-date))) @@ -3178,15 +3298,14 @@ and multipart/form-data.") (define-public perl-http-cookiejar (package (name "perl-http-cookiejar") - (version "0.008") + (version "0.010") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "HTTP-CookieJar-" version ".tar.gz")) (sha256 - (base32 - "0rfw6avcralggs7bf7n86flvhaahxjnqzvpwszp0sk4z4wwy01wm")))) + (base32 "1l7mqsca4fmls7agzwmp6yq1x16y9jwq4114i6i75n654gl37qsn")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep) @@ -3530,15 +3649,14 @@ algorithm specified in section 8.2.2.1 of the draft standard.") (define-public perl-io-socket-ip (package (name "perl-io-socket-ip") - (version "0.39") + (version "0.41") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PE/PEVANS/" "IO-Socket-IP-" version ".tar.gz")) (sha256 - (base32 - "15kv5g1yb4a345sk3r5wfr99f868lhfqkddzsgpqddvccfkhv58i")))) + (base32 "0ihlpxrkq1xrvhnq52nhghanskic718ch8kpp642afgq72i4b6l4")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) (home-page "https://metacpan.org/release/IO-Socket-IP") @@ -3578,7 +3696,7 @@ select or poll.") (define-public perl-libwww (package (name "perl-libwww") - (version "6.41") + (version "6.49") (source (origin (method url-fetch) (uri (string-append @@ -3586,7 +3704,7 @@ select or poll.") version ".tar.gz")) (sha256 (base32 - "0jh67946fwd33ap3xy8df0421d2mr6lmhalhkf1p7dx2b7fil9wf")))) + "19k0cg4j4qz005a4ngy48z4r8dc99dxlpq8kvj7qnk15mvgd1r63")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) @@ -3715,7 +3833,7 @@ https schemed URLs with LWP.") (home-page "https://metacpan.org/release/LWP-UserAgent-Cached") (synopsis "Simple caching for LWP::UserAgent") (description "LWP::UserAgent::Cached is an LWP::UserAgent subclass with -cache support. It returns responses from the local filesystem if available +cache support. It returns responses from the local file system, if available, instead of making an HTTP request.") (license license:perl-license))) @@ -4073,14 +4191,14 @@ either mocked HTTP or a locally spawned server.") (define-public perl-test-tcp (package (name "perl-test-tcp") - (version "2.21") + (version "2.22") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/K/KA/KAZUHO/" + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" "Test-TCP-" version ".tar.gz")) (sha256 - (base32 "1djnaw1yli0kcd7azchqnp59l62f6mp13q50xyrjirpaxhd51j32")))) + (base32 "0mvv9rqwrwlcfh8qrs0s47p85rhlnw15d4gbpyi802bddp0c6lry")))) (build-system perl-build-system) (propagated-inputs `(("perl-test-sharedfork" ,perl-test-sharedfork))) @@ -4986,7 +5104,7 @@ commenting.") (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) ("pkg-config" ,pkg-config) - ("check" ,check))) ;for tests + ("check" ,check-0.14))) ;for tests (arguments netsurf-buildsystem-arguments) (home-page "https://www.netsurf-browser.org/projects/libwapcaplet/") (synopsis "String internment library") @@ -5035,6 +5153,7 @@ written in C. It is developed as part of the NetSurf project.") (url "https://github.com/tlsa/libcyaml") (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches (search-patches "libcyaml-libyaml-compat.patch")) (sha256 (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93")))) (build-system gnu-build-system) @@ -5052,7 +5171,7 @@ written in C. It is developed as part of the NetSurf project.") (inputs `(("libyaml" ,libyaml))) (native-inputs - `(("pkg-config", pkg-config))) + `(("pkg-config" ,pkg-config))) (synopsis "C library for reading and writing YAML") (description "LibCYAML is a C library written in ISO C11 for reading and writing @@ -5605,14 +5724,14 @@ tools like SSH (Secure Shell) to reach the outside world.") (define-public stunnel (package (name "stunnel") - (version "5.56") + (version "5.57") (source (origin (method url-fetch) (uri (string-append "https://www.stunnel.org/downloads/stunnel-" version ".tar.gz")) (sha256 - (base32 "08kb4gi9fzqngrczykvba6xhaxhq9m4wmdbhxvgrva5rasrvz13k")))) + (base32 "1q8gc05fiz7w55ws0whwzb94ffjnhzfppf1mhz1hf671vmrvjnmg")))) (build-system gnu-build-system) (native-inputs ;; For tests. @@ -7409,6 +7528,37 @@ update an existing mirrored site, and resume interrupted downloads. HTTrack is fully configurable, and has an integrated help system.") (license license:gpl3+))) +(define-public buku + (package + (name "buku") + (version "4.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "buku" version)) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1g1xhdskfn72xaraqzz2v8dl2iza7bzfpn17z2wdrzkq3ih7yvgg")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;FIXME: many tests need network access + (inputs + `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-certifi" ,python-certifi) + ("python-cryptography" ,python-cryptography) + ("python-html5lib" ,python-html5lib) + ("python-urllib3" ,python-urllib3))) + (home-page "https://github.com/jarun/buku") + (synopsis "Bookmark manager") + (description + "buku is a powerful bookmark manager written in Python3 and SQLite3. +@command{buku} can auto-import bookmarks from your browser and present them +in an interactive command-line interface that lets you compose and update +bookmarks directly. It can also present them in a web interface with +@command{bukuserver}.") + (license license:gpl3+))) + (define-public anonip (package (name "anonip") diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index d3fee105ef..7958375bed 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -224,14 +224,14 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.") (define-public webkitgtk (package (name "webkitgtk") - (version "2.28.4") + (version "2.30.1") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) (sha256 (base32 - "0r4lkk21pny2g4mmsw0ds14m5hhjys1l47gvy59dfgihr7l546c2")) + "1cfnsl5kvwrbclmp7v9q9ynrz702i9ncb6xmx6972dxpmpyrvi8p")) (patches (search-patches "webkitgtk-share-store.patch" "webkitgtk-bind-all-fonts.patch")))) (build-system cmake-build-system) @@ -242,6 +242,7 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.") #:configure-flags (list "-DPORT=GTK" "-DENABLE_GTKDOC=ON" ; No doc by default + "-DUSE_SYSTEMD=OFF" (string-append ; uses lib64 by default "-DLIB_INSTALL_DIR=" (assoc-ref %outputs "out") "/lib") diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 7950b3b729..1092237a03 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,10 +57,10 @@ (inputs `(("gnutls" ,gnutls) ("libidn2" ,libidn2) - ("libpsl" ,libpsl) - ("lzip" ,lzip))) + ("libpsl" ,libpsl))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("lzip" ,lzip) + ("pkg-config" ,pkg-config) ("perl" ,perl) ("python" ,python) ;for testenv suite ("perl-http-daemon" ,perl-http-daemon) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 15fbf43ec7..2fafee29a0 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> -;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> @@ -973,6 +973,9 @@ experience.") (modify-phases %standard-phases (add-before 'configure 'set-paths (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/awful/completion.lua" + (("/usr/bin/env") + "")) ;; The build process needs to load Cairo dynamically. (let* ((cairo (string-append (assoc-ref inputs "cairo") "/lib")) (lua-version ,(version-major+minor (package-version lua))) @@ -1021,9 +1024,9 @@ experience.") (lua-version ,(version-major+minor (package-version lua))) (lua-lgi (assoc-ref inputs "lua-lgi"))) (wrap-program (string-append awesome "/bin/awesome") - `("LUA_PATH" suffix + `("LUA_PATH" ";" suffix (,(format #f "~a/share/lua/~a/?.lua" lua-lgi lua-version))) - `("LUA_CPATH" suffix + `("LUA_CPATH" ";" suffix (,(format #f "~a/lib/lua/~a/?.so" lua-lgi lua-version))) `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))) `("LD_LIBRARY_PATH" suffix (,cairo))) @@ -1383,6 +1386,8 @@ modules for building a Wayland compositor.") (define-public sway (package (name "sway") + ;; XXX When updating, check whether grim-revert-output-rotation.patch can + ;; be dropped from the grim package. (version "1.4") (source (origin @@ -1514,7 +1519,7 @@ modules for building a Wayland compositor.") (define-public waybar (package (name "waybar") - (version "0.9.3") + (version "0.9.4") (source (origin (method git-fetch) @@ -1523,10 +1528,10 @@ modules for building a Wayland compositor.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ks719khhg2zwpyiwa2079i6962qcxpapm28hmr4ckpsp2n659ck")))) + (base32 "038vnma7y7z81caywp45yr364bc1aq8d01j5vycyiyfv33nm76fy")))) (build-system meson-build-system) (inputs `(("date" ,date) - ("fmt" ,fmt) + ("fmt" ,fmt-6) ("gtk-layer-shell" ,gtk-layer-shell) ("gtkmm" ,gtkmm) ("jsoncpp" ,jsoncpp) @@ -1592,16 +1597,20 @@ compositors that support the layer-shell protocol.") (base32 "1ha8803ll7472kqxsy2xz0v5d4sv8apmc9z631d67m31q0z1m9rz")))) (build-system asdf-build-system/sbcl) (native-inputs `(("fiasco" ,sbcl-fiasco) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + + ;; To build the manual. + ("autoconf" ,autoconf) + ("automake" ,automake))) (inputs `(("cl-ppcre" ,sbcl-cl-ppcre) ("clx" ,sbcl-clx) ("alexandria" ,sbcl-alexandria))) (outputs '("out" "lib")) (arguments - '(#:asd-system-name "stumpwm" + '(#:asd-systems '("stumpwm") #:phases (modify-phases %standard-phases - (add-after 'create-symlinks 'build-program + (add-after 'create-asdf-configuration 'build-program (lambda* (#:key outputs #:allow-other-keys) (build-program (string-append (assoc-ref outputs "out") "/bin/stumpwm") @@ -1626,13 +1635,12 @@ compositors that support the layer-shell protocol.") out))) #t))) (add-after 'install 'install-manual - (lambda* (#:key outputs #:allow-other-keys) - ;; The proper way to the manual is bootstrapping a full autotools - ;; build system and running ‘./configure && make stumpwm.info’ to - ;; do some macro substitution. We can get away with much less. + (lambda* (#:key (make-flags '()) outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (info (string-append out "/share/info"))) - (invoke "makeinfo" "stumpwm.texi.in") + (invoke "./autogen.sh") + (invoke "sh" "./configure" "SHELL=sh") + (apply invoke "make" "stumpwm.info" make-flags) (install-file "stumpwm.info" info) #t)))))) (synopsis "Window manager written in Common Lisp") @@ -1670,20 +1678,15 @@ productive, customizable lisp based systems.") (program (string-append out "/bin/stumpwm"))) (build-program program outputs #:entry-program '((stumpwm:stumpwm) 0) - #:dependencies '("stumpwm" - ,@(@@ (gnu packages lisp-xyz) slynk-systems)) + #:dependencies '("stumpwm" "slynk") #:dependency-prefixes (map (lambda (input) (assoc-ref inputs input)) '("stumpwm" "slynk"))) - ;; Remove unneeded file. - (delete-file (string-append out "/bin/stumpwm-exec.fasl")) #t))) (delete 'copy-source) (delete 'build) (delete 'check) - (delete 'create-asd-file) - (delete 'cleanup) - (delete 'create-symlinks))))))) + (delete 'cleanup))))))) (define stumpwm-contrib (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d63") @@ -1745,7 +1748,7 @@ productive, customizable lisp based systems.") `(("stumpwm" ,stumpwm "lib") ("clx-truetype" ,sbcl-clx-truetype))) (arguments - '(#:asd-system-name "ttf-fonts" + '(#:asd-systems '("ttf-fonts") #:tests? #f #:phases (modify-phases %standard-phases @@ -1762,7 +1765,7 @@ rendering.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-pass") (arguments - '(#:asd-system-name "pass" + '(#:asd-systems '("pass") #:tests? #f #:phases (modify-phases %standard-phases @@ -1779,7 +1782,7 @@ password-store into StumpWM.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-globalwindows") (arguments - '(#:asd-system-name "globalwindows" + '(#:asd-systems '("globalwindows") #:tests? #f #:phases (modify-phases %standard-phases @@ -1796,7 +1799,7 @@ windows in the current X session.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-swm-gaps") (arguments - '(#:asd-system-name "swm-gaps" + '(#:asd-systems '("swm-gaps") #:tests? #f #:phases (modify-phases %standard-phases @@ -1813,7 +1816,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-net") (arguments - '(#:asd-system-name "net" + '(#:asd-systems '("net") #:tests? #f #:phases (modify-phases %standard-phases @@ -1831,7 +1834,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-wifi") (arguments - '(#:asd-system-name "wifi" + '(#:asd-systems '("wifi") #:tests? #f #:phases (modify-phases %standard-phases @@ -1849,7 +1852,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-stumptray") (arguments - '(#:asd-system-name "stumptray" + '(#:asd-systems '("stumptray") #:tests? #f #:phases (modify-phases %standard-phases @@ -1871,7 +1874,7 @@ between windows.") (inherit stumpwm-contrib) (name "sbcl-stumpwm-kbd-layouts") (arguments - '(#:asd-system-name "kbd-layouts" + '(#:asd-systems '("kbd-layouts") #:tests? #f #:phases (modify-phases %standard-phases @@ -2039,3 +2042,39 @@ execute a shell command on a configurable action. The icons can be moved on the desktop by dragging them, and the icons will remember their positions on start-up.") (license license:bsd-3))) + +(define-public xnotify + (package + (name "xnotify") + (version "0.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phillbush/xnotify") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ris7jhi7hgw7nxkwkn3zk7n3y4nvnnm6dbz0qs0g2srp2k67v7v")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("libxft" ,libxft) + ("libxinerama" ,libxinerama) + ("imlib2" ,imlib2))) + (arguments + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output) + (string-append "CFLAGS=" + "-I" (assoc-ref %build-inputs "freetype") + "/include/freetype2")) + #:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://github.com/phillbush/xnotify") + (synopsis "Displays a notification on the screen") + (description "XNotify receives a notification specification in stdin and +shows a notification for the user on the screen.") + (license license:expat))) diff --git a/gnu/packages/wv.scm b/gnu/packages/wv.scm index 37881a4d0f..a8c0d3cbaf 100644 --- a/gnu/packages/wv.scm +++ b/gnu/packages/wv.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc <merkur32@gmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,14 +33,14 @@ (define-public wv (package (name "wv") - (version "1.2.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/wvware/wv/" version - "/wv-" version ".tar.gz")) - (sha256 - (base32 - "1mn2ax6qjy3pvixlnvbkn6ymy6y4l2wxrr4brjaczm121s8hjcb7")))) + (version "1.2.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://abiword.org/downloads/wv/" + version "/wv-" version ".tar.gz")) + (sha256 + (base32 "17f16lkdv1c3amaz2hagiicih59ynpp4786k1m2qa1sw68xhswsc")))) (build-system gnu-build-system) (inputs `(("glib" ,glib) @@ -57,7 +57,7 @@ Word 9, 8, 7, and 6) to HTML or LaTeX. Word 2 documents can still be converted to plain text but will lack formatting. -Othe programs can use wv as a library to convert Word documents to other +Other programs can use wv as a library to convert Word documents to other formats. AbiWord uses it as its Word importer, and KWord uses concepts and code from wv in theirs.") (home-page "http://wvware.sourceforge.net/") diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 44f903ccb0..be8d0234f9 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> +;;; Copyright © 2020 James Smith <jsubuntuxp@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,6 +105,7 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages fontutils) #:use-module (gnu packages bison) + #:use-module (gnu packages sphinx) #:use-module (ice-9 match)) ;; packages outside the x.org system proper @@ -322,18 +324,19 @@ avoiding password prompts when X11 forwarding has already been setup.") (define-public libxkbcommon (package (name "libxkbcommon") - (version "0.10.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (string-append "https://xkbcommon.org/download/libxkbcommon-" version ".tar.xz")) (sha256 (base32 - "1wmnl0hngn6vrqrya4r8hvimlkr4jag39yjprls4gyrqvh667hsp")))) + "13bcdf2xpjxwbghas0cr448z89qqki2ssgfgswc257y9859v4s5b")))) (build-system meson-build-system) (inputs `(("libx11" ,libx11) ("libxcb" ,libxcb) + ("libxml2" ,libxml2) ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols) ("xkeyboard-config" ,xkeyboard-config))) @@ -358,7 +361,8 @@ system applications; currently that includes Wayland, kmscon, GTK+, Qt, Clutter, and more. Despite the name, it is not currently used by anything X11 (yet).") (license (license:x11-style "file://COPYING" - "See 'COPYING' in the distribution.")))) + "See 'COPYING' in the distribution.")) + (properties '((cpe-name . "xkbcommon"))))) (define-public libfakekey (package @@ -498,7 +502,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.101") + (version "2.4.102") (source (origin (method url-fetch) (uri (string-append @@ -506,8 +510,7 @@ rasterisation.") version ".tar.xz")) (sha256 (base32 - "19vqbhqljhln0lrpnv3s7y3lkhsdcp76dl8bhqj3cis9ism1pwyx")) - (patches (search-patches "libdrm-realpath-virtio.patch")))) + "0nx0bd9dhymdsd99v4ifib77yjirkvkxf5hzdkbr7qr8dhrzkjwb")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -984,7 +987,8 @@ compact configuration syntax.") ;; This sets the destination when installing the necessary terminal ;; capability data, which are not provided by 'ncurses'. See ;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html - `(#:make-flags (list (string-append "TERMINFO=" + `(#:configure-flags (list "--enable-256-color") + #:make-flags (list (string-append "TERMINFO=" (assoc-ref %outputs "out") "/share/terminfo")) #:phases @@ -2436,7 +2440,7 @@ After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.") ("glib" ,glib "bin") ("pkg-config" ,pkg-config))) (inputs - `(("dbus-glib", dbus-glib) + `(("dbus-glib" ,dbus-glib) ("glib" ,glib) ("libx11" ,libx11))) (home-page "https://github.com/qnikst/kbdd") @@ -2515,3 +2519,34 @@ using @command{dmenu}.") such as sway, similar to @command{rofi}.") (home-page "https://hg.sr.ht/~scoopta/wofi") (license license:gpl3+))) + +(define-public dex + (package + (name "dex") + (version "0.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://github.com/jceb/dex")) + (commit (string-append "v" version)))) + (sha256 + (base32 + "03aapcywnz4kl548cygpi25m8adwbmqlmwgxa66v4156ax9dqs86")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)) + #:tests? #f)) + (inputs + `(("python", python))) + (native-inputs + `(("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/jceb/dex") + (synopsis "Execute DesktopEntry files") + (description + "@command{dex}, @dfn{DesktopEntry Execution}, is a program to generate +and execute @file{.desktop} files of the Application type.") + (license license:gpl3+))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index ed584d8959..2b9c13e6c9 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -1396,7 +1396,7 @@ precedence rules, and the following functions and common constants.") (define-public xfce4-cpufreq-plugin (package (name "xfce4-cpufreq-plugin") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1405,7 +1405,7 @@ precedence rules, and the following functions and common constants.") "/xfce4-cpufreq-plugin-" version ".tar.bz2")) (sha256 (base32 - "1dgmx3ygil51s1az298ly0gybcw8ln1dz8q8y9k207a0vk049q65")))) + "16748wxy8aa5cxga0dbfrq7kv40alg5yx967r2l6vjapv2w083sh")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index fb3c06418b..2d80496330 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -86,14 +86,14 @@ periodic timestamps for seeking.") (define libvorbis (package (name "libvorbis") - (version "1.3.6") + (version "1.3.7") (source (origin (method url-fetch) (uri (string-append "https://downloads.xiph.org/releases/vorbis/" "libvorbis-" version ".tar.xz")) (sha256 (base32 - "05dlzjkdpv46zb837wysxqyn8l636x3dw8v8ymlrwz2fg1dbn05g")))) + "0jwmf87x5sdis64rbv0l87mdpah1rbilkkxszipbzg128f9w8g5k")))) (build-system gnu-build-system) (propagated-inputs `(("libogg" ,libogg))) (arguments `(#:configure-flags '("LDFLAGS=-lm" @@ -494,7 +494,7 @@ things in between.") (define-public libshout (package (name "libshout") - (version "2.4.3") + (version "2.4.4") (source (origin (method url-fetch) (uri (string-append @@ -502,7 +502,7 @@ things in between.") "libshout-" version ".tar.gz")) (sha256 (base32 - "1zhdshas539cs8fsz8022ljxnnncr5lafhfd1dqr1gs125fzb2hd")))) + "1hz670a4pfpsb89b0mymy8nw4rx8x0vmh61gq6j1vbg70mfhrscc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index e482312f3c..af2da1bbb6 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com> +;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1432,7 +1433,7 @@ SAX2 APIs.") (define-public xlsxio (package (name "xlsxio") - (version "0.2.26") + (version "0.2.29") (source (origin (method git-fetch) @@ -1441,7 +1442,7 @@ SAX2 APIs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0j8jral3yc2aib2ykp527lyb62a1d9p7qmfbszy7iy3s65pkma9b")))) + (base32 "0jr6ggzhd8aakdvppcl8scy9j9jafg82zbzr4ih996sz8lrj90fn")))) (native-inputs `(("expat" ,expat) ("make" ,gnu-make) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 60e80e1fda..b1a4d4a9bd 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2466,7 +2466,7 @@ XC-APPGROUP, XTEST.") (define-public libevdev (package (name "libevdev") - (version "1.8.0") + (version "1.9.1") (source (origin (method url-fetch) @@ -2474,21 +2474,10 @@ XC-APPGROUP, XTEST.") name "-" version ".tar.xz")) (sha256 (base32 - "04a2klvii0in9ln8r85mk2cm73jq8ry2m3yzmf2z8xyjxzjcmlr0")))) + "1jvsphdrs1i54ccjcn6ll26jy42am7h28lbsvwa6pmxgqm43qq7m")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--disable-static") - #:phases (modify-phases %standard-phases - (add-before 'configure 'pedantry - (lambda _ - ;; XXX: libevdev includes kernel headers, which causes this - ;; compile test to fail with: - ;; ...-headers-4.14.67/include/asm-generic/posix_types.h:88:14: - ;;error: ISO C90 does not support ‘long long’ [-Werror=long-long] - (substitute* "test/Makefile.in" - (("-pedantic -Werror -std=c89") - "-pedantic -Werror -std=c99")) - #t))))) + `(#:configure-flags '("--disable-static"))) (native-inputs `(("python" ,python))) (home-page "https://www.freedesktop.org/wiki/Software/libevdev/") (synopsis "Wrapper library for evdev devices") @@ -2539,7 +2528,7 @@ including most mice, keyboards, tablets and touchscreens.") (define-public xf86-input-libinput (package (name "xf86-input-libinput") - (version "0.28.2") + (version "0.30.0") (source (origin (method url-fetch) (uri (string-append @@ -2547,7 +2536,7 @@ including most mice, keyboards, tablets and touchscreens.") name "-" version ".tar.bz2")) (sha256 (base32 - "0818vr0yhk9j1y1wcbxzcd458vrvp06rrhi8k43bhqkb5jb4dcxq")))) + "1h4np66p87jf0c85ig524w8f5rbhl5gx8fww1qg0c55f87yzkizr")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -4032,7 +4021,7 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.29") + (version "2.31") (source (origin (method url-fetch) @@ -4042,7 +4031,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "00hqc8nykvy8c09b8vab64dcd0ij3n5klxjn6rl00q7hickpah8x")))) + "18xddaxh83zm698syh50w983jg6b7b8zgv0dfaf7ha485hgihi6s")))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) @@ -5320,8 +5309,7 @@ over Xlib, including: (define-public xorg-server (package (name "xorg-server") - (version "1.20.8") - (replacement xorg-server/fixed) + (version "1.20.9") (source (origin (method url-fetch) @@ -5329,7 +5317,7 @@ over Xlib, including: "xorg-server-" version ".tar.bz2")) (sha256 (base32 - "0ih15m7gh1z1ly6z7g82bkni719yisqmbk61a1wgp82bxrmn8yyi")) + "0w9mrnffvjgmwi50kln15i8rpdskxv97r78l75wlcmg4vzhg46g2")) (patches (list ;; See: @@ -5443,35 +5431,13 @@ communicates with the user via graphical controls such as buttons and draggable titlebars and borders.") (license license:x11))) -(define xorg-server/fixed ; security fixes - (package - (inherit xorg-server) - (version "1.20.9") - (source - (origin - (inherit (package-source xorg-server)) - (uri (string-append "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "0w9mrnffvjgmwi50kln15i8rpdskxv97r78l75wlcmg4vzhg46g2")))))) - ;; This package is intended to be used when building GTK+. ;; Note: It's currently marked as "hidden" to avoid having two non-eq? ;; packages with the same name and version. -;; TODO: Update this in the next rebuild cycle. (define-public xorg-server-for-tests (hidden-package (package - (inherit xorg-server) - (version "1.20.7") - (source (origin - (inherit (package-source xorg-server)) - (uri (string-append "mirror://xorg/individual/xserver/" - "xorg-server-" version ".tar.bz2")) - (sha256 - (base32 - "18bfl04ihw1jr3h0fs522nnxxq5ixjay77y9dcymnkzk23q8cndx"))))))) + (inherit xorg-server)))) (define-public xorg-server-xwayland (package/inherit xorg-server @@ -6094,7 +6060,7 @@ to answer a question. Xmessage can also exit after a specified time.") (define-public xterm (package (name "xterm") - (version "359") + (version "361") (source (origin (method url-fetch) (uri (list @@ -6104,7 +6070,7 @@ to answer a question. Xmessage can also exit after a specified time.") "xterm-" version ".tgz"))) (sha256 (base32 - "0lcjifz027j99zf2dnms0h43xp5zznxr39safrpyarv59jlmdjii")))) + "0gv27akkfb796aww1snq3c2sxmi8vajgfxk83g60awp4slh0yqc5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" @@ -6288,15 +6254,16 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "4.0.3") + (version "4.0.4") (source (origin (method url-fetch) (uri (string-append "https://www.xpra.org/src/xpra-" version ".tar.xz")) (sha256 - (base32 "05afdspf51fbya6jg6971i3ddqn8p4mg3v3aaqyi3chx4q1807rp")) - (patches (search-patches "xpra-4.0.1-systemd-run.patch")))) + (base32 "10alqdfmgml9ixdi1nyd9xlw8a5q0j8m2sv4g9p83pd6z1a0rpv2")) + (patches (search-patches "xpra-4.0.1-systemd-run.patch" + "xpra-4.0.4-norequests.patch")))) (build-system python-build-system) ;; see also http://xpra.org/trac/wiki/Dependencies (inputs `( @@ -6323,7 +6290,7 @@ basic eye-candy effects.") ("python-pillow" ,python-pillow) ;; Optional dependencies. ("python-rencode" ,python-rencode) ; For speed. - ("python-numpy", python-numpy) + ("python-numpy" ,python-numpy) ("python-pyopengl" ,python-pyopengl) ; Drawing acceleration. ("python-pyopengl-accelerate" ,python-pyopengl-accelerate) ; Same. ("python-paramiko" ,python-paramiko) ; Tunneling over SSH. @@ -6651,7 +6618,7 @@ output.") (define-public console-setup (package (name "console-setup") - (version "1.196") + (version "1.197") (source (origin (method git-fetch) @@ -6659,7 +6626,7 @@ output.") (url "https://salsa.debian.org/installer-team/console-setup.git") (commit version))) (sha256 - (base32 "0c79rycgpna8910as6blw3z3sajzzakz4qlvr6js2yr8zq2d0ylg")) + (base32 "0m2q30f94vd1wb2zqpiyplpgfchjlm8j41xiyxcqdjzdgqbs7l27")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -6708,7 +6675,7 @@ output.") (synopsis "Set up the Linux console font and keyboard") (description "console-setup provides the console with the same keyboard -configuration scheme that X Window System has. In particular, the +configuration scheme that the X Window System has. In particular, the @command{ckbcomp} program compiles an XKB keyboard description to a keymap suitable for @command{loadkeys} or @command{kbdcontrol}. As a result, there is no need to duplicate or change the console keyboard files just to make diff --git a/gnu/services.scm b/gnu/services.scm index 11ba21e824..4b30399adc 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -461,7 +461,12 @@ channels in use and CONFIG-FILE, if it is true." (mbegin %store-monad (let ((config-file (cond ((string? config-file) - (local-file config-file "configuration.scm")) + ;; CONFIG-FILE has been passed typically via + ;; 'guix system reconfigure CONFIG-FILE' so we + ;; can assume it's valid: tell 'local-file' to + ;; not emit a warning. + (local-file (assume-valid-file-name config-file) + "configuration.scm")) ((not config-file) #f) (else diff --git a/gnu/services/base.scm b/gnu/services/base.scm index d560ad5a13..04bc991356 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1570,6 +1570,9 @@ proxy of 'guix-daemon'...~%") ;; the 'set-http-proxy' action. (or (getenv "http_proxy") #$http-proxy)) + ;; Start the guix-daemon from a container, when supported, + ;; to solve an installation issue. See the comment below for + ;; more details. (fork+exec-command/container (cons* #$(file-append guix "/bin/guix-daemon") "--build-users-group" #$build-group @@ -1600,6 +1603,8 @@ proxy of 'guix-daemon'...~%") ;; operate from within the same MNT namespace as the ;; installation container. In that case only, enter the ;; namespace of the process PID passed as start argument. + ;; Otherwise, for symmetry purposes enter the caller + ;; namespaces which is a no-op. #:pid (match args ((pid) (string->number pid)) (else (getpid))) @@ -1648,10 +1653,15 @@ proxy of 'guix-daemon'...~%") ;; otherwise call 'chown' here, but the problem is that on a COW overlayfs, ;; chown leads to an entire copy of the tree, which is a bad idea. - ;; Optionally authorize substitute server keys. - (if authorize-key? - (substitute-key-authorization keys guix) - #~#f)))) + ;; Generate a key pair and optionally authorize substitute server keys. + #~(begin + (unless (file-exists? "/etc/guix/signing-key.pub") + (system* #$(file-append guix "/bin/guix") "archive" + "--generate-key")) + + #$(if authorize-key? + (substitute-key-authorization keys guix) + #~#f))))) (define* (references-file item #:optional (name "references")) "Return a file that contains the list of references of ITEM." diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index 0f4f0f9948..a50f583807 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -54,6 +54,11 @@ (default "/var/log/cuirass.log")) (web-log-file cuirass-configuration-web-log-file ;string (default "/var/log/cuirass-web.log")) + (queries-log-file cuirass-configuration-queries-log-file ;string + (default #f)) + (web-queries-log-file + cuirass-configuration-web-queries-log-file ;string + (default #f)) (cache-directory cuirass-configuration-cache-directory ;string (dir-name) (default "/var/cache/cuirass")) (ttl cuirass-configuration-ttl ;integer @@ -87,6 +92,9 @@ (cache-directory (cuirass-configuration-cache-directory config)) (web-log-file (cuirass-configuration-web-log-file config)) (log-file (cuirass-configuration-log-file config)) + (queries-log-file (cuirass-configuration-queries-log-file config)) + (web-queries-log-file + (cuirass-configuration-web-queries-log-file config)) (user (cuirass-configuration-user config)) (group (cuirass-configuration-group config)) (interval (cuirass-configuration-interval config)) @@ -111,6 +119,10 @@ "--database" #$database "--ttl" #$(string-append (number->string ttl) "s") "--interval" #$(number->string interval) + #$@(if queries-log-file + (list (string-append "--log-queries=" + queries-log-file)) + '()) #$@(if use-substitutes? '("--use-substitutes") '()) #$@(if one-shot? '("--one-shot") '()) #$@(if fallback? '("--fallback") '()) @@ -140,6 +152,10 @@ "--port" #$(number->string port) "--listen" #$host "--interval" #$(number->string interval) + #$@(if web-queries-log-file + (list (string-append "--log-queries=" + web-queries-log-file)) + '()) #$@(if use-substitutes? '("--use-substitutes") '()) #$@(if fallback? '("--fallback") '()) #$@extra-options) @@ -170,6 +186,9 @@ (db (dirname (cuirass-configuration-database config))) (user (cuirass-configuration-user config)) (log "/var/log/cuirass") + (queries-log-file (cuirass-configuration-queries-log-file config)) + (web-queries-log-file + (cuirass-configuration-web-queries-log-file config)) (group (cuirass-configuration-group config))) (with-imported-modules '((guix build utils)) #~(begin @@ -183,14 +202,33 @@ (gid (group:gid (getgr #$group)))) (chown #$cache uid gid) (chown #$db uid gid) - (chown #$log uid gid)))))) + (chown #$log uid gid) + + (let ((queries-log-file #$queries-log-file)) + (when queries-log-file + (call-with-output-file queries-log-file (const #t)) + (chown #$queries-log-file uid gid))) + + (let ((web-queries-log-file #$web-queries-log-file)) + (when web-queries-log-file + (call-with-output-file web-queries-log-file (const #t)) + (chown web-queries-log-file uid gid)))))))) (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))) - (frequency 'weekly) - (options '("rotate 40"))))) ;worth keeping + (let ((queries-log-file (cuirass-configuration-queries-log-file config)) + (web-queries-log-file + (cuirass-configuration-web-queries-log-file config))) + (list (log-rotation + (files `(,(cuirass-configuration-log-file config) + ,@(if queries-log-file + (list queries-log-file) + '()) + ,@(if web-queries-log-file + (list web-queries-log-file) + '()))) + (frequency 'weekly) + (options '("rotate 40")))))) ;worth keeping (define cuirass-service-type (service-type diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index bdbea5dddf..3a3fd8fd1b 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> -;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2017, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> @@ -54,6 +54,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages libusb) #:use-module (gnu packages mate) + #:use-module (gnu packages nfs) #:use-module (gnu packages enlightenment) #:use-module (guix deprecation) #:use-module (guix records) @@ -470,6 +471,7 @@ site} for more information." ,(bluetooth-directory config))))) (service-extension shepherd-root-service-type (compose list bluetooth-shepherd-service)))) + (default-value (bluetooth-configuration)) (description "Run the @command{bluetoothd} daemon, which manages all the Bluetooth devices and provides a number of D-Bus interfaces."))) @@ -595,64 +597,66 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks." (define-record-type* <elogind-configuration> elogind-configuration make-elogind-configuration elogind-configuration? - (elogind elogind-package - (default elogind)) - (kill-user-processes? elogind-kill-user-processes? - (default #f)) - (kill-only-users elogind-kill-only-users - (default '())) - (kill-exclude-users elogind-kill-exclude-users - (default '("root"))) - (inhibit-delay-max-seconds elogind-inhibit-delay-max-seconds - (default 5)) - (handle-power-key elogind-handle-power-key - (default 'poweroff)) - (handle-suspend-key elogind-handle-suspend-key - (default 'suspend)) - (handle-hibernate-key elogind-handle-hibernate-key - ;; (default 'hibernate) - ;; XXX Ignore it for now, since we don't - ;; yet handle resume-from-hibernation in - ;; our initrd. - (default 'ignore)) - (handle-lid-switch elogind-handle-lid-switch - (default 'suspend)) - (handle-lid-switch-docked elogind-handle-lid-switch-docked - (default 'ignore)) - (power-key-ignore-inhibited? elogind-power-key-ignore-inhibited? - (default #f)) - (suspend-key-ignore-inhibited? elogind-suspend-key-ignore-inhibited? - (default #f)) - (hibernate-key-ignore-inhibited? elogind-hibernate-key-ignore-inhibited? - (default #f)) - (lid-switch-ignore-inhibited? elogind-lid-switch-ignore-inhibited? - (default #t)) - (holdoff-timeout-seconds elogind-holdoff-timeout-seconds - (default 30)) - (idle-action elogind-idle-action - (default 'ignore)) - (idle-action-seconds elogind-idle-action-seconds - (default (* 30 60))) - (runtime-directory-size-percent elogind-runtime-directory-size-percent - (default 10)) - (runtime-directory-size elogind-runtime-directory-size - (default #f)) - (remove-ipc? elogind-remove-ipc? - (default #t)) - - (suspend-state elogind-suspend-state - (default '("mem" "standby" "freeze"))) - (suspend-mode elogind-suspend-mode - (default '())) - (hibernate-state elogind-hibernate-state - (default '("disk"))) - (hibernate-mode elogind-hibernate-mode - (default '("platform" "shutdown"))) - (hybrid-sleep-state elogind-hybrid-sleep-state - (default '("disk"))) - (hybrid-sleep-mode elogind-hybrid-sleep-mode - (default - '("suspend" "platform" "shutdown")))) + (elogind elogind-package + (default elogind)) + (kill-user-processes? elogind-kill-user-processes? + (default #f)) + (kill-only-users elogind-kill-only-users + (default '())) + (kill-exclude-users elogind-kill-exclude-users + (default '("root"))) + (inhibit-delay-max-seconds elogind-inhibit-delay-max-seconds + (default 5)) + (handle-power-key elogind-handle-power-key + (default 'poweroff)) + (handle-suspend-key elogind-handle-suspend-key + (default 'suspend)) + (handle-hibernate-key elogind-handle-hibernate-key + ;; (default 'hibernate) + ;; XXX Ignore it for now, since we don't + ;; yet handle resume-from-hibernation in + ;; our initrd. + (default 'ignore)) + (handle-lid-switch elogind-handle-lid-switch + (default 'suspend)) + (handle-lid-switch-docked elogind-handle-lid-switch-docked + (default 'ignore)) + (handle-lid-switch-external-power elogind-handle-lid-switch-external-power + (default 'ignore)) + (power-key-ignore-inhibited? elogind-power-key-ignore-inhibited? + (default #f)) + (suspend-key-ignore-inhibited? elogind-suspend-key-ignore-inhibited? + (default #f)) + (hibernate-key-ignore-inhibited? elogind-hibernate-key-ignore-inhibited? + (default #f)) + (lid-switch-ignore-inhibited? elogind-lid-switch-ignore-inhibited? + (default #t)) + (holdoff-timeout-seconds elogind-holdoff-timeout-seconds + (default 30)) + (idle-action elogind-idle-action + (default 'ignore)) + (idle-action-seconds elogind-idle-action-seconds + (default (* 30 60))) + (runtime-directory-size-percent elogind-runtime-directory-size-percent + (default 10)) + (runtime-directory-size elogind-runtime-directory-size + (default #f)) + (remove-ipc? elogind-remove-ipc? + (default #t)) + + (suspend-state elogind-suspend-state + (default '("mem" "standby" "freeze"))) + (suspend-mode elogind-suspend-mode + (default '())) + (hibernate-state elogind-hibernate-state + (default '("disk"))) + (hibernate-mode elogind-hibernate-mode + (default '("platform" "shutdown"))) + (hybrid-sleep-state elogind-hybrid-sleep-state + (default '("disk"))) + (hybrid-sleep-mode elogind-hybrid-sleep-mode + (default + '("suspend" "platform" "shutdown")))) (define (elogind-configuration-file config) (define (yesno x) @@ -704,6 +708,7 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks." ("HandleHibernateKey" (handle-action elogind-handle-hibernate-key)) ("HandleLidSwitch" (handle-action elogind-handle-lid-switch)) ("HandleLidSwitchDocked" (handle-action elogind-handle-lid-switch-docked)) + ("HandleLidSwitchExternalPower" (handle-action elogind-handle-lid-switch-external-power)) ("PowerKeyIgnoreInhibited" (yesno elogind-power-key-ignore-inhibited?)) ("SuspendKeyIgnoreInhibited" (yesno elogind-suspend-key-ignore-inhibited?)) ("HibernateKeyIgnoreInhibited" (yesno elogind-hibernate-key-ignore-inhibited?)) @@ -1202,6 +1207,12 @@ or setting its password with passwd."))) ;; perform administrative tasks (similar to "sudo"). polkit-wheel-service + ;; Allow desktop users to also mount NTFS and NFS file systems + ;; without root. + (simple-service 'mount-setuid-helpers setuid-program-service-type + (list (file-append nfs-utils "/sbin/mount.nfs") + (file-append ntfs-3g "/sbin/mount.ntfs-3g"))) + ;; The global fontconfig cache directory can sometimes contain ;; stale entries, possibly referencing fonts that have been GC'd, ;; so mount it read-only. diff --git a/gnu/services/dict.scm b/gnu/services/dict.scm index 519ed3eca2..a97ad8f608 100644 --- a/gnu/services/dict.scm +++ b/gnu/services/dict.scm @@ -187,7 +187,7 @@ of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}). The optional @var{config} argument specifies the configuration for @command{dicod}, which should be a @code{<dicod-configuration>} object, by -default it serves the GNU Collaborative International Dictonary of English. +default it serves the GNU Collaborative International Dictionary of English. You can add @command{open localhost} to your @file{~/.dico} file to make @code{localhost} the default server for @command{dico} diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 9caa3611be..572880561c 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -757,7 +757,29 @@ cache.size = 100 * MB (cache-size dnsmasq-configuration-cache-size (default 150)) ;integer (negative-cache? dnsmasq-configuration-negative-cache? - (default #t))) ;boolean + (default #t)) ;boolean + (tftp-enable? dnsmasq-configuration-tftp-enable? + (default #f)) ;boolean + (tftp-no-fail? dnsmasq-configuration-tftp-no-fail? + (default #f)) ;boolean + (tftp-single-port? dnsmasq-configuration-tftp-single-port? + (default #f)) ;boolean + (tftp-secure? dnsmasq-tftp-secure? + (default #f)) ;boolean + (tftp-max dnsmasq-tftp-max + (default #f)) ;integer + (tftp-mtu dnsmasq-tftp-mtu + (default #f)) ;integer + (tftp-no-blocksize? dnsmasq-tftp-no-blocksize? + (default #f)) ;boolean + (tftp-lowercase? dnsmasq-tftp-lowercase? + (default #f)) ;boolean + (tftp-port-range dnsmasq-tftp-port-range + (default #f)) ;string + (tftp-root dnsmasq-tftp-root + (default "/var/empty,lo")) ;string + (tftp-unique-root dnsmasq-tftp-unique-root + (default #f))) ;"" or "ip" or "mac" (define dnsmasq-shepherd-service (match-lambda @@ -765,7 +787,12 @@ cache.size = 100 * MB no-hosts? port local-service? listen-addresses resolv-file no-resolv? servers - addresses cache-size negative-cache?) + addresses cache-size negative-cache? + tftp-enable? tftp-no-fail? + tftp-single-port? tftp-secure? + tftp-max tftp-mtu tftp-no-blocksize? + tftp-lowercase? tftp-port-range + tftp-root tftp-unique-root) (shepherd-service (provision '(dnsmasq)) (requirement '(networking)) @@ -794,7 +821,44 @@ cache.size = 100 * MB #$(format #f "--cache-size=~a" cache-size) #$@(if negative-cache? '() - '("--no-negcache"))) + '("--no-negcache")) + #$@(if tftp-enable? + '("--enable-tftp") + '()) + #$@(if tftp-no-fail? + '("--tftp-no-fail") + '()) + #$@(if tftp-single-port? + '("--tftp-single-port") + '()) + #$@(if tftp-secure? + '("--tftp-secure?") + '()) + #$@(if tftp-max + (list (format #f "--tftp-max=~a" tftp-max)) + '()) + #$@(if tftp-mtu + (list (format #f "--tftp-mtu=~a" tftp-mtu)) + '()) + #$@(if tftp-no-blocksize? + '("--tftp-no-blocksize") + '()) + #$@(if tftp-lowercase? + '("--tftp-lowercase") + '()) + #$@(if tftp-port-range + (list (format #f "--tftp-port-range=~a" + tftp-port-range)) + '()) + #$@(if tftp-root + (list (format #f "--tftp-root=~a" tftp-root)) + '()) + #$@(if tftp-unique-root + (list + (if (> (length tftp-unique-root) 0) + (format #f "--tftp-unique-root=~a" tftp-unique-root) + (format #f "--tftp-unique-root"))) + '())) #:pid-file "/run/dnsmasq.pid")) (stop #~(make-kill-destructor)))))) diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index 2fb2ae2c47..7acfbea49f 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,9 @@ (docker (package docker) "Docker daemon package.") + (docker-cli + (package docker-cli) + "Docker client package.") (containerd (package containerd) "containerd package.") @@ -80,7 +84,8 @@ loop-back communications.") (define (containerd-shepherd-service config) (let* ((package (docker-configuration-containerd config)) - (debug? (docker-configuration-debug? config))) + (debug? (docker-configuration-debug? config)) + (containerd (docker-configuration-containerd config))) (shepherd-service (documentation "containerd daemon.") (provision '(containerd)) @@ -89,6 +94,9 @@ loop-back communications.") #$@(if debug? '("--log-level=debug") '())) + ;; For finding containerd-shim binary. + #:environment-variables + (list (string-append "PATH=" #$containerd "/bin")) #:log-file "/var/log/containerd.log")) (stop #~(make-kill-destructor))))) @@ -118,9 +126,11 @@ loop-back communications.") #$@(if debug? '("--debug" "--log-level=debug") '()) - (if #$enable-proxy? "--userland-proxy" "") - "--userland-proxy-path" (string-append #$proxy - "/bin/proxy") + #$@(if enable-proxy? + (list "--userland-proxy=true" + #~(string-append + "--userland-proxy-path=" #$proxy "/bin/proxy")) + '("--userland-proxy=false")) (if #$enable-iptables? "--iptables" "--iptables=false")) @@ -136,7 +146,7 @@ bundles in Docker containers.") (list ;; Make sure the 'docker' command is available. (service-extension profile-service-type - (list docker-cli)) + (compose list docker-configuration-docker-cli)) (service-extension activation-service-type %docker-activation) (service-extension shepherd-root-service-type diff --git a/gnu/services/ganeti.scm b/gnu/services/ganeti.scm index e2a2ec63e1..d87db5b9ac 100644 --- a/gnu/services/ganeti.scm +++ b/gnu/services/ganeti.scm @@ -430,7 +430,7 @@ appropriate requests to this daemon."))) (description "@command{ganeti-luxid} is a daemon used to answer queries related to the configuration and the current live state of a Ganeti cluster. -Additionally, it is the autorative daemon for the Ganeti job queue. Jobs can +Additionally, it is the authorative daemon for the Ganeti job queue. Jobs can be submitted via this daemon and it schedules and starts them."))) (define-record-type* <ganeti-rapi-configuration> diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index 10a8581a62..a47c4bd941 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -17,20 +17,67 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu services guix) + #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix packages) #:use-module ((gnu packages base) #:select (glibc-utf8-locales)) #:use-module (gnu packages admin) + #:use-module (gnu packages databases) #:use-module (gnu packages web) + #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) + #:use-module (gnu packages package-management) #:use-module (gnu services) #:use-module (gnu services base) #:use-module (gnu services admin) #:use-module (gnu services shepherd) #:use-module (gnu services getmail) #:use-module (gnu system shadow) - #:export (<guix-data-service-configuration> + #:export (guix-build-coordinator-configuration + guix-build-coordinator-configuration? + guix-build-coordinator-configuration-package + guix-build-coordinator-configuration-user + guix-build-coordinator-configuration-group + guix-build-coordinator-configuration-datastore-uri-string + guix-build-coordinator-configuration-agent-communication-uri-string + guix-build-coordinator-configuration-client-communication-uri-string + guix-build-coordinator-configuration-allocation-strategy + guix-build-coordinator-configuration-hooks + guix-build-coordinator-configuration-guile + + guix-build-coordinator-service-type + + guix-build-coordinator-agent-configuration + guix-build-coordinator-agent-configuration? + guix-build-coordinator-agent-configuration-package + guix-build-coordinator-agent-configuration-user + guix-build-coordinator-agent-configuration-coordinator + guix-build-coordinator-agent-configuration-uuid + guix-build-coordinator-agent-configuration-password + guix-build-coordinator-agent-configuration-password-file + guix-build-coordinator-agent-configuration-systems + guix-build-coordinator-agent-configuration-max-parallel-builds + guix-build-coordinator-agent-configuration-derivation-substitute-urls + guix-build-coordinator-agent-configuration-non-derivation-substitute-urls + + guix-build-coordinator-agent-service-type + + guix-build-coordinator-queue-builds-configuration + guix-build-coordinator-queue-builds-configuration? + guix-build-coordinator-queue-builds-configuration-package + guix-build-coordinator-queue-builds-configuration-user + guix-build-coordinator-queue-builds-coordinator + guix-build-coordinator-queue-builds-configuration-systems + guix-build-coordinator-queue-builds-configuration-system-and-targets + guix-build-coordinator-queue-builds-configuration-guix-data-service + guix-build-coordinator-queue-builds-configuration-processed-commits-file + + guix-build-coordinator-queue-builds-service-type + + <guix-data-service-configuration> guix-data-service-configuration guix-data-service-configuration? guix-data-service-package @@ -45,11 +92,391 @@ ;;;; Commentary: ;;; -;;; This module implements a service that to run instances of the Guix Data -;;; Service, which provides data about Guix over time. +;;; Services specifically related to GNU Guix. ;;; ;;;; Code: +(define-record-type* <guix-build-coordinator-configuration> + guix-build-coordinator-configuration make-guix-build-coordinator-configuration + guix-build-coordinator-configuration? + (package guix-build-coordinator-configuration-package + (default guix-build-coordinator)) + (user guix-build-coordinator-configuration-user + (default "guix-build-coordinator")) + (group guix-build-coordinator-configuration-group + (default "guix-build-coordinator")) + (database-uri-string + guix-build-coordinator-configuration-datastore-uri-string + (default "sqlite:///var/lib/guix-build-coordinator/guix_build_coordinator.db")) + (agent-communication-uri-string + guix-build-coordinator-configuration-agent-communication-uri-string + (default "http://0.0.0.0:8745")) + (client-communication-uri-string + guix-build-coordinator-configuration-client-communication-uri-string + (default "http://127.0.0.1:8746")) + (allocation-strategy + guix-build-coordinator-configuration-allocation-strategy + (default #~basic-build-allocation-strategy)) + (hooks guix-build-coordinator-configuration-hooks + (default '())) + (guile guix-build-coordinator-configuration-guile + (default guile-3.0-latest))) + +(define-record-type* <guix-build-coordinator-agent-configuration> + guix-build-coordinator-agent-configuration + make-guix-build-coordinator-agent-configuration + guix-build-coordinator-agent-configuration? + (package guix-build-coordinator-agent-configuration-package + (default guix-build-coordinator)) + (user guix-build-coordinator-agent-configuration-user + (default "guix-build-coordinator-agent")) + (coordinator guix-build-coordinator-agent-configuration-coordinator + (default "http://localhost:8745")) + (uuid guix-build-coordinator-agent-configuration-uuid) + (password guix-build-coordinator-agent-configuration-password + (default #f)) + (password-file guix-build-coordinator-agent-configuration-password-file + (default #f)) + (systems guix-build-coordinator-agent-configuration-systems + (default #f)) + (max-parallel-builds + guix-build-coordinator-agent-configuration-max-parallel-builds + (default 1)) + (derivation-substitute-urls + guix-build-coordinator-agent-configuration-derivation-substitute-urls + (default #f)) + (non-derivation-substitute-urls + guix-build-coordinator-agent-configuration-non-derivation-substitute-urls + (default #f))) + +(define-record-type* <guix-build-coordinator-queue-builds-configuration> + guix-build-coordinator-queue-builds-configuration + make-guix-build-coordinator-queue-builds-configuration + guix-build-coordinator-queue-builds-configuration? + (package guix-build-coordinator-queue-builds-configuration-package + (default guix-build-coordinator)) + (user guix-build-coordinator-queue-builds-configuration-user + (default "guix-build-coordinator-queue-builds")) + (coordinator guix-build-coordinator-queue-builds-coordinator + (default "http://localhost:8745")) + (systems guix-build-coordinator-queue-builds-configuration-systems + (default #f)) + (systems-and-targets + guix-build-coordinator-queue-builds-configuration-system-and-targets + (default #f)) + (guix-data-service + guix-build-coordinator-queue-builds-configuration-guix-data-service + (default "https://data.guix.gnu.org")) + (processed-commits-file + guix-build-coordinator-queue-builds-configuration-processed-commits-file + (default "/var/cache/guix-build-coordinator-queue-builds/processed-commits"))) + +(define* (make-guix-build-coordinator-start-script database-uri-string + allocation-strategy + pid-file + guix-build-coordinator-package + #:key + agent-communication-uri-string + client-communication-uri-string + (hooks '()) + (guile guile-3.0)) + (program-file + "start-guix-build-coordinator" + (with-extensions (cons guix-build-coordinator-package + ;; This is a poorly constructed Guile load path, + ;; since it contains things that aren't Guile + ;; libraries, but it means that the Guile libraries + ;; needed for the Guix Build Coordinator don't need + ;; to be individually specified here. + (map second (package-inputs + guix-build-coordinator-package))) + #~(begin + (use-modules (srfi srfi-1) + (ice-9 match) + (web uri) + (prometheus) + (guix-build-coordinator hooks) + (guix-build-coordinator datastore) + (guix-build-coordinator build-allocator) + (guix-build-coordinator coordinator)) + + (let* ((metrics-registry (make-metrics-registry + #:namespace + "guixbuildcoordinator_")) + (datastore (database-uri->datastore + #$database-uri-string + #:metrics-registry metrics-registry)) + (hooks + (list #$@(map (match-lambda + ((name . hook-gexp) + #~(cons name #$hook-gexp))) + hooks))) + (hooks-with-defaults + `(,@hooks + ,@(remove (match-lambda + ((name . _) (assq-ref hooks name))) + %default-hooks))) + (build-coordinator (make-build-coordinator + #:datastore datastore + #:hooks hooks-with-defaults + #:metrics-registry metrics-registry + #:allocation-strategy #$allocation-strategy))) + + (run-coordinator-service + build-coordinator + #:update-datastore? #t + #:pid-file #$pid-file + #:agent-communication-uri (string->uri + #$agent-communication-uri-string) + #:client-communication-uri (string->uri + #$client-communication-uri-string))))) + #:guile guile)) + +(define (guix-build-coordinator-shepherd-services config) + (match-record config <guix-build-coordinator-configuration> + (package user group database-uri-string + agent-communication-uri-string + client-communication-uri-string + allocation-strategy + hooks + guile) + (list + (shepherd-service + (documentation "Guix Build Coordinator") + (provision '(guix-build-coordinator)) + (requirement '(networking)) + (start #~(make-forkexec-constructor + (list #$(make-guix-build-coordinator-start-script + database-uri-string + allocation-strategy + "/var/run/guix-build-coordinator/pid" + package + #:agent-communication-uri-string + agent-communication-uri-string + #:client-communication-uri-string + client-communication-uri-string + #:hooks hooks + #:guile guile)) + #:user #$user + #:group #$group + #:pid-file "/var/run/guix-build-coordinator/pid" + ;; Allow time for migrations to run + #:pid-file-timeout 60 + #:environment-variables + `(,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-build-coordinator/coordinator.log")) + (stop #~(make-kill-destructor)))))) + +(define (guix-build-coordinator-activation config) + #~(begin + (use-modules (guix build utils)) + + (define %user (getpw "guix-build-coordinator")) + + (chmod "/var/lib/guix-build-coordinator" #o755) + + (mkdir-p "/var/log/guix-build-coordinator") + + ;; Allow writing the PID file + (mkdir-p "/var/run/guix-build-coordinator") + (chown "/var/run/guix-build-coordinator" + (passwd:uid %user) + (passwd:gid %user)))) + +(define (guix-build-coordinator-account config) + (match-record config <guix-build-coordinator-configuration> + (user group) + (list (user-group + (name group) + (system? #t)) + (user-account + (name user) + (group group) + (system? #t) + (comment "Guix Build Coordinator user") + (home-directory "/var/lib/guix-build-coordinator") + (shell (file-append shadow "/sbin/nologin")))))) + +(define guix-build-coordinator-service-type + (service-type + (name 'guix-build-coordinator) + (extensions + (list + (service-extension shepherd-root-service-type + guix-build-coordinator-shepherd-services) + (service-extension activation-service-type + guix-build-coordinator-activation) + (service-extension account-service-type + guix-build-coordinator-account))) + (default-value + (guix-build-coordinator-configuration)) + (description + "Run an instance of the Guix Build Coordinator."))) + +(define (guix-build-coordinator-agent-shepherd-services config) + (match-record config <guix-build-coordinator-agent-configuration> + (package user coordinator uuid password password-file max-parallel-builds + derivation-substitute-urls non-derivation-substitute-urls + systems) + (list + (shepherd-service + (documentation "Guix Build Coordinator Agent") + (provision '(guix-build-coordinator-agent)) + (requirement '(networking)) + (start #~(make-forkexec-constructor + (list #$(file-append package "/bin/guix-build-coordinator-agent") + #$(string-append "--coordinator=" coordinator) + #$(string-append "--uuid=" uuid) + #$@(if password + #~(#$(string-append "--password=" password)) + #~()) + #$@(if password-file + #~(#$(string-append "--password-file=" password-file)) + #~()) + #$(simple-format #f "--max-parallel-builds=~A" + max-parallel-builds) + #$@(if derivation-substitute-urls + #~(#$(string-append + "--derivation-substitute-urls=" + (string-join derivation-substitute-urls " "))) + #~()) + #$@(if non-derivation-substitute-urls + #~(#$(string-append + "--non-derivation-substitute-urls=" + (string-join derivation-substitute-urls " "))) + #~()) + #$@(map (lambda (system) + (string-append "--system=" system)) + (or systems '()))) + #:user #$user + #:pid-file "/var/run/guix-build-coordinator-agent/pid" + #:environment-variables + `(,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-build-coordinator/agent.log")) + (stop #~(make-kill-destructor)))))) + +(define (guix-build-coordinator-agent-activation config) + #~(begin + (use-modules (guix build utils)) + + (mkdir-p "/var/log/guix-build-coordinator") + + ;; Allow writing the PID file + (mkdir-p "/var/run/guix-build-coordinator-agent") + (chown "/var/run/guix-build-coordinator-agent" + (passwd:uid %user) + (passwd:gid %user)))) + +(define (guix-build-coordinator-agent-account config) + (list (user-account + (name (guix-build-coordinator-agent-configuration-user config)) + (group "nogroup") + (system? #t) + (comment "Guix Build Coordinator agent user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define guix-build-coordinator-agent-service-type + (service-type + (name 'guix-build-coordinator-agent) + (extensions + (list + (service-extension shepherd-root-service-type + guix-build-coordinator-agent-shepherd-services) + (service-extension activation-service-type + guix-build-coordinator-agent-activation) + (service-extension account-service-type + guix-build-coordinator-agent-account))) + (description + "Run a Guix Build Coordinator agent."))) + +(define (guix-build-coordinator-queue-builds-shepherd-services config) + (match-record config <guix-build-coordinator-queue-builds-configuration> + (package user coordinator systems systems-and-targets + guix-data-service processed-commits-file) + (list + (shepherd-service + (documentation "Guix Build Coordinator queue builds from Guix Data Service") + (provision '(guix-build-coordinator-queue-builds)) + (requirement '(networking)) + (start + #~(make-forkexec-constructor + (list + #$(file-append + package + "/bin/guix-build-coordinator-queue-builds-from-guix-data-service") + #$(string-append "--coordinator=" coordinator) + #$@(map (lambda (system) + (string-append "--system=" system)) + (or systems '())) + #$@(map (match-lambda + ((system . target) + (string-append "--system-and-target=" system "=" target))) + (or systems-and-targets '())) + #$@(if guix-data-service + #~(#$(string-append "--guix-data-service=" guix-data-service)) + #~()) + #$@(if processed-commits-file + #~(#$(string-append "--processed-commits-file=" + processed-commits-file)) + #~())) + #:user #$user + #:pid-file "/var/run/guix-build-coordinator-queue-builds/pid" + #:environment-variables + `(,(string-append + "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") + #:log-file "/var/log/guix-build-coordinator/queue-builds.log")) + (stop #~(make-kill-destructor)))))) + +(define (guix-build-coordinator-queue-builds-activation config) + #~(begin + (use-modules (guix build utils)) + + (mkdir-p "/var/log/guix-build-coordinator") + + ;; Allow writing the PID file + (mkdir-p "/var/run/guix-build-coordinator-queue-builds") + (chown "/var/run/guix-build-coordinator-queue-builds" + (passwd:uid %user) + (passwd:gid %user)))) + +(define (guix-build-coordinator-queue-builds-account config) + (list (user-account + (name (guix-build-coordinator-queue-builds-configuration-user config)) + (group "nogroup") + (system? #t) + (comment "Guix Build Coordinator queue-builds user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define guix-build-coordinator-queue-builds-service-type + (service-type + (name 'guix-build-coordinator-queue-builds) + (extensions + (list + (service-extension shepherd-root-service-type + guix-build-coordinator-queue-builds-shepherd-services) + (service-extension activation-service-type + guix-build-coordinator-queue-builds-activation) + (service-extension account-service-type + guix-build-coordinator-queue-builds-account))) + (description + "Run the guix-build-coordinator-queue-builds-from-guix-data-service +script. + +This is a script to assist in having the Guix Build Coordinator build +derivations stored in an instance of the Guix Data Service."))) + + +;;; +;;; Guix Data Service +;;; + (define-record-type* <guix-data-service-configuration> guix-data-service-configuration make-guix-data-service-configuration guix-data-service-configuration? @@ -108,7 +535,7 @@ ca-certificates.crt file in the system profile." #:environment-variables `(,(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") - "LC_ALL=en_US.utf8") + "LC_ALL=en_US.UTF-8") #:log-file "/var/log/guix-data-service/web.log")) (stop #~(make-kill-destructor))) @@ -132,7 +559,7 @@ ca-certificates.crt file in the system profile." "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" ,(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") - "LC_ALL=en_US.utf8") + "LC_ALL=en_US.UTF-8") #:log-file "/var/log/guix-data-service/process-jobs.log")) (stop #~(make-kill-destructor)))))) diff --git a/gnu/services/messaging.scm b/gnu/services/messaging.scm index 11b41f2bf6..8f2f3914cf 100644 --- a/gnu/services/messaging.scm +++ b/gnu/services/messaging.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; ;;; This file is part of GNU Guix. @@ -813,14 +813,15 @@ string, you could instantiate a prosody service like this: (match-lambda (($ <bitlbee-configuration> bitlbee interface port plugins extra-settings) - (let ((conf (mixed-text-file "bitlbee.conf" + (let* ((plugins (directory-union "bitlbee-plugins" plugins)) + (conf (mixed-text-file "bitlbee.conf" " [settings] User = bitlbee ConfigDir = /var/lib/bitlbee DaemonInterface = " interface " DaemonPort = " (number->string port) " - PluginDir = " (directory-union "bitlbee-plugins" plugins) "/lib/bitlbee + PluginDir = " plugins "/lib/bitlbee " extra-settings))) (with-imported-modules (source-module-closure @@ -840,6 +841,11 @@ string, you could instantiate a prosody service like this: (list #$(file-append bitlbee "/sbin/bitlbee") "-n" "-F" "-u" "bitlbee" "-c" #$conf) + ;; Allow 'bitlbee-purple' to use libpurple plugins. + #:environment-variables + (list (string-append "PURPLE_PLUGIN_PATH=" + #$plugins "/lib/purple-2")) + #:pid-file "/var/run/bitlbee.pid" #:mappings (list (file-system-mapping (source "/var/lib/bitlbee") diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index e45b116218..64f54e787f 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -1324,7 +1324,7 @@ whatever the thing is supposed to do)."))) (wpa-supplicant wpa-supplicant-configuration-wpa-supplicant ;<package> (default wpa-supplicant)) (requirement wpa-supplicant-configuration-requirement ;list of symbols - (default '(user-processes dbus-system loopback syslogd))) + (default '(user-processes loopback syslogd))) (pid-file wpa-supplicant-configuration-pid-file ;string (default "/var/run/wpa_supplicant.pid")) (dbus? wpa-supplicant-configuration-dbus? ;Boolean @@ -1343,7 +1343,9 @@ whatever the thing is supposed to do)."))) (list (shepherd-service (documentation "Run the WPA supplicant daemon") (provision '(wpa-supplicant)) - (requirement requirement) + (requirement (if dbus? + (cons 'dbus-system requirement) + requirement)) (start #~(make-forkexec-constructor (list (string-append #$wpa-supplicant "/sbin/wpa_supplicant") diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index ced21c0742..1891db0487 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc> +;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (gnu packages admin) #:use-module (gnu services) #:use-module (gnu services shepherd) + #:use-module (gnu services web) #:use-module (gnu system pam) #:use-module (gnu system shadow) #:use-module (guix gexp) @@ -50,7 +52,12 @@ autossh-configuration autossh-configuration? - autossh-service-type)) + autossh-service-type + + webssh-configuration + webssh-configuration? + webssh-service-type + %webssh-configuration-nginx)) ;;; Commentary: ;;; @@ -732,4 +739,126 @@ object." autossh-service-activation))) (default-value (autossh-configuration)))) + +;;; +;;; WebSSH +;;; + +(define-record-type* <webssh-configuration> + webssh-configuration make-webssh-configuration + webssh-configuration? + (package webssh-configuration-package ;package + (default webssh)) + (user-name webssh-configuration-user-name ;string + (default "webssh")) + (group-name webssh-configuration-group-name ;string + (default "webssh")) + (policy webssh-configuration-policy ;symbol + (default #f)) + (known-hosts webssh-configuration-known-hosts ;list of strings + (default #f)) + (port webssh-configuration-port ;number + (default #f)) + (address webssh-configuration-address ;string + (default #f)) + (log-file webssh-configuration-log-file ;string + (default "/var/log/webssh.log")) + (log-level webssh-configuration-log-level ;symbol + (default #f))) + +(define %webssh-configuration-nginx + (nginx-server-configuration + (listen '("80")) + (locations + (list (nginx-location-configuration + (uri "/") + (body '("proxy_pass http://127.0.0.1:8888;" + "proxy_http_version 1.1;" + "proxy_read_timeout 300;" + "proxy_set_header Upgrade $http_upgrade;" + "proxy_set_header Connection \"upgrade\";" + "proxy_set_header Host $http_host;" + "proxy_set_header X-Real-IP $remote_addr;" + "proxy_set_header X-Real-PORT $remote_port;"))))))) + +(define webssh-account + ;; Return the user accounts and user groups for CONFIG. + (match-lambda + (($ <webssh-configuration> _ user-name group-name _ _ _ _ _ _) + (list (user-group + (name group-name)) + (user-account + (name user-name) + (group group-name) + (comment "webssh privilege separation user") + (home-directory (string-append "/var/run/" user-name)) + (shell #~(string-append #$shadow "/sbin/nologin"))))))) + +(define webssh-activation + ;; Return the activation GEXP for CONFIG. + (match-lambda + (($ <webssh-configuration> _ user-name group-name policy known-hosts _ _ + log-file _) + (with-imported-modules '((guix build utils)) + #~(begin + (let* ((home-dir (string-append "/var/run/" #$user-name)) + (ssh-dir (string-append home-dir "/.ssh")) + (known-hosts-file (string-append ssh-dir "/known_hosts"))) + (call-with-output-file #$log-file (const #t)) + (mkdir-p ssh-dir) + (case '#$policy + ((reject) + (if '#$known-hosts + (call-with-output-file known-hosts-file + (lambda (port) + (for-each (lambda (host) (display host port) (newline port)) + '#$known-hosts))) + (display-hint (G_ "webssh: reject policy requires `known-hosts'."))))) + (for-each (lambda (file) + (chown file + (passwd:uid (getpw #$user-name)) + (group:gid (getpw #$group-name)))) + (list #$log-file ssh-dir known-hosts-file)) + (chmod ssh-dir #o700))))))) + +(define webssh-shepherd-service + (match-lambda + (($ <webssh-configuration> package user-name group-name policy _ port + address log-file log-level) + (list (shepherd-service + (provision '(webssh)) + (documentation "Run webssh daemon.") + (start #~(make-forkexec-constructor + `(,(string-append #$webssh "/bin/wssh") + ,(string-append "--log-file-prefix=" #$log-file) + ,@(case '#$log-level + ((debug) '("--logging=debug")) + (else '())) + ,@(case '#$policy + ((reject) '("--policy=reject")) + (else '())) + ,@(if #$port + (list (string-append "--port=" (number->string #$port))) + '()) + ,@(if #$address + (list (string-append "--address=" #$address)) + '())) + #:user #$user-name + #:group #$group-name)) + (stop #~(make-kill-destructor))))))) + +(define webssh-service-type + (service-type + (name 'webssh) + (extensions + (list (service-extension shepherd-root-service-type + webssh-shepherd-service) + (service-extension account-service-type + webssh-account) + (service-extension activation-service-type + webssh-activation))) + (default-value (webssh-configuration)) + (description + "Run the webssh."))) + ;;; ssh.scm ends here diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index cc07f8025b..f3df0b979f 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -307,10 +307,15 @@ access to exported repositories under @file{/srv/git}." (pubkey-file (string-append #$home "/" (basename - (strip-store-file-name admin-pubkey))))) + (strip-store-file-name admin-pubkey)))) + (rc-file #$(string-append home "/.gitolite.rc"))) (simple-format #t "guix: gitolite: installing ~A\n" #$rc-file) - (copy-file #$rc-file #$(string-append home "/.gitolite.rc")) + (copy-file #$rc-file rc-file) + ;; ensure gitolite's user can read the configuration + (chown rc-file + (passwd:uid user-info) + (passwd:gid user-info)) ;; The key must be writable, so copy it from the store (copy-file admin-pubkey pubkey-file) diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 20e104f48c..edd0b644f5 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -23,6 +23,8 @@ #:use-module (gnu bootloader grub) #:use-module (gnu image) #:use-module (gnu packages admin) + #:use-module (gnu packages gdb) + #:use-module (gnu packages package-management) #:use-module (gnu packages ssh) #:use-module (gnu packages virtualization) #:use-module (gnu services base) @@ -840,8 +842,12 @@ can only be accessed by their host."))) that will be listening to receive secret keys on port 1004, TCP." (operating-system (inherit os) - (services (cons (service secret-service-type 1004) - (operating-system-user-services os))))) + ;; Arrange so that the secret service activation snippet shows up before + ;; the OpenSSH and Guix activation snippets. That way, we receive OpenSSH + ;; and Guix keys before the activation snippets try to generate fresh keys + ;; for nothing. + (services (append (operating-system-user-services os) + (list (service secret-service-type 1004)))))) ;;; @@ -857,6 +863,9 @@ that will be listening to receive secret keys on port 1004, TCP." (bootloader grub-minimal-bootloader) (target "/dev/vda") (timeout 0))) + (packages (cons* gdb-minimal + (operating-system-packages + %hurd-default-operating-system))) (services (cons* (service openssh-service-type (openssh-configuration @@ -900,6 +909,7 @@ is added to the OS specified in CONFIG." (system-image (image (inherit hurd-disk-image) + (format 'compressed-qcow2) (size disk-size) (operating-system os))))) @@ -937,13 +947,19 @@ is added to the OS specified in CONFIG." (provisions '(hurd-vm childhurd))) (define vm-command - #~(list - (string-append #$qemu "/bin/qemu-system-i386") - #$@(if (file-exists? "/dev/kvm") '("--enable-kvm") '()) - "-m" (number->string #$memory-size) - #$@net-options - #$@options - "--hda" #+image)) + #~(append (list #$(file-append qemu "/bin/qemu-system-i386") + "-m" (number->string #$memory-size) + #$@net-options + #$@options + "--hda" #+image + + ;; Cause the service to be respawned if the guest + ;; reboots (it can reboot for instance if it did not + ;; receive valid secrets, or if it crashed.) + "--no-reboot") + (if (file-exists? "/dev/kvm") + '("--enable-kvm") + '()))) (list (shepherd-service @@ -959,28 +975,120 @@ is added to the OS specified in CONFIG." (with-imported-modules (source-module-closure '((gnu build secret-service) (guix build utils))) - #~(let ((spawn (make-forkexec-constructor #$vm-command))) - (lambda _ - (let ((pid (spawn)) - (port #$(hurd-vm-port config %hurd-vm-secrets-port)) - (root #$(hurd-vm-configuration-secret-root config))) - (catch #t - (lambda _ - (secret-service-send-secrets port root)) - (lambda (key . args) - (kill (- pid) SIGTERM) - (apply throw key args))) - pid))))) + #~(lambda () + (let ((pid (fork+exec-command #$vm-command + #:user "childhurd" + ;; XXX TODO: use "childhurd" after + ;; updating Shepherd + #:group "kvm" + #:environment-variables + ;; QEMU tries to write to /var/tmp + ;; by default. + '("TMPDIR=/tmp"))) + (port #$(hurd-vm-port config %hurd-vm-secrets-port)) + (root #$(hurd-vm-configuration-secret-root config))) + (catch #t + (lambda _ + ;; XXX: 'secret-service-send-secrets' won't complete until + ;; the guest has booted and its secret service server is + ;; running, which could take 20+ seconds during which PID 1 + ;; is stuck waiting. + (if (secret-service-send-secrets port root) + pid + (begin + (kill (- pid) SIGTERM) + #f))) + (lambda (key . args) + (kill (- pid) SIGTERM) + (apply throw key args))))))) (modules `((gnu build secret-service) (guix build utils) ,@%default-modules)) (stop #~(make-kill-destructor)))))) +(define %hurd-vm-accounts + (list (user-group (name "childhurd") (system? #t)) + (user-account + (name "childhurd") + (group "childhurd") + (supplementary-groups '("kvm")) + (comment "Privilege separation user for the childhurd") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin")) + (system? #t)))) + +(define (initialize-hurd-vm-substitutes) + "Initialize the Hurd VM's key pair and ACL and store it on the host." + (define run + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils) + (ice-9 match)) + + (define host-key + "/etc/guix/signing-key.pub") + + (define host-acl + "/etc/guix/acl") + + (match (command-line) + ((_ guest-config-directory) + (setenv "GUIX_CONFIGURATION_DIRECTORY" + guest-config-directory) + (invoke #+(file-append guix "/bin/guix") "archive" + "--generate-key") + + (when (file-exists? host-acl) + ;; Copy the host ACL. + (copy-file host-acl + (string-append guest-config-directory + "/acl"))) + + (when (file-exists? host-key) + ;; Add the host key to the childhurd's ACL. + (let ((key (open-fdes host-key O_RDONLY))) + (close-fdes 0) + (dup2 key 0) + (execl #+(file-append guix "/bin/guix") + "guix" "archive" "--authorize")))))))) + + (program-file "initialize-hurd-vm-substitutes" run)) + +(define (hurd-vm-activation config) + "Return a gexp to activate the Hurd VM according to CONFIG." + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + + (define secret-directory + #$(hurd-vm-configuration-secret-root config)) + + (define ssh-directory + (string-append secret-directory "/etc/ssh")) + + (define guix-directory + (string-append secret-directory "/etc/guix")) + + (unless (file-exists? ssh-directory) + ;; Generate SSH host keys under SSH-DIRECTORY. + (mkdir-p ssh-directory) + (invoke #$(file-append openssh "/bin/ssh-keygen") + "-A" "-f" secret-directory)) + + (unless (file-exists? guix-directory) + (invoke #$(initialize-hurd-vm-substitutes) + guix-directory))))) + (define hurd-vm-service-type (service-type (name 'hurd-vm) (extensions (list (service-extension shepherd-root-service-type - hurd-vm-shepherd-service))) + hurd-vm-shepherd-service) + (service-extension account-service-type + (const %hurd-vm-accounts)) + (service-extension activation-service-type + hurd-vm-activation))) (default-value (hurd-vm-configuration)) (description - "Provide a Virtual Machine running the GNU/Hurd."))) + "Provide a virtual machine (VM) running GNU/Hurd, also known as a +@dfn{childhurd}."))) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index c8ffc19d83..a74c6c54b4 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -90,7 +91,7 @@ nginx-configuration nginx-configuration? - nginx-configuartion-nginx + nginx-configuration-nginx nginx-configuration-log-directory nginx-configuration-run-directory nginx-configuration-server-blocks @@ -525,6 +526,10 @@ (modules nginx-configuration-modules (default '())) (global-directives nginx-configuration-global-directives (default '((events . ())))) + (lua-package-path nginx-lua-package-path ;list of <package> + (default #f)) + (lua-package-cpath nginx-lua-package-cpath ;list of <package> + (default #f)) (extra-content nginx-configuration-extra-content (default "")) (file nginx-configuration-file ;#f | string | file-like @@ -630,6 +635,8 @@ of index files." server-names-hash-bucket-max-size modules global-directives + lua-package-path + lua-package-cpath extra-content) (apply mixed-text-file "nginx.conf" (flatten @@ -646,11 +653,19 @@ of index files." " scgi_temp_path " run-directory "/scgi_temp;\n" " access_log " log-directory "/access.log;\n" " include " nginx "/share/nginx/conf/mime.types;\n" - (if server-names-hash-bucket-size - (string-append - " server_names_hash_bucket_size " - (number->string server-names-hash-bucket-size) - ";\n") + (if lua-package-path + #~(format #f " lua_package_path ~s;~%" + (string-join (map (lambda (path) + (string-append path "/lib/?.lua")) + '#$lua-package-path) + ";")) + "") + (if lua-package-cpath + #~(format #f " lua_package_cpath ~s;~%" + (string-join (map (lambda (cpath) + (string-append cpath "/lib/lua/?.lua")) + '#$lua-package-cpath) + ";")) "") (if server-names-hash-bucket-max-size (string-append diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index ca39994516..4590709187 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2020 shtwzrd <shtwzrd@protonmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -925,7 +926,7 @@ the GNOME desktop environment.") (inherit (unix-pam-service "gdm-autologin" #:login-uid? #t)) (auth (list (pam-entry - (control "[success=ok default=1]") + (control "optional") (module (file-append (gdm-configuration-gdm config) "/lib/security/pam_gdm.so"))) (pam-entry diff --git a/gnu/system.scm b/gnu/system.scm index bdb696fe2e..a3122eaa65 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -5,11 +5,13 @@ ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com> +;;; Copyright © 2019 Miguel Ángel Arruga Vivas <rosen644835@gmail.com> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jannek@gnu.org> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,24 +40,28 @@ #:use-module ((guix utils) #:select (substitute-keyword-arguments)) #:use-module (guix i18n) #:use-module (guix diagnostics) + #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages compression) #:use-module (gnu packages cross-base) + #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages disk) + #:use-module (gnu packages file-systems) + #:use-module (gnu packages firmware) + #:use-module (gnu packages gawk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages admin) #:use-module (gnu packages hurd) - #:use-module (gnu packages linux) - #:use-module (gnu packages pciutils) - #:use-module (gnu packages package-management) #:use-module (gnu packages less) - #:use-module (gnu packages zile) - #:use-module (gnu packages nano) - #:use-module (gnu packages gawk) + #:use-module (gnu packages linux) #:use-module (gnu packages man) + #:use-module (gnu packages nano) + #:use-module (gnu packages nvi) + #:use-module (gnu packages package-management) + #:use-module (gnu packages pciutils) #:use-module (gnu packages texinfo) - #:use-module (gnu packages compression) - #:use-module (gnu packages firmware) + #:use-module (gnu packages zile) #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu services base) @@ -143,6 +149,7 @@ boot-parameters-bootloader-menu-entries boot-parameters-store-device boot-parameters-store-mount-point + boot-parameters-locale boot-parameters-kernel boot-parameters-kernel-arguments boot-parameters-initrd @@ -159,6 +166,7 @@ %base-packages-interactive %base-packages-linux %base-packages-networking + %base-packages-disk-utilities %base-packages-utils %base-firmware %default-kernel-arguments)) @@ -291,6 +299,7 @@ directly by the user." boot-parameters-bootloader-menu-entries) (store-device boot-parameters-store-device) (store-mount-point boot-parameters-store-mount-point) + (locale boot-parameters-locale) (kernel boot-parameters-kernel) (kernel-arguments boot-parameters-kernel-arguments) (initrd boot-parameters-initrd) @@ -368,6 +377,11 @@ file system labels." ((_ args) args) (#f '()))) + (locale + (match (assq 'locale rest) + ((_ locale) locale) + (#f #f))) + (store-device ;; Linux device names like "/dev/sda1" are not suitable GRUB device ;; identifiers, so we just filter them out. @@ -634,6 +648,8 @@ bookkeeping." (operating-system-file-systems os))) (pam-root-service (operating-system-pam-services os)) (operating-system-etc-service os) + (service setuid-program-service-type + (operating-system-setuid-programs os)) (service profile-service-type (operating-system-packages os))))) (define* (operating-system-services os) @@ -690,7 +706,7 @@ of PROVENANCE-SERVICE-TYPE to its services." (cons* procps psmisc which (@ (gnu packages admin) shadow) ;for 'passwd' - guile-3.0 + guile-3.0-latest ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. @@ -708,6 +724,7 @@ of PROVENANCE-SERVICE-TYPE to its services." (define %base-packages-interactive ;; Default set of common interactive packages. (list less zile nano + nvi man-db info-reader ;the standalone Info reader (no Perl) bash-completion @@ -726,6 +743,19 @@ of PROVENANCE-SERVICE-TYPE to its services." ;; many people are familiar with, so keep it around. iw wireless-tools)) +(define %base-packages-disk-utilities + ;; A well-rounded set of packages for interacting with disks, partitions + ;; and filesystems. + (list parted gptfdisk ddrescue + ;; We used to provide fdisk from GNU fdisk, but as of version 2.0.0a + ;; it pulls Guile 1.8, which takes unreasonable space; furthermore + ;; util-linux's fdisk is already available, in %base-packages-linux. + cryptsetup mdadm + dosfstools + btrfs-progs + f2fs-tools + jfsutils)) + (define %base-packages ;; Default set of packages globally visible. It should include anything ;; required for basic administrator tasks. @@ -1212,6 +1242,7 @@ a list of <menu-entry>, to populate the \"old entries\" menu." (let* ((file-systems (operating-system-file-systems os)) (root-fs (operating-system-root-file-system os)) (root-device (file-system-device root-fs)) + (locale (operating-system-locale os)) (params (operating-system-boot-parameters os root-device #:system-kernel-arguments? #t)) @@ -1224,6 +1255,7 @@ a list of <menu-entry>, to populate the \"old entries\" menu." (generate-config-file bootloader-conf (list entry) #:old-entries old-entries + #:locale locale #:store-directory-prefix (btrfs-store-subvolume-file-name file-systems)))) @@ -1262,6 +1294,7 @@ such as '--root' and '--load' to <boot-parameters>." (let* ((initrd (and (not (operating-system-hurd os)) (operating-system-initrd-file os))) (store (operating-system-store-file-system os)) + (locale (operating-system-locale os)) (bootloader (bootloader-configuration-bootloader (operating-system-bootloader os))) (bootloader-name (bootloader-name bootloader)) @@ -1280,6 +1313,7 @@ such as '--root' and '--load' to <boot-parameters>." (bootloader-name bootloader-name) (bootloader-menu-entries (bootloader-configuration-menu-entries (operating-system-bootloader os))) + (locale locale) (store-device (ensure-not-/dev (file-system-device store))) (store-mount-point (file-system-mount-point store))))) @@ -1332,6 +1366,7 @@ being stored into the \"parameters\" file)." (or (and=> (operating-system-bootloader os) bootloader-configuration-menu-entries) '()))) + (locale #$(boot-parameters-locale params)) (store (device #$(device->sexp (boot-parameters-store-device params))) diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl index 414a9379c8..e4b795ff27 100644 --- a/gnu/system/examples/bare-hurd.tmpl +++ b/gnu/system/examples/bare-hurd.tmpl @@ -40,15 +40,20 @@ %base-file-systems)) (host-name "guixygnu") (timezone "Europe/Amsterdam") + (users (cons (user-account + (name "guix") + (comment "Anonymous Hurd Hacker") + (group "users") + (supplementary-groups '("wheel"))) + %base-user-accounts)) (packages (cons openssh-sans-x %base-packages/hurd)) (services (cons (service openssh-service-type (openssh-configuration (openssh openssh-sans-x) - (use-pam? #f) (port-number 2222) (permit-root-login #t) (allow-empty-passwords? #t) (password-authentication? #t))) - %base-services/hurd)))) + %base-services/hurd)))) %hurd-os diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl index b4037d4f79..d5a63dc457 100644 --- a/gnu/system/examples/lightweight-desktop.tmpl +++ b/gnu/system/examples/lightweight-desktop.tmpl @@ -4,7 +4,8 @@ (use-modules (gnu) (gnu system nss)) (use-service-modules desktop) -(use-package-modules bootloaders certs ratpoison suckless wm xorg) +(use-package-modules bootloaders certs emacs emacs-xyz ratpoison suckless wm + xorg) (operating-system (host-name "antelope") @@ -43,6 +44,7 @@ (packages (append (list ;; window managers ratpoison i3-wm i3status dmenu + emacs emacs-exwm emacs-desktop-environment ;; terminal emulator xterm ;; for HTTPS access diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 5c02dfac93..464e87cb18 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Google LLC ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -590,11 +591,8 @@ a bind mount." ;; XXX: On some GNU/Linux systems, /etc/resolv.conf is a ;; symlink to a file in a tmpfs which, for an unknown reason, ;; cannot be bind mounted read-only within the container. - ;; The same goes with /var/run/nscd, as discussed in - ;; <https://bugs.gnu.org/37967>. - (writable? (or (string=? file "/etc/resolv.conf") - (string=? file "/var/run/nscd"))))) - (cons "/var/run/nscd" %network-configuration-files))) + (writable? (string=? file "/etc/resolv.conf")))) + %network-configuration-files)) (define (file-system-type-predicate type) "Return a predicate that, when passed a file system, returns #t if that file diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 80fffe8e45..8b46e65e31 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -26,8 +26,10 @@ #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages compression) #:use-module (gnu packages cross-base) #:use-module (gnu packages file) + #:use-module (gnu packages gawk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) @@ -42,7 +44,8 @@ #:export (%base-packages/hurd %base-services/hurd %hurd-default-operating-system - %hurd-default-operating-system-kernel)) + %hurd-default-operating-system-kernel + %setuid-programs/hurd)) ;;; Commentary: ;;; @@ -61,8 +64,9 @@ (define %base-packages/hurd (list hurd bash coreutils file findutils grep sed - guile-3.0 guile-colorized guile-readline - net-base inetutils less shepherd which)) + diffutils patch gawk tar gzip bzip2 xz lzip + guile-3.0-latest guile-colorized guile-readline + net-base inetutils less shadow shepherd sudo which)) (define %base-services/hurd (list (service hurd-console-service-type @@ -86,6 +90,17 @@ `(("/bin/sh" ,(file-append bash "/bin/sh")) ("/usr/bin/env" ,(file-append coreutils "/bin/env")))))) +(define %setuid-programs/hurd + ;; Default set of setuid-root programs. + (list (file-append shadow "/bin/passwd") + (file-append shadow "/bin/sg") + (file-append shadow "/bin/su") + (file-append shadow "/bin/newgrp") + (file-append shadow "/bin/newuidmap") + (file-append shadow "/bin/newgidmap") + (file-append sudo "/bin/sudo") + (file-append sudo "/bin/sudoedit"))) + (define %hurd-default-operating-system (operating-system (kernel %hurd-default-operating-system-kernel) @@ -103,6 +118,4 @@ (timezone "GNUrope") (name-service-switch #f) (essential-services (hurd-default-essential-services this-operating-system)) - (pam-services '()) - (setuid-programs '()) - (sudoers-file #f))) + (setuid-programs %setuid-programs/hurd))) diff --git a/gnu/system/image.scm b/gnu/system/image.scm index 97c7021454..bc6610b14c 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -18,6 +18,8 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu system image) + #:use-module (guix diagnostics) + #:use-module (guix discovery) #:use-module (guix gexp) #:use-module (guix modules) #:use-module (guix monads) @@ -47,11 +49,14 @@ #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages mtools) + #:use-module (gnu packages virtualization) #:use-module ((srfi srfi-1) #:prefix srfi-1:) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (rnrs bytevectors) + #:use-module (ice-9 format) #:use-module (ice-9 match) #:export (root-offset root-label @@ -61,10 +66,20 @@ efi-disk-image iso9660-image + arm64-disk-image - find-image + image-with-os + raw-image-type + qcow2-image-type + iso-image-type + uncompressed-iso-image-type + arm64-image-type + + image-with-label system-image - image-with-label)) + + %image-types + lookup-image-type-by-name)) ;;; @@ -111,6 +126,64 @@ (label "GUIX_IMAGE") (flags '(boot))))))) +(define arm64-disk-image + (image + (format 'disk-image) + (target "aarch64-linux-gnu") + (partitions + (list (partition + (inherit root-partition) + (offset root-offset)))) + ;; FIXME: Deleting and creating "/var/run" and "/tmp" on the overlayfs + ;; fails. + (volatile-root? #f))) + + +;;; +;;; Images types. +;;; + +(define-syntax-rule (image-with-os base-image os) + "Return an image inheriting from BASE-IMAGE, with the operating-system field +set to the given OS." + (image + (inherit base-image) + (operating-system os))) + +(define raw-image-type + (image-type + (name 'raw) + (constructor (cut image-with-os efi-disk-image <>)))) + +(define qcow2-image-type + (image-type + (name 'qcow2) + (constructor (cut image-with-os + (image + (inherit efi-disk-image) + (name 'image.qcow2) + (format 'compressed-qcow2)) + <>)))) + +(define iso-image-type + (image-type + (name 'iso9660) + (constructor (cut image-with-os iso9660-image <>)))) + +(define uncompressed-iso-image-type + (image-type + (name 'uncompressed-iso9660) + (constructor (cut image-with-os + (image + (inherit iso9660-image) + (compression? #f)) + <>)))) + +(define arm64-image-type + (image-type + (name 'arm) + (constructor (cut image-with-os arm64-disk-image <>)))) + ;; ;; Helpers. @@ -149,6 +222,7 @@ (with-imported-modules `(,@(source-module-closure '((gnu build vm) (gnu build image) + (gnu build bootloader) (gnu build hurd-boot) (gnu build linux-boot) (guix store database)) @@ -157,6 +231,7 @@ #~(begin (use-modules (gnu build vm) (gnu build image) + (gnu build bootloader) (gnu build hurd-boot) (gnu build linux-boot) (guix store database) @@ -207,8 +282,8 @@ used in the image." (define (format->image-type format) ;; Return the genimage format corresponding to FORMAT. For now, only ;; the hdimage format (raw disk-image) is supported. - (case format - ((disk-image) "hdimage") + (cond + ((memq format '(disk-image compressed-qcow2)) "hdimage") (else (raise (condition (&message @@ -306,25 +381,24 @@ image ~a { (name (if image-name (symbol->string image-name) name)) + (format (image-format image)) (substitutable? (image-substitutable? image)) (builder (with-imported-modules* - (let ((inputs '#+(list genimage coreutils findutils)) + (let ((inputs '#+(list genimage coreutils findutils qemu-minimal)) (bootloader-installer - #+(bootloader-disk-image-installer bootloader))) + #+(bootloader-disk-image-installer bootloader)) + (out-image (string-append "images/" #$genimage-name))) (set-path-environment-variable "PATH" '("bin" "sbin") inputs) - (genimage #$(image->genimage-cfg image) #$output) + (genimage #$(image->genimage-cfg image)) ;; Install the bootloader directly on the disk-image. (when bootloader-installer (bootloader-installer #+(bootloader-package bootloader) #$(root-partition-index image) - (string-append #$output "/" #$genimage-name)))))) - (image-dir (computed-file "image-dir" builder))) - (computed-file name - #~(symlink - (string-append #$image-dir "/" #$genimage-name) - #$output) + out-image)) + (convert-disk-image out-image '#$format #$output))))) + (computed-file name builder #:options `(#:substitutable? ,substitutable?)))) @@ -340,7 +414,7 @@ image ~a { (define* (system-iso9660-image image #:key - (name "iso9660-image") + (name "image.iso") bootcfg bootloader register-closures? @@ -441,7 +515,7 @@ returns an image record where the first partition's label is set to <label>." image-size) (else root-size)))) -(define* (image-with-os base-image os) +(define* (image-with-os* base-image os) "Return an image based on BASE-IMAGE but with the operating-system field set to OS. Also set the UUID and the size of the root partition." (define root-file-system @@ -522,20 +596,21 @@ image, depending on IMAGE format." (with-parameters ((%current-target-system target)) (let* ((os (operating-system-for-image image)) - (image* (image-with-os image os)) + (image* (image-with-os* image os)) + (image-format (image-format image)) (register-closures? (has-guix-service-type? os)) (bootcfg (operating-system-bootcfg os)) (bootloader (bootloader-configuration-bootloader (operating-system-bootloader os)))) - (case (image-format image) - ((disk-image) + (cond + ((memq image-format '(disk-image compressed-qcow2)) (system-disk-image image* #:bootcfg bootcfg #:bootloader bootloader #:register-closures? register-closures? #:inputs `(("system" ,os) ("bootcfg" ,bootcfg)))) - ((iso9660) + ((memq image-format '(iso9660)) (system-iso9660-image image* #:bootcfg bootcfg @@ -554,18 +629,34 @@ image, depending on IMAGE format." #:grub-mkrescue-environment '(("MKRESCUE_SED_MODE" . "mbr_only")))))))) -(define (find-image file-system-type target) - "Find and return an image built that could match the given FILE-SYSTEM-TYPE, -built for TARGET. This is useful to adapt to interfaces written before the -addition of the <image> record." - (match file-system-type - ("iso9660" iso9660-image) - (_ (cond - ((and target - (hurd-triplet? target)) - (module-ref (resolve-interface '(gnu system images hurd)) - 'hurd-disk-image)) - (else - efi-disk-image))))) + +;; +;; Image detection. +;; + +(define (image-modules) + "Return the list of image modules." + (cons (resolve-interface '(gnu system image)) + (all-modules (map (lambda (entry) + `(,entry . "gnu/system/images/")) + %load-path) + #:warn warn-about-load-error))) + +(define %image-types + ;; The list of publically-known image types. + (delay (fold-module-public-variables (lambda (obj result) + (if (image-type? obj) + (cons obj result) + result)) + '() + (image-modules)))) + +(define (lookup-image-type-by-name name) + "Return the image type called NAME." + (or (srfi-1:find (lambda (image-type) + (eq? name (image-type-name image-type))) + (force %image-types)) + (raise + (formatted-message (G_ "~a: no such image type") name)))) ;;; image.scm ends here diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm index d87640e8e3..4417952c5d 100644 --- a/gnu/system/images/hurd.scm +++ b/gnu/system/images/hurd.scm @@ -29,9 +29,13 @@ #:use-module (gnu system file-systems) #:use-module (gnu system hurd) #:use-module (gnu system image) + #:use-module (srfi srfi-26) #:export (hurd-barebones-os hurd-disk-image - hurd-barebones-disk-image)) + hurd-image-type + hurd-qcow2-image-type + hurd-barebones-disk-image + hurd-barebones-qcow2-image)) (define hurd-barebones-os (operating-system @@ -82,8 +86,28 @@ (flags '(boot)) (initializer hurd-initialize-root-partition)))))) +(define hurd-image-type + (image-type + (name 'hurd-raw) + (constructor (cut image-with-os hurd-disk-image <>)))) + +(define hurd-qcow2-image-type + (image-type + (name 'hurd-qcow2) + (constructor (lambda (os) + (image + (inherit hurd-disk-image) + (format 'compressed-qcow2) + (operating-system os)))))) + (define hurd-barebones-disk-image (image - (inherit hurd-disk-image) - (name 'hurd-barebones-disk-image) - (operating-system hurd-barebones-os))) + (inherit + (os->image hurd-barebones-os #:type hurd-image-type)) + (name 'hurd-barebones-disk-image))) + +(define hurd-barebones-qcow2-image + (image + (inherit + (os->image hurd-barebones-os #:type hurd-qcow2-image-type)) + (name 'hurd-barebones.qcow2))) diff --git a/gnu/system/images/pine64.scm b/gnu/system/images/pine64.scm new file mode 100644 index 0000000000..f0b0c3f50d --- /dev/null +++ b/gnu/system/images/pine64.scm @@ -0,0 +1,66 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu system images pine64) + #:use-module (gnu bootloader) + #:use-module (gnu bootloader u-boot) + #:use-module (gnu image) + #:use-module (gnu packages linux) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu system) + #:use-module (gnu system file-systems) + #:use-module (gnu system image) + #:use-module (srfi srfi-26) + #:export (pine64-barebones-os + pine64-image-type + pine64-barebones-raw-image)) + +(define pine64-barebones-os + (operating-system + (host-name "vignemale") + (timezone "Europe/Paris") + (locale "en_US.utf8") + (bootloader (bootloader-configuration + (bootloader u-boot-pine64-lts-bootloader) + (target "/dev/vda"))) + (initrd-modules '()) + (kernel linux-libre-arm64-generic) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (services (cons (service agetty-service-type + (agetty-configuration + (extra-options '("-L")) ; no carrier detect + (baud-rate "115200") + (term "vt100") + (tty "ttyS0"))) + %base-services)))) + +(define pine64-image-type + (image-type + (name 'pine64-raw) + (constructor (cut image-with-os arm64-disk-image <>)))) + +(define pine64-barebones-raw-image + (image + (inherit + (os->image pine64-barebones-os #:type pine64-image-type)) + (name 'pine64-barebones-raw-image))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index be5a678cec..7701297411 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,18 +42,13 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bootloaders) #:use-module (gnu packages certs) - #:use-module (gnu packages file-systems) + #:use-module (gnu packages compression) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) #:use-module (gnu packages guile) #:use-module (gnu packages linux) - #:use-module (gnu packages ssh) - #:use-module (gnu packages cryptsetup) #:use-module (gnu packages package-management) - #:use-module (gnu packages disk) #:use-module (gnu packages texinfo) - #:use-module (gnu packages compression) - #:use-module (gnu packages nvi) #:use-module (gnu packages xorg) #:use-module (ice-9 match) #:use-module (srfi srfi-26) @@ -445,6 +441,12 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (label (string-append "GNU Guix installation " (package-version guix))) + ;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon + ;; non-functional: + ;; <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00441.html>. + ;; Thus, blacklist it. + (kernel-arguments '("quiet" "modprobe.blacklist=radeon")) + (file-systems ;; Note: the disk image build code overrides this root file system with ;; the appropriate one. @@ -490,27 +492,14 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; Explicitly allow for empty passwords. (base-pam-services #:allow-empty-passwords? #t)) - (packages (cons* glibc ;for 'tzselect' & co. - parted gptfdisk ddrescue - fontconfig - font-dejavu font-gnu-unifont - grub ;mostly so xrefs to its manual work - cryptsetup - mdadm - dosfstools ;mkfs.fat, for the UEFI boot partition - btrfs-progs - f2fs-tools - jfsutils - openssh ;we already have sshd, having ssh/scp can help - wireless-tools iw wpa-supplicant-minimal iproute - ;; XXX: We used to have GNU fdisk here, but as of version - ;; 2.0.0a, that pulls Guile 1.8, which takes unreasonable - ;; space; furthermore util-linux's fdisk is already - ;; available here, so we keep that. - bash-completion - nvi ;:wq! - nss-certs ; To access HTTPS, use git, etc. - %base-packages)))) + (packages (append + (list glibc ; for 'tzselect' & co. + fontconfig + font-dejavu font-gnu-unifont + grub ; mostly so xrefs to its manual work + nss-certs) ; To access HTTPS, use git, etc. + %base-packages-disk-utilities + %base-packages)))) (define* (os-with-u-boot os board #:key (bootloader-target "/dev/mmcblk0") (triplet "arm-linux-gnueabihf")) diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index c5e2e4bf9c..4a9cd0efe2 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Google LLC ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,6 +78,15 @@ doing anything.") (start #~(const #t)))) #f)) +(define %nscd-container-caches + ;; Similar to %nscd-default-caches but with smaller cache sizes. This allows + ;; many containers to coexist on the same machine without exhausting RAM. + (map (lambda (cache) + (nscd-cache + (inherit cache) + (max-database-size (expt 2 18)))) ;256KiB + %nscd-default-caches)) + (define* (containerized-operating-system os mappings #:key shared-network? @@ -100,22 +110,39 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS." (file-system (inherit (file-system-mapping->bind-mount fs)) (needed-for-boot? #t))) - (define useless-services - ;; Services that make no sense in a container. Those that attempt to - ;; access /dev/tty[0-9] in particular cannot work in a container. + (define services-to-drop + ;; Service types to filter from the original operating-system. Some of + ;; these make no sense in a container (e.g., those that access + ;; /dev/tty[0-9]), while others just need to be reinstantiated with + ;; different configs that are better suited to containers. (append (list console-font-service-type mingetty-service-type - agetty-service-type) - ;; Remove nscd service if network is shared with the host. + agetty-service-type + ;; Reinstantiated below with smaller caches. + nscd-service-type) (if shared-network? - (list nscd-service-type - static-networking-service-type - dhcp-client-service-type - network-manager-service-type - connman-service-type - wicd-service-type) + ;; Replace these with dummy-networking-service-type below. + (list + static-networking-service-type + dhcp-client-service-type + network-manager-service-type + connman-service-type + wicd-service-type) (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)))))) + (operating-system (inherit os) (swap-devices '()) ; disable swap @@ -124,15 +151,9 @@ containerized OS. EXTRA-FILE-SYSTEMS is a list of file systems to add to OS." #:shared-network? shared-network?)) (services (append (remove (lambda (service) (memq (service-kind service) - useless-services)) + services-to-drop)) (operating-system-user-services os)) - ;; 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)) - '()))) + services-to-add)) (file-systems (append (map mapping->fs (if shared-network? (append %network-file-mappings mappings) diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm index 6139e31cf0..20b67d55d3 100644 --- a/gnu/tests/guix.scm +++ b/gnu/tests/guix.scm @@ -35,7 +35,80 @@ #:use-module (guix store) #:use-module (guix utils) #:use-module (ice-9 match) - #:export (%test-guix-data-service)) + #:export (%test-guix-build-coordinator + %test-guix-data-service)) + +;;; +;;; Guix Build Coordinator +;;; + +(define %guix-build-coordinator-os + (simple-operating-system + (service dhcp-client-service-type) + (service guix-build-coordinator-service-type))) + +(define (run-guix-build-coordinator-test) + (define os + (marionette-operating-system + %guix-build-coordinator-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define forwarded-port 8745) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 1024) + (port-forwardings `((,forwarded-port . 8745))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "guix-build-coordinator") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'guix-build-coordinator) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-equal "http-get" + 200 + (let-values + (((response text) + (http-get #$(simple-format + #f "http://localhost:~A/metrics" forwarded-port) + #:decode-body? #t))) + (response-code response))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "guix-build-coordinator-test" test)) + +(define %test-guix-build-coordinator + (system-test + (name "guix-build-coordinator") + (description "Connect to a running Guix Build Coordinator.") + (value (run-guix-build-coordinator-test)))) ;;; diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 5b7f9bf671..86bd93966b 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -35,6 +35,8 @@ #:use-module (gnu packages bootloaders) #:use-module (gnu packages commencement) ;for 'guile-final' #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages emacs) + #:use-module (gnu packages emacs-xyz) #:use-module (gnu packages linux) #:use-module (gnu packages ocr) #:use-module (gnu packages openbox) @@ -218,7 +220,7 @@ reboot\n") #:imported-modules '((gnu services herd) (gnu installer tests) (guix combinators)))) - (installation-disk-image-file-system-type "ext4") + (installation-image-type 'raw) (install-size 'guess) (target-size (* 2200 MiB))) "Run SCRIPT (a shell script following the system installation procedure) in @@ -228,10 +230,6 @@ packages defined in installation-os." (mlet* %store-monad ((_ (set-grafting #f)) (system (current-system)) - (target (current-target-system)) - (base-image -> (find-image - installation-disk-image-file-system-type - target)) ;; Since the installation system has no network access, ;; we cheat a little bit by adding TARGET to its GC @@ -239,18 +237,20 @@ packages defined in installation-os." ;; succeed. Also add guile-final, which is pulled in ;; through provenance.drv and may not always be present. (target (operating-system-derivation target-os)) + (base-image -> + (os->image + (operating-system-with-gc-roots + os (list target guile-final)) + #:type (lookup-image-type-by-name + installation-image-type))) (image -> - (system-image - (image - (inherit base-image) - (size install-size) - (operating-system - (operating-system-with-gc-roots - os (list target guile-final))) - ;; Do not compress to speed-up the tests. - (compression? #f) - ;; Don't provide substitutes; too big. - (substitutable? #f))))) + (system-image + (image + (inherit base-image) + (size install-size) + + ;; Don't provide substitutes; too big. + (substitutable? #f))))) (define install (with-imported-modules '((guix build utils) (gnu build marionette)) @@ -270,16 +270,16 @@ packages defined in installation-os." "-no-reboot" "-m" "1200" #$@(cond - ((string=? "ext4" installation-disk-image-file-system-type) + ((eq? 'raw installation-image-type) #~("-drive" ,(string-append "file=" #$image ",if=virtio,readonly"))) - ((string=? "iso9660" installation-disk-image-file-system-type) + ((eq? 'uncompressed-iso9660 installation-image-type) #~("-cdrom" #$image)) (else (error - "unsupported installation-disk-image-file-system-type:" - installation-disk-image-file-system-type))) + "unsupported installation-image-type:" + installation-image-type))) "-drive" ,(string-append "file=" #$output ",if=virtio") ,@(if (file-exists? "/dev/kvm") @@ -443,8 +443,8 @@ reboot\n") %minimal-os-on-vda-source #:script %simple-installation-script-for-/dev/vda - #:installation-disk-image-file-system-type - "iso9660")) + #:installation-image-type + 'uncompressed-iso9660)) (command (qemu-command/writable-image image))) (run-basic-test %minimal-os-on-vda command name))))) @@ -1273,7 +1273,8 @@ build (current-guix) and then store a couple of full system images.") ;; graphical installer are available. (packages (append (list openbox awesome i3-wm i3status - dmenu st ratpoison xterm) + dmenu st ratpoison xterm + emacs emacs-exwm emacs-desktop-environment) %base-packages)) (services (append @@ -1309,8 +1310,8 @@ build (current-guix) and then store a couple of full system images.") #:os installation-os-for-gui-tests #:install-size install-size #:target-size target-size - #:installation-disk-image-file-system-type - "iso9660" + #:installation-image-type + 'uncompressed-iso9660 #:gui-test (lambda (marionette) (gui-test-program diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm index fbdec20805..e95787ee19 100644 --- a/gnu/tests/virtualization.scm +++ b/gnu/tests/virtualization.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> +;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,17 +20,28 @@ (define-module (gnu tests virtualization) #:use-module (gnu tests) + #:use-module (gnu image) #:use-module (gnu system) #:use-module (gnu system file-systems) + #:use-module (gnu system image) + #:use-module (gnu system images hurd) #:use-module (gnu system vm) #:use-module (gnu services) #:use-module (gnu services dbus) #:use-module (gnu services networking) #:use-module (gnu services virtualization) #:use-module (gnu packages virtualization) + #:use-module (gnu packages ssh) #:use-module (guix gexp) + #:use-module (guix records) #:use-module (guix store) - #:export (%test-libvirt)) + #:export (%test-libvirt + %test-childhurd)) + + +;;; +;;; Libvirt. +;;; (define %libvirt-os (simple-operating-system @@ -93,3 +106,148 @@ (name "libvirt") (description "Connect to the running LIBVIRT service.") (value (run-libvirt-test)))) + + +;;; +;;; GNU/Hurd virtual machines, aka. childhurds. +;;; + +;; Copy of `hurd-vm-disk-image', using plain disk-image for test +(define (hurd-vm-disk-image-raw config) + (let ((os ((@@ (gnu services virtualization) secret-service-operating-system) + (hurd-vm-configuration-os config))) + (disk-size (hurd-vm-configuration-disk-size config))) + (system-image + (image + (inherit hurd-disk-image) + (format 'disk-image) + (size disk-size) + (operating-system os))))) + +(define %childhurd-os + (simple-operating-system + (service dhcp-client-service-type) + (service hurd-vm-service-type + (hurd-vm-configuration + (image (hurd-vm-disk-image-raw this-record)))))) + +(define (run-childhurd-test) + (define os + (marionette-operating-system + %childhurd-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (memory-size (* 1024 3)))) + + (define run-uname-over-ssh + ;; Program that runs 'uname' over SSH and prints the result on standard + ;; output. + (let () + (define run + (with-extensions (list guile-ssh) + #~(begin + (use-modules (ssh session) + (ssh auth) + (ssh popen) + (ice-9 match) + (ice-9 textual-ports)) + + (let ((session (make-session #:user "root" + #:port 10022 + #:host "localhost" + #:log-verbosity 'rare))) + (match (connect! session) + ('ok + (userauth-password! session "") + (display + (get-string-all + (open-remote-input-pipe* session "uname" "-on")))) + (status + (error "could not connect to childhurd over SSH" + session status))))))) + + (program-file "run-uname-over-ssh" run))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-64) + (ice-9 match)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "childhurd") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'childhurd) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-equal "childhurd SSH server replies" + "SSH" + ;; Check from within the guest whether its childhurd's SSH + ;; server is reachable. Do that from the guest: port forwarding + ;; to the host won't work because QEMU listens on 127.0.0.1. + (marionette-eval + '(begin + (use-modules (ice-9 match)) + + (let loop ((n 60)) + (if (zero? n) + 'all-attempts-failed + (let ((s (socket PF_INET SOCK_STREAM 0)) + (a (make-socket-address AF_INET + INADDR_LOOPBACK + 10022))) + (format #t "connecting to childhurd SSH server...~%") + (connect s a) + (match (get-string-n s 3) + ((? eof-object?) + (close-port s) + (sleep 1) + (loop (- n 1))) + (str + (close-port s) + str)))))) + marionette)) + + (test-equal "SSH up and running" + "childhurd GNU\n" + + ;; Connect from the guest to the chidhurd over SSH and run the + ;; 'uname' command. + (marionette-eval + '(begin + (use-modules (ice-9 popen)) + + (get-string-all + (open-input-pipe #$run-uname-over-ssh))) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "childhurd-test" test)) + +(define %test-childhurd + (system-test + (name "childhurd") + (description + "Connect to the GNU/Hurd virtual machine service, aka. a childhurd, making +sure that the childhurd boots and runs its SSH server.") + (value (run-childhurd-test)))) |