diff options
Diffstat (limited to 'gnu')
214 files changed, 11730 insertions, 6564 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index e3febeefd0..516a7d48c8 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -23,8 +23,10 @@ ;;; 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) @@ -46,8 +48,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 @@ -295,6 +300,35 @@ code." ((? file-system-label? label) (format #f "search --label --set ~a" (file-system-label->string label))) + ((? (lambda (device) + (and (string? device) (string-contains device ":/"))) nfs-uri) + ;; 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)" + ;; automatically anyway. The reason is if you have a system that + ;; used to be on NFS but now is local, root would be set to local + ;; disk. If you then selected an older system generation that is + ;; supposed to boot from network in the Grub boot menu, Grub still + ;; wouldn't load those files from network otherwise. + ;; + ;; TFTP is preferred to HTTP because it is used more widely and + ;; specified in standards more widely--especially BOOTP/DHCPv4 + ;; defines a TFTP server for DHCP option 66, but not HTTP. + ;; + ;; Note: DHCPv6 specifies option 59 to contain a boot-file-url, + ;; which can contain a HTTP or TFTP URL. + ;; + ;; Note: It is assumed that the file paths are of a similar + ;; setup on both the TFTP server and the NFS server (it is + ;; not possible to search for files on TFTP). + ;; + ;; TODO: Allow HTTP. + "set root=(tftp)") ((or #f (? string?)) #~(format #f "search --file --set ~a" #$file))))) @@ -501,6 +535,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)))))) + ;;; @@ -533,6 +660,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/image.scm b/gnu/build/image.scm index d8efa73f16..8a2d0eb5fd 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..fc35be87b4 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> ;;; @@ -75,28 +75,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 +203,20 @@ SYSTEM." '("x86_64-linux" "i686-linux")) (define %guix-system-images - (list hurd-barebones-disk-image)) + (list hurd-barebones-qcow2-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 +320,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 +357,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 +543,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..c582a46c14 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 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/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/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 ba94adfe72..4d1ed13891 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 \ \ @@ -967,6 +970,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 \ @@ -1067,6 +1071,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 \ @@ -1082,6 +1087,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 \ @@ -1130,6 +1136,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 \ @@ -1159,6 +1166,8 @@ dist_patch_DATA = \ %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-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-apache-ivy-port-to-latest-bouncycastle.patch \ %D%/packages/patches/java-commons-collections-fix-java8.patch \ %D%/packages/patches/java-jeromq-fix-tests.patch \ @@ -1200,7 +1209,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 \ @@ -1227,7 +1235,6 @@ dist_patch_DATA = \ %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 \ @@ -1292,6 +1299,7 @@ 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 \ @@ -1356,6 +1364,7 @@ dist_patch_DATA = \ %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 \ @@ -1402,6 +1411,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 \ @@ -1423,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 \ @@ -1507,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 \ 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/admin.scm b/gnu/packages/admin.scm index 4e470abd8a..e62a145614 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.41") (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")))) + "09i3kv91g2y5hgl75ccd59gjjvkkri4cj80m7smlx6p14hmbgdif")))) (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,15 +522,14 @@ 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 `(("ncurses" ,ncurses))) (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("python" ,python-wrapper))) ; for scripts/MakeHeader.py + ("automake" ,automake))) (home-page "https://htop.dev") (synopsis "Interactive process viewer") (description @@ -828,7 +827,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 @@ -837,12 +836,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) @@ -1398,7 +1397,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.2") + (version "1.9.3p1") (source (origin (method url-fetch) (uri @@ -1408,7 +1407,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "05432672iilb7s52j9l9xzrlambb1wg3k7qvf5973i41y40x563w")) + "17mldsg5d08s23cskmjxfa81ibnqw3slgf3l4023j72ywi9xxffw")) (modules '((guix build utils))) (snippet '(begin @@ -2607,14 +2606,14 @@ done with the @code{auditctl} utility.") (define-public nmap (package (name "nmap") - (version "7.80") + (version "7.90") (source (origin (method url-fetch) (uri (string-append "https://nmap.org/dist/nmap-" version ".tar.bz2")) (sha256 (base32 - "1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw")) + "1s20i84m9bci70lrl0p2j7h3kpbi9snmvyhc3lzc9s3mh92w6msm")) (modules '((guix build utils))) (snippet '(begin @@ -3589,7 +3588,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) @@ -3598,7 +3597,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) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 318d653618..912ec2fe64 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -123,15 +123,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 +151,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 +160,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 +354,7 @@ precision.") (define-public giac (package (name "giac") - (version "1.6.0-7") + (version "1.6.0-23") (source (origin (method url-fetch) @@ -369,7 +366,7 @@ precision.") "~parisse/debian/dists/stable/main/source/" "giac_" version ".tar.gz")) (sha256 - (base32 "1pvgp137zcl0rbhdn1j41xxfml7fp771a7x4ph8qrhhlx0hxzn3p")))) + (base32 "0bgc3jw9r0f2bkqv0m4hla7r7mxi3fzscnkjfc5cvffp3nk2gwvf")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -380,7 +377,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 +407,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 +431,7 @@ precision.") (native-inputs `(("bison" ,bison) ("flex" ,flex) + ("python" ,python-wrapper) ("readline" ,readline) ("texlive" ,texlive-tiny))) (home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html") @@ -1554,7 +1553,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/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 0746f67b2e..0e93a7263e 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 @@ -4464,6 +4470,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 +4519,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 @@ -4610,7 +4646,7 @@ in the package.") (define-public libaudec (package (name "libaudec") - (version "0.2.2") + (version "0.2.3") (source (origin (method git-fetch) @@ -4620,16 +4656,16 @@ in the package.") (file-name (git-file-name name version)) (sha256 (base32 - "04mpmfmqc43asw0m3zxhb6jj4qms7x4jw7mx4xb1d3lh16xllniz")))) + "04hw61db8wscj28qjyiaiafx8xl87njgmvqszxyhs4gmg8xgjip7")))) (build-system meson-build-system) (arguments - `(#:configure-flags `("-Denable_tests=true -Denable_ffmpeg=true"))) + ;; Compile tests. + `(#:configure-flags `("-Dtests=true"))) (inputs `(("libsamplerate" ,libsamplerate) - ("libsndfile" ,libsndfile) - ("ffmpeg" ,ffmpeg))) + ("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 +4693,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 +4728,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 @@ -4778,6 +4814,37 @@ edited, converted, compressed and saved.") ,@(package-inputs ztoolkit))) (synopsis "ZToolkit with SVG support"))) +(define-public lsp-dsp-lib + (package + (name "lsp-dsp-lib") + (version "0.5.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/sadko4u/lsp-dsp-lib/" + "releases/download/lsp-dsp-lib-" version + "/lsp-dsp-lib-" version "-src.tar.gz")) + (sha256 + (base32 + "07w3d2i0z0xmvi1ngcgs7lc5a0da8jvf7rv4dnjk01md43b7fkh1")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags + (list (string-append "CC=" ,(cc-for-target))) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "config" + (string-append "PREFIX=" (assoc-ref outputs "out")))))))) + (home-page "https://github.com/sadko4u/lsp-dsp-lib") + (synopsis "Digital signal processing library") + (description "The LSP DSP library provides a set of functions that perform +SIMD-optimized computing on several hardware architectures. All functions +currently operate on IEEE-754 single-precision floating-point numbers.") + (license license:lgpl3+))) + (define-public codec2 (package (name "codec2") 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 94516ef523..9b769ccefb 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -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 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 db1fdcad17..4ca0906fbf 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) @@ -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 @@ -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.") @@ -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 @@ -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+))) @@ -7159,14 +7161,14 @@ data.") (define-public r-activedriverwgs (package (name "r-activedriverwgs") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "ActiveDriverWGS" version)) (sha256 (base32 - "08l9dj8d3cd74z1dqn8n4yqykwvqjxsfa067wnxyh7xnfvvnm5v1")))) + "0l6h0f54zjvcx19ngq3kp01dypsjqf28vssjm8yzccmpyacfypag")))) (properties `((upstream-name . "ActiveDriverWGS"))) (build-system r-build-system) @@ -7177,8 +7179,9 @@ data.") ("r-genomeinfodb" ,r-genomeinfodb) ("r-genomicranges" ,r-genomicranges) ("r-iranges" ,r-iranges) - ("r-plyr" ,r-plyr) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/ActiveDriverWGS/") (synopsis "Driver discovery tool for cancer whole genomes") (description @@ -7475,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 @@ -8241,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 b22deb4750..cbb2649bb4 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> @@ -4496,7 +4496,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 +4505,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 +4568,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 +4576,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 @@ -10599,343 +10599,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")) 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 7213c1bd0b..5bbe70eaa1 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -89,7 +89,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (define-public bear (package (name "bear") - (version "2.4.3") + (version "2.4.4") (source (origin (method git-fetch) (uri (git-reference @@ -98,7 +98,7 @@ makes a few sacrifices to acquire fast full and incremental build times.") (file-name (git-file-name name version)) (sha256 (base32 - "19fk4flfykbzhb89ppmzqf0zlrkbjm6ajl9fsayndj9km5ys0041")))) + "184dqjcpxiwcfziyi67zzran2c4fal1r3j8nhjdjadcmfxf4389d")))) (build-system cmake-build-system) (inputs `(("python" ,python-wrapper))) @@ -211,6 +211,21 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that resembles Python.") (license license:asl2.0))) +;; Added temporarily for packages that need it. +;; TODO: Remove when core-updates is merged. +(define-public meson-0.55 + (package + (inherit meson) + (version "0.55.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mesonbuild/meson/" + "releases/download/" version "/meson-" + version ".tar.gz")) + (sha256 + (base32 + "1070kjiirxxdfppmrhi3wsc6rykay1zlciqrzayjhjg0hkw42mrv")))))) + (define-public meson-for-build (package (inherit meson) 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/check.scm b/gnu/packages/check.scm index 6e595a12b3..61474fd1d0 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -349,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.1") (home-page "https://github.com/catchorg/Catch2") (source (origin (method git-fetch) @@ -359,7 +359,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.") (file-name (git-file-name name version)) (sha256 (base32 - "0i4w0c9280a5fyi00mvvf13wlnfzyifr487n1iyr30zvvj5s5f1h")))) + "1fbzdqzvad3nxsxlwd5ws7csj6rbyyrza0ckq6km2cf5bhhxagrs")))) (build-system cmake-build-system) (inputs `(("python" ,python-wrapper))) @@ -2693,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/" @@ -2701,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/ci.scm b/gnu/packages/ci.scm index e0a0708847..a4bf2980fb 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 "00c7b4bb4432ff3f5ba28dca3625479e1fa129d8") - (revision "44")) + (let ((commit "71aac24f3fe8cb396c9d232453d8721519cae914") + (revision "50")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -60,7 +81,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0xjl2in9hg24liahrhfr637ddwib3904ax9rpggyphamnvcxygzr")))) + "0d9s39zi44fvck3dqd58j35wdiwa1s4f86lms3gagvkzbc0mwdia")))) (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/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 cc86d06c65..4041d5bb89 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))) @@ -788,14 +788,17 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\" (substitute* "config.h" (("#define GETCWD_BROKEN 1") "#undef GETCWD_BROKEN")) (let ((config.h (open-file "config.h" "a"))) - (display (string-append " + (display (string-append + ;; XXX TODO: remove nested ,(string-append ...) and + ;; store file name on next rebuild cycle + ,(string-append " // tcc: error: undefined symbol 'enable_hostname_completion' #define enable_hostname_completion(on_or_off) 0 -// /gnu/store/cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice +// /gnu/store/" "cq0cmv35s9dhilx14zaghlc08gpc0hwr-tcc-boot0-0.9.26-6.c004e9a/lib/libc.a: error: 'sigprocmask' defined twice #define HAVE_POSIX_SIGNALS 1 #define endpwent(x) 0 -") +")) config.h) (close config.h)) #t)) @@ -3861,7 +3864,8 @@ COREUTILS-FINAL vs. COREUTILS, etc." (description "This package provides a complete GCC tool chain for C/C++ development to be installed in user profiles. This includes GCC, as well as libc (headers and -binaries, plus debugging symbols in the @code{debug} output), and Binutils.") +binaries, plus debugging symbols in the @code{debug} output), and Binutils. GCC +is the GNU Compiler Collection.") (home-page "https://gcc.gnu.org/") (outputs '("out" "debug" "static")) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 97f254ff6e..083b82bf36 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. ;;; @@ -1762,7 +1763,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") @@ -2249,3 +2251,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/coq.scm b/gnu/packages/coq.scm index 3573518763..e57e40c2ad 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 raingloom <raingloom@riseup.net> +;;; Copyright © 2020 Robin Green <greenrd@greenrd.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (gnu packages ocaml) #:use-module (gnu packages perl) #:use-module (gnu packages python) + #:use-module (gnu packages rsync) #:use-module (gnu packages texinfo) #:use-module (guix build-system gnu) #:use-module (guix build-system ocaml) @@ -47,7 +49,7 @@ (define-public coq (package (name "coq") - (version "8.10.2") + (version "8.11.2") (source (origin (method git-fetch) @@ -57,7 +59,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0ji2rzd70b3hcwfw97qk7rv3m2977ylqnq82l1555dp3njr8nm3q")))) + "1gia82dkmzqspw2w3s4gjyh39ghbmw4i41i4hyzc91g7mza17nbz")))) (native-search-paths (list (search-path-specification (variable "COQPATH") @@ -70,7 +72,9 @@ ("camlp5" ,camlp5) ("ocaml-num" ,ocaml-num))) (native-inputs - `(("ocaml-ounit" ,ocaml-ounit))) + `(("ocaml-ounit" ,ocaml-ounit) + ("rsync" ,rsync) + ("which" ,which))) (arguments `(#:phases (modify-phases %standard-phases @@ -125,7 +129,7 @@ ;; Fails because the output is not formatted as expected. (delete-file-recursively "coq-makefile/timing") ;; Fails because we didn't build coqtop.byte. - (delete-file-recursively "coq-makefile/findlib-package") + (delete-file "misc/printers.sh") (invoke "make"))))))) (home-page "https://coq.inria.fr") (synopsis "Proof assistant for higher-order logic") @@ -215,7 +219,7 @@ provers.") (define-public coq-flocq (package (name "coq-flocq") - (version "3.2.0") + (version "3.3.1") (source (origin (method git-fetch) @@ -225,7 +229,7 @@ provers.") (file-name (git-file-name name version)) (sha256 (base32 - "15bi36x7zj0glsb3s2gwqd4wswhfzh36rbp7imbyff53a7nna95l")))) + "01gdykva0lcw6y3dm8j0djxayb87szfg9vn0mxd6z3pks644misl")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -272,7 +276,7 @@ inside Coq.") (define-public coq-gappa (package (name "coq-gappa") - (version "1.4.2") + (version "1.4.4") (source (origin (method git-fetch) @@ -282,7 +286,7 @@ inside Coq.") (file-name (git-file-name name version)) (sha256 (base32 - "0r7jwp5xssdfzivs2flp7mzrscqhgl63mryhhf1cvndpgzqwfk2f")))) + "0f3g3wjkvfkm961l4jpckhsqd43jnvm7f5qqk78qc32zh1fg339n")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -332,7 +336,7 @@ assistant.") (define-public coq-mathcomp (package (name "coq-mathcomp") - (version "1.10.0") + (version "1.11.0") (source (origin (method git-fetch) @@ -341,7 +345,7 @@ assistant.") (commit (string-append "mathcomp-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1h5h1c2025r1ms5qryvwy6pikxmpmmjav6yl127xpzmqdi6w732d")))) + (base32 "1axywpa1jcpnidd86irpd1gdbbg2sfbwc652675xisq5wnmfmf6f")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -374,7 +378,7 @@ part of the distribution.") (define-public coq-coquelicot (package (name "coq-coquelicot") - (version "3.0.3") + (version "3.1.0") (source (origin (method git-fetch) @@ -384,7 +388,7 @@ part of the distribution.") (file-name (git-file-name name version)) (sha256 (base32 - "0m5wbr2s8lnf8b7cfwv15hyzsmbcaz6hgdn7aazcrkxnwr87vgkp")))) + "0mz3pxan1237fr5fi79c66y7b9z7bmi0sc45kwrmkczsjm5462jm")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -427,7 +431,7 @@ theorems between the two libraries.") (define-public coq-bignums (package (name "coq-bignums") - (version "8.10.0") + (version "8.11.0") (source (origin (method git-fetch) (uri (git-reference @@ -436,7 +440,7 @@ theorems between the two libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "0bpb4flckn4nqxbs3wjiznyx1k7r8k93qdigp3qwmikp2lxvcbw5")))) + "1xcd7c7qlvs0narfba6px34zq0mz8rffnhxw0kzhhg6i4iw115dp")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -460,7 +464,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") (define-public coq-interval (package (name "coq-interval") - (version "3.4.1") + (version "4.0.0") (source (origin (method git-fetch) @@ -470,7 +474,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") (file-name (git-file-name name version)) (sha256 (base32 - "03q3dfqi3r3f7aji5s06ig4aav9ajcwswwdzi5lrgr69z0m487k4")))) + "01iz6qmnsm6b9s1vmdjs79vjx9xgwzn5rwyjp6bvs8hg3zlmhpip")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -556,16 +560,16 @@ uses Ltac to synthesize the substitution operation.") (define-public coq-equations (package (name "coq-equations") - (version "1.2.1") + (version "1.2.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mattam82/Coq-Equations") - (commit (string-append "v" version "-8.10-2")))) + (commit (string-append "v" version "-8.11")))) (file-name (git-file-name name version)) (sha256 (base32 - "0j3z4l5nrbyi9zbbyqkc6kassjanwld2188mwmrbqspaypm2ys68")))) + "1srxz1rws8jsh7402g2x2vcqgjbbsr64dxxj5d2zs48pmhb20csf")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 003883e1a5..d3daae74c0 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. ;;; @@ -361,7 +362,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 +371,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 +648,24 @@ 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))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index be66533b0b..0939c4d5a6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -253,17 +253,18 @@ series of numeric vectors/matrices and factors.") (define-public r-ggpmisc (package (name "r-ggpmisc") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) (uri (cran-uri "ggpmisc" version)) (sha256 (base32 - "0ma2d3a3v8n85sghxr9anl6vgbs8gi82i1dllw99n81gsm59wgin")))) + "05i81q9rg8zf35vgcxhn3yhkc9dlvcpwpxncq1q3zs0rxhfkf208")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) ("r-dplyr" ,r-dplyr) + ("r-glue" ,r-glue) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) ("r-lubridate" ,r-lubridate) @@ -783,14 +784,14 @@ same time tries to group instances from the same class together.") (define-public r-callr (package (name "r-callr") - (version "3.4.3") + (version "3.4.4") (source (origin (method url-fetch) (uri (cran-uri "callr" version)) (sha256 (base32 - "1dc20gdawy9mhnc452qlshv2p4krs6c2gymvpv365mn141zjgdq1")))) + "1hgc4mfwv83104fh93v8g2srpwzjayq7krgzi9r0apq784r61642")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) @@ -917,13 +918,13 @@ particularly easy to create complete web applications using httpuv alone.") (define-public r-jsonlite (package (name "r-jsonlite") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (cran-uri "jsonlite" version)) (sha256 (base32 - "1izfrk5yahsz6s69wanfspn72qdffjglbr5305akj72ig9fnladq")))) + "1wygpnycmyf339x92hwapqk7nc1gs9cadx890b809a9spjhah41a")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -2260,14 +2261,14 @@ on (non-orthogonal) variable vectors in scatterplots and biplots.") (define-public r-shape (package (name "r-shape") - (version "1.4.4") + (version "1.4.5") (source (origin (method url-fetch) (uri (cran-uri "shape" version)) (sha256 (base32 - "0hadk3mapkhbh8xjkiz52vxdagmmgvm15xwpzb90ikw4giyipjzl")))) + "17qqhjyfhxv9la07ykaslb50c8g4d0cgfypx4y91h9i2yjw7jjh9")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/shape") (synopsis "Functions for plotting graphical shapes") @@ -2788,14 +2789,14 @@ or excesses over a high threshold.") (define-public r-lmtest (package (name "r-lmtest") - (version "0.9-37") + (version "0.9-38") (source (origin (method url-fetch) (uri (cran-uri "lmtest" version)) (sha256 (base32 - "02nasm0j2vwkhz11dxqixs23msy1s3yj0jps6949fmgh9gwjkjfx")))) + "0sr19bmw2cpagfvwg772m79wvl1i2hww1xfr69bzr3rr8pm2r8ij")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) @@ -2833,13 +2834,13 @@ by Li, Brown, Huang, and Bickel") (define-public r-inline (package (name "r-inline") - (version "0.3.15") + (version "0.3.16") (source (origin (method url-fetch) (uri (cran-uri "inline" version)) (sha256 (base32 - "0s4wssvpan189fijahknxq5s22ww9bzmdlmyhnra748r7khky17z")))) + "0x9m2hwin6anfhkf61cnsbqn4qp1pr2gy1pbwbdgbdz2cmns85nj")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/inline") (synopsis "Functions to inline C, C++, Fortran function calls from R") @@ -3400,7 +3401,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 @@ -3524,14 +3525,14 @@ problems as well as resampling based estimators of prediction error.") (define-public r-psych (package (name "r-psych") - (version "2.0.7") + (version "2.0.8") (source (origin (method url-fetch) (uri (cran-uri "psych" version)) (sha256 (base32 - "13z26yk9nrgviyakkij3jc7mja8wy7al9ripab07mvy21kli79bc")))) + "0ymds7ql2dv994m73h68dnhbsws8bl09p2rqvl6xsq6c6xr0yryg")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -3742,7 +3743,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 @@ -4111,14 +4112,14 @@ training models for classification or ranking.") (define-public r-xts (package (name "r-xts") - (version "0.12-0") + (version "0.12.1") (source (origin (method url-fetch) (uri (cran-uri "xts" version)) (sha256 (base32 - "0q4cc8ynp7ndmgll1jj3lxyl6wmgg89ad3wq09kjc2ngszdfc4fz")))) + "0b6a7mpyk9aw6axas7nz01gadczprwwfhii01fz31z26z555i06n")))) (build-system r-build-system) (propagated-inputs `(("r-zoo" ,r-zoo))) (home-page "https://github.com/joshuaulrich/xts") @@ -4408,13 +4409,13 @@ constants, and control debugging of packages via environment variables.") (define-public r-processx (package (name "r-processx") - (version "3.4.3") + (version "3.4.4") (source (origin (method url-fetch) (uri (cran-uri "processx" version)) (sha256 - (base32 "07dhzijqnj2zkm3qrk4ppsv8wscn8ysdsjbidlg9zrbj1wcg4izj")))) + (base32 "0as8lzfpbz5rcpcpczvrrgd67whngkmw12q33r2yn3k7lq80z95a")))) (build-system r-build-system) (propagated-inputs `(("r-ps" ,r-ps) @@ -4555,13 +4556,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "1x7b71xhbl44fyccz69l24nbgyxawm2km90s4h1l3zr5z2vly0sg")))) + (base32 "1zd5qi1rrz3b1lpisapa2yscanz39ghaamf28g7aq3z9ai2a2ymj")))) (build-system r-build-system) ;; knitr itself depends on xfun #; @@ -5077,20 +5078,21 @@ University Press, 2000.") (define-public r-tsa (package (name "r-tsa") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) (uri (cran-uri "TSA" version)) (sha256 (base32 - "0gjfqibwdznz0nka95k4fjm935svxjpnqfywwz403crn2lh30h6q")))) + "1bv5q609lhmrcxnjnvcj497fbjlv89zwa8q918hw4iki5nkvwwdb")))) (properties `((upstream-name . "TSA"))) (build-system r-build-system) (propagated-inputs `(("r-leaps" ,r-leaps) ("r-locfit" ,r-locfit) - ("r-mgcv" ,r-mgcv))) + ("r-mgcv" ,r-mgcv) + ("r-tseries" ,r-tseries))) (home-page "https://homepage.divms.uiowa.edu/~kchan/TSA.htm") (synopsis "Time series analysis") (description @@ -5102,14 +5104,14 @@ Cryer and Kung-Sik Chan.") (define-public r-extradistr (package (name "r-extradistr") - (version "1.8.11") + (version "1.9.1") (source (origin (method url-fetch) (uri (cran-uri "extraDistr" version)) (sha256 (base32 - "1vvqv1d4hxa025gmm8cbiph63qsqy87l3ri5idd524gyz3chbcl3")))) + "1gypnbvdzczl0mvznvy8r7hzsvc5gvdvi2mmzj21cqdw9n63944r")))) (properties `((upstream-name . "extraDistr"))) (build-system r-build-system) (propagated-inputs @@ -6857,14 +6859,14 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.3.13") + (version "0.3.14") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "15v5dishdsrw95nj6f7x23llzla3sgbvw35ibdk8ld3miwzxb2kr")))) + "1nyv4710bcd2afh1l1qiy5zrspjcdvc7mrzz5189dwy9xvgxi31h")))) (build-system r-build-system) (propagated-inputs `(("r-magrittr" ,r-magrittr) @@ -7124,14 +7126,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.9.1") + (version "0.9.5") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0d6yzg5s0mz07bzxwfc77rpv4l20jpzrnhviqgkp02qw6a4nrwa6")))) + "0853kq4j8kic8z2gh5mxfqkwxjs4bdphlajzyvxka7af4r04bfmi")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -7258,14 +7260,14 @@ functions.") (define-public r-flextable (package (name "r-flextable") - (version "0.5.10") + (version "0.5.11") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "1j7yvjiavar21ywck6nyz0p6bd66fnj99bq8lljdz4rrl3314yb8")))) + "1yb872izzr9yja7q2vfqm0imcbcgs0fvi4b19arhdlwwa42figj4")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -7913,18 +7915,17 @@ and coverage methods to tune the choice of threshold.") (define-public r-mosaiccore (package (name "r-mosaiccore") - (version "0.6.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "mosaicCore" version)) (sha256 - (base32 "1klw97h6lchw1cpcl8s637ikcl428cckmjq0czi7mibh9q9mw72z")))) + (base32 "00va6x1i8d3wkm1bgsms9dsjfn5a1l43prpl9pqirgq3zm85hrqj")))) (properties `((upstream-name . "mosaicCore"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) - ("r-lazyeval" ,r-lazyeval) ("r-mass" ,r-mass) ("r-rlang" ,r-rlang) ("r-tidyr" ,r-tidyr))) @@ -7966,13 +7967,13 @@ while providing the intuitive capabilities of @code{r-ggplot2}.") (define-public r-mosaicdata (package (name "r-mosaicdata") - (version "0.18.0") + (version "0.20.1") (source (origin (method url-fetch) (uri (cran-uri "mosaicData" version)) (sha256 - (base32 "0cx5dg26ha7nzkdyghkbbd6ikncj60qv1538az77lfgn2jylvkbz")))) + (base32 "05mrwvs7awhpv2gvk0jjva74gndfgh2cl17slxcjhwlpga8nmxji")))) (properties `((upstream-name . "mosaicData"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/mosaicData/") @@ -9251,14 +9252,14 @@ ROPE percentage and pd).") (define-public r-performance (package (name "r-performance") - (version "0.4.8") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "performance" version)) (sha256 (base32 - "1gl3m1pw0wrj9m9cgd0vzbj9swfwjg4aa40gpliplb9y7dcmgi4l")))) + "01csmn52d6rhlmcj7gi6ckc6v6a8pymnrpx9l729h13igxsnaf28")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -9278,14 +9279,14 @@ effects models and Bayesian models.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "0.15.1") + (version "0.16.0") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "12z58casz0yl1w7nfs64bz4miz0mmc300ap3rz4d2cc4z0rg0r47")))) + "0v8n8jmp6x1iagbyc5jgf1d29yz5hd3ibnyl9n9f73vqq5bzj0p5")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight) @@ -9970,14 +9971,14 @@ This package provides an R interface.") (define-public r-rcpphnsw (package (name "r-rcpphnsw") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "RcppHNSW" version)) (sha256 (base32 - "0gqdkw7vkcm544rz45g0hplg836ygzbfwk9gh9wr0817icvdb3qv")))) + "01z0plf1i6dyibw4ica8shmijyk1grpqb886hcga72z2cpm4xsx0")))) (properties `((upstream-name . "RcppHNSW"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -10124,14 +10125,14 @@ to colexicographical order.") (define-public r-misc3d (package (name "r-misc3d") - (version "0.8-4") + (version "0.9-0") (source (origin (method url-fetch) (uri (cran-uri "misc3d" version)) (sha256 (base32 - "0qjzpw3h09qi2gfz52b7nhzd95p7yyxsd03fldc9wzzn6wi3vpkm")))) + "10jf5r1x588vi54bzaqgi9mgcqlkiga2c3jvmqmk3lavc8fjksd1")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/misc3d/") (synopsis "Miscellaneous 3D Plots") @@ -10967,14 +10968,14 @@ Touzet and Varre (2007).") (define-public r-rnifti (package (name "r-rnifti") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "RNifti" version)) (sha256 (base32 - "1a5s75iwwngzmi7y69j7xkcrrfvjyjrfalv9ldpgwii4cwkbyf10")))) + "0h837jdspy071ckij8szqd8149bm113jpqwbclg87is4brsm5jzg")))) (properties `((upstream-name . "RNifti"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -11934,13 +11935,13 @@ Differences with other sparse matrix packages are: (define-public r-fields (package (name "r-fields") - (version "10.3") + (version "11.4") (source (origin (method url-fetch) (uri (cran-uri "fields" version)) (sha256 - (base32 "12k97vfjlz5h8vynirnvik1nyj1iw25n8xl7awmx9mpd6wvgy2s9")))) + (base32 "0x8hbl0rn7gnhn7w45wd757g9in27884qr6vy30xrk150qaq941y")))) (build-system r-build-system) (propagated-inputs `(("r-maps" ,r-maps) @@ -12199,14 +12200,14 @@ JASA, 94:496-509.") (define-public r-etm (package (name "r-etm") - (version "1.1") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "etm" version)) (sha256 (base32 - "02yvh473l5qajaymhsxwb235a9r7q3nsig9a9mrfca68xih8yvgd")))) + "1hvrplmdpjjpjji663rw0vjbbrzj2nvr04d1nkc8bf46p4ixyxgy")))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table) @@ -12854,20 +12855,22 @@ transformation, respectively.") (define-public r-shinyjs (package (name "r-shinyjs") - (version "1.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "shinyjs" version)) (sha256 (base32 - "14k8y313ppj23m9rhlk8jc94x6sbn3qrsnx6xrijiyv8m8dii1l9")))) + "1zzq356dvd8ciajy6r5n4ybgx9xk7ydwv25j86xlcsqznkxdkkf2")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) ("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-shiny" ,r-shiny))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://deanattali.com/shinyjs") (synopsis "Improve the user experience of your Shiny apps") (description @@ -13888,14 +13891,14 @@ sampling.") (define-public r-deldir (package (name "r-deldir") - (version "0.1-28") + (version "0.1-29") (source (origin (method url-fetch) (uri (cran-uri "deldir" version)) (sha256 (base32 - "12ys8jdcrgzhf9m2yirlqfars397qb0q0pbypahmfa66lgr6wdx5")))) + "1vwh8c8zxspyls05q9kgzz5p85i8k8aax5ir45np2bmg0pjvh6kv")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/deldir") @@ -13912,14 +13915,14 @@ tessellation.") (define-public r-sf (package (name "r-sf") - (version "0.9-5") + (version "0.9-6") (source (origin (method url-fetch) (uri (cran-uri "sf" version)) (sha256 (base32 - "0c58asqrvz1pkdkb0lkzwz8cwb43pmxd39z0jp217hk7p7q3ngwf")))) + "01yqlnx9v7lzb6g4ywjlncz67cnkizszarnf2dmd4fi8abhw4zs9")))) (build-system r-build-system) (inputs `(("gdal" ,gdal) @@ -14474,44 +14477,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") @@ -16097,14 +16062,14 @@ been used in the call to @code{aov}.") (define-public r-dalex (package (name "r-dalex") - (version "1.3.1.1") + (version "2.0") (source (origin (method url-fetch) (uri (cran-uri "DALEX" version)) (sha256 (base32 - "0akw1yzhb3shpg6yb89vralqd2z80z5yk9azqaa55dx56as52kjs")))) + "1yn61cbqvyycn617pzhd7kgd34xsnmqvj3s10inn2ywycybk7byi")))) (properties `((upstream-name . "DALEX"))) (build-system r-build-system) (propagated-inputs @@ -16532,7 +16497,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))) @@ -16689,14 +16654,14 @@ both R code and compiled C/C++/FORTRAN code.") (define-public r-systemfonts (package (name "r-systemfonts") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "systemfonts" version)) (sha256 (base32 - "16n25bin46r0vq59wjdskkb8631gzf7grwnp2wnk0zb9c2qr48ax")))) + "0ldxgcayyisp2gcbv4xw9zpb48bp4czi8016kq5nqdqhv1qb3sz0")))) (properties `((upstream-name . "systemfonts"))) (build-system r-build-system) (propagated-inputs @@ -16837,14 +16802,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.8.2") + (version "0.8.5") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "0kamszscywvdh4gikl5mmma7s5p7spmhirq3wrgf7x7f4gppbbmh")))) + "1vax5p1znq2ddbks2i614hbrnn2x6x71942xx49p813qk8dh284l")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -18155,14 +18120,14 @@ models.") (define-public r-gamlss (package (name "r-gamlss") - (version "5.1-7") + (version "5.2-0") (source (origin (method url-fetch) (uri (cran-uri "gamlss" version)) (sha256 (base32 - "0ywqwsp4k6jgnicp1gdsglji61l5cnackl52700v8kmkk83bq4c8")))) + "1q82md0439si0n7vqbbbdk45sjr0ad7i8mgrn3kwnr4h213pb4nk")))) (properties `((upstream-name . "gamlss"))) (build-system r-build-system) (propagated-inputs @@ -19651,7 +19616,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))) @@ -20304,14 +20269,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.") (define-public r-forecast (package (name "r-forecast") - (version "8.12") + (version "8.13") (source (origin (method url-fetch) (uri (cran-uri "forecast" version)) (sha256 (base32 - "1ycj5z4wd5a16nlcjy07dqm8jkih240xa02cn4wvysnnhkapyq7b")))) + "0vrql5d4v28890np2m6ws1nr1fcl6frs1bz74vfkihkixcmkl3j9")))) (properties `((upstream-name . "forecast"))) (build-system r-build-system) (propagated-inputs @@ -21934,7 +21899,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 @@ -22138,7 +22103,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 @@ -22478,14 +22443,14 @@ multi-state models.") (define-public r-scatterpie (package (name "r-scatterpie") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) (uri (cran-uri "scatterpie" version)) (sha256 (base32 - "0g5sn0iv6c1q7y51j4gbbbnil5089dgk1w4q94c7h5y3x7wfrzqb")))) + "0h48l0699lpfagv09f53yismir84945m56qwzk52lc7wxyvkfcp1")))) (properties `((upstream-name . "scatterpie"))) (build-system r-build-system) (propagated-inputs @@ -22572,50 +22537,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") @@ -23215,14 +23136,14 @@ aggregation for comparing different implementations in order to provide a (define-public r-rfast (package (name "r-rfast") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "Rfast" version)) (sha256 (base32 - "010dm5h2vayvfbh0zny7i2c7fmn83r2b54849r0b4id3wjpmg3xy")))) + "1cq3mcg49hsvqhwn6f4dgsx7f8ma4qnwr5n6s7m22qy57rg31958")))) (properties `((upstream-name . "Rfast"))) (build-system r-build-system) (propagated-inputs @@ -24434,18 +24355,17 @@ as allowing spectra with different resolutions.") (define-public r-seurat (package (name "r-seurat") - (version "3.2.0") + (version "3.2.1") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "1vj3dlsqakgnn4x1jz9fkl2cy0jzc5s65h1c20fnamr7lk45pnf2")))) + "0jipc4xpmx56jzc31w6nsl77ah8x8wq7jclg2mxhjql4ixkwmz54")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs - `(("r-ape" ,r-ape) - ("r-cluster" ,r-cluster) + `(("r-cluster" ,r-cluster) ("r-cowplot" ,r-cowplot) ("r-fitdistrplus" ,r-fitdistrplus) ("r-future" ,r-future) @@ -24463,6 +24383,7 @@ as allowing spectra with different resolutions.") ("r-lmtest" ,r-lmtest) ("r-mass" ,r-mass) ("r-matrix" ,r-matrix) + ("r-matrixstats" ,r-matrixstats) ("r-miniui" ,r-miniui) ("r-patchwork" ,r-patchwork) ("r-pbapply" ,r-pbapply) @@ -24527,14 +24448,14 @@ Maximum Parsimony, distance methods and Hadamard conjugation.") (define-public r-diversitree (package (name "r-diversitree") - (version "0.9-13") + (version "0.9-14") (source (origin (method url-fetch) (uri (cran-uri "diversitree" version)) (sha256 (base32 - "00vi4klywi35hd170ksjv3xja3hqqbkcidcnrrlpgv4179k0azix")))) + "0xkxw4n1rsagip51smh9k0h0lmnnvsajqcxma7yh95ifdkyrcyy4")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm new file mode 100644 index 0000000000..e0b60f9f09 --- /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.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-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-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.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-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.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-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.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") + (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.3) + ("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.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-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-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..3ad8336c91 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -8,6 +8,8 @@ ;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,14 +32,12 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (gnu packages) - #:use-module (gnu packages base) #: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 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 +49,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) @@ -390,39 +389,6 @@ code that is generic with regard to the algebraic entity types.") @code{alga} crate.") (license license:asl2.0))) -(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-android-glue-0.2 (package (name "rust-android-glue") @@ -442,52 +408,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") @@ -536,43 +456,6 @@ text or blue underlined text, on ANSI terminals.") @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 +538,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") @@ -847,31 +730,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") @@ -952,9 +810,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 @@ -1129,6 +987,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") @@ -1729,6 +1606,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 +1653,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 +1691,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) @@ -1945,7 +1876,7 @@ 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)))) @@ -2575,93 +2506,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") @@ -3093,108 +2937,6 @@ 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") @@ -3520,10 +3262,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,7 +3273,7 @@ pitfalls in Rust.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) + "0rv4yf5jlldfkynzrw687s00f4x12ypw7axv71vawhy6h4i52i23")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -3543,6 +3285,24 @@ pitfalls in Rust.") "Low level interface to CloudABI. 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 + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1)))))) + (define-public rust-cloudflare-zlib-sys-0.2 (package (name "rust-cloudflare-zlib-sys") @@ -4010,6 +3770,29 @@ 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-core-arch-0.1 (package (name "rust-core-arch") @@ -4085,33 +3868,6 @@ intrinsics.") (license (list license:asl2.0 license:expat)))) -(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-text-13 (package (name "rust-core-text") @@ -4139,36 +3895,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") @@ -5296,42 +5022,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") @@ -5444,6 +5134,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") @@ -6263,7 +5976,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 @@ -7022,32 +6735,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") @@ -7331,6 +7018,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") @@ -7459,10 +7178,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 +7190,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 +7200,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) @@ -7872,7 +7606,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.") @@ -8614,25 +8348,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 +8399,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") @@ -8931,10 +8574,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 +8586,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 +8606,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,136 +8697,6 @@ 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 - (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-gimli-0.20 (package (name "rust-gimli") @@ -9227,125 +8766,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") @@ -9421,225 +8841,6 @@ reading and writing git repositories.") ("rust-thread-id" ,rust-thread-id-3.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") @@ -9780,223 +8981,6 @@ path simultaneously, and returning all of the globs that matched.") "Glob-matched recursive file system walking.") (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 - (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-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-goblin-0.2 (package (name "rust-goblin") @@ -10284,29 +9268,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") @@ -10374,10 +9335,10 @@ of gzip files based on the gzip header implementation in the @code{flate2} crate (description "This packages provides a HTTP/2.0 client and server.") (license license:expat))) -(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 +9347,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 @@ -11268,140 +10235,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") @@ -11580,7 +10413,7 @@ in Rust.") (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 +10422,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 +10537,40 @@ immutable interval tree.") (license (list license:asl2.0 license:expat)))) +(define-public rust-is-executable-0.1 + (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") @@ -12070,34 +10939,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 +11061,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") @@ -12779,36 +11688,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") @@ -13192,6 +12071,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.0) + ("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 +12168,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") @@ -14409,6 +13271,34 @@ 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-nasm-rs-0.1 (package (name "rust-nasm-rs") @@ -14432,10 +13322,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 +13334,7 @@ checking.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0i87k57nav221lnr9z7ljlwxh8073qsx33bajdm146y00q805fqa")))) + "11ili22n4ffgcjbgvbjqmpbd67qrl2acqbpymg6z7d2h7my19dnn")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -14464,9 +13354,11 @@ checking.") ("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 +13367,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.1) + ("rust-pest-derive" ,rust-pest-derive-2.1) + ("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) @@ -14627,30 +13556,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") @@ -15078,15 +13983,15 @@ 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-num-0.3 (package (name "rust-num") - (version "0.2.1") + (version "0.3.0") (source (origin (method url-fetch) @@ -15095,15 +14000,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 +14017,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 +14238,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 +14247,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 +14292,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 +14317,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 +14413,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 +14422,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 @@ -15888,10 +14818,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.0") (source (origin (method url-fetch) @@ -15900,14 +14830,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")))) + "138n52yni5qym7ds8kxckvhdy4x0m0scy0gl74brmwsahmz1yqqb")))) (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.10)) #: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 +14847,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 +15251,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,7 +15262,7 @@ under its new name.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "04zgwy77lin8qz398s6g44467pd6kjhbrlqifkia5rkr47mbi929")))) + "1kjj9m28wjv452jw49p1mp3d8ql058x78v4bz00avr7rvsnmpxbg")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -16476,196 +15383,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") @@ -17756,11 +16473,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 +16502,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") @@ -18372,127 +16730,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 +16769,26 @@ applications.") "Additional trait for Read and Write to read and write Plain Old Data.") (license (list license:expat license:asl2.0)))) +(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") @@ -18681,6 +16938,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") @@ -19110,6 +17388,30 @@ 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-psm-0.1 (package (name "rust-psm") @@ -19191,6 +17493,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") @@ -19476,10 +17798,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 +17810,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") @@ -20243,28 +18587,6 @@ random number generators.") #: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") @@ -20509,7 +18831,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 +18839,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") @@ -20923,29 +19245,6 @@ 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 - (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-resolv-conf-0.6 (package (name "rust-resolv-conf") @@ -20971,35 +19270,6 @@ uses finite automata and guarantees linear time matching on all inputs.") (license (list license:asl2.0 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-ring-0.16 (package (name "rust-ring") @@ -22460,10 +20730,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 +20741,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,6 +20753,21 @@ 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) @@ -22935,7 +21219,7 @@ proven statistical guarantees.") (define-public rust-serde-1 (package (name "rust-serde") - (version "1.0.105") + (version "1.0.113") (source (origin (method url-fetch) @@ -22943,11 +21227,10 @@ proven statistical guarantees.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7")))) + "0smc5pj00nci5g9a9hrz9w7rs7f5cir7gvsqf54pj74qc62cfdb1")))) (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)))) @@ -23103,7 +21386,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)))) @@ -23130,7 +21413,7 @@ proven statistical guarantees.") `(#:skip-build? #t #:cargo-inputs (("rust-byteorder" ,rust-byteorder-1.3) - ("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)))))) @@ -23191,7 +21474,7 @@ for the serde framework.") (define-public rust-serde-derive-1 (package (name "rust-serde-derive") - (version "1.0.105") + (version "1.0.113") (source (origin (method url-fetch) @@ -23199,11 +21482,10 @@ for the serde framework.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc")))) + "0cdf4r6bwxw6cwg2fj93kwd7mypwhjfzxzyw3i4cnm09gnhymick")))) (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)) @@ -23340,7 +21622,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 +21631,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) @@ -24044,6 +22325,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 +22679,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") @@ -24760,6 +22981,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,6 +23147,37 @@ 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.3 (package (name "rust-stream-cipher") @@ -26348,11 +24622,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 +24645,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 @@ -26564,78 +24848,6 @@ fixed set of worker threads.") (license (list license:asl2.0 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.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") - (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.3) - ("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-time-0.1 (package (name "rust-time") @@ -26698,7 +24910,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 +24919,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vgg2z317kq75bpd0nfda2v507qjpd7g2cjahjgivn2s78nkv5ak")))) + "05vijqpckjsnbv07rwadwcny4pkcq7z1wi9ikl7p3ib7s9qy1313")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -26716,7 +24928,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 @@ -26997,8 +25209,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 @@ -27574,6 +25786,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") @@ -28735,6 +26968,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.7)))))) + (define-public rust-void-1 (package (name "rust-void") @@ -29034,6 +27297,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") @@ -29345,310 +27634,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") @@ -29865,6 +27850,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 +28049,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") @@ -30236,77 +28150,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 +28170,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 +28261,36 @@ 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.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "xml-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wv7izl41jf3ylhqhw23y1h0m729v2g5k4mgfw72v4kmgvvawiin")) + (modules '((guix build utils))) + (snippet + '(begin + ;; 'doctest' isn't stable until rust-1.40 + (substitute* "src/lib.rs" + (("\\(doctest") "(test")) + #t)))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-lazy-static" ,rust-lazy-static-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,28 +28321,6 @@ to XDG Base Directory specification.") "Push based streaming parser for xml.") (license (list license:expat license:asl2.0)))) -(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))) - (define-public rust-yaml-rust-0.4 (package (name "rust-yaml-rust") @@ -30639,3 +28490,152 @@ implementation that works everywhere, even WASM!") (description "This package provides a library for parsing compiled zoneinfo files.") (license license:expat))) + +(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.5) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1.0) + ("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 028c140185..a45d2741e6 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 281c2718e8..173f8ca0f5 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -415,16 +415,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 @@ -465,10 +466,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=" @@ -749,20 +747,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 @@ -771,13 +768,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 6237e34dcb..0584fe111a 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -944,7 +944,7 @@ Language.") `(("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)) + `(("gcc@5" ,gcc-5)) '()) ("perl" ,perl))) (inputs @@ -970,7 +970,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 +979,7 @@ as a drop-in replacement of MySQL.") version "-src.tar.gz")) (sha256 (base32 - "1izjzf7yzjqzlk8dkp327fa9lawsv2hnnlnr7g5lshyx5azrk38h")))) + "13v5z4w1cl890lnr2fbwbziw638lqw2aga45vdq1z0cyrc9mcgmg")))) (inputs `(("openssl" ,openssl))) (build-system cmake-build-system) @@ -1343,7 +1343,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 +1351,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 +1383,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 +1392,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 +1741,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 +1749,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 +1780,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))) @@ -2120,14 +2123,14 @@ database.") (define-public perl-db-file (package (name "perl-db-file") - (version "1.853") + (version "1.854") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-" version ".tar.gz")) (sha256 - (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h")))) + (base32 "0fv0any5am6vr6h1wcwhnraj70hd55fs4d8c2y7chsc9alf9di5y")))) (build-system perl-build-system) (inputs `(("bdb" ,bdb))) (native-inputs `(("perl-test-pod" ,perl-test-pod))) @@ -2140,8 +2143,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 +2452,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 +2477,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")) @@ -2712,16 +2715,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 +2941,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" @@ -2951,24 +2995,19 @@ database).") (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 +3019,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 +3078,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 +3103,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 +3146,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") 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/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..1e538ef60e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -1038,6 +1038,6 @@ 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+))) 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..95524fa898 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -313,7 +313,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 +321,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 @@ -756,16 +756,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,37 +803,25 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.9.6") + (version "3.0.0") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" "knot-" version ".tar.xz")) (sha256 - (base32 "1rxjjisr6rz1wa4279ghvj5zzhgyjhncmb9dkzqm8nw2qs1jhx5z")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled libraries. - (with-directory-excursion "src/contrib" - (delete-file-recursively "lmdb")) - #t)))) + (base32 "1i76zflc49jbsaj3idxx7a6x87c0lzal294c3fdjyfl7dvznmjgi")))) (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))) (arguments - `(#:phases + `(#: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")) + #:phases (modify-phases %standard-phases (add-before 'configure 'disable-directory-pre-creation (lambda _ @@ -848,15 +836,20 @@ 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"))))))) + (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))) (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 +871,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") @@ -932,11 +925,7 @@ synthesis, and on-the-fly re-configuration.") ("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..e4fc88b8c0 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 @@ -246,22 +249,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 +275,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 +520,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. 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..6cb7b7ae88 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.2") (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")))) + "02nrqrb6klynwrq6z0639qnlhr2z900b0y94xr96i12icr7ihm5m")))) (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..ff1a9e309d 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -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 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 ff043463cc..327611f837 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -78,6 +78,8 @@ ;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -118,6 +120,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages dictionaries) + #:use-module (gnu packages djvu) #:use-module (gnu packages emacs) #:use-module (gnu packages guile) #:use-module (gnu packages gtk) @@ -261,14 +264,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) @@ -1723,14 +1726,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))) @@ -1920,14 +1923,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). @@ -2315,24 +2318,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 @@ -2479,13 +2485,30 @@ filters, new key bindings and faces. It can be enabled by (sha256 (base32 "0njgyx09q225hliacsnjk8wallg5i6xkz6bj501pb05nwqfbvfk7")))) (build-system emacs-build-system) + (inputs `(("djview" ,djview) + ("djvulibre" ,djvulibre))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((file "djvu.el") + (djview (assoc-ref inputs "djview")) + (djvulibre (assoc-ref inputs "djvulibre"))) + ;; Specify the absolute executable locations. + (chmod file #o644) + (substitute* file + (("\"djvused\"") (string-append "\"" djvulibre "/bin/djvused\"")) + (("\"djvm\"") (string-append "\"" djvulibre "/bin/djvm\"")) + (("\"ddjvu\"") (string-append "\"" djvulibre "/bin/ddjvu\""))) + (emacs-substitute-variables file + ("djvu-djview-command" (string-append djview "/bin/djview")))) + #t))))) (home-page "http://elpa.gnu.org/packages/djvu.html") (synopsis "Edit and view Djvu files via djvused") (description "This package is a front end for the command-line program djvused from -DjVuLibre, see @url{http://djvu.sourceforge.net/}. It assumes you have the -programs @command{djvused}, @command{djview}, @command{ddjvu}, and -@command{djvm} installed.") +DjVuLibre, see @url{http://djvu.sourceforge.net/}.") (license license:gpl3+))) (define-public emacs-pabbrev @@ -2513,78 +2536,86 @@ during idle time, while Emacs is doing nothing else.") (license license:gpl3+))) (define-public emacs-pdf-tools - (package - (name "emacs-pdf-tools") - (version "0.90") - (home-page "https://github.com/politza/pdf-tools") - (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 - "0iv2g5kd14zk3r5dzdw7b7hk4b5w7qpbilcqkja46jgxbb6xnpl9")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; there are no tests - #:modules ((guix build gnu-build-system) - ((guix build emacs-build-system) #:prefix emacs:) - (guix build utils) - (guix build emacs-utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build emacs-build-system) - (guix build emacs-utils)) - #:phases - (modify-phases %standard-phases - ;; Build server side using 'gnu-build-system'. - (add-after 'unpack 'enter-server-dir - (lambda _ (chdir "server") #t)) - (add-after 'enter-server-dir 'autogen - (lambda _ - (invoke "bash" "autogen.sh"))) + ;; XXX: Development branch fixes an incompatibility with Emacs 27+. See + ;; <https://github.com/politza/pdf-tools/issues/616>. + (let ((commit "c510442ab89c8a9e9881230eeb364f4663f59e76") + (revision "1")) + (package + (name "emacs-pdf-tools") + (version (git-version "0.90" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/politza/pdf-tools") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "17z3cpn76g9dp62drjrgrqpp1bgf4gl5k5gspylskpvd4kj4bq4d")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:modules ((guix build gnu-build-system) + ((guix build emacs-build-system) #:prefix emacs:) + (guix build utils) + (guix build emacs-utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build emacs-build-system) + (guix build emacs-utils)) + #:phases + (modify-phases %standard-phases + ;; Build server side using 'gnu-build-system'. + (add-after 'unpack 'enter-server-dir + (lambda _ (chdir "server") #t)) + (add-after 'enter-server-dir 'autogen + (lambda _ + (invoke "bash" "autogen.sh"))) - ;; Build emacs side using 'emacs-build-system'. - (add-after 'compress-documentation 'enter-lisp-dir - (lambda _ (chdir "../lisp") #t)) - (add-after 'enter-lisp-dir 'emacs-patch-variables - (lambda* (#:key outputs #:allow-other-keys) - (for-each make-file-writable (find-files ".")) + ;; Build emacs side using 'emacs-build-system'. + (add-after 'compress-documentation 'enter-lisp-dir + (lambda _ (chdir "../lisp") #t)) + (add-after 'enter-lisp-dir 'emacs-patch-variables + (lambda* (#:key outputs #:allow-other-keys) + (for-each make-file-writable (find-files ".")) - ;; Set path to epdfinfo program. - (emacs-substitute-variables "pdf-info.el" - ("pdf-info-epdfinfo-program" - (string-append (assoc-ref outputs "out") - "/bin/epdfinfo"))) - ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto - ;; upgrading" that pdf-tools tries to perform. - (emacs-substitute-variables "pdf-tools.el" - ("pdf-tools-handle-upgrades" '())))) - (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path - (assoc-ref emacs:%standard-phases 'add-source-to-load-path)) - (add-after 'emacs-add-source-to-load-path 'emacs-install - (assoc-ref emacs:%standard-phases 'install)) - (add-after 'emacs-install 'emacs-build - (assoc-ref emacs:%standard-phases 'build)) - (add-after 'emacs-install 'emacs-make-autoloads - (assoc-ref emacs:%standard-phases 'make-autoloads))))) - (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config) - ("emacs" ,emacs-minimal))) - (inputs `(("poppler" ,poppler) - ("cairo" ,cairo) - ("glib" ,glib) - ("libpng" ,libpng) - ("zlib" ,zlib))) - (propagated-inputs `(("tablist" ,emacs-tablist))) - (synopsis "Emacs support library for PDF files") - (description - "PDF Tools is, among other things, a replacement of DocView for PDF + ;; Set path to epdfinfo program. + (emacs-substitute-variables "pdf-info.el" + ("pdf-info-epdfinfo-program" + (string-append (assoc-ref outputs "out") + "/bin/epdfinfo"))) + ;; Set 'pdf-tools-handle-upgrades' to nil to avoid "auto + ;; upgrading" that pdf-tools tries to perform. + (emacs-substitute-variables "pdf-tools.el" + ("pdf-tools-handle-upgrades" '())))) + (add-after 'emacs-patch-variables 'emacs-add-source-to-load-path + (assoc-ref emacs:%standard-phases 'add-source-to-load-path)) + (add-after 'emacs-add-source-to-load-path 'emacs-install + (assoc-ref emacs:%standard-phases 'install)) + (add-after 'emacs-install 'emacs-build + (assoc-ref emacs:%standard-phases 'build)) + (add-after 'emacs-install 'emacs-make-autoloads + (assoc-ref emacs:%standard-phases 'make-autoloads))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("emacs" ,emacs-minimal))) + (inputs + `(("poppler" ,poppler) + ("cairo" ,cairo) + ("glib" ,glib) + ("libpng" ,libpng) + ("zlib" ,zlib))) + (propagated-inputs + `(("tablist" ,emacs-tablist))) + (home-page "https://github.com/politza/pdf-tools") + (synopsis "Emacs support library for PDF files") + (description + "PDF Tools is, among other things, a replacement of DocView for PDF files. The key difference is that pages are not pre-rendered by e.g. ghostscript and stored in the file-system, but rather created on-demand and stored in memory.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-dash (package @@ -2774,7 +2805,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)))) @@ -2852,16 +2883,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") @@ -2959,6 +2990,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") @@ -3033,7 +3085,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) @@ -3042,7 +3094,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") @@ -3766,6 +3818,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") @@ -4069,6 +4145,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")) @@ -4117,7 +4217,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 @@ -4125,15 +4225,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"))) @@ -5249,6 +5344,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 @@ -6738,15 +6856,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") @@ -7335,7 +7452,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 @@ -7344,7 +7461,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) @@ -7401,6 +7518,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") @@ -7788,7 +7928,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) @@ -7797,14 +7937,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 @@ -9586,14 +9725,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") @@ -9651,13 +9790,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 @@ -9682,14 +9821,14 @@ 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")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) @@ -11037,7 +11176,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 @@ -12906,7 +13045,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. @@ -14254,18 +14393,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.") @@ -15009,36 +15145,36 @@ macro takes a first argument (whose value must be an alist) and a body.") (license license:gpl3+))) (define-public emacs-esup - (package - (name "emacs-esup") - (version "0.7") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jschaf/esup") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "100w28n3qb3s5b18vvqpwmijdjnjazawn38i0pjbpxz5llhqgl1g")))) - (build-system emacs-build-system) - (native-inputs - `(("emacs-noflet" ,emacs-noflet) - ("emacs-el-mock" ,emacs-el-mock))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'check - (lambda* (#:key inputs #:allow-other-keys) - (invoke "emacs" "--batch" "-L" "." - "-l" "test/esup-test.el" - "-f" "ert-run-tests-batch-and-exit")))))) - (home-page "https://github.com/jschaf/esup") - (synopsis "Emacs start up profiler") - (description "Benchmark Emacs Startup time without ever leaving + (let ((commit "0de8af8233d9ce1b67f05a50f25c481c4f1118d8") + (revision "1")) + (package + (name "emacs-esup") + (version (git-version "0.7.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jschaf/esup") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01khb3xyj0ylwib6ryzzvqmkh5wvzxiq2n3l0s3h9zv7wx849bzv")))) + (build-system emacs-build-system) + (native-inputs + `(("emacs-noflet" ,emacs-noflet) + ("emacs-undercover" ,emacs-undercover) + ("emacs-buttercup" ,emacs-buttercup))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (arguments + `(#:tests? #t + #:test-command '("buttercup" "-L" "."))) + (home-page "https://github.com/jschaf/esup") + (synopsis "Emacs start up profiler") + (description "Benchmark Emacs Startup time without ever leaving your Emacs.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public emacs-restart-emacs (let ((commit "9aa90d3df9e08bc420e1c9845ee3ff568e911bd9") @@ -15225,7 +15361,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) @@ -15234,7 +15370,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 @@ -15714,34 +15850,37 @@ downloading manager for Emacs.") (license license:gpl3+)))) (define-public emacs-helpful - (package - (name "emacs-helpful") - (version "0.17") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Wilfred/helpful") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0v2y0x9pwi08y2mgjjiw5brfb5haa7pbmy4540glw904ffxxcblj")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-elisp-refs" ,emacs-elisp-refs) - ("emacs-dash" ,emacs-dash) - ("emacs-s" ,emacs-s) - ("emacs-f" ,emacs-f) - ("emacs-shut-up" ,emacs-shut-up))) - (native-inputs - `(("emacs-ert-runner" ,emacs-ert-runner) - ("emacs-undercover" ,emacs-undercover))) - (arguments - `(#:tests? #t - #:test-command '("ert-runner"))) - (home-page "https://github.com/Wilfred/helpful") - (synopsis "More contextual information in Emacs help") - (description "@code{helpful} is an alternative to the built-in Emacs help + (let ((version "0.17") + (commit "b0e937fff71dc0a5d34066bfd25310e76f284621") + (revision "1")) + (package + (name "emacs-helpful") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wilfred/helpful") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "048qvlyj2vkgi872z8l07diwqnq21ziycv8slxzzy7rflw3wx0b2")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-elisp-refs" ,emacs-elisp-refs) + ("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-shut-up" ,emacs-shut-up))) + (native-inputs + `(("emacs-ert-runner" ,emacs-ert-runner) + ("emacs-undercover" ,emacs-undercover))) + (arguments + `(#:tests? #t + #:test-command '("ert-runner"))) + (home-page "https://github.com/Wilfred/helpful") + (synopsis "More contextual information in Emacs help") + (description "@code{helpful} is an alternative to the built-in Emacs help that provides much more contextual information. @itemize @@ -15760,7 +15899,7 @@ functions. @item Trace, disassemble functions from inside Helpful. This is discoverable and doesn't require memorisation of commands. @end itemize\n") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-logview (package @@ -15938,10 +16077,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 @@ -15950,8 +16089,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: @@ -16898,6 +17055,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") @@ -18436,7 +18614,7 @@ can be queued at any time.") ("emacs-esxml" ,emacs-esxml) ("emacs-s" ,emacs-s))) (inputs - `(("pandoc" ,ghc-pandoc))) + `(("pandoc" ,pandoc))) (arguments `(#:phases (modify-phases %standard-phases @@ -19452,8 +19630,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)) @@ -19465,7 +19643,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) @@ -21835,7 +22013,7 @@ it forcibly (define-public emacs-elpher (package (name "emacs-elpher") - (version "2.9.1") + (version "2.10.2") (source (origin (method git-fetch) @@ -21844,7 +22022,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))) @@ -21983,7 +22161,7 @@ format.") "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz")))) (build-system emacs-build-system) (inputs - `(("pandoc" ,ghc-pandoc))) + `(("pandoc" ,pandoc))) (propagated-inputs `(("emacs-dash" ,emacs-dash) ("emacs-ht" ,emacs-ht))) @@ -22880,6 +23058,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") @@ -23095,30 +23319,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.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "ivy-posframe-" version ".el")) + (sha256 + (base32 "0hr6bjlgflvz9rk5rnr55fcrd4873jxmksdr7r1zl1zcb8vdx7ks")))) + (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") @@ -23757,7 +23977,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) @@ -23766,7 +23986,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") @@ -24523,7 +24743,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 @@ -24550,3 +24770,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 d0d581c4db..cf48b20675 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. @@ -1902,7 +1890,7 @@ framework based on QEMU.") (define-public ppsspp (package (name "ppsspp") - (version "1.10") + (version "1.10.3") (source (origin (method git-fetch) @@ -1910,7 +1898,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")) @@ -1961,7 +1949,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. @@ -2004,14 +1992,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 bd89cef70c..2e1ffa1355 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 004fef5ce5..f63bc20483 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.0") (source (origin (method url-fetch) (uri (string-append @@ -77,7 +76,7 @@ version ".tar.xz")) (sha256 (base32 - "0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy")))) + "0vlmf0rp2qxdl06pdmrd1xdfa10sdz30vnxzc98inpdg1n8iz52k")))) (build-system meson-build-system) (native-inputs `(("check" ,check-0.14) @@ -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 _ @@ -566,19 +564,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/file-systems.scm b/gnu/packages/file-systems.scm index b8612ac3b2..c6486c67ef 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -504,8 +504,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 +515,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 +768,7 @@ community.") (define-public mergerfs (package (name "mergerfs") - (version "2.29.0") + (version "2.31.0") (source (origin (method url-fetch) @@ -776,7 +776,7 @@ community.") version "/mergerfs-" version ".tar.gz")) (sha256 (base32 - "17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk")))) + "0k4asbg5n9dhy5jpjkw6simqqnr1zira2y4i71cq05091dfwm90p")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests exist. @@ -797,8 +797,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 +814,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 +829,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 +918,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..a10d79ad89 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.0.1") (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 "1v0phvg5ralli4dr09a60nq032xqlci5d6v4zfq8304vgrn1ffgp")))) (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.0.1") (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 "1i9a3ampppyzsl4sllbqlr3w43sjpb3fdfxhb1j4n49p8g0jzmf3")))) (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 + (add-before 'configure 'generate-zxcvbn-c-header (lambda _ - (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t)) - (add-after 'make-qt-deterministic 'fix-version - (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+))) @@ -1399,7 +1362,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 +1371,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 +1406,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 96557b963c..b3852fe093 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/freedesktop.scm b/gnu/packages/freedesktop.scm index 09daaf5433..8e38f7be8c 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -796,7 +796,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 +804,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 +909,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 +1396,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 +1405,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/game-development.scm b/gnu/packages/game-development.scm index c8e0e94099..061dc13f69 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 @@ -581,7 +580,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 +589,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 +1527,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 +1536,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 ac5d08b79b..729078dc69 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") @@ -3664,7 +3674,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.13") + (version "1.14.14") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -3673,7 +3683,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "1pmqj4rah0256qi9w394ksb9apid723i5f5agkg6x1lahb1ac91q")))) + "1l7mdxn4kw938qz824057rqh99b7y9439a54s64n1xz95w77lp0r")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no check target @@ -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))) @@ -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) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index a39ac3b84c..4d5aaa7070 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> +;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -759,11 +760,26 @@ as the 'native-search-paths' field." (for-each delete-file (find-files (string-append (assoc-ref outputs "out") "/bin") ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)")) - #t)))))))) + #t)))))) + (synopsis "GCC library generating machine code on-the-fly at runtime") + (description + "This package is part of the GNU Compiler Collection and provides an +embeddable library for generating machine code on-the-fly at runtime. This +shared library can then be dynamically-linked into bytecode interpreters and +other such programs that want to generate machine code on-the-fly at run-time. +It can also be used for ahead-of-time code generation for building standalone +compilers. The just-in-time (jit) part of the name is now something of a +misnomer."))) (define-public gccgo-4.9 - (custom-gcc gcc-4.9 "gccgo" '("go") + (custom-gcc (package + (inherit gcc-4.9) + (synopsis "Go frontend to GCC") + (description + "This package is part of the GNU Compiler Collection and +provides the GNU compiler for the Go programming language.")) + "gccgo" '("go") %generic-search-paths ;; Suppress the separate "lib" output, because otherwise the ;; "lib" and "out" outputs would refer to each other, creating diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index ab1d691c6c..84d1bd981f 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1276,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 @@ -1285,12 +1286,12 @@ to the OSM opening hours specification.") (recursive? #f))) (sha256 (base32 - "131ly6ah9ygrah1wq1h2199v4hyzgflnh62ychs4jqvy9wz0dal6")) + "12mcqswjijvx2n7hz7lnx83i3vjr5ib58cazqin10hczcwnd778q")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet '(begin - (for-each delete-file (find-files "." ".*.jar$")) + (for-each delete-file (find-files "." ".*.jar$")) #t)))) (build-system ant-build-system) (native-inputs @@ -1339,7 +1340,8 @@ to the OSM opening hours specification.") (filter (lambda (s) (let ((source (assoc-ref inputs "source"))) - (not (equal? (substring s 0 (string-length source)) source)))) + (not (equal? (substring s 0 (string-length source)) + source)))) (string-split (getenv "CLASSPATH") #\:)) ":")) #t)) @@ -1386,6 +1388,19 @@ to the OSM opening hours specification.") "Is-Local-Build: true\n" "Build-Date: 1970-01-01 00:00:00 +0000\n")))) #t)) + (add-after 'install 'install-share-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (share-directories '("applications" "icons" "man" "menu" + "metainfo" "mime" "pixmaps"))) + (for-each (lambda (directory) + (copy-recursively (string-append + "native/linux/tested/usr/share/" + directory) + (string-append + out "/share/" directory))) + share-directories)) + #t)) (add-after 'install 'install-bin (lambda* (#:key outputs inputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1761,7 +1776,7 @@ track your position right from your laptop.") (base32 "1fwsm99kz0bxvjk7442qq1h45ikrmhba8bqclafb61gqg1q6ymrk")))) (build-system gnu-build-system) (inputs - `(("bzip2", bzip2) + `(("bzip2" ,bzip2) ("cairo" ,cairo) ("fftw" ,fftw) ("freetype" ,freetype) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index b9070ae818..426be35a25 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 ca037d3b24..cde95b13eb 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -619,21 +619,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") @@ -692,7 +677,7 @@ useful for C++.") (sha256 (base32 "1v6lp23fr2qh4zshcnm28sn29j3nzgsvcqj2nhmrnvamipjq4lm7")))) (propagated-inputs - `(("libsigc++" ,libsigc++-2) + `(("libsigc++" ,libsigc++) ("glib" ,glib))))) (define-public python2-pygobject-2 @@ -950,7 +935,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/" @@ -958,7 +943,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 4a6d45bc63..47030f5316 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -89,6 +89,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 +107,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 +360,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 +989,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 +997,7 @@ freedesktop.org desktop notification specification.") "mm-common-" version ".tar.xz")) (sha256 (base32 - "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8")))) + "07b4s5ckcz9q5gwx8vchim19mhfgl8wysqwi30pndks3m4zrzad2")))) (build-system meson-build-system) (arguments `(#:phases @@ -1299,7 +1302,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 +1666,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 +2002,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 +2542,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") @@ -2919,7 +3058,13 @@ API add-ons to make GTK+ widgets OpenGL-capable.") (description "Glade is a rapid application development (RAD) tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.") - (license license:lgpl2.0+))) + (license license:lgpl2.0+) + (native-search-paths (list (search-path-specification + (variable "GLADE_CATALOG_SEARCH_PATH") + (files '("share/glade/catalogs"))) + (search-path-specification + (variable "GLADE_MODULE_SEARCH_PATH") + (files '("lib/glade/modules"))))))) (define-public libcroco (package @@ -3060,7 +3205,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/" @@ -3068,7 +3213,7 @@ library.") "librsvg-" version ".tar.xz")) (sha256 (base32 - "14i6xzghcidv64cyd3g0wdjbl82rph737yxn9s3x29nzpcjs707l")) + "02csvx2nzygh8kyal2qiy3y6xb7d52vszxxr37dzav704a9pkncv")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "vendor") @@ -3080,6 +3225,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) @@ -3087,9 +3233,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) @@ -3097,14 +3242,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) @@ -3114,11 +3259,20 @@ library.") ("rust-rgb" ,rust-rgb-0.8) ("rust-regex" ,rust-regex-1) ("rust-selectors" ,rust-selectors-0.22) + ("rust-string-cache" ,rust-string-cache-0.8) + ("rust-tinyvec" ,rust-tinyvec-0.3) ("rust-url" ,rust-url-2.1) ("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 @@ -3171,6 +3325,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) @@ -3951,7 +4130,7 @@ engineering.") (define-public seahorse (package (name "seahorse") - (version "3.34") + (version "3.36") (source (origin (method url-fetch) @@ -3960,7 +4139,7 @@ engineering.") version ".tar.xz")) (sha256 (base32 - "16sfnqrdlr5xx6kixx2ln1mva7nngjlw1k3f5n454vyaigffjh2v")))) + "1nqn4a6dr4l1fpzj3mv4swhpnvhjcqlwsyhwm59sdzqgdfx4hbwr")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -3980,6 +4159,7 @@ engineering.") ("openldap" ,openldap) ("openssh" ,openssh) ("avahi" ,avahi) + ("libhandy" ,libhandy-0.0) ("libpwquality" ,libpwquality) ("libsecret" ,libsecret) ("libsoup" ,libsoup))) @@ -4927,7 +5107,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 +5294,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 +5308,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 +5335,7 @@ services for numerous locations.") ("docbook-xsl" ,docbook-xsl))) (inputs `(("alsa-lib" ,alsa-lib) + ("baobab" ,baobab) ("colord" ,colord) ("libgudev" ,libgudev) ("upower" ,upower) @@ -7895,7 +8092,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 +8100,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. @@ -10006,7 +10203,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 +10211,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 +10226,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 +10234,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 +10247,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 +10266,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) @@ -10508,7 +10711,7 @@ advanced image management tool") (build-system meson-build-system) (arguments `(#:configure-flags - '("-Dglade_catalog=disabled" + '("-Dglade_catalog=enabled" "-Dgtk_doc=true") #:phases (modify-phases %standard-phases @@ -10519,7 +10722,9 @@ advanced image management tool") (setenv "DISPLAY" ":1") #t))))) (inputs - `(("gtk+" ,gtk+))) + `(("gtk+" ,gtk+) + ("glade" ,glade3) + ("libxml2" ,libxml2))) (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner @@ -10550,7 +10755,11 @@ for usage on small and big screens.") (commit (string-append "v" version)))) (file-name (git-file-name "libhandy" version)) (sha256 - (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5")))))) + (base32 "1y23k623sjkldfrdiwfarpchg5mg58smcy1pkgnwfwca15wm1ra5")))) + (arguments + (substitute-keyword-arguments (package-arguments libhandy) + ((#:configure-flags flags) + '(list "-Dglade_catalog=disabled" "-Dgtk_doc=true")))))) (define-public libgit2-glib (package @@ -10763,6 +10972,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") @@ -10998,6 +11245,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") @@ -11369,7 +11659,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) @@ -11379,7 +11669,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 @@ -11432,3 +11722,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..365626a62a 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -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,12 @@ from forcing GEXP-PROMISE." (string-take gnuzilla-commit 8))) (sha256 (base32 - "0n7p067yay413iy0gzprz0xrdkcxj5f8ywhkcghhhzw1nwajckba")))) + "0266gp8vs4avlfdnr8dj7b47msxv1vkd0xpnifp04v4scvgj0yaj")))) - (makeicecat-patch - (local-file (search-patch "icecat-makeicecat.patch"))) (gnuzilla-fixes-patch - (local-file (search-patch "icecat-use-older-reveal-hidden-html.patch")))) + (local-file (search-patch "icecat-use-older-reveal-hidden-html.patch"))) + (makeicecat-patch + (local-file (search-patch "icecat-makeicecat.patch")))) (origin (method computed-origin-method) @@ -645,9 +639,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 +732,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 +750,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 +761,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 +781,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 +806,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 +846,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 +944,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 +1010,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 +1134,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 +1147,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 +1157,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 "20200926000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "68.12.0") + (version "78.3.1") (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) @@ -1169,10 +1187,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 +1237,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 +1250,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 +1325,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 +1333,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 +1410,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) @@ -1414,7 +1426,7 @@ standards of the IceCat project.") ("mesa" ,mesa) ("mit-krb5" ,mit-krb5) ("nspr" ,nspr) - ("nss" ,nss) + ("nss" ,nss-3.57) ("pango" ,pango) ("pixman" ,pixman) ("pulseaudio" ,pulseaudio) @@ -1429,28 +1441,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 "00912779d73faef4277c57fe99aa5259b11d244d")) (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"))))) + "12isvk6q8miwn81kimrgcmjh4vsmdbbx93q9pafgxlx3p92s5v8h"))))) ("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..42e65b3345 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -559,6 +559,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,6 +765,36 @@ 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")) @@ -2822,7 +2876,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))) @@ -5237,11 +5291,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 diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 92ba884f46..b136d95fe6 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 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 d6c8e415bb..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") @@ -1208,7 +1242,7 @@ realistic reflections, shading, perspective and other effects.") ("python" ,python-2) ("cython" ,python2-cython))) (native-inputs - `(("pandoc" ,ghc-pandoc) + `(("pandoc" ,pandoc) ("bison" ,bison) ("flex" ,flex) ("doxygen" ,doxygen) 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/gstreamer.scm b/gnu/packages/gstreamer.scm index 7124e17518..12b37ffe12 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> ;;; @@ -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 diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 19bf88338a..9e9143a9a3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1217,7 +1217,7 @@ library.") (base32 "1xlfl0fm5mgv53lr8xjv2kqsk3bz67qkk6qzvbrqmbvbvvbqp9wp")))) (propagated-inputs `(("cairo" ,cairo) - ("sigc++" ,libsigc++-2))))) + ("sigc++" ,libsigc++))))) (define-public pangomm (package diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 3090c6078b..f4a1e40a18 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1621,15 +1621,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 +1644,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 +1688,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 c59daeebe2..74f4e5adbc 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -420,11 +420,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) @@ -821,7 +823,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) @@ -831,7 +833,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/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 32e1c50852..07bf26669b 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -775,7 +775,7 @@ too slow and you'll get wound up in the scroll and crushed.") (define-public shellcheck (package (name "shellcheck") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) @@ -783,7 +783,7 @@ too slow and you'll get wound up in the scroll and crushed.") "https://hackage.haskell.org/package/ShellCheck/ShellCheck-" version ".tar.gz")) (sha256 - (base32 "1vx895cp5k5h0680xfwj74lk97m9y627n965x6srds0gfnbkzy9s")) + (base32 "06m4wh891nah3y0br4wh3adpsb16zawkb2ijgf1vcz61fznj6ps1")) (file-name (string-append name "-" version ".tar.gz")))) (build-system haskell-build-system) (inputs diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index edfed64162..6176b95988 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -1030,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/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/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-viewers.scm b/gnu/packages/image-viewers.scm index 16040e4c3c..05e09263a0 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> @@ -203,7 +203,7 @@ It is the default image viewer on LXDE desktop environment.") `(#:tests? #f ; no check target #:make-flags (list (string-append "PREFIX=" %output) - "CC=gcc" + (string-append "CC=" ,(cc-for-target)) ;; Xft.h #includes <ft2build.h> without ‘freetype2/’. The Makefile ;; works around this by hard-coding /usr/include & $PREFIX. (string-append "CPPFLAGS=-I" @@ -212,7 +212,16 @@ It is the default image viewer on LXDE desktop environment.") "V=1") #:phases (modify-phases %standard-phases - (delete 'configure)))) ; no configure script + (delete 'configure) ; no configure script + (add-after 'install 'install-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (install-file "sxiv.desktop" + (string-append (assoc-ref outputs "out") + "/share/applications")) + #t)) + (add-after 'install 'install-icons + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "-C" "icon" "install" make-flags)))))) (inputs `(("freetype" ,freetype) ("giflib" ,giflib) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 68ca1b983b..410bf970f3 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> @@ -129,7 +129,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/" @@ -162,7 +162,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) @@ -176,7 +176,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) @@ -210,7 +210,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. @@ -336,7 +336,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) @@ -345,7 +345,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 @@ -1411,7 +1411,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (define-public jasper (package (name "jasper") - (version "2.0.19") + (version "2.0.21") (source (origin (method git-fetch) (uri (git-reference @@ -1420,8 +1420,20 @@ convert, manipulate, filter and display a wide variety of image formats.") (file-name (git-file-name name version)) (sha256 (base32 - "036rcr0wkz9gzmvk1jb96piznk0c0bwxgf31z1zrlg8js4zl1n84")))) + "0p3qr4j4pjs5vn5amm6ih9hb4wmm72marhmfw08svcs4rrr88p9y")))) (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))) (synopsis "JPEG-2000 library") (description "The JasPer Project is an initiative to provide a reference @@ -1939,7 +1951,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))) @@ -2170,12 +2183,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/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/java.scm b/gnu/packages/java.scm index e8de1bc154..aff8abc642 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8168,6 +8168,232 @@ 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-commons-cli-1.2 ;; This is a bootstrap dependency for Maven2. (package @@ -9560,18 +9786,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") @@ -10739,7 +10971,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 @@ -12016,7 +12248,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."))) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index fbc7388f3d..0e61cf10ff 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -447,3 +447,34 @@ to use, and is very similar to Lua. There is no need to interact with byzantine C++ template mechanisms, or worry about marking and unmarking garbage collection roots, or wrestle with obscure build systems.") (license license:isc))) + +(define-public quickjs + (package + (name "quickjs") + (version "2020-09-06") + (source (origin + (method url-fetch) + (uri (string-append "https://bellard.org/quickjs/quickjs-" + version ".tar.xz")) + (sha256 + (base32 + "05vpnnzmws7plnwsnk2brwf7whyj84l5xl0iahi1xdn6rpla6880")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list "prefix=" + (string-append "DESTDIR=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'check + (lambda _ + (invoke "make" "microbench")))))) + (home-page "https://bellard.org/quickjs/") + (synopsis "Small embeddable Javascript engine") + (description "QuickJS supports the ES2020 specification including modules, +asynchronous generators, proxies, BigInt and BigDecimal. It can compile +Javascript sources to executables with no external dependency. It includes a +command line interpreter with contextual colorization implemented in +Javascript and a small built-in standard library with C library wrappers.") + (license license:expat))) 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 b6e76c867d..daa59ad6be 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.1")) (package (name "kdenlive") (version version) @@ -142,15 +143,16 @@ 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")))) + "15mpw1sysy7mky8fcj0x4zbspz0na7q76xdfj0j8hsggg9d3yq8l")))) (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 +179,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 +191,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))))) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 0c59cd1bf7..8961cf98c0 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 @@ -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/libreoffice.scm b/gnu/packages/libreoffice.scm index b85a3a60ac..252087f36e 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -712,14 +712,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 +739,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) 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 fd119d3a5a..0e81009059 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -195,9 +195,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 +349,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.8") +(define-public linux-libre-5.8-version "5.8.13") (define deblob-scripts-5.8 (linux-libre-deblob-scripts - "5.8.7" + linux-libre-5.8-version (base32 "07z7sglyrfh0706icqqf3shadf638pvyid9386r661ds5lbsa2mw") (base32 "0j6jba5fcddqlb42f95gjl78jisfla4nswqila074gglcrbnl9q7"))) (define-public linux-libre-5.8-pristine-source (let ((version linux-libre-5.8-version) - (hash (base32 "0xm901zvvrwsb9k88la6pb65nybi43bygiyz1z68njwsx6ripxik"))) + (hash (base32 "039j4ckx2p6rfpgqc5gzn6xc1krvhy0ivkjxck83s66xgqbkcngj"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.8))) @@ -365,46 +365,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.69") (define deblob-scripts-5.4 (linux-libre-deblob-scripts - "5.4.63" + linux-libre-5.4-version (base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25") (base32 "1b3q88i2qfdxyvpi9f7jds0qlb8hfpw87mgia096ax6822c2cmyb"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1vymhl6p7i06gfgpw9iv75bvga5sj5kgv46i1ykqiwv6hj9w5lxr"))) + (hash (base32 "19vxsbwvfwyz1w6m7sp38d504w98zwjxaap4hfhh6wrrddqivcx8"))) (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.149") (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 "001alvxgyb1n0fgbfi5dkzjviid32lyjfjwd3jwmcallcsdcpkfr"))) (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.200") (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 "0f4sd4fqgm1wbhmrsib04ry5aza84mlc8747y5wm6jx34h14lh2x"))) (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.238") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -412,12 +412,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 "0gsa2g5yjc7459ja107nla700ma32sg57dyj8q2xzi0yfw5zdsmi"))) (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.238") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -425,7 +425,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 "0r1kb7p0zf0nkavvf9nr9hs7bdjym43cqv87hkp7vrqpbh1i8y06"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -1166,27 +1166,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 @@ -2456,14 +2459,14 @@ Linux-based operating systems.") (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. @@ -2929,7 +2932,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 @@ -2937,7 +2940,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 @@ -5268,7 +5271,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" @@ -5703,14 +5707,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 @@ -6008,10 +6012,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 @@ -7363,11 +7365,12 @@ 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=''") @@ -7546,3 +7549,40 @@ 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+))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 282e300e7c..b863a9179e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2473,10 +2473,10 @@ Lisp implementations.") (sbcl-package->ecl-package sbcl-closer-mop)) (define-public sbcl-cl-cffi-gtk - (let ((commit "412d17214e092220c65a5660f5cbbd9cb69b8fe4")) + (let ((commit "e9a46df65995d9a16e6c8dbdc1e09b775eb4a966")) (package (name "sbcl-cl-cffi-gtk") - (version (git-version "0.11.2" "1" commit)) + (version (git-version "0.11.2" "2" commit)) (source (origin (method git-fetch) @@ -2486,7 +2486,7 @@ 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))) @@ -2557,10 +2557,10 @@ is a library for creating graphical user interfaces.") (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) @@ -2570,7 +2570,7 @@ 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) @@ -2868,10 +2868,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) @@ -2881,7 +2881,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))) @@ -3067,8 +3067,8 @@ Development into CL+SSL was done by David Lichteblau.") (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") @@ -3081,19 +3081,15 @@ 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 @@ -3103,34 +3099,32 @@ Rosenberg's CL packages.") (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))) + (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)) @@ -6274,8 +6268,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)) @@ -6289,7 +6283,7 @@ implementation specific equivalent.") (file-name (git-file-name name version)) (sha256 (base32 - "1lrk2kf7qh5g6f8xvyg8wf89frzb5mw6m1jzgy46jy744f459i8q")))) + "16767pxl766c15jznr4srcbp7cnxf8w9lkyaqpp5w5crqymw84nw")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) @@ -10501,7 +10495,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 @@ -10543,7 +10538,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. 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 4a9c6fc90f..b7267245e4 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -197,7 +197,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 @@ -627,6 +630,117 @@ Extension (MIME).") (base32 "0slzlzcr3h8jikpz5a5amqd0csqh2m40gdk910ws2hnaf5m6hjbi")))))) +(define-public altermime + (package + (name "altermime") + (version "0.3.10") + (source (origin + (method url-fetch) + (uri (string-append "http://pldaniels.com/altermime/altermime-" + version ".tar.gz")) + (sha256 + (base32 + "0vn3vmbcimv0n14khxr1782m76983zz9sf4j2kz5v86lammxld43")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #f ; there are none + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-bugs + (lambda _ + (substitute* "MIME_headers.c" + (("hinfo->filename, sizeof\\(hinfo->name\\)") + "hinfo->filename, sizeof(hinfo->filename)") + (("memset\\(hinfo->defects, 0, _MIMEH_DEFECT_ARRAY_SIZE\\);") + "memset(hinfo->defects, 0, sizeof(hinfo->defects));")) + (substitute* "pldstr.c" + (("if \\(\\(st->start\\)&&\\(st->start != '\\\\0'\\)\\)") + "if ((st->start)&&(*st->start != '\\0'))")) + (substitute* "qpe.c" + (("if \\(lineend != '\\\\0'\\)") + "if (*lineend != '\\0')")) + #t)) + (add-after 'unpack 'install-to-prefix + (lambda _ + (substitute* "Makefile" + (("/usr/local") "${PREFIX}") + (("cp altermime.*") "install -D -t ${PREFIX}/bin altermime\n")) + #t)) + (add-after 'unpack 'disable-Werror + (lambda _ + (substitute* "Makefile" + (("-Werror") "")) + #t))))) + (home-page "https://pldaniels.com/altermime/") + (synopsis "Modify MIME-encoded messages") + (description + "alterMIME is a small program which is used to alter your mime-encoded +mailpack. What can alterMIME do? + +@enumerate +@item Insert disclaimers, +@item insert arbitary X-headers, +@item modify existing headers, +@item remove attachments based on filename or content-type, +@item replace attachments based on filename. +@end enumerate +.") + ;; MIME_headers.c is distributed under BSD-3; the rest of the code is + ;; published under the alterMIME license. + (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") @@ -1202,7 +1316,7 @@ compresses it.") (define-public claws-mail (package (name "claws-mail") - (version "3.17.6") + (version "3.17.7") (source (origin (method url-fetch) (uri (string-append @@ -1210,7 +1324,7 @@ compresses it.") ".tar.xz")) (sha256 (base32 - "1s05qw0r0gqwvvkxvrrwbjkbi61dvilixiwrpgcq21qc9csc9r0m")))) + "1j6x09621wng0lavh53nwzh9vqjzpspl8kh5azh7kbihpi4ldfb0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("bogofilter" ,bogofilter) @@ -1598,7 +1712,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: @@ -2476,7 +2590,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 @@ -2936,47 +3050,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 @@ -3036,16 +3109,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) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index df4d39f900..232ef40b9c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1183,7 +1183,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 +1197,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 @@ -3862,7 +3862,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) @@ -3872,7 +3872,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 @@ -3885,7 +3885,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) @@ -3907,6 +3906,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) @@ -5764,10 +5765,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/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 b8ae456cc1..6c47c07d4f 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -350,49 +350,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 @@ -874,6 +878,7 @@ on Axolotl and PEP.") (package (name "dino") (version "0.1.0") + (outputs '("out" "debug")) (source (origin (method url-fetch) @@ -1774,43 +1779,49 @@ are both supported).") (package (name "profanity") (version "0.9.5") - (source (origin - (method url-fetch) - (uri (string-append "https://profanity-im.github.io/profanity-" - version ".tar.gz")) - (sha256 - (base32 - "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3")))) - (build-system gnu-build-system) + (source + (origin + (method url-fetch) + (uri + (string-append "https://profanity-im.github.io/profanity-" + version ".tar.gz")) + (sha256 + (base32 + "00j9l9v62rz9hprgiy1vrz8v3v59ph18h8kskqxr31fgqvjv5xr3")))) + (build-system glib-or-gtk-build-system) (arguments - '(#:configure-flags - (list "--enable-c-plugins" - "--enable-otr" - "--enable-omemo" - "--enable-pgp" - "--enable-icons" - "--enable-notifications"))) + `(#:configure-flags + (list + "--enable-notifications" + "--enable-python-plugins" + "--enable-c-plugins" + "--enable-plugins" + "--enable-otr" + "--enable-pgp" + "--enable-omemo" + "--enable-icons-and-clipboard"))) + (native-inputs + `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) + ("automake" ,automake) + ("cmocka" ,cmocka) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) (inputs `(("curl" ,curl) ("expat" ,expat) ("glib" ,glib) ("gpgme" ,gpgme) + ("gtk+" ,gtk+-2) ("libmesode" ,libmesode) + ("libnotify" ,libnotify) ("libotr" ,libotr) + ("libsignal-protocol-c" ,libsignal-protocol-c) ("ncurses" ,ncurses) ("openssl" ,openssl) + ("python" ,python-wrapper) ("readline" ,readline) ("sqlite" ,sqlite))) - (native-inputs - `(("autoconf" ,autoconf) - ("autoconf-archive" ,autoconf-archive) - ("automake" ,automake) - ("cmocka" ,cmocka) - ("gtk+" ,gtk+-2) - ("libnotify" ,libnotify) - ("libtool" ,libtool) - ("libsignal-protocol-c" ,libsignal-protocol-c) - ("pkg-config" ,pkg-config))) (synopsis "Console-based XMPP client") (description "Profanity is a console based XMPP client written in C using ncurses and libmesode, inspired by Irssi.") @@ -2064,6 +2075,7 @@ There is support for: (package (name "quaternion") (version "0.0.9.4e") + (outputs '("out" "debug")) (source (origin (method git-fetch) 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..f8294434d1 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -37,6 +37,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 +93,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.21.25") + (version "0.21.26") (source (origin (method url-fetch) (uri @@ -101,7 +102,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "00f2cm3sg0vi9gxb1yk35lyyh3fbabwim3mfnsz2syrjpw0sv810")))) + "1sjfx9ln2zik5fr5mdjy1w184hgjn89v67i85z09x0m6qwhq5rpr")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'... @@ -249,18 +250,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 35d75d274a..879d90b241 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -73,11 +73,13 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) + #:use-module (gnu packages build-tools) #:use-module (gnu packages cdrom) #:use-module (gnu packages code) #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) @@ -145,6 +147,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) @@ -775,6 +778,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") @@ -1231,7 +1303,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 @@ -1240,7 +1312,7 @@ device supports.") (file-name (git-file-name name version)) (sha256 (base32 - "0w21kzq695xy4i1r6xvvh7sad5m0rlmdgc7ykmrlzfsm1252dz80")))) + "0w7iwzz2r4a699fi24qk71vv2k3jpl9ylzlgmvyc3rlgad0m01k1")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -1319,9 +1391,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.") @@ -1344,11 +1416,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 @@ -1982,7 +2054,7 @@ export.") (define-public pd (package (name "pd") - (version "0.51-1") + (version "0.51-2") (source (origin (method url-fetch) (uri @@ -1990,7 +2062,7 @@ export.") version ".src.tar.gz")) (sha256 (base32 - "0imbha9h96vqa967cbmdj7kkx7zrs054n5w2bjnifxdzws3qbxf6")))) + "1jgklcnaxypc8hr5j6mng8dd4na4ygfdixsfch8b86glssddi6mh")))) (build-system gnu-build-system) (arguments (let ((wish (string-append "wish" (version-major+minor @@ -2603,14 +2675,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 @@ -2844,7 +2916,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 @@ -2852,7 +2924,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 @@ -2871,7 +2944,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) @@ -2887,16 +2961,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 @@ -4158,7 +4234,7 @@ sample library.") (define-public muse-sequencer (package (name "muse-sequencer") - (version "3.0.0") + (version "3.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -4170,19 +4246,30 @@ sample library.") (file-name (git-file-name name version)) (sha256 (base32 - "1nninz8qyqlxxjdnrm79y3gr3056pga9l2fsqh674jd3cjvafya3")))) + "1rasp2v1ds2aw296lbf27rzw0l9fjl0cvbvw85d5ycvh6wkm301p")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there is no test target #:configure-flags - (list "-DENABLE_LV2_SUPPLIED=OFF" - "-DENABLE_RTAUDIO=OFF" ; FIXME: not packaged - "-DENABLE_INSTPATCH=OFF" ; FIXME: not packaged - "-DENABLE_VST_NATIVE=OFF") + (list "-DENABLE_INSTPATCH=OFF" ; FIXME: not packaged + "-DENABLE_VST_NATIVE=OFF" + (string-append "-DCMAKE_EXE_LINKER_FLAGS=" + "-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib/muse-" + ,(version-major+minor version) "/modules") + (string-append "-DCMAKE_SHARED_LINKER_FLAGS=" + "-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib/muse-" + ,(version-major+minor version) "/modules")) #:phases (modify-phases %standard-phases (add-after 'unpack 'chdir - (lambda _ (chdir "muse3")))))) + (lambda _ (chdir "muse3") #t)) + (add-after 'chdir 'fix-include + (lambda _ + (substitute* "muse/driver/rtaudio.h" + (("rtaudio/RtAudio.h") "RtAudio.h")) + #t))))) (inputs `(("alsa-lib" ,alsa-lib) ("lash" ,lash) @@ -4195,10 +4282,14 @@ sample library.") ("sord" ,sord) ("libsndfile" ,libsndfile) ("libsamplerate" ,libsamplerate) + ("lrdf" ,lrdf) ("fluidsynth" ,fluidsynth) ("pcre" ,pcre) + ("pulseaudio" ,pulseaudio) ; required by rtaudio ("qtbase" ,qtbase) - ("qtsvg" ,qtsvg))) + ("qtsvg" ,qtsvg) + ("rtaudio" ,rtaudio) + ("rubberband" ,rubberband))) (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools))) @@ -4988,7 +5079,7 @@ and reverb.") (define-public lsp-plugins (package (name "lsp-plugins") - (version "1.1.24") + (version "1.1.26") (source (origin (method git-fetch) @@ -4997,7 +5088,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 @@ -5008,18 +5099,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 @@ -5129,12 +5220,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.") @@ -5250,7 +5341,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.") (define-public geonkick (package (name "geonkick") - (version "2.3.7") + (version "2.3.8") (source (origin (method git-fetch) @@ -5259,8 +5350,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 @@ -5428,12 +5518,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 @@ -5442,8 +5532,13 @@ and as an LV2 plugin.") (define-public zrythm (package + ;; Zrythm contains trademarks and comes with a trademark policy found in + ;; TRADMARKS.md inside the release distribution. The trademark policy + ;; allows verbatim re-distribution, and it also allows FSF-approved + ;; distros to make necessary changes to integrate the software into the + ;; distribution. (name "zrythm") - (version "0.8.333") + (version "0.8.911") (source (origin (method url-fetch) @@ -5451,13 +5546,19 @@ and as an LV2 plugin.") version ".tar.xz")) (sha256 (base32 - "0x2kxr5zz058jpy6k6ymj0fi2gqfcgrlv4qkwz9443hjy5345iwb")))) + "1xyp70sjc2k5pfdqbwqa988v86da0rmmyl8ry86bqv4ja80sc6g9")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t + #:meson ,meson-0.55 #:configure-flags - `("-Denable_tests=true" "-Dmanpage=true" - "-Dinstall_dseg_font=false" "-Denable_ffmpeg=true") + `("-Dtests=true" + "-Dmanpage=true" + "-Ddseg_font=false" + "-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 @@ -5470,7 +5571,6 @@ and as an LV2 plugin.") `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) ("font-dseg" ,font-dseg) - ("ffmpeg" ,ffmpeg) ("fftw" ,fftw) ("fftwf" ,fftwf) ("gettext" ,gettext-minimal) @@ -5479,19 +5579,23 @@ and as an LV2 plugin.") ("gtk+" ,gtk+) ("gtksourceview" ,gtksourceview) ("guile" ,guile-2.2) + ("libaudec" ,libaudec) ("libcyaml" ,libcyaml) ("libsamplerate" ,libsamplerate) ("libsndfile" ,libsndfile) ("libyaml" ,libyaml) ("lilv" ,lilv) + ("lv2" ,lv2) + ("reproc" ,reproc) + ("rubberband" ,rubberband) + ("rtmidi" ,rtmidi) + ("sdl2" ,sdl2) ("xdg-utils" ,xdg-utils) - ("rubberband" ,rubberband))) + ("zstd" ,zstd "lib"))) (native-inputs `(("pkg-config" ,pkg-config) ("help2man" ,help2man) - ("libaudec" ,libaudec) - ("lv2" ,lv2) - ("glib" ,glib "bin"))) ;for 'glib-compile-resources' + ("glib" ,glib "bin"))) ; for 'glib-compile-resources' (synopsis "Digital audio workstation focusing on usability") (description "Zrythm is a digital audio workstation designed to be featureful and easy to use. It offers unlimited automation options, LV2 @@ -5744,9 +5848,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 @@ -5802,9 +5906,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.") @@ -5884,12 +5988,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/networking.scm b/gnu/packages/networking.scm index 1612cf0822..206b805ac3 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -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 @@ -418,7 +420,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 +840,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") @@ -1269,14 +1271,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 +1438,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 +1452,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 +1792,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 +1803,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 +2660,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 +3274,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 7d324d9cf7..99263299a4 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. ;;; @@ -183,3 +184,94 @@ applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards.") (license license:mpl2.0))) + +(define-public nss-3.57 + (package + (inherit nss) + (version "3.57") + (source (origin + (method url-fetch) + (uri (let ((version-with-underscores + (string-join (string-split version #\.) "_"))) + (string-append + "https://ftp.mozilla.org/pub/mozilla.org/security/nss/" + "releases/NSS_" version-with-underscores "_RTM/src/" + "nss-" version ".tar.gz"))) + (sha256 + (base32 + "10n3pncg6k81ikjz12la147rppwqn57bkrdl9gb820w6pq0nra2m")) + ;; Create nss.pc and nss-config. + (patches (search-patches "nss-3.56-pkgconfig.patch" + "nss-increase-test-timeout.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled copy of these libraries. + (delete-file-recursively "nss/lib/zlib") + (delete-file-recursively "nss/lib/sqlite") + #t)))) + (arguments + `(#:parallel-build? #f ; not supported + #:make-flags + (let* ((out (assoc-ref %outputs "out")) + (nspr (string-append (assoc-ref %build-inputs "nspr"))) + (rpath (string-append "-Wl,-rpath=" out "/lib/nss"))) + (list "-C" "nss" (string-append "PREFIX=" out) + "NSDISTMODE=copy" + "NSS_USE_SYSTEM_SQLITE=1" + (string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr") + ;; Add $out/lib/nss to RPATH. + (string-append "RPATH=" rpath) + (string-append "LDFLAGS=" rpath))) + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 ftw) + (ice-9 match) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (setenv "CC" "gcc") + ;; Tells NSS to build for the 64-bit ABI if we are 64-bit system. + ,@(match (%current-system) + ((or "x86_64-linux" "aarch64-linux") + `((setenv "USE_64" "1"))) + (_ + '())) + #t)) + (replace 'check + (lambda _ + ;; Use 127.0.0.1 instead of $HOST.$DOMSUF as HOSTADDR for testing. + ;; The later requires a working DNS or /etc/hosts. + (setenv "DOMSUF" "localdomain") + (setenv "USE_IP" "TRUE") + (setenv "IP_ADDRESS" "127.0.0.1") + + ;; The "PayPalEE.cert" certificate expires every six months, + ;; 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) + #t)))))))) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 6b725c2b0f..5fa7d55845 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -80,7 +80,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libcap" ,libcap) + `(("libcap" ,libcap/next) ("libseccomp" ,libseccomp) ("nettle" ,nettle))) (home-page "https://chrony.tuxfamily.org/") @@ -143,7 +143,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)) + `(("libcap" ,libcap/next)) '()))) (arguments `(#:phases diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 33c3fa0494..d61948afc3 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -429,7 +429,7 @@ 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+))) @@ -1475,7 +1475,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) @@ -2577,9 +2578,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. @@ -4369,7 +4370,7 @@ definitions.") "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))) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index 14bf874f48..6e863388d8 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -191,14 +191,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 bcd7c6982f..2c537fd18f 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -130,8 +130,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 "d27dbeb9d8f6c3a4c1d2fdbeb432717c119b73d1") + (revision 28)) (package (name "guix") @@ -147,7 +147,7 @@ (commit commit))) (sha256 (base32 - "17kmn9yrk9pxi88v4d48h9q3m5dpd2j0pf15fhxzh4k915jv8n6k")) + "0j60m9s47n23flfp2yn4ww4vsk8qvp500m2x1x0ib5bjywj1hiwl")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -198,6 +198,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) @@ -384,7 +391,7 @@ $(prefix)/etc/init.d\n"))) ("glibc-utf8-locales" ,glibc-utf8-locales))) (propagated-inputs - `(("gnutls" ,(if (%current-target-system) gnutls-3.6.14 guile3.0-gnutls)) + `(("gnutls" ,(if (%current-target-system) gnutls-3.6.14 gnutls)) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) ("guile-sqlite3" ,guile-sqlite3) @@ -418,7 +425,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) 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/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/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/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/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/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/nss-3.56-pkgconfig.patch b/gnu/packages/patches/nss-3.56-pkgconfig.patch new file mode 100644 index 0000000000..91b6aef604 --- /dev/null +++ b/gnu/packages/patches/nss-3.56-pkgconfig.patch @@ -0,0 +1,228 @@ +Description: Create nss.pc and nss-config +Author: Lars Wendler <polynomial-c@gentoo.org> +Source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/nss/files/nss-3.17.1-gentoo-fixups.patch + +Modifications: + Change libdir from ${prefix}/lib64 to ${prefix}/lib/nss. + Remove optional patching in nss/Makefile. + Include -L$libdir in output from "nss-config --libs". + +Later adapted to apply cleanly to nss-3.53. + +--- nss-3.21/nss/config/Makefile ++++ nss-3.21/nss/config/Makefile +@@ -0,0 +1,40 @@ ++CORE_DEPTH = .. ++DEPTH = .. ++ ++include $(CORE_DEPTH)/coreconf/config.mk ++ ++NSS_MAJOR_VERSION = `grep "NSS_VMAJOR" ../lib/nss/nss.h | awk '{print $$3}'` ++NSS_MINOR_VERSION = `grep "NSS_VMINOR" ../lib/nss/nss.h | awk '{print $$3}'` ++NSS_PATCH_VERSION = `grep "NSS_VPATCH" ../lib/nss/nss.h | awk '{print $$3}'` ++PREFIX = /usr ++ ++all: export libs ++ ++export: ++ # Create the nss.pc file ++ mkdir -p $(DIST)/lib/pkgconfig ++ sed -e "s,@prefix@,$(PREFIX)," \ ++ -e "s,@exec_prefix@,\$${prefix}," \ ++ -e "s,@libdir@,\$${prefix}/lib/nss," \ ++ -e "s,@includedir@,\$${prefix}/include/nss," \ ++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION),g" \ ++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ ++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ ++ nss.pc.in > nss.pc ++ chmod 0644 nss.pc ++ cp nss.pc $(DIST)/lib/pkgconfig ++ ++ # Create the nss-config script ++ mkdir -p $(DIST)/bin ++ sed -e "s,@prefix@,$(PREFIX)," \ ++ -e "s,@NSS_MAJOR_VERSION@,$(NSS_MAJOR_VERSION)," \ ++ -e "s,@NSS_MINOR_VERSION@,$(NSS_MINOR_VERSION)," \ ++ -e "s,@NSS_PATCH_VERSION@,$(NSS_PATCH_VERSION)," \ ++ nss-config.in > nss-config ++ chmod 0755 nss-config ++ cp nss-config $(DIST)/bin ++ ++libs: ++ ++dummy: all export libs ++ +--- nss-3.21/nss/config/nss-config.in ++++ nss-3.21/nss/config/nss-config.in +@@ -0,0 +1,145 @@ ++#!/bin/sh ++ ++prefix=@prefix@ ++ ++major_version=@NSS_MAJOR_VERSION@ ++minor_version=@NSS_MINOR_VERSION@ ++patch_version=@NSS_PATCH_VERSION@ ++ ++usage() ++{ ++ cat <<EOF ++Usage: nss-config [OPTIONS] [LIBRARIES] ++Options: ++ [--prefix[=DIR]] ++ [--exec-prefix[=DIR]] ++ [--includedir[=DIR]] ++ [--libdir[=DIR]] ++ [--version] ++ [--libs] ++ [--cflags] ++Dynamic Libraries: ++ nss ++ ssl ++ smime ++ nssutil ++EOF ++ exit $1 ++} ++ ++if test $# -eq 0; then ++ usage 1 1>&2 ++fi ++ ++lib_ssl=yes ++lib_smime=yes ++lib_nss=yes ++lib_nssutil=yes ++ ++while test $# -gt 0; do ++ case "$1" in ++ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;; ++ *) optarg= ;; ++ esac ++ ++ case $1 in ++ --prefix=*) ++ prefix=$optarg ++ ;; ++ --prefix) ++ echo_prefix=yes ++ ;; ++ --exec-prefix=*) ++ exec_prefix=$optarg ++ ;; ++ --exec-prefix) ++ echo_exec_prefix=yes ++ ;; ++ --includedir=*) ++ includedir=$optarg ++ ;; ++ --includedir) ++ echo_includedir=yes ++ ;; ++ --libdir=*) ++ libdir=$optarg ++ ;; ++ --libdir) ++ echo_libdir=yes ++ ;; ++ --version) ++ echo ${major_version}.${minor_version}.${patch_version} ++ ;; ++ --cflags) ++ echo_cflags=yes ++ ;; ++ --libs) ++ echo_libs=yes ++ ;; ++ ssl) ++ lib_ssl=yes ++ ;; ++ smime) ++ lib_smime=yes ++ ;; ++ nss) ++ lib_nss=yes ++ ;; ++ nssutil) ++ lib_nssutil=yes ++ ;; ++ *) ++ usage 1 1>&2 ++ ;; ++ esac ++ shift ++done ++ ++# Set variables that may be dependent upon other variables ++if test -z "$exec_prefix"; then ++ exec_prefix=`pkg-config --variable=exec_prefix nss` ++fi ++if test -z "$includedir"; then ++ includedir=`pkg-config --variable=includedir nss` ++fi ++if test -z "$libdir"; then ++ libdir=`pkg-config --variable=libdir nss` ++fi ++ ++if test "$echo_prefix" = "yes"; then ++ echo $prefix ++fi ++ ++if test "$echo_exec_prefix" = "yes"; then ++ echo $exec_prefix ++fi ++ ++if test "$echo_includedir" = "yes"; then ++ echo $includedir ++fi ++ ++if test "$echo_libdir" = "yes"; then ++ echo $libdir ++fi ++ ++if test "$echo_cflags" = "yes"; then ++ echo -I$includedir ++fi ++ ++if test "$echo_libs" = "yes"; then ++ libdirs=-L$libdir ++ if test -n "$lib_ssl"; then ++ libdirs="$libdirs -lssl${major_version}" ++ fi ++ if test -n "$lib_smime"; then ++ libdirs="$libdirs -lsmime${major_version}" ++ fi ++ if test -n "$lib_nss"; then ++ libdirs="$libdirs -lnss${major_version}" ++ fi ++ if test -n "$lib_nssutil"; then ++ libdirs="$libdirs -lnssutil${major_version}" ++ fi ++ echo $libdirs ++fi ++ +--- nss-3.21/nss/config/nss.pc.in ++++ nss-3.21/nss/config/nss.pc.in +@@ -0,0 +1,12 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: NSS ++Description: Network Security Services ++Version: @NSS_MAJOR_VERSION@.@NSS_MINOR_VERSION@.@NSS_PATCH_VERSION@ ++Requires: nspr >= 4.8 ++Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -lnssutil3 ++Cflags: -I${includedir} ++ +--- nss-3.21/nss/manifest.mn ++++ nss-3.21/nss/manifest.mn +@@ -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/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/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/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..e093a63770 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -454,14 +454,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 +1961,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))) 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/pretty-print.scm b/gnu/packages/pretty-print.scm index 8e5d9ceafe..12ec1f7889 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -1,5 +1,5 @@ ;;; 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> @@ -168,14 +168,14 @@ different programming languages.") (define-public fmt (package (name "fmt") - (version "6.2.1") + (version "7.0.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/fmtlib/fmt/releases/download/" version "/fmt-" version ".zip")) (sha256 - (base32 "06l8g59frbsbwj15kg6x2bbn6p8yidh6wzsigdhbdjncvm1agzll")))) + (base32 "0kgajl3qsrdyj0csqsz8b8h84kasdy0pnh16byl0y1vlsaddzkyy")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) @@ -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") diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index 86b4bd2107..0e5f4b9b01 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -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 ed9aaf70de..92d8ad33d8 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. ;;; @@ -71,6 +72,7 @@ (package (name "libsndfile") (version "1.0.28") + (replacement libsndfile-1.0.30) (source (origin (method url-fetch) (uri (string-append "http://www.mega-nerd.com/libsndfile/files/libsndfile-" @@ -104,6 +106,41 @@ SPARC. Hopefully the design of the library will also make it easy to extend for reading and writing new sound file formats.") (license l:gpl2+))) +;; Replacement package to fix multiple security vulnerabilities. +(define libsndfile-1.0.30 + (package + (inherit libsndfile) + (version "1.0.30") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/erikd/libsndfile" + "/releases/download/v" version + "/libsndfile-" version ".tar.bz2")) + (sha256 + (base32 + "0gsbg8ni496h55mx2p9999fk0xvbsjyz6v678a0l75b5fqs8d2gc")) + (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)))) + (native-inputs + `(("python" ,python) + ,@(package-native-inputs libsndfile))))) + (define-public libsamplerate (package (name "libsamplerate") ; aka. Secret Rabbit Code (SRC) 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 774d9b3a9f..0ede67f6c4 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -286,7 +286,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))) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index a5b5ba7c77..492c30604c 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. ;;; @@ -222,6 +223,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 +730,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))) @@ -1879,6 +1934,61 @@ 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") @@ -2029,6 +2139,28 @@ 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") @@ -3046,15 +3178,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) @@ -3260,14 +3406,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") @@ -3977,7 +4123,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) @@ -4315,7 +4461,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. @@ -4325,7 +4471,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 @@ -4390,7 +4536,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. @@ -4400,7 +4546,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 @@ -4408,8 +4554,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) @@ -4435,7 +4589,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 @@ -4582,7 +4736,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 0c9cbcc9d6..a0c9745a87 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -129,6 +129,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) @@ -1622,18 +1623,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 @@ -7339,13 +7340,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 @@ -7535,15 +7536,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 @@ -7587,27 +7590,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/") @@ -7621,17 +7619,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 @@ -9175,7 +9169,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. @@ -9185,7 +9179,7 @@ specification.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0h9rj4k9izkfdvli8ip72bbvh6a7bvrv5pxz6zay2bq235gpfgfc")))) + (base32 "1r0kgl7i6nnhgjl44sjw57k08gh2qr7l8slqih550dyxbf1akbxh")))) (build-system python-build-system) (arguments `(#:phases @@ -9198,10 +9192,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))) @@ -14454,7 +14445,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 @@ -14534,7 +14525,7 @@ to ansi-escaped strings suitable for display in a terminal.") (synopsis "Convert ANSI-decorated console output to HTML") (description "@command{ansi2html} is a Python library and command line utility for -convering text with ANSI color codes to HTML or LaTeX.") +converting text with ANSI color codes to HTML or LaTeX.") (license license:gpl3+))) (define-public python2-ansi2html @@ -18960,7 +18951,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. @@ -19263,13 +19254,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 @@ -19455,6 +19446,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") @@ -19868,6 +19880,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") @@ -20061,11 +20098,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 @@ -20389,15 +20426,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))) @@ -20414,7 +20467,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 @@ -20490,8 +20543,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))) @@ -20762,13 +20815,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.") @@ -20791,9 +20844,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))) @@ -21806,10 +21859,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.") @@ -21990,3 +22043,97 @@ 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))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 45d7288817..8f2651decf 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -581,7 +581,9 @@ for more information."))) (description "This package provides wrappers for the commands of Python@tie{}3.x such that they can be invoked under their usual name---e.g., @command{python} -instead of @command{python3}."))) +instead of @command{python3} or @command{pip} instead of @command{pip3}. +To function properly, this package should not be installed together with the +@command{python} package."))) (define-public python-wrapper (wrap-python3 python)) (define-public python-minimal-wrapper (wrap-python3 python-minimal)) @@ -589,7 +591,7 @@ instead of @command{python3}."))) (define-public micropython (package (name "micropython") - (version "1.12") + (version "1.13") (source (origin (method url-fetch) @@ -597,8 +599,7 @@ instead of @command{python3}."))) "releases/download/v" version "/micropython-" version ".tar.gz")) (sha256 - (base32 - "1fl1dm2aay23hyqbarnv69qj7z2wljcvkwmvfwfac8yadcv05zcq")) + (base32 "0lfl7dv5v9rqckslrjqy5swjri29x1nj5d79wxnjys4sq6r2xcws")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index e5b4724bd6..b10f75a6ce 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -1084,7 +1084,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 +1093,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 b181d1dc1f..7348f29eb1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -648,8 +648,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))) @@ -1115,7 +1115,7 @@ line of code.") #t)) (add-after 'unpack 'patch-pandoc-path (lambda* (#:key inputs #:allow-other-keys) - (let ((pandoc (string-append (assoc-ref inputs "ghc-pandoc") + (let ((pandoc (string-append (assoc-ref inputs "pandoc") "/bin/pandoc"))) (substitute* "lib/pandoc-ruby.rb" (("@@pandoc_path = 'pandoc'") @@ -1135,7 +1135,7 @@ line of code.") (native-inputs `(("ruby-mocha" ,ruby-mocha))) (inputs - `(("ghc-pandoc" ,ghc-pandoc))) + `(("pandoc" ,pandoc))) (synopsis "Ruby wrapper for Pandoc") (description "PandocRuby is a wrapper for Pandoc, a Haskell library with command line tools for converting one markup format to another. Pandoc can @@ -7792,7 +7792,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) @@ -8851,7 +8851,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.") @@ -9963,7 +9963,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 d85b809ce7..35a96b5754 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -9,6 +9,7 @@ ;;; 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. ;;; @@ -451,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") @@ -616,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)) 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/shells.scm b/gnu/packages/shells.scm index 7868dc40f0..c12ef00c9b 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.22") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 - (base32 "1mih5w73wp57fnf1vcxnfmm5d31vm7pz8fq5a9vw1ch3dv0yczl5")) + (base32 "1jnj063i2123d8yhqxwyx496b3npfyhszavg36748ysi0py5j8yd")) (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.1") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "11nfwn5b1w74hv78065jg2zm45mqzi59381b0f649j7n3g7yp3iq")))) + (base32 "1np17gvvz6zkr2rkvdb15wax45b1mcf2946bfyy3y77ann1zxsyj")))) (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..f171967957 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -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.0") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/execline/execline-" version ".tar.gz")) (sha256 - (base32 "0wdg93hwpxxdqmsnd8j1nf3m2pf85n3rxaawzaih1y0ajyz6gwya")))) + (base32 "0mj565xml3hvw27finydms0s9abbbpgbr29vnr8gwi7zjzq7ck52")))) (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))) @@ -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 diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 4aff8dbf56..4b4c673a9d 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -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..d28e3ef83c 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))) @@ -694,7 +696,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 +854,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/statistics.scm b/gnu/packages/statistics.scm index 70a85e8b60..60f39fa0a9 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -429,14 +429,14 @@ D.V. Hinkley (1997, CUP), originally written by Angelo Canty for S.") (define-public r-mass (package (name "r-mass") - (version "7.3-52") + (version "7.3-53") (source (origin (method url-fetch) (uri (cran-uri "MASS" version)) (sha256 (base32 - "0c4scl7r4m0bikr0wmdrnn7wfzy1vg5v7gsq6bms2vknzs9ymhxp")))) + "0f2bwsbqr3nzsqxva051lg8wd068naqif3vc48hac0m3mmq4x0j1")))) (properties `((upstream-name . "MASS"))) (build-system r-build-system) (home-page "http://www.stats.ox.ac.uk/pub/MASS4/") @@ -1026,14 +1026,14 @@ solution for sending email, including attachments, from within R.") (define-public r-stringi (package (name "r-stringi") - (version "1.4.6") + (version "1.5.3") (source (origin (method url-fetch) (uri (cran-uri "stringi" version)) (sha256 (base32 - "1mkgxzf000zdgbbbvg2vf4md4l501n5lfksffq8vdg6pbgd6fgv3")))) + "0420f7zn5knyyvd3a3xa7059l4kadw0m67rfpivacqn9xn6iwkr2")))) (build-system r-build-system) (inputs `(("icu4c" ,icu4c))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1135,13 +1135,13 @@ aesthetic attributes.") (define-public r-ggdendro (package (name "r-ggdendro") - (version "0.1.21") + (version "0.1.22") (source (origin (method url-fetch) (uri (cran-uri "ggdendro" version)) (sha256 (base32 - "0jcjdkhd3wirjgv4v3gb9rw8idyymwhwnxplg3wi8wa3mwr9rhq2")))) + "0skbj487b6f6pj2iz4yq2b9gbgb39cv5dyzhdl3w7ay1k0s5z9ph")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -2598,13 +2598,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.9.900.2.0") + (version "0.9.900.3.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "03dfy0avzpiaf1jk8h18y2gyj3zwlfvvfixi13q3zq5qaz93by2r")))) + "0x8jm6cvfvp1kyckwwqxyy5hfkr8na28fih3k0lhi55wry3ml30q")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (propagated-inputs @@ -4079,27 +4079,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") @@ -4522,20 +4501,22 @@ Farebrother's algorithm or Liu et al.'s algorithm.") (define-public r-cowplot (package (name "r-cowplot") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "cowplot" version)) (sha256 (base32 - "19cqdhgfyr1wj0fz0c5ly8f0aiy9sfgzq6lzb78hkx0hdp2agybh")))) + "04d5pg4xi9nhgcbam71b5mp3q1g804ng864v90add1kddfyl3f9h")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-gtable" ,r-gtable) ("r-rlang" ,r-rlang) ("r-scales" ,r-scales))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/wilkelab/cowplot") (synopsis "Streamlined plot theme and plot annotations for ggplot2") (description @@ -5094,13 +5075,13 @@ using modular prediction and response module classes.") (define-public r-quantreg (package (name "r-quantreg") - (version "5.61") + (version "5.67") (source (origin (method url-fetch) (uri (cran-uri "quantreg" version)) (sha256 - (base32 "0kby1crnzkdg5sczwqapfpkr58apyzrrx85khigcqggmhhwl44wk")))) + (base32 "09hgch8x6x2k7wm17c0njp7l0r6rrrlcji60afrv19dm9r4596wr")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5803,78 +5784,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..64d8a47085 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -100,7 +100,7 @@ ("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-once-cell" ,rust-once-cell-1) ("rust-percent-encoding" ,rust-percent-encoding-2.1) ("rust-rand" ,rust-rand-0.6) ("rust-smallvec" ,rust-smallvec-0.6) 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..b851ca3481 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) @@ -426,7 +427,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 +732,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 +742,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 +751,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") diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 63b144c45b..7dfac59613 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -7380,3 +7380,112 @@ 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))) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index cbf7693ddb..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" @@ -670,7 +670,7 @@ environment with Markdown markup.") #:categories "Office;WordProcessor;")) #t)))))) (inputs - `(("ghc-pandoc" ,ghc-pandoc) + `(("pandoc" ,pandoc) ("python-lxml" ,python-lxml) ("python-markdown" ,python-markdown) ("python-pyqt" ,python-pyqt) @@ -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..6653d01a31 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> @@ -850,14 +850,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 a773b07b76..cfdef6a930 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -181,7 +181,8 @@ living in the same process.") "0jvca1qahn9lrwv6f5kfs95icirc15b2a8x9fzczyj996ipg3b5z")))) (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 net-tools. #:disallowed-references ,(if (hurd-target?) '() (list net-tools)) #:configure-flags 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/uml.scm b/gnu/packages/uml.scm index ecf8fe0c45..2bea4798f7 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.17") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/plantuml/" version "/plantuml-" version ".tar.gz")) (sha256 (base32 - "0n9zrdylc79kdzq7i42kd38bndrhgs7p24bmcm7l09nzv8w8j5r0")))) + "031xqzqi2jh2kms6qjy9sv9m5mjvk887jz54dnrkvw5zgn6kv4hp")))) (build-system ant-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 2ee8247071..68971c60f9 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> @@ -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 e35ba4ee1a..0b02ad00b9 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) @@ -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) @@ -2165,7 +2169,7 @@ To load this plugin, specify the following option when starting mpv: (define-public youtube-dl (package (name "youtube-dl") - (version "2020.09.06") + (version "2020.09.20") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -2173,7 +2177,7 @@ To load this plugin, specify the following option when starting mpv: version ".tar.gz")) (sha256 (base32 - "1827hcp9bvwq7p2f5r0wgkg6yb5fgvr4miyi3d99hkah2afw12za")))) + "1pkw3hnkddk1kqv0in152q1k4jjgbmf2xvc9j3r5nd38z6f7j6mc")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -2184,6 +2188,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 +2221,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 @@ -2980,7 +2996,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "25.0.8") + (version "26.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -2989,14 +3005,15 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "0j2k65q3wfyfxhvkl6icz4qy0s3kfqhksizy2i3ah7yml266axbj")))) + "09y57b3c88szl3wyx3cxq8jrm3pfnyg2n25hxl1ynkq3rgaavdq2")))) (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"))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("cmocka" ,cmocka) + ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("curl" ,curl) @@ -3014,7 +3031,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,7 +3040,6 @@ 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 diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 01ebda6cfe..6b741e1198 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.1770") (source (origin (method git-fetch) (uri (git-reference @@ -79,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1f3ghv7g6khcvvs8irkxmskzc352xxmxw3wy0jq9q9r497v6p3ls")))) + "14mbrbnjwb8r4pl06vafd56x0pmbcgqvr57s2ns2arh7xcy9bri7")))) (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. @@ -570,7 +569,7 @@ are detected, the user is notified.") (define-public editorconfig-vim (package (name "editorconfig-vim") - (version "0.3.3") + (version "1.1.1") (source (origin (method git-fetch) @@ -580,27 +579,13 @@ are detected, the user is notified.") (file-name (git-file-name name version)) (sha256 (base32 - "0vssfl1wjq0mv0p30c3dszwrh4yy90vwxmmdgqaxf5rykik7bdfd")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "plugin/editorconfig-core-py") #t)))) + "0mp80bi2m56bb93szw87vy6q5s85yk9g91sl4pr51316rgdv5kkv")))) (build-system copy-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-editorconfig-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((editorconfig (assoc-ref inputs "editorconfig-core"))) - (substitute* "plugin/editorconfig.vim" - (("/opt") editorconfig)) - #t)))) - #:install-plan + '(#:install-plan '(("autoload" "share/vim/vimfiles/") ("doc" "share/vim/vimfiles/") ("plugin" "share/vim/vimfiles/")))) - (inputs - `(("editorconfig-core" ,editorconfig-core-c))) (home-page "https://editorconfig.org/") (synopsis "EditorConfig plugin for Vim") (description "EditorConfig makes it easy to maintain the correct coding @@ -713,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) @@ -724,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") @@ -794,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 9880acf085..309a29ce86 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) @@ -679,7 +681,7 @@ server and embedded PowerPC, and S390 guests.") ;; For the documentation. ("python-docutils" ,python-docutils) ("sphinx" ,python-sphinx) - ("pandoc" ,ghc-pandoc) + ("pandoc" ,pandoc) ("dot" ,graphviz) ;; Test dependencies. @@ -1590,16 +1592,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,7 +1615,7 @@ 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 #:phases @@ -1622,13 +1624,13 @@ Open Container Initiative (OCI) image layout and its tagged images.") (lambda* (#:key import-path #:allow-other-keys) (chdir (string-append "src/" import-path)) ;; TODO: build manpages with 'go-md2man'. - (invoke "make" "binary-local"))) + (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") + (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 diff --git a/gnu/packages/vlang.scm b/gnu/packages/vlang.scm index d1296c1c2f..70133bb233 100644 --- a/gnu/packages/vlang.scm +++ b/gnu/packages/vlang.scm @@ -23,9 +23,9 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) -(define-public v +(define-public vlang (package - (name "v") + (name "vlang") (version "0.1.27") (source (origin @@ -111,3 +111,7 @@ "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 c704106221..e451ca1891 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/web-browsers.scm b/gnu/packages/web-browsers.scm index be9fe7ab32..f34e4d7ae5 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -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 @@ -547,6 +547,7 @@ driven and does not detract you from your daily work.") ("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) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 2c1f5e2b3b..66b567c09d 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -231,14 +231,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) @@ -318,53 +318,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 +334,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 +507,48 @@ 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-public lighttpd (package (name "lighttpd") @@ -3181,15 +3181,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) @@ -3533,15 +3532,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") @@ -3581,7 +3579,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 @@ -3589,7 +3587,7 @@ select or poll.") version ".tar.gz")) (sha256 (base32 - "0jh67946fwd33ap3xy8df0421d2mr6lmhalhkf1p7dx2b7fil9wf")))) + "19k0cg4j4qz005a4ngy48z4r8dc99dxlpq8kvj7qnk15mvgd1r63")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) @@ -3718,7 +3716,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))) @@ -4076,14 +4074,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))) @@ -5055,7 +5053,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 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/wm.scm b/gnu/packages/wm.scm index 53cfa5c916..c379f70b21 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) 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 3c07ce89eb..6240652154 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -39,6 +39,7 @@ ;;; Copyright © 2020 Alex McGrath <amk@amk.ie> ;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -357,7 +358,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 @@ -1452,7 +1454,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (define-public rofi (package (name "rofi") - (version "1.5.4") + (version "1.6.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -1460,13 +1462,14 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "1nslmyqyzhfr4hxd4llqkkkb8ap8apkdna32rllvar7r576059ci")))) + "0566b499lbpfb1gk4p17iw78ywmk9l2jww1kqjbdanrl22hai1y4")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) ("cairo" ,cairo) ("glib" ,glib) ("startup-notification" ,startup-notification) + ("libjpeg" ,libjpeg-turbo) ("librsvg" ,librsvg) ("libxkbcommon" ,libxkbcommon) ("libxcb" ,libxcb) @@ -2433,7 +2436,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") diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 6d8cbc0a4c..4236b852fb 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -6284,14 +6284,14 @@ 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")) + (base32 "10alqdfmgml9ixdi1nyd9xlw8a5q0j8m2sv4g9p83pd6z1a0rpv2")) (patches (search-patches "xpra-4.0.1-systemd-run.patch")))) (build-system python-build-system) ;; see also http://xpra.org/trac/wiki/Dependencies @@ -6319,7 +6319,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. @@ -6647,7 +6647,7 @@ output.") (define-public console-setup (package (name "console-setup") - (version "1.196") + (version "1.197") (source (origin (method git-fetch) @@ -6655,7 +6655,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 @@ -6704,7 +6704,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/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/certbot.scm b/gnu/services/certbot.scm index 5643340799..1c67ff63f1 100644 --- a/gnu/services/certbot.scm +++ b/gnu/services/certbot.scm @@ -71,7 +71,8 @@ (default "/var/www")) (certificates certbot-configuration-certificates (default '())) - (email certbot-configuration-email) + (email certbot-configuration-email + (default #f)) (server certbot-configuration-server (default #f)) (rsa-key-size certbot-configuration-rsa-key-size @@ -99,12 +100,14 @@ (if challenge (append (list name certbot "certonly" "-n" "--agree-tos" - "-m" email "--manual" (string-append "--preferred-challenges=" challenge) "--cert-name" name "--manual-public-ip-logging-ok" "-d" (string-join domains ",")) + (if email + `("--email" ,email) + '("--register-unsafely-without-email")) (if server `("--server" ,server) '()) (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()) (if authentication-hook @@ -114,10 +117,12 @@ (if deploy-hook `("--deploy-hook" ,deploy-hook) '())) (append (list name certbot "certonly" "-n" "--agree-tos" - "-m" email "--webroot" "-w" webroot "--cert-name" name "-d" (string-join domains ",")) + (if email + `("--email" ,email) + '("--register-unsafely-without-email")) (if server `("--server" ,server) '()) (if rsa-key-size `("--rsa-key-size" ,rsa-key-size) '()) (if deploy-hook `("--deploy-hook" ,deploy-hook) '())))))) 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/docker.scm b/gnu/services/docker.scm index 380a942ed2..e23014213b 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -2,6 +2,8 @@ ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; 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. ;;; @@ -44,6 +46,9 @@ (docker (package docker) "Docker daemon package.") + (docker-cli + (package docker-cli) + "Docker client package.") (containerd (package containerd) "containerd package.") @@ -117,9 +122,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")) @@ -133,6 +140,9 @@ loop-back communications.") bundles in Docker containers.") (extensions (list + ;; Make sure the 'docker' command is available. + (service-extension profile-service-type + (compose list docker-configuration-docker-cli)) (service-extension activation-service-type %docker-activation) (service-extension shepherd-root-service-type diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index ec42663a11..72c7779596 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -196,7 +196,7 @@ representation." (define-record-type* <zram-device-configuration> zram-device-configuration make-zram-device-configuration zram-device-configuration? - (size zram-device-configration-size + (size zram-device-configuration-size (default "1G")) ; string or integer (compression-algorithm zram-device-configuration-compression-algorithm (default 'lzo)) ; symbol 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/virtualization.scm b/gnu/services/virtualization.scm index 20e104f48c..79d88f2b8a 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -23,6 +23,7 @@ #:use-module (gnu bootloader grub) #:use-module (gnu image) #:use-module (gnu packages admin) + #:use-module (gnu packages package-management) #:use-module (gnu packages ssh) #:use-module (gnu packages virtualization) #:use-module (gnu services base) @@ -840,8 +841,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)))))) ;;; @@ -900,6 +905,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 +943,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 +971,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/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/image.scm b/gnu/system/image.scm index 97c7021454..1b5ceb3553 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,13 @@ #: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-35) #:use-module (rnrs bytevectors) + #:use-module (ice-9 format) #:use-module (ice-9 match) #:export (root-offset root-label @@ -61,10 +65,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 +125,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 +221,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 +230,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 +281,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 +380,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 +413,7 @@ image ~a { (define* (system-iso9660-image image #:key - (name "iso9660-image") + (name "image.iso") bootcfg bootloader register-closures? @@ -441,7 +514,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 +595,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 +628,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..c738a77078 --- /dev/null +++ b/gnu/system/images/pine64.scm @@ -0,0 +1,59 @@ +;;; 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)) + +(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 <>)))) 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/install.scm b/gnu/tests/install.scm index 5b7f9bf671..dee2b870e8 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -218,7 +218,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 +228,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 +235,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 +268,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 +441,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))))) @@ -1309,8 +1307,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)))) |