diff options
author | Marius Bakke <marius@gnu.org> | 2020-06-14 16:24:34 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2020-06-14 16:24:34 +0200 |
commit | 4193095e18b602705df94e38a8d60ef1fe380e49 (patch) | |
tree | 2500f31bcfae9b4cb5a23d633395f6892a7bd8a7 /gnu | |
parent | a48a3f0640d76cb5e5945557c9aae6dabce39d93 (diff) | |
parent | e88745a655b220b4047f7db5175c828ef9c33e11 (diff) | |
download | guix-4193095e18b602705df94e38a8d60ef1fe380e49.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu')
288 files changed, 17460 insertions, 8701 deletions
diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 01bdd4acaa..2eebb8e9d9 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -1,8 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 David Craven <david@craven.ch> -;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,9 @@ menu-entry-linux-arguments menu-entry-initrd menu-entry-device-mount-point + menu-entry-multiboot-kernel + menu-entry-multiboot-arguments + menu-entry-multiboot-modules menu-entry->sexp sexp->menu-entry @@ -42,6 +46,7 @@ bootloader-name bootloader-package bootloader-installer + bootloader-disk-image-installer bootloader-configuration-file bootloader-configuration-file-generator @@ -76,22 +81,41 @@ (default #f)) (device-mount-point menu-entry-device-mount-point (default #f)) - (linux menu-entry-linux) + (linux menu-entry-linux + (default #f)) (linux-arguments menu-entry-linux-arguments (default '())) ; list of string-valued gexps - (initrd menu-entry-initrd)) ; file name of the initrd as a gexp + (initrd menu-entry-initrd ; file name of the initrd as a gexp + (default #f)) + (multiboot-kernel menu-entry-multiboot-kernel + (default #f)) + (multiboot-arguments menu-entry-multiboot-arguments + (default '())) ; list of string-valued gexps + (multiboot-modules menu-entry-multiboot-modules + (default '()))) ; list of multiboot commands, where + ; a command is a list of <string> (define (menu-entry->sexp entry) "Return ENTRY serialized as an sexp." (match entry - (($ <menu-entry> label device mount-point linux linux-arguments initrd) + (($ <menu-entry> label device mount-point linux linux-arguments initrd #f + ()) `(menu-entry (version 0) (label ,label) (device ,device) (device-mount-point ,mount-point) (linux ,linux) (linux-arguments ,linux-arguments) - (initrd ,initrd))))) + (initrd ,initrd))) + (($ <menu-entry> label device mount-point #f () #f + multiboot-kernel multiboot-arguments multiboot-modules) + `(menu-entry (version 0) + (label ,label) + (device ,device) + (device-mount-point ,mount-point) + (multiboot-kernel ,multiboot-kernel) + (multiboot-arguments ,multiboot-arguments) + (multiboot-modules ,multiboot-modules))))) (define (sexp->menu-entry sexp) "Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry> @@ -108,7 +132,20 @@ record." (device-mount-point mount-point) (linux linux) (linux-arguments linux-arguments) - (initrd initrd))))) + (initrd initrd))) + (('menu-entry ('version 0) + ('label label) ('device device) + ('device-mount-point mount-point) + ('multiboot-kernel multiboot-kernel) + ('multiboot-arguments multiboot-arguments) + ('multiboot-modules multiboot-modules) _ ...) + (menu-entry + (label label) + (device device) + (device-mount-point mount-point) + (multiboot-kernel multiboot-kernel) + (multiboot-arguments multiboot-arguments) + (multiboot-modules multiboot-modules))))) ;;; @@ -125,6 +162,8 @@ record." (name bootloader-name) (package bootloader-package) (installer bootloader-installer) + (disk-image-installer bootloader-disk-image-installer + (default #f)) (configuration-file bootloader-configuration-file) (configuration-file-generator bootloader-configuration-file-generator)) diff --git a/gnu/bootloader/depthcharge.scm b/gnu/bootloader/depthcharge.scm index 58cc3f3932..0a50374bd9 100644 --- a/gnu/bootloader/depthcharge.scm +++ b/gnu/bootloader/depthcharge.scm @@ -82,7 +82,8 @@ (define* (depthcharge-configuration-file config entries #:key (system (%current-system)) - (old-entries '())) + (old-entries '()) + #:allow-other-keys) (match entries ((entry) (let ((kernel (menu-entry-linux entry)) diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 5b4dd84965..6b5ff298e7 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -28,7 +28,8 @@ (define* (extlinux-configuration-file config entries #:key (system (%current-system)) - (old-entries '())) + (old-entries '()) + #:allow-other-keys) "Return the U-Boot configuration file corresponding to CONFIG, a <u-boot-configuration> object, and where the store is available at STORE-FS, a <file-system> object. OLD-ENTRIES is taken to be a list of menu entries diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index 8c5b5eac0c..b905ae360c 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -2,9 +2,10 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,19 +38,13 @@ #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) - #:export (grub-image - grub-image? - grub-image-aspect-ratio - grub-image-file - - grub-theme + #:export (grub-theme grub-theme? - grub-theme-images + grub-theme-image + grub-theme-resolution grub-theme-color-normal grub-theme-color-highlight - - %background-image - %default-theme + grub-theme-gfxmode grub-bootloader grub-efi-bootloader @@ -64,119 +59,102 @@ ;;; ;;; Code: -(define (strip-mount-point mount-point file) - "Strip MOUNT-POINT from FILE, which is a gexp or other lowerable object -denoting a file name." - (match mount-point - ((? string? mount-point) - (if (string=? mount-point "/") - file - #~(let ((file #$file)) - (if (string-prefix? #$mount-point file) - (substring #$file #$(string-length mount-point)) - file)))) - (#f file))) - -(define-record-type* <grub-image> - grub-image make-grub-image - grub-image? - (aspect-ratio grub-image-aspect-ratio ;rational number - (default 4/3)) - (file grub-image-file)) ;file-valued gexp (SVG) +(define* (normalize-file file mount-point store-directory-prefix) + "Strip MOUNT-POINT and prepend STORE-DIRECTORY-PREFIX, if any, to FILE, a +G-expression or other lowerable object denoting a file name." + + (define (strip-mount-point mount-point file) + (if mount-point + (if (string=? mount-point "/") + file + #~(let ((file #$file)) + (if (string-prefix? #$mount-point file) + (substring #$file #$(string-length mount-point)) + file))) + file)) + + (define (prepend-store-directory-prefix store-directory-prefix file) + (if store-directory-prefix + #~(string-append #$store-directory-prefix #$file) + file)) + + (prepend-store-directory-prefix store-directory-prefix + (strip-mount-point mount-point file))) + + (define-record-type* <grub-theme> + ;; Default theme contributed by Felipe López. grub-theme make-grub-theme grub-theme? - (images grub-theme-images - (default '())) ;list of <grub-image> + (image grub-theme-image + (default (file-append %artwork-repository + "/grub/GuixSD-fully-black-4-3.svg"))) + (resolution grub-theme-resolution + (default '(1024 . 768))) (color-normal grub-theme-color-normal - (default '((fg . cyan) (bg . blue)))) + (default '((fg . light-gray) (bg . black)))) (color-highlight grub-theme-color-highlight - (default '((fg . white) (bg . blue)))) - (gfxmode grub-gfxmode + (default '((fg . yellow) (bg . black)))) + (gfxmode grub-theme-gfxmode (default '("auto")))) ;list of string -(define %background-image - (grub-image - (aspect-ratio 4/3) - (file (file-append %artwork-repository - "/grub/GuixSD-fully-black-4-3.svg")))) - -(define %default-theme - ;; Default theme contributed by Felipe López. - (grub-theme - (images (list %background-image)) - (color-highlight '((fg . yellow) (bg . black))) - (color-normal '((fg . light-gray) (bg . black))))) ;XXX: #x303030 - ;;; ;;; Background image & themes. ;;; (define (bootloader-theme config) - "Return user defined theme in CONFIG if defined or %default-theme + "Return user defined theme in CONFIG if defined or a default theme otherwise." - (or (bootloader-configuration-theme config) %default-theme)) + (or (bootloader-configuration-theme config) (grub-theme))) -(define* (svg->png svg #:key width height) - "Build a PNG of HEIGHT x WIDTH from SVG." +(define* (image->png image #:key width height) + "Build a PNG of HEIGHT x WIDTH from IMAGE if its file suffix is \".svg\". +Otherwise the picture in IMAGE is just copied." (computed-file "grub-image.png" (with-imported-modules '((gnu build svg)) (with-extensions (list guile-rsvg guile-cairo) - #~(begin - (use-modules (gnu build svg)) - (svg->png #+svg #$output - #:width #$width - #:height #$height)))))) - -(define* (grub-background-image config #:key (width 1024) (height 768)) - "Return the GRUB background image defined in CONFIG with a ratio of -WIDTH/HEIGHT, or #f if none was found." - (let* ((ratio (/ width height)) - (image (find (lambda (image) - (= (grub-image-aspect-ratio image) ratio)) - (grub-theme-images - (bootloader-theme config))))) + #~(if (string-suffix? ".svg" #+image) + (begin + (use-modules (gnu build svg)) + (svg->png #+image #$output + #:width #$width + #:height #$height)) + (copy-file #+image #$output)))))) + +(define* (grub-background-image config) + "Return the GRUB background image defined in CONFIG or #f if none was found. +If the suffix of the image file is \".svg\", then it is converted into a PNG +file with the resolution provided in CONFIG." + (let* ((theme (bootloader-theme config)) + (image (grub-theme-image theme))) (and image - (svg->png (grub-image-file image) - #:width width #:height height)))) + (match (grub-theme-resolution theme) + (((? number? width) . (? number? height)) + (image->png image #:width width #:height height)) + (_ #f))))) (define* (eye-candy config store-device store-mount-point - #:key system port) - "Return a gexp that writes to PORT (a port-valued gexp) the -'grub.cfg' part concerned with graphics mode, background images, colors, and -all that. STORE-DEVICE designates the device holding the store, and -STORE-MOUNT-POINT is its mount point; these are used to determine where the -background image and fonts must be searched for. SYSTEM must be the target -system string---e.g., \"x86_64-linux\"." - (define setup-gfxterm-body - (let ((gfxmode - (or (and-let* ((theme (bootloader-configuration-theme config)) - (gfxmode (grub-gfxmode theme))) - (string-join gfxmode ";")) - "auto"))) - - ;; Intel and EFI systems need to be switched into graphics mode, whereas - ;; most other modern architectures have no other mode and therefore - ;; don't need to be switched. - - ;; XXX: Do we really need to restrict to x86 systems? We could imitate - ;; what the GRUB default configuration does and decide based on whether - ;; a user provided 'gfxterm' in the terminal-outputs field of their - ;; bootloader-configuration record. - (if (string-match "^(x86_64|i[3-6]86)-" system) - (format #f " - set gfxmode=~a - insmod all_video - insmod gfxterm~%" gfxmode) - ""))) - + #:key store-directory-prefix port) + "Return a gexp that writes to PORT (a port-valued gexp) the 'grub.cfg' part +concerned with graphics mode, background images, colors, and all that. +STORE-DEVICE designates the device holding the store, and STORE-MOUNT-POINT is +its mount point; these are used to determine where the background image and +fonts must be searched for. STORE-DIRECTORY-PREFIX is a directory prefix to +prepend to any store file name." (define (setup-gfxterm config font-file) (if (memq 'gfxterm (bootloader-configuration-terminal-outputs config)) - #~(format #f "if loadfont ~a; then - setup_gfxterm -fi~%" #+font-file) + #~(format #f " +if loadfont ~a; then + set gfxmode=~a + insmod all_video + insmod gfxterm +fi~%" + #+font-file + #$(string-join + (grub-theme-gfxmode (bootloader-theme config)) + ";")) "")) (define (theme-colors type) @@ -186,16 +164,17 @@ fi~%" #+font-file) (symbol->string (assoc-ref colors 'bg))))) (define font-file - (strip-mount-point store-mount-point - (file-append grub "/share/grub/unicode.pf2"))) + (normalize-file (file-append grub "/share/grub/unicode.pf2") + store-mount-point + store-directory-prefix)) (define image - (grub-background-image config)) + (normalize-file (grub-background-image config) + store-mount-point + store-directory-prefix)) (and image #~(format #$port " -function setup_gfxterm {~a} - # Set 'root' to the partition that contains /gnu/store. ~a @@ -210,12 +189,11 @@ else set menu_color_normal=cyan/blue set menu_color_highlight=white/blue fi~%" - #$setup-gfxterm-body #$(grub-root-search store-device font-file) #$(setup-gfxterm config font-file) #$(grub-setup-io config) - #$(strip-mount-point store-mount-point image) + #$image #$(theme-colors grub-theme-color-normal) #$(theme-colors grub-theme-color-highlight)))) @@ -323,52 +301,84 @@ code." (define* (grub-configuration-file config entries #:key (system (%current-system)) - (old-entries '())) + (old-entries '()) + store-directory-prefix) "Return the GRUB configuration file corresponding to CONFIG, a <bootloader-configuration> object, and where the store is available at STORE-FS, a <file-system> object. OLD-ENTRIES is taken to be a list of menu -entries corresponding to old generations of the system." +entries corresponding to old generations of the system. +STORE-DIRECTORY-PREFIX may be used to specify a store prefix, as is required +when booting a root file system on a Btrfs subvolume." (define all-entries (append entries (bootloader-configuration-menu-entries config))) (define (menu-entry->gexp entry) - (let ((device (menu-entry-device entry)) - (device-mount-point (menu-entry-device-mount-point entry)) - (label (menu-entry-label entry)) - (kernel (menu-entry-linux entry)) - (arguments (menu-entry-linux-arguments entry)) - (initrd (menu-entry-initrd entry))) - ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point. - ;; Use the right file names for KERNEL and INITRD in case - ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a - ;; separate partition. - (let ((kernel (strip-mount-point device-mount-point kernel)) - (initrd (strip-mount-point device-mount-point initrd))) - #~(format port "menuentry ~s { + (let ((label (menu-entry-label entry)) + (linux (menu-entry-linux entry)) + (device (menu-entry-device entry)) + (device-mount-point (menu-entry-device-mount-point entry))) + (if linux + (let ((arguments (menu-entry-linux-arguments entry)) + (linux (normalize-file linux + device-mount-point + store-directory-prefix)) + (initrd (normalize-file (menu-entry-initrd entry) + device-mount-point + store-directory-prefix))) + ;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point. + ;; Use the right file names for LINUX and INITRD in case + ;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a + ;; separate partition. + + ;; When BTRFS-SUBVOLUME-FILE-NAME is defined, prepend it the linux and + ;; initrd paths, to allow booting from a Btrfs subvolume. + #~(format port "menuentry ~s { ~a linux ~a ~a initrd ~a }~%" + #$label + #$(grub-root-search device linux) + #$linux (string-join (list #$@arguments)) + #$initrd)) + (let ((kernel (menu-entry-multiboot-kernel entry)) + (arguments (menu-entry-multiboot-arguments entry)) + (modules (menu-entry-multiboot-modules entry)) + (root-index 1)) ; XXX EFI will need root-index 2 + #~(format port " +menuentry ~s { + multiboot ~a root=device:hd0s~a~a~a +}~%" #$label - #$(grub-root-search device kernel) - #$kernel (string-join (list #$@arguments)) - #$initrd)))) - (define sugar - (eye-candy config - (menu-entry-device (first all-entries)) - (menu-entry-device-mount-point (first all-entries)) - #:system system - #:port #~port)) + #$kernel + #$root-index (string-join (list #$@arguments) " " 'prefix) + (string-join (map string-join '#$modules) + "\n module " 'prefix)))))) + + (define (sugar) + (let* ((entry (first all-entries)) + (device (menu-entry-device entry)) + (mount-point (menu-entry-device-mount-point entry))) + (eye-candy config + device + mount-point + #:store-directory-prefix store-directory-prefix + #:port #~port))) (define keyboard-layout-config - (let ((layout (bootloader-configuration-keyboard-layout config)) - (grub (bootloader-package - (bootloader-configuration-bootloader config)))) - #~(let ((keymap #$(and layout - (keyboard-layout-file layout #:grub grub)))) - (when keymap - (format port "\ + (let* ((layout (bootloader-configuration-keyboard-layout config)) + (grub (bootloader-package + (bootloader-configuration-bootloader config))) + (keymap* (and layout + (keyboard-layout-file layout #:grub grub))) + (keymap (and keymap* + (if store-directory-prefix + #~(string-append #$store-directory-prefix + #$keymap*) + keymap*)))) + #~(when #$keymap + (format port "\ insmod keylayouts -keymap ~a~%" keymap))))) +keymap ~a~%" #$keymap)))) (define builder #~(call-with-output-file #$output @@ -377,7 +387,7 @@ keymap ~a~%" keymap))))) "# This file was generated from your Guix configuration. Any changes # will be lost upon reconfiguration. ") - #$sugar + #$(sugar) #$keyboard-layout-config (format port " set default=~a @@ -413,18 +423,65 @@ fi~%")))) (define install-grub #~(lambda (bootloader device mount-point) - ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. (let ((grub (string-append bootloader "/sbin/grub-install")) (install-dir (string-append mount-point "/boot"))) - ;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or - ;; root partition. - (setenv "GRUB_ENABLE_CRYPTODISK" "y") - - ;; Hide potentially confusing messages from the user, such as - ;; "Installing for i386-pc platform." - (invoke/quiet grub "--no-floppy" "--target=i386-pc" - "--boot-directory" install-dir - device)))) + ;; Install GRUB on DEVICE which is mounted at MOUNT-POINT. If DEVICE + ;; is #f, then we populate the disk-image rooted at MOUNT-POINT. + (if device + (begin + ;; Tell 'grub-install' that there might be a LUKS-encrypted + ;; /boot or root partition. + (setenv "GRUB_ENABLE_CRYPTODISK" "y") + + ;; Hide potentially confusing messages from the user, such as + ;; "Installing for i386-pc platform." + (invoke/quiet grub "--no-floppy" "--target=i386-pc" + "--boot-directory" install-dir + device)) + ;; When creating a disk-image, only install GRUB modules. + (copy-recursively (string-append bootloader "/lib/") + install-dir))))) + +(define install-grub-disk-image + #~(lambda (bootloader root-index image) + ;; Install GRUB on the given IMAGE. The root partition index is + ;; ROOT-INDEX. + (let ((grub-mkimage + (string-append bootloader "/bin/grub-mkimage")) + (modules '("biosdisk" "part_msdos" "fat" "ext2")) + (grub-bios-setup + (string-append bootloader "/sbin/grub-bios-setup")) + (root-device (format #f "hd0,msdos~a" root-index)) + (boot-img (string-append bootloader "/lib/grub/i386-pc/boot.img")) + (device-map "device.map")) + + ;; Create a minimal, standalone GRUB image that will be written + ;; directly in the MBR-GAP (space between the end of the MBR and the + ;; first partition). + (apply invoke grub-mkimage + "-O" "i386-pc" + "-o" "core.img" + "-p" (format #f "(~a)/boot/grub" root-device) + modules) + + ;; Create a device mapping file. + (call-with-output-file device-map + (lambda (port) + (format port "(hd0) ~a~%" image))) + + ;; Copy the default boot.img, that will be written on the MBR sector + ;; by GRUB-BIOS-SETUP. + (copy-file boot-img "boot.img") + + ;; Install both the "boot.img" and the "core.img" files on the given + ;; IMAGE. On boot, the MBR sector will execute the minimal GRUB + ;; written in the MBR-GAP. GRUB configuration and missing modules will + ;; be read from ROOT-DEVICE. + (invoke grub-bios-setup + "-m" device-map + "-r" root-device + "-d" "." + image)))) (define install-grub-efi #~(lambda (bootloader efi-dir mount-point) @@ -455,21 +512,20 @@ fi~%")))) (name 'grub) (package grub) (installer install-grub) + (disk-image-installer install-grub-disk-image) (configuration-file "/boot/grub/grub.cfg") (configuration-file-generator grub-configuration-file))) -(define grub-minimal-bootloader +(define* grub-minimal-bootloader (bootloader - (name 'grub) - (package grub-minimal) - (installer install-grub) - (configuration-file "/boot/grub/grub.cfg") - (configuration-file-generator grub-configuration-file))) + (inherit grub-bootloader) + (package grub-minimal))) (define* grub-efi-bootloader (bootloader (inherit grub-bootloader) (installer install-grub-efi) + (disk-image-installer #f) (name 'grub-efi) (package grub-efi))) diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 30f5e87d5a..4b67926e88 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -320,7 +320,9 @@ improvement." (define (boot-time-system) "Return the '--system' argument passed on the kernel command line." - (find-long-option "--system" (linux-command-line))) + (find-long-option "--system" (if (string-contains %host-type "linux-gnu") + (linux-command-line) + (command-line)))) (define* (activate-current-system #:optional (system (or (getenv "GUIX_NEW_SYSTEM") diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index b920e8fc62..ad92d8a496 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -661,8 +661,10 @@ were found." (match spec ((? string?) - ;; Nothing to do, but wait until SPEC shows up. - (resolve identity spec identity)) + (if (string-contains spec ":/") + spec ; do not resolve NFS devices + ;; Nothing to do, but wait until SPEC shows up. + (resolve identity spec identity))) ((? file-system-label?) ;; Resolve the label. (resolve find-partition-by-label diff --git a/gnu/build/hurd-boot.scm b/gnu/build/hurd-boot.scm new file mode 100644 index 0000000000..09326233d2 --- /dev/null +++ b/gnu/build/hurd-boot.scm @@ -0,0 +1,205 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu build hurd-boot) + #:use-module (system repl error-handling) + #:autoload (system repl repl) (start-repl) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match) + #:use-module (guix build utils) + #:use-module ((guix build syscalls) + #:hide (file-system-type)) + #:export (make-hurd-device-nodes + boot-hurd-system)) + +;;; Commentary: +;;; +;;; Utility procedures useful to boot a Hurd system. +;;; +;;; Code: + +;; XXX FIXME c&p from linux-boot.scm +(define (find-long-option option arguments) + "Find OPTION among ARGUMENTS, where OPTION is something like \"--load\". +Return the value associated with OPTION, or #f on failure." + (let ((opt (string-append option "="))) + (and=> (find (cut string-prefix? opt <>) + arguments) + (lambda (arg) + (substring arg (+ 1 (string-index arg #\=))))))) + +;; XXX FIXME c&p from guix/utils.scm +(define (readlink* file) + "Call 'readlink' until the result is not a symlink." + (define %max-symlink-depth 50) + + (let loop ((file file) + (depth 0)) + (define (absolute target) + (if (absolute-file-name? target) + target + (string-append (dirname file) "/" target))) + + (if (>= depth %max-symlink-depth) + file + (call-with-values + (lambda () + (catch 'system-error + (lambda () + (values #t (readlink file))) + (lambda args + (let ((errno (system-error-errno args))) + (if (or (= errno EINVAL)) + (values #f file) + (apply throw args)))))) + (lambda (success? target) + (if success? + (loop (absolute target) (+ depth 1)) + file)))))) + +(define* (make-hurd-device-nodes #:optional (root "/")) + "Make some of the nodes needed on GNU/Hurd." + (define (scope dir) + (string-append root (if (string-suffix? "/" root) "" "/") dir)) + + (mkdir (scope "dev")) + (for-each (lambda (file) + (call-with-output-file (scope file) + (lambda (port) + (display file port) ;avoid hard-linking + (chmod port #o666)))) + '("dev/null" + "dev/zero" + "dev/full" + "dev/random" + "dev/urandom")) + ;; Don't create /dev/console, /dev/vcs, etc.: they are created by + ;; console-run on first boot. + + (mkdir (scope "servers")) + (for-each (lambda (file) + (call-with-output-file (scope (string-append "servers/" file)) + (lambda (port) + (display file port) ;avoid hard-linking + (chmod port #o444)))) + '("startup" + "exec" + "proc" + "password" + "default-pager" + "crash-dump-core" + "kill" + "suspend")) + + (mkdir (scope "servers/socket")) + ;; Don't create /servers/socket/1 & co: runsystem does that on first boot. + + ;; TODO: Set the 'gnu.translator' extended attribute for passive translator + ;; settings? + ) + + +(define* (boot-hurd-system #:key (on-error 'debug)) + "This procedure is meant to be called from an early RC script. + +Install the relevant passive translators on the first boot. Then, run system +activation by using the kernel command-line options '--system' and '--load'; +starting the Shepherd. + +XXX TODO: see linux-boot.scm:boot-system. +XXX TODO: add proper file-system checking, mounting +XXX TODO: move bits to (new?) (hurd?) (activation?) services +XXX TODO: use settrans/setxattr instead of MAKEDEV + +" + (define translators + '(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core")) + ("/servers/crash-kill" ("/hurd/crash" "--kill")) + ("/servers/crash-suspend" ("/hurd/crash" "--suspend")) + ("/servers/password" ("/hurd/password")) + ("/servers/socket/1" ("/hurd/pflocal")) + ("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0" + "--address" "10.0.2.15" ;the default QEMU guest IP + "--netmask" "255.255.255.0" + "--gateway" "10.0.2.2" + "--ipv6" "/servers/socket/16")))) + + (display "Welcome, this is GNU's early boot Guile.\n") + (display "Use '--repl' for an initrd REPL.\n\n") + + (call-with-error-handling + (lambda () + + (define (translated? node) + ;; Return true if a translator is installed on NODE. + (with-output-to-port (%make-void-port "w") + (lambda () + (with-error-to-port (%make-void-port "w") + (lambda () + (zero? (system* "showtrans" "--silent" node))))))) + + (let* ((args (command-line)) + (system (find-long-option "--system" args)) + (to-load (find-long-option "--load" args))) + + (format #t "Creating essential servers...\n") + (setenv "PATH" (string-append system "/profile/bin" + ":" system "/profile/sbin")) + (for-each (match-lambda + ((node command) + (unless (translated? node) + (mkdir-p (dirname node)) + (apply invoke "settrans" "--create" node command)))) + translators) + + (format #t "Creating essential device nodes...\n") + (with-directory-excursion "/dev" + (invoke "MAKEDEV" "--devdir=/dev" "std") + (invoke "MAKEDEV" "--devdir=/dev" "vcs") + (invoke "MAKEDEV" "--devdir=/dev" "tty1""tty2" "tty3" "tty4" "tty5" "tty6") + (invoke "MAKEDEV" "--devdir=/dev" "ptyp0" "ptyp1" "ptyp2") + (invoke "MAKEDEV" "--devdir=/dev" "console")) + + (false-if-exception (delete-file "/hurd")) + (let ((hurd/hurd (readlink* (string-append system "/profile/hurd")))) + (symlink hurd/hurd "/hurd")) + + (format #t "Starting pager...\n") + (unless (zero? (system* "/hurd/mach-defpager")) + (format #t "FAILED...Good luck!\n")) + + (cond ((member "--repl" args) + (format #t "Starting repl...\n") + (start-repl)) + (to-load + (format #t "loading '~a'...\n" to-load) + (primitive-load to-load) + (format (current-error-port) + "boot program '~a' terminated, rebooting~%" + to-load) + (sleep 2) + (reboot)) + (else + (display "no boot file passed via '--load'\n") + (display "entering a warm and cozy REPL\n") + (start-repl))))) + #:on-error on-error)) + +;;; hurd-boot.scm ends here diff --git a/gnu/build/image.scm b/gnu/build/image.scm index fe8e11aa1b..893b846976 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -47,9 +47,10 @@ "Take SEXP, a tuple as returned by 'partition->gexp', and turn it into a <partition> record." (match sexp - ((size file-system label uuid) + ((size file-system file-system-options label uuid) (partition (size size) (file-system file-system) + (file-system-options file-system-options) (label label) (uuid uuid))))) @@ -63,25 +64,30 @@ take the partition metadata size into account, take a 25% margin." (* 1.25 (file-size root))) -(define* (make-ext4-image partition target root - #:key - (owner-uid 0) - (owner-gid 0)) - "Handle the creation of EXT4 partition images. See 'make-partition-image'." +(define* (make-ext-image partition target root + #:key + (owner-uid 0) + (owner-gid 0)) + "Handle the creation of EXT2/3/4 partition images. See +'make-partition-image'." (let ((size (partition-size partition)) + (fs (partition-file-system partition)) + (fs-options (partition-file-system-options partition)) (label (partition-label partition)) (uuid (partition-uuid partition)) - (options "lazy_itable_init=1,lazy_journal_init=1")) - (invoke "mke2fs" "-t" "ext4" "-d" root - "-L" label "-U" (uuid->string uuid) - "-E" (format #f "root_owner=~a:~a,~a" - owner-uid owner-gid options) - target - (format #f "~ak" - (size-in-kib - (if (eq? size 'guess) - (estimate-partition-size root) - size)))))) + (journal-options "lazy_itable_init=1,lazy_journal_init=1")) + (apply invoke + `("mke2fs" "-t" ,fs "-d" ,root + "-L" ,label "-U" ,(uuid->string uuid) + "-E" ,(format #f "root_owner=~a:~a,~a" + owner-uid owner-gid journal-options) + ,@fs-options + ,target + ,(format #f "~ak" + (size-in-kib + (if (eq? size 'guess) + (estimate-partition-size root) + size))))))) (define* (make-vfat-image partition target root) "Handle the creation of VFAT partition images. See 'make-partition-image'." @@ -105,8 +111,8 @@ ROOT directory to populate the image." (let* ((partition (sexp->partition partition-sexp)) (type (partition-file-system partition))) (cond - ((string=? type "ext4") - (make-ext4-image partition target root)) + ((string-prefix? "ext" type) + (make-ext-image partition target root)) ((string=? type "vfat") (make-vfat-image partition target root)) (else @@ -140,19 +146,22 @@ deduplicates files common to CLOSURE and the rest of PREFIX." (define* (initialize-efi-partition root #:key - bootloader-package + grub-efi #:allow-other-keys) - "Install in ROOT directory, an EFI loader using BOOTLOADER-PACKAGE." - (install-efi-loader bootloader-package root)) + "Install in ROOT directory, an EFI loader using GRUB-EFI." + (install-efi-loader grub-efi root)) (define* (initialize-root-partition root #:key bootcfg bootcfg-location + bootloader-package + bootloader-installer (deduplicate? #t) references-graphs (register-closures? #t) system-directory + make-device-nodes #:allow-other-keys) "Initialize the given ROOT directory. Use BOOTCFG and BOOTCFG-LOCATION to install the bootloader configuration. @@ -164,6 +173,10 @@ of the directory of the 'system' derivation." (populate-root-file-system system-directory root) (populate-store references-graphs root) + ;; Populate /dev. + (when make-device-nodes + (make-device-nodes root)) + (when register-closures? (for-each (lambda (closure) (register-closure root @@ -172,6 +185,9 @@ of the directory of the 'system' derivation." #:deduplicate? deduplicate?)) references-graphs)) + (when bootloader-installer + (display "installing bootloader...\n") + (bootloader-installer bootloader-package #f root)) (when bootcfg (install-boot-config bootcfg bootcfg-location root))) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index c6f9df5f29..80fe0cfb9d 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -40,7 +40,6 @@ find-long-option find-long-options make-essential-device-nodes - make-hurd-device-nodes make-static-device-nodes configure-qemu-networking @@ -324,36 +323,6 @@ one specific hardware device. These we have to create." ;; File systems in user space (FUSE). (mknod (scope "dev/fuse") 'char-special #o666 (device-number 10 229))) -(define* (make-hurd-device-nodes #:optional (root "/")) - "Make some of the nodes needed on GNU/Hurd." - (define (scope dir) - (string-append root - (if (string-suffix? "/" root) - "" - "/") - dir)) - - (mkdir (scope "dev")) - (for-each (lambda (file) - (call-with-output-file (scope file) - (lambda (port) - (chmod port #o666)))) - '("dev/null" - "dev/zero" - "dev/full" - "dev/random" - "dev/urandom")) - ;; Don't create /dev/console, /dev/vcs, etc.: they are created by - ;; console-run on first boot. - - (mkdir (scope "servers")) - (mkdir (scope "servers/socket")) - ;; Don't create /servers/socket/1 & co: runsystem does that on first boot. - - ;; TODO: Set the 'gnu.translator' extended attribute for passive translator - ;; settings? - ) - (define %host-qemu-ipv4-address (inet-pton AF_INET "10.0.2.10")) @@ -498,25 +467,13 @@ upon error." (define (root-mount-point? fs) (string=? (file-system-mount-point fs) "/")) - (define root-fs-type - (or (any (lambda (fs) - (and (root-mount-point? fs) - (file-system-type fs))) - mounts) - "ext4")) - - (define root-fs-flags - (mount-flags->bit-mask (or (any (lambda (fs) - (and (root-mount-point? fs) - (file-system-flags fs))) - mounts) - '()))) - - (define root-fs-options - (any (lambda (fs) - (and (root-mount-point? fs) - (file-system-options fs))) - mounts)) + (define (device-string->file-system-device device-string) + ;; The "--root=SPEC" kernel command-line option always provides a + ;; string, but the string can represent a device, a UUID, or a + ;; label. So check for all three. + (cond ((string-prefix? "/" device-string) device-string) + ((uuid device-string) => identity) + (else (file-system-label device-string)))) (display "Welcome, this is GNU's early boot Guile.\n") (display "Use '--repl' for an initrd REPL.\n\n") @@ -526,7 +483,21 @@ upon error." (mount-essential-file-systems) (let* ((args (linux-command-line)) (to-load (find-long-option "--load" args)) - (root (find-long-option "--root" args))) + (root-fs (find root-mount-point? mounts)) + (root-fs-type (or (and=> root-fs file-system-type) + "ext4")) + (root-fs-device (and=> root-fs file-system-device)) + (root-fs-flags (mount-flags->bit-mask + (or (and=> root-fs file-system-flags) + '()))) + (root-options (if root-fs + (file-system-options root-fs) + #f)) + ;; --root takes precedence over the 'device' field of the root + ;; <file-system> record. + (root-device (or (and=> (find-long-option "--root" args) + device-string->file-system-device) + root-fs-device))) (when (member "--repl" args) (start-repl)) @@ -561,21 +532,12 @@ upon error." (setenv "EXT2FS_NO_MTAB_OK" "1") - (if root - ;; The "--root=SPEC" kernel command-line option always provides a - ;; string, but the string can represent a device, a UUID, or a - ;; label. So check for all three. - (let ((device-spec (cond ((string-prefix? "/" root) root) - ((uuid root) => identity) - ((string-contains root ":/") #f) ; nfs - (else (file-system-label root))))) - (mount-root-file-system (if device-spec - (canonicalize-device-spec device-spec) - root) - root-fs-type - #:volatile-root? volatile-root? - #:flags root-fs-flags - #:options root-fs-options)) + (if root-device + (mount-root-file-system (canonicalize-device-spec root-device) + root-fs-type + #:volatile-root? volatile-root? + #:flags root-fs-flags + #:options root-options) (mount "none" "/root" "tmpfs")) ;; Mount the specified file systems. @@ -602,4 +564,4 @@ upon error." (start-repl))))) #:on-error on-error)) -;;; linux-initrd.scm ends here +;;; linux-boot.scm ends here diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm index 14bdf4edb8..fd93e7f3f4 100644 --- a/gnu/build/shepherd.scm +++ b/gnu/build/shepherd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +21,7 @@ #:use-module (gnu build linux-container) #:use-module (guix build utils) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:use-module (ice-9 match) #:export (make-forkexec-constructor/container)) @@ -91,7 +92,10 @@ ;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency. (module-autoload! (current-module) - '(shepherd service) '(read-pid-file exec-command)) + '(shepherd service) + '(read-pid-file exec-command %precious-signals)) +(module-autoload! (current-module) + '(shepherd system) '(unblock-signals)) (define* (read-pid-file/container pid pid-file #:key (max-delay 5)) "Read PID-FILE in the container namespaces of PID, which exists in a @@ -101,7 +105,8 @@ separate mount and PID name space. Return the \"outer\" PID. " (read-pid-file pid-file #:max-delay max-delay))) (#f - (catch-system-error (kill pid SIGTERM)) + ;; Send SIGTERM to the whole process group. + (catch-system-error (kill (- pid) SIGTERM)) #f) ((? integer? container-pid) ;; XXX: When COMMAND is started in a separate PID namespace, its @@ -158,6 +163,14 @@ namespace, in addition to essential bind-mounts such /proc." (let ((pid (run-container container-directory mounts namespaces 1 (lambda () + ;; First restore the default handlers. + (for-each (cut sigaction <> SIG_DFL) + %precious-signals) + + ;; Unblock any signals that have been blocked + ;; by the parent process. + (unblock-signals %precious-signals) + (mkdir-p "/var/run") (clean-up pid-file) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 433b5a7e8d..0f0ceae18f 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -84,8 +84,6 @@ linux initrd make-disk-image? single-file-output? - target-arm32? - target-aarch64? (disk-image-size (* 100 (expt 2 20))) (disk-image-format "qcow2") (references-graphs '())) @@ -101,7 +99,14 @@ access it via /dev/hda. REFERENCES-GRAPHS can specify a list of reference-graph files as produced by the #:references-graphs parameter of 'derivation'." - (define target-arm? (or target-arm32? target-aarch64?)) + (define target-arm32? + (string-prefix? "arm-" %host-type)) + + (define target-aarch64? + (string-prefix? "aarch64-" %host-type)) + + (define target-arm? + (or target-arm32? target-aarch64?)) (define arch-specific-flags `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid diff --git a/gnu/ci.scm b/gnu/ci.scm index b61181be51..fa67168e22 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -219,19 +219,21 @@ system.") (run-with-store store (mbegin %store-monad (set-guile-for-build (default-guile)) - (system-image - (image - (inherit efi-disk-image) - (size (* 1500 MiB)) - (operating-system installation-os)))))) + (lower-object + (system-image + (image + (inherit efi-disk-image) + (size (* 1500 MiB)) + (operating-system installation-os))))))) (->job 'iso9660-image (run-with-store store (mbegin %store-monad (set-guile-for-build (default-guile)) - (system-image - (image - (inherit iso9660-image) - (operating-system installation-os))))))) + (lower-object + (system-image + (image + (inherit iso9660-image) + (operating-system installation-os)))))))) '())) (define channel-build-system diff --git a/gnu/image.scm b/gnu/image.scm index b05fc69dc5..19b466527b 100644 --- a/gnu/image.scm +++ b/gnu/image.scm @@ -22,7 +22,9 @@ partition? partition-device partition-size + partition-offset partition-file-system + partition-file-system-options partition-label partition-uuid partition-flags @@ -31,6 +33,7 @@ image image-name image-format + image-target image-size image-operating-system image-partitions @@ -45,13 +48,16 @@ (define-record-type* <partition> partition make-partition partition? - (device partition-device (default #f)) - (size partition-size) - (file-system partition-file-system (default "ext4")) - (label partition-label (default #f)) - (uuid partition-uuid (default #f)) - (flags partition-flags (default '())) - (initializer partition-initializer (default #f))) + (device partition-device (default #f)) + (size partition-size) + (offset partition-offset (default 0)) + (file-system partition-file-system (default "ext4")) + (file-system-options partition-file-system-options + (default '())) + (label partition-label (default #f)) + (uuid partition-uuid (default #f)) + (flags partition-flags (default '())) + (initializer partition-initializer (default #f))) ;;; @@ -62,6 +68,8 @@ image make-image image? (format image-format) ;symbol + (target image-target + (default #f)) (size image-size ;size in bytes as integer (default 'guess)) (operating-system image-operating-system ;<operating-system> diff --git a/gnu/installer/final.scm b/gnu/installer/final.scm index 4c2da484c9..a742c2a0cd 100644 --- a/gnu/installer/final.scm +++ b/gnu/installer/final.scm @@ -127,8 +127,8 @@ USERS." (lambda (port) (match (string-tokenize (read-string port) %not-nul) ((argv0 _ ...) - (unless (member (pk (basename argv0)) spare) - (syslog "Killing process ~a~%" pid) + (unless (member (basename argv0) spare) + (syslog "Killing process ~a (~a)~%" pid argv0) (kill pid SIGKILL))) (_ #f)))))) pids))) @@ -146,6 +146,8 @@ be much appreciated." (catch #t (lambda () (let ((tmp-dir "/remove")) + (syslog "Unmounting cow-store.~%") + (mkdir-p tmp-dir) (mount (%store-directory) tmp-dir "" MS_MOVE) @@ -153,6 +155,8 @@ be much appreciated." ;; restart it. (restart-service 'guix-daemon) + (syslog "Killing cow users.") + ;; Kill all processes started while the cow-store was active (logins ;; on other TTYs for instance). (kill-cow-users tmp-dir) @@ -160,6 +164,7 @@ be much appreciated." ;; Try to umount the store overlay. Some process such as udevd ;; workers might still be active, so do some retries. (let loop ((try 5)) + (syslog "Umount try ~a~%" (- 5 try)) (sleep 1) (let ((umounted? (false-if-exception (umount tmp-dir)))) (if (and (not umounted?) (> try 0)) @@ -203,7 +208,18 @@ or #f. Return #t on success and #f on failure." (lambda () (start-service 'cow-store (list (%installer-target-dir)))) (lambda () - (run-command install-command #:locale locale)) + ;; If there are any connected clients, assume that we are running + ;; installation tests. In that case, dump the standard and error + ;; outputs to syslog. + (if (not (null? (current-clients))) + (with-output-to-file "/dev/console" + (lambda () + (with-error-to-file "/dev/console" + (lambda () + (setvbuf (current-output-port) 'none) + (setvbuf (current-error-port) 'none) + (run-command install-command #:locale locale))))) + (run-command install-command #:locale locale))) (lambda () (stop-service 'cow-store) ;; Remove the store overlay created at cow-store service start. diff --git a/gnu/local.mk b/gnu/local.mk index 64c264d2f5..85551b1585 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -19,7 +19,7 @@ # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> # Copyright © 2018, 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com> # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> -# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> +# Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> # Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> # Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> # Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> @@ -157,6 +157,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/debian.scm \ %D%/packages/debug.scm \ %D%/packages/dejagnu.scm \ + %D%/packages/dhall.scm \ %D%/packages/dico.scm \ %D%/packages/dictionaries.scm \ %D%/packages/diffoscope.scm \ @@ -394,6 +395,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/nvi.scm \ %D%/packages/ocaml.scm \ %D%/packages/ocr.scm \ + %D%/packages/openkinect.scm \ %D%/packages/onc-rpc.scm \ %D%/packages/opencl.scm \ %D%/packages/openbox.scm \ @@ -403,6 +405,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/orpheus.scm \ %D%/packages/ots.scm \ %D%/packages/package-management.scm \ + %D%/packages/pantheon.scm \ %D%/packages/parallel.scm \ %D%/packages/password-utils.scm \ %D%/packages/patchutils.scm \ @@ -410,6 +413,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/pcre.scm \ %D%/packages/pdf.scm \ %D%/packages/pem.scm \ + %D%/packages/pep.scm \ %D%/packages/perl.scm \ %D%/packages/perl-check.scm \ %D%/packages/perl-compression.scm \ @@ -579,6 +583,7 @@ GNU_SYSTEM_MODULES = \ %D%/services/games.scm \ %D%/services/getmail.scm \ %D%/services/guix.scm \ + %D%/services/hurd.scm \ %D%/services/kerberos.scm \ %D%/services/linux.scm \ %D%/services/lirc.scm \ @@ -634,6 +639,7 @@ GNU_SYSTEM_MODULES = \ %D%/build/cross-toolchain.scm \ %D%/build/image.scm \ %D%/build/file-systems.scm \ + %D%/build/hurd-boot.scm \ %D%/build/install.scm \ %D%/build/linux-boot.scm \ %D%/build/linux-container.scm \ @@ -745,6 +751,7 @@ dist_patch_DATA = \ %D%/packages/patches/akonadi-not-relocatable.patch \ %D%/packages/patches/akonadi-timestamps.patch \ %D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \ + %D%/packages/patches/alsa-modular-synth-fix-vocoder.patch \ %D%/packages/patches/amule-crypto-6.patch \ %D%/packages/patches/anki-mpv-args.patch \ %D%/packages/patches/antiword-CVE-2014-8123.patch \ @@ -798,11 +805,9 @@ dist_patch_DATA = \ %D%/packages/patches/bitcoin-core-python-compat.patch \ %D%/packages/patches/blender-2.79-newer-ffmpeg.patch \ %D%/packages/patches/blender-2.79-python-3.7-fix.patch \ - %D%/packages/patches/bluez-CVE-2020-0556.patch \ + %D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \ %D%/packages/patches/byobu-writable-status.patch \ - %D%/packages/patches/calibre-msgpack-compat.patch \ %D%/packages/patches/calibre-no-updates-dialog.patch \ - %D%/packages/patches/calibre-remove-test-bs4.patch \ %D%/packages/patches/calibre-remove-test-sqlite.patch \ %D%/packages/patches/calibre-remove-test-unrar.patch \ %D%/packages/patches/casync-renameat2-declaration.patch \ @@ -849,16 +854,15 @@ dist_patch_DATA = \ %D%/packages/patches/cvs-CVE-2017-12836.patch \ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \ - %D%/packages/patches/darkice-workaround-fpermissive-error.patch \ %D%/packages/patches/datefudge-gettimeofday.patch \ %D%/packages/patches/dbacl-include-locale.h.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ + %D%/packages/patches/dbus-CVE-2020-12049.patch \ %D%/packages/patches/dbus-c++-gcc-compat.patch \ %D%/packages/patches/dbus-c++-threading-mutex.patch \ %D%/packages/patches/dconf-meson-0.52.patch \ %D%/packages/patches/debops-constants-for-external-program-names.patch \ %D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \ - %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ %D%/packages/patches/desmume-gcc6-fixes.patch \ %D%/packages/patches/desmume-gcc7-fixes.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ @@ -886,13 +890,12 @@ dist_patch_DATA = \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ %D%/packages/patches/emacs-highlight-stages-add-gexp.patch \ - %D%/packages/patches/emacs-magit-log-format-author-margin.patch \ + %D%/packages/patches/emacs-libgit-use-system-libgit2.patch \ %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \ %D%/packages/patches/emacs-source-date-epoch.patch \ %D%/packages/patches/emacs-telega-test-env.patch \ %D%/packages/patches/emacs-undohist-ignored.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ - %D%/packages/patches/emacs-zones-called-interactively.patch \ %D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/erlang-man-path.patch \ @@ -900,6 +903,7 @@ dist_patch_DATA = \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ %D%/packages/patches/evolution-data-server-locales.patch \ %D%/packages/patches/evolution-data-server-libical-compat.patch \ + %D%/packages/patches/exercism-disable-self-update.patch \ %D%/packages/patches/exiv2-CVE-2017-14860.patch \ %D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \ %D%/packages/patches/extempore-unbundle-external-dependencies.patch \ @@ -977,7 +981,6 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ - %D%/packages/patches/git-annex-S3v4.patch \ %D%/packages/patches/glib-tests-timer.patch \ %D%/packages/patches/glibc-CVE-2015-5180.patch \ %D%/packages/patches/glibc-CVE-2015-7547.patch \ @@ -1041,6 +1044,7 @@ dist_patch_DATA = \ %D%/packages/patches/gromacs-tinyxml2.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ %D%/packages/patches/grub-efi-fat-serial-number.patch \ + %D%/packages/patches/grub-setup-root.patch \ %D%/packages/patches/grub-verifiers-Blocklist-fallout-cleanup.patch \ %D%/packages/patches/gspell-dash-test.patch \ %D%/packages/patches/guile-1.8-cpp-4.5.patch \ @@ -1051,11 +1055,11 @@ dist_patch_DATA = \ %D%/packages/patches/guile-3.0-relocatable.patch \ %D%/packages/patches/guile-linux-syscalls.patch \ %D%/packages/patches/guile-3.0-linux-syscalls.patch \ + %D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-emacs-fix-configure.patch \ - %D%/packages/patches/guile-sqlite3-fix-cross-compilation.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \ %D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \ %D%/packages/patches/gtk2-theme-paths.patch \ @@ -1065,8 +1069,6 @@ dist_patch_DATA = \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gzdoom-search-in-installed-share.patch \ %D%/packages/patches/gzdoom-find-system-libgme.patch \ - %D%/packages/patches/haskell-mode-unused-variables.patch \ - %D%/packages/patches/haskell-mode-make-check.patch \ %D%/packages/patches/hdf4-architectures.patch \ %D%/packages/patches/hdf4-reproducibility.patch \ %D%/packages/patches/hdf4-shared-fortran.patch \ @@ -1080,8 +1082,10 @@ dist_patch_DATA = \ %D%/packages/patches/hdf-eos5-remove-gctp.patch \ %D%/packages/patches/hdf-eos5-fix-szip.patch \ %D%/packages/patches/hdf-eos5-fortrantests.patch \ + %D%/packages/patches/http-parser-fix-assertion-on-armhf.patch \ %D%/packages/patches/hubbub-sort-entities.patch \ %D%/packages/patches/hurd-cross.patch \ + %D%/packages/patches/hurd-xattr.patch \ %D%/packages/patches/hplip-remove-imageprocessor.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-makeicecat.patch \ @@ -1105,6 +1109,7 @@ dist_patch_DATA = \ %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 \ + %D%/packages/patches/java-openjfx-build-jdk_version.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ @@ -1116,12 +1121,9 @@ dist_patch_DATA = \ %D%/packages/patches/jsoncpp-fix-inverted-case.patch \ %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ - %D%/packages/patches/libffi-3.3-powerpc-fixes.patch \ - %D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ - %D%/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch \ %D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \ %D%/packages/patches/kiki-makefile.patch \ @@ -1136,8 +1138,6 @@ dist_patch_DATA = \ %D%/packages/patches/kpackage-allow-external-paths.patch \ %D%/packages/patches/kmplayer-aarch64.patch \ %D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \ - %D%/packages/patches/kpmcore-fix-tests.patch \ - %D%/packages/patches/kpmcore-remove-broken-test.patch \ %D%/packages/patches/kobodeluxe-paths.patch \ %D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \ %D%/packages/patches/kobodeluxe-const-charp-conversion.patch \ @@ -1158,6 +1158,9 @@ dist_patch_DATA = \ %D%/packages/patches/ldc-disable-phobos-tests.patch \ %D%/packages/patches/leela-zero-gtest.patch \ %D%/packages/patches/less-hurd-path-max.patch \ + %D%/packages/patches/lib2geom-enable-assertions.patch \ + %D%/packages/patches/lib2geom-link-tests-against-glib.patch \ + %D%/packages/patches/lib2geom-use-system-googletest.patch \ %D%/packages/patches/liba52-enable-pic.patch \ %D%/packages/patches/liba52-link-with-libm.patch \ %D%/packages/patches/liba52-set-soname.patch \ @@ -1166,10 +1169,7 @@ dist_patch_DATA = \ %D%/packages/patches/libbase-use-own-logging.patch \ %D%/packages/patches/libbonobo-activation-test-race.patch \ %D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \ - %D%/packages/patches/libdrm-symbol-check.patch \ - %D%/packages/patches/libexif-CVE-2016-6328.patch \ - %D%/packages/patches/libexif-CVE-2017-7544.patch \ - %D%/packages/patches/libexif-CVE-2018-20030.patch \ + %D%/packages/patches/libdrm-realpath-virtio.patch \ %D%/packages/patches/libextractor-exiv2.patch \ %D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \ %D%/packages/patches/libgit2-mtime-0.patch \ @@ -1237,7 +1237,6 @@ dist_patch_DATA = \ %D%/packages/patches/luit-posix.patch \ %D%/packages/patches/luminance-hdr-qt-printer.patch \ %D%/packages/patches/lvm2-static-link.patch \ - %D%/packages/patches/lxsession-use-gapplication.patch \ %D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/mariadb-client-test-32bit.patch \ %D%/packages/patches/mars-install.patch \ @@ -1295,7 +1294,7 @@ dist_patch_DATA = \ %D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \ - %D%/packages/patches/nm-plugin-path.patch \ + %D%/packages/patches/network-manager-plugin-path.patch \ %D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-pkgconfig.patch \ @@ -1325,6 +1324,7 @@ dist_patch_DATA = \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openresolv-restartcmd-guix.patch \ + %D%/packages/patches/openscad-parser-boost-1.72.patch \ %D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \ @@ -1363,6 +1363,7 @@ dist_patch_DATA = \ %D%/packages/patches/perl-www-curl-remove-symbol.patch \ %D%/packages/patches/picprog-non-intel-support.patch \ %D%/packages/patches/pidgin-add-search-path.patch \ + %D%/packages/patches/pidgin-libnm.patch \ %D%/packages/patches/pinball-const-fix.patch \ %D%/packages/patches/pinball-cstddef.patch \ %D%/packages/patches/pinball-missing-separators.patch \ @@ -1376,7 +1377,6 @@ dist_patch_DATA = \ %D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plib-CVE-2011-4620.patch \ %D%/packages/patches/plib-CVE-2012-4552.patch \ - %D%/packages/patches/plotutils-libpng-jmpbuf.patch \ %D%/packages/patches/podofo-cmake-3.12.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ @@ -1397,7 +1397,6 @@ dist_patch_DATA = \ %D%/packages/patches/pygpgme-disable-problematic-tests.patch \ %D%/packages/patches/pyqt-configure.patch \ %D%/packages/patches/pyqt-public-sip.patch \ - %D%/packages/patches/pyqt-unbundled-qt.patch \ %D%/packages/patches/python-2-deterministic-build-info.patch \ %D%/packages/patches/python-2.7-adjust-tests.patch \ %D%/packages/patches/python-2.7-search-paths.patch \ @@ -1411,6 +1410,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-CVE-2018-14647.patch \ %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \ %D%/packages/patches/python-alembic-exceptions-cause.patch \ + %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-cross-compile.patch \ @@ -1434,17 +1434,18 @@ dist_patch_DATA = \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ %D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \ + %D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \ %D%/packages/patches/python-slugify-depend-on-unidecode.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ %D%/packages/patches/python-unittest2-python3-compat.patch \ %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-glibc-2.27.patch \ %D%/packages/patches/qrcodegen-cpp-make-install.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtbase-moc-ignore-gcc-macro.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \ - %D%/packages/patches/qtbase-QTBUG-81715.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ @@ -1466,7 +1467,8 @@ dist_patch_DATA = \ %D%/packages/patches/rtags-separate-rct.patch \ %D%/packages/patches/racket-store-checksum-override.patch \ %D%/packages/patches/retroarch-disable-online-updater.patch \ - %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ + %D%/packages/patches/ruby-rack-ignore-failing-test.patch \ + %D%/packages/patches/ruby-sanitize-system-libxml.patch \ %D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\ %D%/packages/patches/runc-CVE-2019-5736.patch \ %D%/packages/patches/rust-1.19-mrustc.patch \ @@ -1533,10 +1535,12 @@ dist_patch_DATA = \ %D%/packages/patches/tipp10-fix-compiling.patch \ %D%/packages/patches/tipp10-remove-license-code.patch \ %D%/packages/patches/tk-find-library.patch \ + %D%/packages/patches/transmission-CVE-2018-10756.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/ttfautohint-source-date-epoch.patch \ %D%/packages/patches/tomb-fix-errors-on-open.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ + %D%/packages/patches/twinkle-bcg729.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ %D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch \ %D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch \ @@ -1579,7 +1583,7 @@ dist_patch_DATA = \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ %D%/packages/patches/webkitgtk-share-store.patch \ - %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ + %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-get-selected-profile-fix.patch \ %D%/packages/patches/wicd-urwid-1.3.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 9314abf5be..d34864505a 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -58,6 +59,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system ruby) #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) @@ -121,6 +123,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages sphinx) #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) @@ -210,7 +213,7 @@ usual file attributes can be checked for inconsistencies.") (define-public progress (package (name "progress") - (version "0.14") + (version "0.15") (source (origin (method git-fetch) @@ -218,7 +221,7 @@ usual file attributes can be checked for inconsistencies.") (url "https://github.com/Xfennec/progress.git") (commit (string-append "v" version)))) (sha256 - (base32 "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl")) + (base32 "1cnb4ixlhshn139mj5sr42k5m6gjjbyqvkn1324c47niwrgp7dqm")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -228,8 +231,14 @@ usual file attributes can be checked for inconsistencies.") `(("ncurses" ,ncurses))) (arguments `(#:tests? #f ; no test suite - #:make-flags (list "CC=gcc" - (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:make-flags + (let ((target ,(%current-target-system))) + (list ,(string-append "CC=" (cc-for-target)) + (string-append "PKG_CONFIG=" + (if target + (string-append target "-pkg-config") + "pkg-config")) + (string-append "PREFIX=" (assoc-ref %outputs "out")))) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -244,14 +253,14 @@ and provides a \"top-like\" mode (monitoring).") (define-public shepherd (package (name "shepherd") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) (sha256 (base32 - "02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll")))) + "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) @@ -429,6 +438,71 @@ services.") graphs and can export its output to different formats.") (license license:bsd-3))) +(define-public facter + (package + (name "facter") + (version "4.0.26") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/puppetlabs/facter-ng") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bab3by926gavbhkvp0in82vim575ybj8z6av3b12jdvla1s9rmz")))) + (build-system ruby-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'delete-facter-ng-gemspec + (lambda _ + ;; XXX: ruby-build-system incorrectly finds + ;; facter-ng.gemspec from this directory and tries to + ;; build that instead of the proper facter.gemspec. + ;; Just delete it as a workaround, as it appears to + ;; only exist for backwards-compatibility after the + ;; facter-ng->facter rename. + (delete-file "agent/facter-ng.gemspec") + #t)) + (add-after 'unpack 'embed-iproute-reference + (lambda* (#:key inputs #:allow-other-keys) + (let ((iproute (assoc-ref inputs "iproute"))) + ;; Provide an absolute reference to the 'ip' executable + ;; to avoid propagating it. + (substitute* "lib/resolvers/networking_linux_resolver.rb" + (("execute\\('ip") + (string-append "execute('" iproute "/sbin/ip"))) + #t))) + (delete 'check) + (add-after 'wrap 'check + (lambda* (#:key tests? outputs #:allow-other-keys) + ;; XXX: The test suite wants to run Bundler and + ;; complains that the gemspec is invalid. For now + ;; just make sure that we can run the wrapped + ;; executable directly. + (if tests? + (invoke (string-append (assoc-ref outputs "out") + "/bin/facter") + ;; Many facts depend on /sys, /etc/os-release, + ;; etc, so we only run a small sample. + "facterversion" "architecture" + "kernel" "kernelversion") + (format #t "tests disabled~%")) + #t))))) + (inputs + `(("iproute" ,iproute) + ("ruby-hocon" ,ruby-hocon) + ("ruby-sys-filesystem" ,ruby-sys-filesystem) + ("ruby-thor" ,ruby-thor))) + (synopsis "Collect and display system facts") + (description + "Facter is a tool that gathers basic facts about nodes (systems) such +as hardware details, network settings, OS type and version, and more. These +facts can be collected on the command line with the @command{facter} command +or via the @code{facter} Ruby library.") + (home-page "https://github.com/puppetlabs/facter-ng") + (license license:expat))) + (define-public htop (package (name "htop") @@ -718,7 +792,7 @@ would need and has several interesting built-in capabilities.") (define-public netcat-openbsd (package (name "netcat-openbsd") - (version "1.206-1") + (version "1.217-1") (source (origin (method git-fetch) (uri (git-reference @@ -727,14 +801,12 @@ would need and has several interesting built-in capabilities.") (file-name (git-file-name name version)) (sha256 (base32 - "08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z")))) + "0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no test suite + `(#:tests? #f ; no test suite #:make-flags - (list "CC=gcc" - (string-append "CFLAGS=-I" (assoc-ref %build-inputs "libbsd") "/include") - "LDFLAGS=-lbsd") + (list "CC=gcc") #:phases (modify-phases %standard-phases (delete 'configure) @@ -1309,6 +1381,7 @@ system administrator.") (delete-file-recursively "lib/zlib") #t)))) (build-system gnu-build-system) + (outputs (list "out" "python")) (arguments `(#:configure-flags (list (string-append "--docdir=" (assoc-ref %outputs "out") @@ -1366,7 +1439,22 @@ system administrator.") (substitute* "plugins/sudoers/Makefile.in" (("^pre-install:" match) (string-append match "\ndisabled-" match))) - #t))) + #t)) + (add-after 'install 'separate-python-output + (lambda* (#:key target outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (out:python (assoc-ref outputs "python"))) + (if target + (mkdir-p (string-append out:python "/empty")) + (for-each + (lambda (file) + (let ((old (string-append out "/" file)) + (new (string-append out:python "/" file))) + (mkdir-p (dirname new)) + (rename-file old new))) + (list "libexec/sudo/python_plugin.so" + "libexec/sudo/python_plugin.la"))) + #t)))) ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but ;; the chroot's /etc/passwd doesn't have it. Turn off the tests. @@ -1391,6 +1479,54 @@ commands and their arguments.") ;; See <http://www.sudo.ws/sudo/license.html>. (license license:x11))) +(define-public opendoas + (package + (name "opendoas") + (version "6.6.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Duncaen/OpenDoas.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07kkc5729p654jrgfsc8zyhiwicgmq38yacmwfvay2b3gmy728zn")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + ;; The configure script doesn't accept most of the default flags. + (lambda* (#:key configure-flags #:allow-other-keys) + ;; The configure script can only be told which compiler to use + ;; through environment variables. + (setenv "CC" ,(cc-for-target)) + (apply invoke "./configure" configure-flags))) + (add-before 'install 'fix-makefile + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "bsd.prog.mk" + (("^\tchown.*$") "")) + #t))) + #:configure-flags + (list (string-append "--prefix=" (assoc-ref %outputs "out")) + ;; Nothing is done with this value (yet?) but it's supported. + ;; (string-append "--target=" (or ,(%current-target-system) "")) + "--with-timestamp") + ;; Compiler choice is not carried over from the configure script. + #:make-flags + (list (string-append "CC=" ,(cc-for-target))) + #:tests? #f)) ; no test suite + (native-inputs + `(("bison" ,bison))) + (home-page "https://github.com/Duncaen/OpenDoas") + (synopsis "Portable version of OpenBSD's doas command") + (description "Doas is a minimal replacement for the venerable sudo. It was +initially written by Ted Unangst of the OpenBSD project to provide 95% of the +features of sudo with a fraction of the codebase.") + (license (list license:bsd-3 ; libbsd/* + license:isc)))) ; everything else + (define-public wpa-supplicant-minimal (package (name "wpa-supplicant-minimal") @@ -1691,7 +1827,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20200430") + (version "20200528") (source (origin (method url-fetch) (uri (string-append @@ -1699,7 +1835,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "1hiaz9lrmjzdbi5zl0ajfflja41cixzx2j76iyx02qbjlmy9cfjc")))) + "01ajxnz9dpnvdbib7yv20dw21a1yyfgwiw3whg0xi57cf4app2md")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -2027,13 +2163,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.9.6") + (version "2.9.9") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "1jfbp1i3nl4yvqwd5ssy43dz3pq2x03mn875vb8r56gqh43kmksr")))) + (base32 "1l99vwkl48iwr8ffd1ihqia995mz8h8hwk4akm4w0cgiifp88gg8")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) @@ -2629,13 +2765,13 @@ a new command using the matched rule, and runs it.") (define-public di (package (name "di") - (version "4.47.3") + (version "4.48") (source (origin (method url-fetch) (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) (sha256 - (base32 "0m4npba50sf5s61g5z3xd2r7937zwja941f2h3f081xi24c2hfck")))) + (base32 "0crvvfsxh8ryc0j19a2x52i9zacvggm8zi6j3kzygkcwnpz4km8r")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; obscure test failures @@ -2644,7 +2780,7 @@ a new command using the matched rule, and runs it.") (delete 'configure) ; no configure script (add-before 'build 'setup-environment (lambda* (#:key outputs #:allow-other-keys) - (setenv "CC" "gcc") + (setenv "CC" ,(cc-for-target)) (setenv "prefix" (assoc-ref outputs "out")) #t))) #:make-flags (list "--environment-overrides"))) @@ -3118,14 +3254,14 @@ everyone's screenshots nowadays.") (define-public nnn (package (name "nnn") - (version "2.8.1") + (version "3.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/jarun/nnn/releases/download/v" version "/nnn-v" version ".tar.gz")) (sha256 - (base32 "1g47bndxld875d0xb3pgmlw223mz47p1xcvwym861y6l4zkgiyp0")))) + (base32 "1zflz7yj5wzdnl0728g8qrld2z6dqn7sblbmkjvyqlv1fwjd1fsf")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) @@ -3336,7 +3472,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.0.38-1") + (version "3.1.01-1") (source (origin (method git-fetch) @@ -3345,7 +3481,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "1qw3sxgd3ly916bzzl3873s3flngwd3vh57slw0shsj7ivz8bfnm")))) + (base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm index f492370754..a67a00284b 100644 --- a/gnu/packages/adns.scm +++ b/gnu/packages/adns.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; @@ -25,22 +25,23 @@ #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (gnu packages m4) #:use-module (gnu packages pkg-config)) (define-public adns (package (name "adns") - (version "1.5.1") + (version "1.6.0") (source (origin (method url-fetch) (uri (list (string-append "mirror://gnu/adns/adns-" version ".tar.gz") (string-append - "http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-" - version ".tar.gz"))) + "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-" + version ".tar.gz"))) (sha256 (base32 - "1ssfh94ck6kn98nf2yy6743srpgqgd167va5ja3bwx42igqjc42v")))) + "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv")))) (build-system gnu-build-system) (arguments ;; Make sure the programs under bin/ fine libadns.so. @@ -50,6 +51,8 @@ ;; XXX: Tests expect real name resolution to work. #:tests? #f)) + (native-inputs + `(("m4" ,m4))) (home-page "https://www.gnu.org/software/adns/") (synopsis "Asynchronous DNS client library and utilities") (description diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 4df2e96ecd..b78e6ef304 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -609,7 +609,7 @@ matrices, and polynomials over the integers and over finite fields.") (define-public singular (package (name "singular") - (version "4.1.2p1") + (version "4.1.3p2") (source (origin (method url-fetch) @@ -623,7 +623,7 @@ matrices, and polynomials over the integers and over finite fields.") #\.) "-") "/singular-" version ".tar.gz")) (sha256 (base32 - "0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m")))) + "1524yrni7gh0hir5ckridq671q5s6avfjdsdyahj51kzdl3wcypf")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 7550736c40..22256f750b 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -111,7 +111,7 @@ dictionaries, including personal ones.") (uri (string-append "mirror://gnu/aspell/dict/" dict-name "/" prefix dict-name "-" version ".tar.bz2")) - (sha256 sha256))) + (hash (content-hash sha256)))) (build-system gnu-build-system) (arguments `(#:phases @@ -163,7 +163,7 @@ dictionaries, including personal ones.") (method url-fetch) (uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/" version "/aspell6-ca-" version ".tar.bz2")) - (sha256 sha256))) + (hash (content-hash sha256)))) (home-page "https://www.softcatala.org/pub/softcatala/aspell/")))) (define-public aspell-dict-de @@ -264,7 +264,7 @@ dictionaries, including personal ones.") (uri (string-append "mirror://sourceforge/linguistico/" "Dizionario%20italiano%20per%20Aspell/" version "/" "aspell6-it-" version ".tar.bz2")) - (sha256 sha256))) + (hash (content-hash sha256)))) (home-page "http://linguistico.sourceforge.net/pages/dizionario_italiano.html")))) diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index c775603445..c9582bc596 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -149,14 +149,14 @@ to the clients.") (define-public fasm (package (name "fasm") - (version "1.73.22") + (version "1.73.24") (source (origin (method url-fetch) (uri (string-append "https://flatassembler.net/fasm-" version ".tgz")) (sha256 - (base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5")))) + (base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests exist @@ -347,14 +347,14 @@ Supported architectures are: (define-public xa (package (name "xa") - (version "2.3.10") + (version "2.3.11") (source (origin (method url-fetch) (uri (string-append "https://www.floodgap.com/retrotech/xa" "/dists/xa-" version ".tar.gz")) (sha256 (base32 - "0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6")))) + "0b81r7mvzqxgnbbmhixcnrf9nc72v1nqaw19k67221g3k561dwij")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; TODO: custom test harness, not sure how it works diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 7261c62978..5b4590945d 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 by Amar Singh <nly@disroot.org> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> @@ -128,7 +128,7 @@ header.") (define-public gnuastro (package (name "gnuastro") - (version "0.11") + (version "0.12") (source (origin (method url-fetch) @@ -136,7 +136,10 @@ header.") version ".tar.lz")) (sha256 (base32 - "0c1yc2qb7vrqad96savfn06rn01izlfz0va738signv93qqj5k3v")))) + "0ypk1c72q778cixfa52vjxzbd5m4qc6hfjgnipy16sfa7mnspmyf")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("cfitsio" ,cfitsio) ("gsl" ,gsl) @@ -147,7 +150,6 @@ header.") (native-inputs `(("libtool" ,libtool) ("lzip" ,lzip))) - (build-system gnu-build-system) (home-page "https://www.gnu.org/software/gnuastro/") (synopsis "Astronomy utilities") (description "The GNU Astronomy Utilities (Gnuastro) is a suite of diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 2eeda826b5..a9f34599bc 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -175,7 +175,9 @@ implementation of Adaptive Multi Rate Narrowband and Wideband "/" version "/ams-" version ".tar.bz2")) (sha256 (base32 - "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0")))) + "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0")) + (patches + (search-patches "alsa-modular-synth-fix-vocoder.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -183,6 +185,17 @@ implementation of Adaptive Multi Rate Narrowband and Wideband "CXXFLAGS=-std=gnu++11") #:phases (modify-phases %standard-phases + (add-after 'set-paths 'hide-default-gcc + (lambda* (#:key inputs #:allow-other-keys) + (let ((gcc (assoc-ref inputs "gcc"))) + ;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent + ;; conflicts with the GCC 5 input. + (setenv "CPLUS_INCLUDE_PATH" + (string-join + (delete (string-append gcc "/include/c++") + (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) + ":")) + #t))) ;; Insert an extra space between linker flags. (add-before 'configure 'add-missing-space (lambda _ @@ -203,7 +216,7 @@ implementation of Adaptive Multi Rate Narrowband and Wideband (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools) - ("gcc" ,gcc-5))) + ("gcc@5" ,gcc-5))) (home-page "http://alsamodular.sourceforge.net/") (synopsis "Realtime modular synthesizer and effect processor") (description @@ -851,30 +864,30 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.") (define-public csound (package (name "csound") - (version "6.13.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/csound/csound.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh")))) + (version "6.14.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/csound/csound.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1sr9knfhbm2m0wpkjq2l5n471vnl51wy4p6j4m95zqybimzb4s2j")))) (build-system cmake-build-system) - (inputs - `(("alsa-lib" ,alsa-lib) - ("boost" ,boost) - ("pulseaudio" ,pulseaudio) - ("libsndfile" ,libsndfile) - ("liblo" ,liblo) - ("ladspa" ,ladspa) - ("jack" ,jack-1) - ("gettext" ,gettext-minimal))) (native-inputs `(("bison" ,bison) ("flex" ,flex) + ("gettext" ,gettext-minimal) ("zlib" ,zlib))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("jack" ,jack-1) + ("ladspa" ,ladspa) + ("liblo" ,liblo) + ("libsndfile" ,libsndfile) + ("pulseaudio" ,pulseaudio))) (home-page "https://csound.com/") (synopsis "Sound and music computing system") (description @@ -1242,7 +1255,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "2.1.2") + (version "2.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -1251,7 +1264,7 @@ follower.") (file-name (git-file-name name version)) (sha256 (base32 - "0pf8hjn15isf772nz8qcqja700aay8nhdwmr24djkj42c7chf96j")))) + "0dv6jprz2bzasvk91x2rv2pqyyvxkc72s4r6vsqw723a3kqa5bhc")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target @@ -1961,14 +1974,14 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.") (define-public lilv (package (name "lilv") - (version "0.24.6") + (version "0.24.8") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/lilv-" version ".tar.bz2")) (sha256 (base32 - "1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z")))) + "0063i5zgf3d3accwmyx651hw0wh5ik7kji2hvfkcdbl1qia3dp6a")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target @@ -2191,7 +2204,7 @@ buffers, and audio capture.") (define-public patchage (package (name "patchage") - (version "1.0.0") + (version "1.0.2") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/patchage-" @@ -2199,10 +2212,10 @@ buffers, and audio capture.") ".tar.bz2")) (sha256 (base32 - "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb")))) + "0dk3fiac10m83mwss3026yz7ygc47c2iw924cwwnh2fyydc9bsy6")))) (build-system waf-build-system) (arguments - `(#:tests? #f ; no check target + `(#:tests? #f ; no check target #:python ,python-2)) (inputs `(("alsa-lib" ,alsa-lib) @@ -3373,17 +3386,18 @@ with support for HD extensions.") (define-public bs1770gain (package (name "bs1770gain") - (version "0.6.7") + (version "0.7.0") + (home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/bs1770gain/bs1770gain/" version "/bs1770gain-" version ".tar.gz")) (sha256 - (base32 "13hsbqj1dkpz1gbclnjxv50kr7b4gcjai6c1l38g01433h217qjc")) + (base32 "0a2dcaxvxy5m3a5sb1lhplsymvz3ypaiidc5xn9qy01h53zvyvkp")) (modules '((guix build utils))) (snippet - '(begin + `(begin ;; XXX (substitute* (find-files "." "\\.[ch]$") (("^ \\* N..o.*") "")) @@ -3395,12 +3409,11 @@ with support for HD extensions.") "configure.ac" "configure") (("https?://bs1770gain[^/]*/") - "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html")) + ,home-page)) #t)))) (build-system gnu-build-system) (inputs `(("ffmpeg" ,ffmpeg) ("sox" ,sox))) - (home-page "https://manpages.debian.org/sid/bs1770gain/bs1770gain.1.en.html") (synopsis "Tool to adjust loudness of media files") (description "BS1770GAIN is a loudness scanner compliant with ITU-R BS.1770 and its @@ -3573,14 +3586,14 @@ on the ALSA software PCM plugin.") (define-public snd (package (name "snd") - (version "19.9") + (version "20.4") (source (origin (method url-fetch) (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" "snd-" version ".tar.gz")) (sha256 (base32 - "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys")))) + "0irdizlng2s3akmxdbfxcbd93bbjz9543nh7fisszim6v0ks59d9")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no tests @@ -3930,15 +3943,15 @@ other Gnaural instances, allowing synchronous sessions between many users.") (define-public darkice (package (name "darkice") - (version "1.3") + (version "1.4") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/darkice/darkice/" - version "/darkice-" version ".tar.gz")) + (uri (string-append "https://github.com/rafael2k/darkice/releases/" + "download/v" version "/darkice-" + version ".tar.gz")) (sha256 - (base32 "1rlxds7ssq7nk2in4s46xws7xy9ylxsqgcz85hxjgh17lsm0y39c")) - (patches - (search-patches "darkice-workaround-fpermissive-error.patch")))) + (base32 + "05yq7lggxygrkd76yiqby3msrgdn082p0qlvmzzv9xbw8hmyra76")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("lame" ,lame) @@ -3988,7 +4001,7 @@ stream to one or more IceCast and/or ShoutCast servers.") (define-public redkite (package (name "redkite") - (version "0.8.0") + (version "0.8.1") (source (origin (method git-fetch) @@ -3997,8 +4010,7 @@ stream to one or more IceCast and/or ShoutCast servers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q")))) + (base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no tests included diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 6a5080bcf8..74acd791ac 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> ;;; ;;; This file is part of GNU Guix. ;;; @@ -562,14 +563,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.11") + (version "1.1.13") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 - "190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n")) + (base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn")) (modules '((guix build utils))) (snippet '(begin @@ -652,7 +652,8 @@ detection, and lossless compression.") ;; These tests assume the kernel supports FUSE. "and not test_fuse " "and not test_fuse_allow_damaged_files " - "and not test_mount_hardlinks"))))) + "and not test_mount_hardlinks " + "and not test_readonly_mount "))))) (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -736,14 +737,14 @@ changes are stored.") (define-public wimlib (package (name "wimlib") - (version "1.13.1") + (version "1.13.2") (source (origin (method url-fetch) (uri (string-append "https://wimlib.net/downloads/" "wimlib-" version ".tar.gz")) (sha256 (base32 - "0pxgrpr3dr81rcf2jh71aiiq3v4anc5sj1nld18f2vhvbijbrx27")))) + "0id9ym3hzij4kpdrk0sz3ijxp5r0z1md5jch83pml9hdy1zbx5bj")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1026,17 +1027,53 @@ stored previously can be read back in full at any time. The program is format-agnostic, so you can feed virtually any files to it.") (license license:gpl2+))) +(define-public dump + (package + (name "dump") + (version "0.4b46") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/dump/dump/" + version "/dump-" version ".tar.gz")) + (sha256 + (base32 + "15rg5y15ak0ppqlhcih78layvg7cwp6hc16p3c58xs8svlkxjqc0")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + `("--sysconfdir=/etc" + "--disable-readline" + "--disable-rmt"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("openssl" ,openssl-1.0) + ("zlib" ,zlib) + ("util-linux" ,util-linux "lib") + ("e2fsprogs" ,e2fsprogs))) + (home-page "https://dump.sourceforge.io/") + (synopsis "Ext2/3/4 filesystem dump/restore utilities") + (description "Dump examines files in a filesystem, determines which ones +need to be backed up, and copies those files to a specified disk, tape or +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 filesystem. Single files and +directory subtrees may also be restored from full or partial backups in +interractive mode.") + (license license:bsd-3))) + (define-public burp (package (name "burp") - (version "2.3.24") + (version "2.3.28") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/burp/burp-" version "/burp-" version ".tar.bz2")) (sha256 (base32 - "0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w")))) + "18f8cjsb87skabvz4cl5pdln35qmim7x686js1xzpld6wyl9kv2k")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index ecea6c97d4..4b5f94b277 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1351,7 +1351,7 @@ command.") (define-public tzdata (package (name "tzdata") - (version "2019c") + (version "2020a") (source (origin (method url-fetch) (uri (string-append @@ -1359,7 +1359,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr")))) + "18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -1409,7 +1409,7 @@ command.") version ".tar.gz")) (sha256 (base32 - "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn")))))) + "0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx")))))) (home-page "https://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) @@ -1426,7 +1426,26 @@ and daylight-saving rules.") ;;; package. (define-public tzdata-for-tests (hidden-package - (package/inherit tzdata))) + (package + (inherit tzdata) + (version "2019c") + (source (origin + (method url-fetch) + (uri (string-append + "https://data.iana.org/time-zones/releases/tzdata" + version ".tar.gz")) + (sha256 + (base32 + "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr")))) + (inputs + `(("tzcode" ,(origin + (method url-fetch) + (uri (string-append + "https://data.iana.org/time-zones/releases/tzcode" + version ".tar.gz")) + (sha256 + (base32 + "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn"))))))))) (define-public libiconv (package diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index 1b342827c5..3ba8a13e40 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -38,8 +38,11 @@ #:use-module (guix store) #:use-module (guix build-system gnu) #:autoload (guix gnupg) (gnupg-verify*) - #:autoload (gcrypt hash) (port-sha256) #:autoload (guix base32) (bytevector->nix-base32-string) + + ;; See <https://bugs.gnu.org/41457> for why not #:autoload here. + #:use-module ((gcrypt hash) #:select (port-sha256)) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 format)) @@ -48,12 +51,12 @@ "Return the URL of Bash patch number SEQNO." (format #f "mirror://gnu/bash/bash-5.0-patches/bash50-~3,'0d" seqno)) -(define (bash-patch seqno sha256) - "Return the origin of Bash patch SEQNO, with expected hash SHA256" +(define (bash-patch seqno sha256-bv) + "Return the origin of Bash patch SEQNO, with expected hash SHA256-BV." (origin (method url-fetch) (uri (patch-url seqno)) - (sha256 sha256))) + (sha256 sha256-bv))) (define-syntax-rule (patch-series (seqno hash) ...) (list (bash-patch seqno (base32 hash)) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 4e6c416518..0ac1833487 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -46,14 +46,14 @@ (define-public fio (package (name "fio") - (version "3.19") + (version "3.20") (source (origin (method url-fetch) (uri (string-append "https://brick.kernel.dk/snaps/" "fio-" version ".tar.bz2")) (sha256 (base32 - "01nc7igmcc6hda32d1y8vidd9x9pdlxvf3i1pwrzvmi6xvmbfvab")))) + "1mwqafn81a9pxy2kw9rl4p3r2brhg2ckwrcwzy0q4gffxgn3k9c7")))) (build-system gnu-build-system) (arguments '(#:test-target "test" diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index b4be8aee15..a8ed2707ac 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -745,13 +745,13 @@ annotations.") (define-public r-ideoviz (package (name "r-ideoviz") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "IdeoViz" version)) (sha256 (base32 - "0rsz6dawrx5qdrypxs2hgihmx3kbpdg1y73h876yxccgdlabvzil")))) + "1ndj14qhpgidjb4qsga80ghqzz1x8kvy2gy1bvvgwlkfxa62rn50")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -1072,13 +1072,13 @@ package @code{affy}.") (define-public r-coverageview (package (name "r-coverageview") - (version "1.24.0") + (version "1.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "CoverageView" version)) (sha256 (base32 - "0s47svs7xnr9jkylq0dxidqrigihdddiprcl0951vjr4w7kmb5nf")))) + "1fcz7pkffz5l3jdxb9glji2zdmr6nx67h6vfpr2yi8n3slg2hrrj")))) (build-system r-build-system) (propagated-inputs `(("r-s4vectors" ,r-s4vectors) @@ -1099,13 +1099,13 @@ how the coverage distributed across the genome.") (define-public r-cummerbund (package (name "r-cummerbund") - (version "2.28.0") + (version "2.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "cummeRbund" version)) (sha256 (base32 - "1fjc3bcclm4gsvw4nq6cv3a1kbrldvrxbkyfb9306708si1n4dwk")))) + "1av7yfxcq1wwbqfqcz7caiz5kf6kg5wq9qcg5v6yccihclzwvxjc")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -1165,14 +1165,14 @@ across the entire multi-'omics experiment.") (define-public r-biocversion (package (name "r-biocversion") - (version "3.10.1") + (version "3.11.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocVersion" version)) (sha256 (base32 - "0mfqjqfvrwwglldq3g7nbic5hf3nwzv02nbfxnl2cfvf9gznlh5f")))) + "1rrzx3dqds0jlj1bmjc744wiamb2hssbh3jfxz1s9jp4cvnwrpmz")))) (properties `((upstream-name . "BiocVersion"))) (build-system r-build-system) (home-page "https://bioconductor.org/packages/BiocVersion/") @@ -1185,13 +1185,13 @@ of Bioconductor.") (define-public r-biocgenerics (package (name "r-biocgenerics") - (version "0.32.0") + (version "0.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocGenerics" version)) (sha256 (base32 - "1np8y442zyakm4axpinbw1qsgc6wd3zjsnirbhc8lcii4ky9j0rn")))) + "15nvqyh2gx5zkn1krbs5c4rhw5642bijdfsf2rgic70gzr05cksk")))) (properties `((upstream-name . "BiocGenerics"))) (build-system r-build-system) @@ -1205,14 +1205,14 @@ packages.") (define-public r-affycomp (package (name "r-affycomp") - (version "1.62.0") + (version "1.64.0") (source (origin (method url-fetch) (uri (bioconductor-uri "affycomp" version)) (sha256 (base32 - "0cl7c3m2lz2w8g2k7z7wjd0dyj0dkssvms99qpg8a1v3hx1xs6js")))) + "0zg8dshas5b2ny4pnxxxqihnr4l20666ivrgglb939a23mplgps0")))) (properties `((upstream-name . "affycomp"))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase))) @@ -1226,14 +1226,14 @@ measures for Affymetrix Oligonucleotide Arrays.") (define-public r-affycompatible (package (name "r-affycompatible") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AffyCompatible" version)) (sha256 (base32 - "10ahrdlifp1i7rd58zb10w75y5bnigs7xp5gv4fhb5y7p7dvb0ks")))) + "0394sr4spafhfypjsafwjr0y0zsgv52ajdcyvsmkdk7375898lqd")))) (properties `((upstream-name . "AffyCompatible"))) (build-system r-build-system) @@ -1254,14 +1254,14 @@ Command Console} (AGCC)-compatible sample annotation files.") (define-public r-affycontam (package (name "r-affycontam") - (version "1.44.0") + (version "1.46.0") (source (origin (method url-fetch) (uri (bioconductor-uri "affyContam" version)) (sha256 (base32 - "0yd1prgv5zfkg22ski73mvg96qknwz8v6ji6s4qy8p4wrqyj7b7l")))) + "1dh5c3blk2dl9kg13y6snplnx61x2f9hvp5lc7jmg25xk916517i")))) (properties `((upstream-name . "affyContam"))) (build-system r-build-system) (propagated-inputs @@ -1279,14 +1279,14 @@ problems in CEL-level data to help evaluate performance of quality metrics.") (define-public r-affycoretools (package (name "r-affycoretools") - (version "1.58.4") + (version "1.60.1") (source (origin (method url-fetch) (uri (bioconductor-uri "affycoretools" version)) (sha256 (base32 - "1p283ysib04qzaayxmrpsmk5bq0jdq2rlky180jrlskpyg6risfw")))) + "0cnb54b3kmg9rnycvaz949bdali9n98qzrw7gwka6abmg1lv232s")))) (properties `((upstream-name . "affycoretools"))) (build-system r-build-system) (propagated-inputs @@ -1309,6 +1309,8 @@ problems in CEL-level data to help evaluate performance of quality metrics.") ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors) ("r-xtable" ,r-xtable))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/affycoretools/") (synopsis "Functions for analyses with Affymetrix GeneChips") (description @@ -1319,14 +1321,14 @@ to streamline the more common analyses that a Biostatistician might see.") (define-public r-affxparser (package (name "r-affxparser") - (version "1.58.0") + (version "1.60.0") (source (origin (method url-fetch) (uri (bioconductor-uri "affxparser" version)) (sha256 (base32 - "03h4lxr48p84f6i7zb2rm10ma3k4d1nmvdw5yhxcmzqbmd12lk40")))) + "0d4hq1w0a3dm4bg9qsv7wqrbv2y7b9gllxfmnqs9n2nnwmvgi8yq")))) (properties `((upstream-name . "affxparser"))) (build-system r-build-system) (home-page "https://github.com/HenrikBengtsson/affxparser") @@ -1347,14 +1349,14 @@ structure.") (define-public r-annotate (package (name "r-annotate") - (version "1.64.0") + (version "1.66.0") (source (origin (method url-fetch) (uri (bioconductor-uri "annotate" version)) (sha256 (base32 - "0rcmdy6hs6m4d6wxgi52c0bhdsbf2sm9f155qbcb05sn0nh8pxwy")))) + "1ivszqknryq6n5a85z8zj12fvgcs6zz3zlza8q08pl6cs4m5rm4w")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -1374,15 +1376,17 @@ microarrays.") (define-public r-hpar (package (name "r-hpar") - (version "1.28.0") + (version "1.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "hpar" version)) (sha256 (base32 - "1yhay1ryrgj9cqa1x136cw40ca93afyvg0sarm30jsbj8nc1rm5m")))) + "1jq0qw7wq3426cp004divywjm3ryixkykcmwlhrri13agz6rx3r9")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/hpar/") (synopsis "Human Protein Atlas in R") (description "This package provides a simple interface to and data from @@ -1392,14 +1396,14 @@ the Human Protein Atlas project.") (define-public r-regioner (package (name "r-regioner") - (version "1.18.1") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "regioneR" version)) (sha256 (base32 - "0if7r6njz3ahm545383z5mzmzw8fdvw80a9lfz160j5pcgpx2dq9")))) + "10i21gxv0n7lrflhj5ja672xjizy1i4y4iq3pmjgbf0dpy1lxsih")))) (properties `((upstream-name . "regioneR"))) (build-system r-build-system) (propagated-inputs @@ -1411,6 +1415,8 @@ the Human Protein Atlas project.") ("r-memoise" ,r-memoise) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/regioneR/") (synopsis "Association analysis of genomic regions") (description "This package offers a statistical framework based on @@ -1421,14 +1427,14 @@ region sets and other genomic features.") (define-public r-reportingtools (package (name "r-reportingtools") - (version "2.26.0") + (version "2.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ReportingTools" version)) (sha256 (base32 - "0wmi2219wydyzc07rz3azsrksa7wiacfh9pr5x2fsmj9f0w3n15w")))) + "1ig1h224silbdbdr0j9j9sysp9l9dzpcsjzn8jp57h3gh4pdqbfx")))) (properties `((upstream-name . "ReportingTools"))) (build-system r-build-system) @@ -1452,6 +1458,8 @@ region sets and other genomic features.") ("r-pfam-db" ,r-pfam-db) ("r-r-utils" ,r-r-utils) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/ReportingTools/") (synopsis "Tools for making reports in various formats") (description @@ -1469,14 +1477,14 @@ browser.") (define-public r-geneplotter (package (name "r-geneplotter") - (version "1.64.0") + (version "1.66.0") (source (origin (method url-fetch) (uri (bioconductor-uri "geneplotter" version)) (sha256 (base32 - "1k6780fn1kkghpm1prhhsyw621441a3bmnqfl9ns0zbc1zdq39nx")))) + "1y494da1llmrvn3qm7akwgwjazvpffabi8llw3fbday14cay1br5")))) (build-system r-build-system) (propagated-inputs `(("r-annotate" ,r-annotate) @@ -1494,14 +1502,14 @@ browser.") (define-public r-oligoclasses (package (name "r-oligoclasses") - (version "1.48.0") + (version "1.50.0") (source (origin (method url-fetch) (uri (bioconductor-uri "oligoClasses" version)) (sha256 (base32 - "02m1m3dkiyywalphw3i5n6y3bs8zp24xh59v9cz6jgjpah811skf")))) + "05jy9qz3ir4maxackr1xqlfi1czhy1qd22wwibjdhfh5dp534cpn")))) (properties `((upstream-name . "oligoClasses"))) (build-system r-build-system) (propagated-inputs @@ -1529,14 +1537,14 @@ packages.") (define-public r-oligo (package (name "r-oligo") - (version "1.50.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "oligo" version)) (sha256 (base32 - "01icfyy82f9k0m7ngrppz1ckq3wpq7zp6kgf8ppc55j6582c5jh3")))) + "102szyiicws4c6l3k282236ml1m1vl9zmars4q1kdjfnvsyclfc4")))) (properties `((upstream-name . "oligo"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -1552,6 +1560,8 @@ packages.") ("r-preprocesscore" ,r-preprocesscore) ("r-rsqlite" ,r-rsqlite) ("r-zlibbioc" ,r-zlibbioc))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/oligo/") (synopsis "Preprocessing tools for oligonucleotide arrays") (description @@ -1563,18 +1573,20 @@ Affymetrix (CEL files) and NimbleGen arrays (XYS files).") (define-public r-qvalue (package (name "r-qvalue") - (version "2.18.0") + (version "2.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "qvalue" version)) (sha256 (base32 - "0njnidyncm3g3712mnp77cs4kghn596ss1pz6fhp1cr0wxcayp6j")))) + "1hndmdr9niagbr4ry0vbhffvjzjg9im27kdbn0sa774k6r5b4z3f")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-reshape2" ,r-reshape2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://github.com/jdstorey/qvalue") (synopsis "Q-value estimation for false discovery rate control") (description @@ -1592,14 +1604,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.") (define-public r-diffbind (package (name "r-diffbind") - (version "2.14.0") + (version "2.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DiffBind" version)) (sha256 (base32 - "1729wyi2l4480yrkp5wg3ryirrmlk0j3njqs1qyckq3c8bjk12h2")))) + "1mwqgljya1c7r2dfrdds3nswn9bn1l3ak1wavbpv4lbv3nkmykn5")))) (properties `((upstream-name . "DiffBind"))) (build-system r-build-system) (inputs @@ -1670,14 +1682,14 @@ processing to visualization and annotation.") (define-public r-multtest (package (name "r-multtest") - (version "2.42.0") + (version "2.44.0") (source (origin (method url-fetch) (uri (bioconductor-uri "multtest" version)) (sha256 (base32 - "0qna9lx76ldsfy8qf5xmhl4ymqfkj29m1gdqhph06s470c8mwari")))) + "12li7nzzygm3sjfx472095irqpawixk48d0k591wlnrms6sxchx2")))) (build-system r-build-system) (propagated-inputs `(("r-survival" ,r-survival) @@ -1708,13 +1720,13 @@ expressed genes in DNA microarray experiments.") (define-public r-graph (package (name "r-graph") - (version "1.64.0") + (version "1.66.0") (source (origin (method url-fetch) (uri (bioconductor-uri "graph" version)) (sha256 (base32 - "1ivf59k7k552m7zd8g3wwazd71dq3xmgmhcq435738i02h0fqnyc")))) + "15v0nx9gzpszmdn5lil1s1y8qfmsirlznh56wcyqq4sxwjbyjn9g")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics))) @@ -1779,14 +1791,14 @@ determining dependencies between variables, code improvement suggestions.") (define-public r-chippeakanno (package (name "r-chippeakanno") - (version "3.20.1") + (version "3.22.2") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPpeakAnno" version)) (sha256 (base32 - "0kmfha4vprbi0z6n7v9w28xfrqcx5qad7yfr0b316j5aj8v9f4hc")))) + "199mlg0gwjy39afyk0ah6lzcm759bzxla4hgcajj0ay9jiibjqpa")))) (properties `((upstream-name . "ChIPpeakAnno"))) (build-system r-build-system) (propagated-inputs @@ -1819,6 +1831,8 @@ determining dependencies between variables, code improvement suggestions.") ("r-seqinr" ,r-seqinr) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-venndiagram" ,r-venndiagram))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/ChIPpeakAnno") (synopsis "Peaks annotation from ChIP-seq and ChIP-chip experiments") (description @@ -1835,12 +1849,12 @@ enrichedGO (addGeneIDs).") (define-public r-marray (package (name "r-marray") - (version "1.64.0") + (version "1.66.0") (source (origin (method url-fetch) (uri (bioconductor-uri "marray" version)) (sha256 - (base32 "1mbs9rk279hnm9yz34za3xz3hb88ll1d0abw4m2pgjgbh4kkhdrl")))) + (base32 "1sym3nis5qzg05b2in83xr019mvz8czy8qvispc0hzsq42yng6kd")))) (build-system r-build-system) (propagated-inputs `(("r-limma" ,r-limma))) @@ -1854,12 +1868,12 @@ normalization and quality checking.") (define-public r-cghbase (package (name "r-cghbase") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "CGHbase" version)) (sha256 - (base32 "0136pk6pfwpiiy9vca4pgg4wh74jfb5ssglpdszzhamljpvg765x")))) + (base32 "0gfqqa9rs5hid53ihlky88qndgrwxxz0s6j7s505f660dd5nzlkf")))) (properties `((upstream-name . "CGHbase"))) (build-system r-build-system) (propagated-inputs @@ -1874,12 +1888,12 @@ the @code{arrayCGH} packages.") (define-public r-cghcall (package (name "r-cghcall") - (version "2.48.0") + (version "2.50.0") (source (origin (method url-fetch) (uri (bioconductor-uri "CGHcall" version)) (sha256 - (base32 "1x8pz7zhw2nabik1vgdhlivndqvil3s7vnl5070k493v6gza0p3s")))) + (base32 "1dz6sag8khl18vkb97b5w6fk6k9s7s9xxnc467dd3bmhmajlmrrg")))) (properties `((upstream-name . "CGHcall"))) (build-system r-build-system) (propagated-inputs @@ -1897,12 +1911,12 @@ the @code{arrayCGH} packages.") (define-public r-qdnaseq (package (name "r-qdnaseq") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "QDNAseq" version)) (sha256 - (base32 "0xcqdpv9a47zpxx0q9sif5y4s1yzx3pig0kywy961kh5xgl5bcrq")))) + (base32 "1ji9pl2r1idyj3qzggj7qd2kqx31i6b3igwk2hqjb8qzkyb37p86")))) (properties `((upstream-name . "QDNAseq"))) (build-system r-build-system) (propagated-inputs @@ -1930,14 +1944,14 @@ respectively.") (define-public r-bayseq (package (name "r-bayseq") - (version "2.20.0") + (version "2.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "baySeq" version)) (sha256 (base32 - "040s1d3756spyzblkyx2vcy7bn3vf87mhsp3is35yxkj55n3myjk")))) + "1x0d34pqv9s15nmmxsfbw0ycxbf5348mi30ahycarjkjsyzycymj")))) (properties `((upstream-name . "baySeq"))) (build-system r-build-system) (propagated-inputs @@ -1956,14 +1970,14 @@ more complex hypotheses) via empirical Bayesian methods.") (define-public r-chipcomp (package (name "r-chipcomp") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPComp" version)) (sha256 (base32 - "0wk0vvg6dk9wk60lzbadrnqar75dppvyr4hiwrhv9rhhah2mg2mg")))) + "0780kj9vbzdhf2jkfb1my8m58pcdwk6jqw6zfng82g46jias98cp")))) (properties `((upstream-name . "ChIPComp"))) (build-system r-build-system) (propagated-inputs @@ -1990,14 +2004,14 @@ datasets.") (define-public r-riboprofiling (package (name "r-riboprofiling") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RiboProfiling" version)) (sha256 (base32 - "0nfzyiq7cd6fs5agzl1zyfg8s631wi7kjngiyvd3vxlhi8wsjicx")))) + "0s30m96dbbrzbywz3wai5ar0nsshb16lq101nyl20w1bk7sk2bha")))) (properties `((upstream-name . "RiboProfiling"))) (build-system r-build-system) (propagated-inputs @@ -2017,6 +2031,8 @@ datasets.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-sqldf" ,r-sqldf))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/RiboProfiling/") (synopsis "Ribosome profiling data analysis") (description "Starting with a BAM file, this package provides the @@ -2029,14 +2045,14 @@ assessment, principal component analysis on codon coverage.") (define-public r-riboseqr (package (name "r-riboseqr") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "riboSeqR" version)) (sha256 (base32 - "1jr7h64hyhyf9gf15lah6iqwyljfc8mraf9kya4lql6lcjjkjiqm")))) + "04a4dkmacd6xy55m84amxa0fspbc4kgg9r9k7bc3wrxswk77ccxk")))) (properties `((upstream-name . "riboSeqR"))) (build-system r-build-system) (propagated-inputs @@ -2057,14 +2073,14 @@ parsing of genetic sequencing data from ribosome profiling experiments.") (define-public r-interactionset (package (name "r-interactionset") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "InteractionSet" version)) (sha256 (base32 - "0n2l95h56x5g68p10cap8p4x3a6vaph2hjlk09vmi3j48lrzb2kh")))) + "1nsivm9j0mzkfhwqsa2y9gxxdbaplg4z8vn5dfvls3nrihnqpk4v")))) (properties `((upstream-name . "InteractionSet"))) (build-system r-build-system) @@ -2077,6 +2093,8 @@ parsing of genetic sequencing data from ribosome profiling experiments.") ("r-rcpp" ,r-rcpp) ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/InteractionSet") (synopsis "Base classes for storing genomic interaction data") (description @@ -2089,14 +2107,14 @@ experiments.") (define-public r-genomicinteractions (package (name "r-genomicinteractions") - (version "1.20.3") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicInteractions" version)) (sha256 (base32 - "01ps97cs29qvzy5piq2l2k0yyr56rmg5cycfiqhbbvqpjrfvy60g")))) + "0fg66v31nfajb40da6gxpigm2z11ywkdijs7npvc1mr62ynx9qmy")))) (properties `((upstream-name . "GenomicInteractions"))) (build-system r-build-system) @@ -2130,14 +2148,14 @@ information and producing various plots and statistics.") (define-public r-ctc (package (name "r-ctc") - (version "1.60.0") + (version "1.62.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ctc" version)) (sha256 (base32 - "0wh27izkyr1j26nznisw654mb5c94xpwjjkx7r6bhwg9ihxxcl6d")))) + "0lv126xj092hps3f3dsv7hasdyy26wcx8npl9idq2l4h9addk6v6")))) (build-system r-build-system) (propagated-inputs `(("r-amap" ,r-amap))) (home-page "https://bioconductor.org/packages/ctc/") @@ -2150,14 +2168,14 @@ trees and clusters to other programs.") (define-public r-goseq (package (name "r-goseq") - (version "1.38.0") + (version "1.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "goseq" version)) (sha256 (base32 - "11ypa41qv1nx3cncxlwlbhdxqlwq95rb9byv2z3crrf9nfp24byv")))) + "1iyri4rrchzsn8p6wjxr4k30d3cqx3km5mnd9hkfm5d0s7fjzlym")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -2176,20 +2194,22 @@ defined categories which are over/under represented in RNA-seq data.") (define-public r-glimma (package (name "r-glimma") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Glimma" version)) (sha256 (base32 - "1rjrqgl96iz4b3xqpc174wgz7bqmc8gbm9ljag0y27kz29fwng8r")))) + "1bxfgwjqb9p400a5a5q6p17kcnl3ddz090llihkfih9kyxii9n4y")))) (properties `((upstream-name . "Glimma"))) (build-system r-build-system) (propagated-inputs `(("r-edger" ,r-edger) ("r-jsonlite" ,r-jsonlite) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/Shians/Glimma") (synopsis "Interactive HTML graphics") (description @@ -2203,14 +2223,14 @@ information.") (define-public r-rots (package (name "r-rots") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ROTS" version)) (sha256 (base32 - "08mwlb0lpprys2b7vif8aj5bnprmn09mm79zz158gbhrv9j9d1qm")))) + "1mqhi1rfiw7mhiyify7vm3w17p7sc76wjda3ak6690hrc3gsm3cm")))) (properties `((upstream-name . "ROTS"))) (build-system r-build-system) (propagated-inputs @@ -2227,14 +2247,14 @@ in omics data.") (define-public r-plgem (package (name "r-plgem") - (version "1.58.0") + (version "1.60.0") (source (origin (method url-fetch) (uri (bioconductor-uri "plgem" version)) (sha256 (base32 - "0fkyvcw2qxp4g527s9rzia45yapi0r6gbij7svisil8rbgfdp45v")))) + "1fs5nbjnrm7x23y7d9krq56r1kzxka40ca1rs6sq70mn6syhj90a")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -2252,14 +2272,14 @@ genes or proteins in these datasets.") (define-public r-inspect (package (name "r-inspect") - (version "1.16.3") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "INSPEcT" version)) (sha256 (base32 - "0y4gpvrbmcipdnyz9lz9ywn0317xnpcriiisqvxygin05vgcpilp")))) + "1yyglkdc3ww2jzswhcxk9g1imydfm39krl87as5l9fbm7mv3vd4z")))) (properties `((upstream-name . "INSPEcT"))) (build-system r-build-system) (propagated-inputs @@ -2279,11 +2299,14 @@ genes or proteins in these datasets.") ("r-proc" ,r-proc) ("r-rootsolve" ,r-rootsolve) ("r-rsamtools" ,r-rsamtools) + ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-shiny" ,r-shiny) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-txdb-mmusculus-ucsc-mm9-knowngene" ,r-txdb-mmusculus-ucsc-mm9-knowngene))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/INSPEcT") (synopsis "Analysis of 4sU-seq and RNA-seq time-course data") (description @@ -2296,20 +2319,22 @@ modeling the rates that determines changes in mature mRNA levels.") (define-public r-dnabarcodes (package (name "r-dnabarcodes") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DNABarcodes" version)) (sha256 (base32 - "0r2r9qc2qvf7rfl1h5ynvv3xd7n444zbc697s85qxqdpr4sxqmfd")))) + "03y39hjpkb05fnawy3k797bph1iydi1blmpgyy4244zjgk6rs5x7")))) (properties `((upstream-name . "DNABarcodes"))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) ("r-matrix" ,r-matrix) ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/DNABarcodes") (synopsis "Create and analyze DNA barcodes") (description @@ -2323,14 +2348,14 @@ demultiplexed, i.e. assigned to their original reference barcode.") (define-public r-ruvseq (package (name "r-ruvseq") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RUVSeq" version)) (sha256 (base32 - "1ipbbzpngx988lsmwqv7vbmqm65m43xvsmipayfppkrr6jipzxrj")))) + "0yqs9xgyzw3cwb4l7zjl1cjgbsjp05qrqnwyvh7q81wdp7x5p55x")))) (properties `((upstream-name . "RUVSeq"))) (build-system r-build-system) (propagated-inputs @@ -2338,6 +2363,8 @@ demultiplexed, i.e. assigned to their original reference barcode.") ("r-edaseq" ,r-edaseq) ("r-edger" ,r-edger) ("r-mass" ,r-mass))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/drisso/RUVSeq") (synopsis "Remove unwanted variation from RNA-Seq data") (description @@ -2349,14 +2376,14 @@ samples.") (define-public r-biocneighbors (package (name "r-biocneighbors") - (version "1.4.2") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocNeighbors" version)) (sha256 (base32 - "1bx7i5pifj8w89fnhfgcfgcar2ik2ad8wqs2rix7yks90vz185i6")))) + "14cyyrwxi82xm5wy6bb1176zg322ll67wjrw9vvi4fhfs1k4wqxy")))) (properties `((upstream-name . "BiocNeighbors"))) (build-system r-build-system) (propagated-inputs @@ -2366,6 +2393,8 @@ samples.") ("r-rcppannoy" ,r-rcppannoy) ("r-rcpphnsw" ,r-rcpphnsw) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocNeighbors") (synopsis "Nearest Neighbor Detection for Bioconductor packages") (description @@ -2380,14 +2409,14 @@ achieved for all methods using the BiocParallel framework.") (define-public r-biocsingular (package (name "r-biocsingular") - (version "1.2.2") + (version "1.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocSingular" version)) (sha256 (base32 - "1282fdwxrpga87y8xflr0sl8ajwawgn2i9i65my8mbg5vrixs407")))) + "0368a9xj4cvicqkxmhh12ln46q9gnxla70s1dqrxxfn3b6k525ih")))) (properties `((upstream-name . "BiocSingular"))) (build-system r-build-system) (propagated-inputs @@ -2400,6 +2429,8 @@ achieved for all methods using the BiocParallel framework.") ("r-rcpp" ,r-rcpp) ("r-rsvd" ,r-rsvd) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/LTLA/BiocSingular") (synopsis "Singular value decomposition for Bioconductor packages") (description @@ -2412,14 +2443,14 @@ possible, parallelization is achieved using the BiocParallel framework.") (define-public r-destiny (package (name "r-destiny") - (version "3.0.1") + (version "3.2.0") (source (origin (method url-fetch) (uri (bioconductor-uri "destiny" version)) (sha256 (base32 - "1hzg53p1cz21bvnfyyz40bpvjhg89zi3rahlqf0c4w85iwc1i4vi")))) + "0ik5vwxz9cci3glwgb5ff03sfyr4sjcp8ckfymlgmlm6fz8cp21n")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -2430,6 +2461,7 @@ possible, parallelization is achieved using the BiocParallel framework.") ("r-irlba" ,r-irlba) ("r-knn-covertree" ,r-knn-covertree) ("r-matrix" ,r-matrix) + ("r-nbconvertr" ,r-nbconvertr) ("r-pcamethods" ,r-pcamethods) ("r-proxy" ,r-proxy) ("r-rcpp" ,r-rcpp) @@ -2456,14 +2488,14 @@ maps.") (define-public r-savr (package (name "r-savr") - (version "1.24.0") + (version "1.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "savR" version)) (sha256 (base32 - "1lsnqjl6qxbj0wai05qb2wrxrhxq5iarv2livmvwiwv70iigqygf")))) + "17jdnr47ivblfspr4b32z9fds1fqiiwsi2z6r524g1v4944p8w5a")))) (properties `((upstream-name . "savR"))) (build-system r-build-system) (propagated-inputs @@ -2482,14 +2514,14 @@ Viewer (SAV) files, access data, and generate QC plots.") (define-public r-chipexoqual (package (name "r-chipexoqual") - (version "1.10.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPexoQual" version)) (sha256 (base32 - "044n6kn16qczpdhp0w0z5x8xpr0rfs9s8q70rafgnvj7a2q1xdd0")))) + "02rsf1rvm0p6dn18zq2a4hpvpd9m2i5rziyi4zm8j43qvs8xhafp")))) (properties `((upstream-name . "ChIPexoQual"))) (build-system r-build-system) (propagated-inputs @@ -2510,6 +2542,8 @@ Viewer (SAV) files, access data, and generate QC plots.") ("r-s4vectors" ,r-s4vectors) ("r-scales" ,r-scales) ("r-viridis" ,r-viridis))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/keleslab/ChIPexoQual") (synopsis "Quality control pipeline for ChIP-exo/nexus data") (description @@ -2520,13 +2554,13 @@ sequencing data.") (define-public r-copynumber (package (name "r-copynumber") - (version "1.26.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "copynumber" version)) (sha256 (base32 - "0r6r1adj20x3ckm0dlipxlf1rzngr92xsxxpy81mqxf4jpmyr8gj")))) + "1b7v6xijpi2mir49cf83gpadhxm5pnbs6d8q8qga7y06hn9jx6my")))) (build-system r-build-system) (propagated-inputs `(("r-s4vectors" ,r-s4vectors) @@ -2543,14 +2577,14 @@ penalized least squares regression method.") (define-public r-dnacopy (package (name "r-dnacopy") - (version "1.60.0") + (version "1.62.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DNAcopy" version)) (sha256 (base32 - "119z5lqhhw9ppg6s4dvbxk1kxf3wc55ibpm9b88c91s04yd7m9yw")))) + "0jg8lr83drzfs5h73c7mk7x99vj99a2p2s1sqjc4gicn927xvhza")))) (properties `((upstream-name . "DNAcopy"))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -2643,14 +2677,14 @@ and regression inferences from RNA-sequencing data.") (define-public r-ebseq (package (name "r-ebseq") - (version "1.26.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "EBSeq" version)) (sha256 (base32 - "0ay1vcccpc29r3vinlnwp9256345bfb346kg2y11kib4bnrabjb6")))) + "0s9r1xxpfm5794ipjm5a5c8gfxicc6arma6f74aaz8zi5y5q9x5f")))) (properties `((upstream-name . "EBSeq"))) (build-system r-build-system) (propagated-inputs @@ -2667,29 +2701,32 @@ gene and isoform level using RNA-seq data") (define-public r-karyoploter (package (name "r-karyoploter") - (version "1.12.4") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "karyoploteR" version)) (sha256 (base32 - "03jmfgmw35hrgn3pc5lq6pblzhfx9fp4l6dx50rp303lr7kjxp9v")))) + "0h0gk4xd95k5phy6qcsv7j931d7gk3p24i2fg4mz5dsk110lpifs")))) (build-system r-build-system) (propagated-inputs - `(("r-regioner" ,r-regioner) + `(("r-annotationdbi" ,r-annotationdbi) + ("r-bamsignals" ,r-bamsignals) + ("r-bezier" ,r-bezier) + ("r-biovizbase" ,r-biovizbase) + ("r-digest" ,r-digest) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicranges" ,r-genomicranges) ("r-iranges" ,r-iranges) - ("r-rsamtools" ,r-rsamtools) ("r-memoise" ,r-memoise) + ("r-regioner" ,r-regioner) + ("r-rsamtools" ,r-rsamtools) ("r-rtracklayer" ,r-rtracklayer) - ("r-genomeinfodb" ,r-genomeinfodb) ("r-s4vectors" ,r-s4vectors) - ("r-biovizbase" ,r-biovizbase) - ("r-digest" ,r-digest) - ("r-bezier" ,r-bezier) - ("r-bamsignals" ,r-bamsignals) - ("r-annotationdbi" ,r-annotationdbi) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (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 @@ -2702,20 +2739,20 @@ coordinates.") (define-public r-lpsymphony (package (name "r-lpsymphony") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "lpsymphony" version)) (sha256 (base32 - "0j5j9kggh3l61vp6hpnqf45d5kzifksaj0sqhvs1zahmx2c1gfdv")))) + "072ikmd267n18hrj7dip4dp1vb5dinj82p3h95n2jaf04h9hwfn4")))) (build-system r-build-system) (inputs - `(("gfortran" ,gfortran) - ("zlib" ,zlib))) + `(("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (home-page "https://r-forge.r-project.org/projects/rsymphony") (synopsis "Symphony integer linear programming solver in R") (description @@ -2732,14 +2769,14 @@ to install interface to SYMPHONY.") (define-public r-ihw (package (name "r-ihw") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "IHW" version)) (sha256 (base32 - "0rnw7r9pylpj3a5graavcpiqv2v67rv2a4dlcynkf4ihpxs4bg8x")))) + "169ir0k1gygdh1wybwa0drdxnhrdrlyzzy0rkygi7jsirn69m74j")))) (properties `((upstream-name . "IHW"))) (build-system r-build-system) (propagated-inputs @@ -2747,6 +2784,8 @@ to install interface to SYMPHONY.") ("r-fdrtool" ,r-fdrtool) ("r-lpsymphony" ,r-lpsymphony) ("r-slam" ,r-slam))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/IHW") (synopsis "Independent hypothesis weighting") (description @@ -2762,14 +2801,14 @@ independent of the p-value under the null hypothesis.") (define-public r-icobra (package (name "r-icobra") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "iCOBRA" version)) (sha256 (base32 - "1l0yr2grpwmr3pc5h50p1j4nxyb1ddmc55l7rhxpp4igh4fq1avz")))) + "0cvklagby3i221dlhyb51cciv0b3ch4a8z0wpm67q5n6n3k0cil1")))) (properties `((upstream-name . "iCOBRA"))) (build-system r-build-system) (propagated-inputs @@ -2784,6 +2823,8 @@ independent of the p-value under the null hypothesis.") ("r-shinybs" ,r-shinybs) ("r-shinydashboard" ,r-shinydashboard) ("r-upsetr" ,r-upsetr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/iCOBRA") (synopsis "Comparison and visualization of ranking and assignment methods") (description @@ -2796,14 +2837,14 @@ interactive exploration of results.") (define-public r-mast (package (name "r-mast") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MAST" version)) (sha256 (base32 - "1l78rrwkzyswpj6pgc9z8290fqrk4akba76invkkazpyh91r8gga")))) + "12d0q2fbq9d5jgyccmfv0cghv282s0j86wjfbnjpdf73fdrp6brr")))) (properties `((upstream-name . "MAST"))) (build-system r-build-system) (propagated-inputs @@ -2831,14 +2872,14 @@ single cell assay data.") (define-public r-monocle (package (name "r-monocle") - (version "2.14.0") + (version "2.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "monocle" version)) (sha256 (base32 - "18b9y592q48mbcp5w095qs1kaklq64v6dcnlpqhv3rwxvywygsz2")))) + "1vziidavlyhixmx6j7lf29qx8xcjwrc9q3x2f63gcff41q3jf9xd")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -2871,6 +2912,8 @@ single cell assay data.") ("r-tibble" ,r-tibble) ("r-vgam" ,r-vgam) ("r-viridis" ,r-viridis))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/monocle") (synopsis "Clustering, differential expression, and trajectory analysis for single-cell RNA-Seq") (description @@ -2948,14 +2991,14 @@ qPCR data, but could be used with other types as well.") (define-public r-noiseq (package (name "r-noiseq") - (version "2.30.0") + (version "2.31.0") (source (origin (method url-fetch) (uri (bioconductor-uri "NOISeq" version)) (sha256 (base32 - "1a8p66hhnwmay0rjabwq7356wr93yn33nqgr9rr7whpp9nls1hg4")))) + "0lg3za0km6v9l6dxigbxx6nsx9y6m3dyzh9srngi53s8387vhj33")))) (properties `((upstream-name . "NOISeq"))) (build-system r-build-system) (propagated-inputs @@ -2975,14 +3018,14 @@ assumptions.") (define-public r-scdd (package (name "r-scdd") - (version "1.10.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "scDD" version)) (sha256 (base32 - "0nk0qq664zs7dnlcamdkrrhvll01p7f96jj3igbxxlzj3dvr58w4")))) + "19q01jksxpv4p26wp2c6faa4fffkjnqlbcds2x955pk35jkqknxx")))) (properties `((upstream-name . "scDD"))) (build-system r-build-system) (propagated-inputs @@ -2997,6 +3040,8 @@ assumptions.") ("r-scran" ,r-scran) ("r-singlecellexperiment" ,r-singlecellexperiment) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/kdkorthauer/scDD") (synopsis "Mixture modeling of single-cell RNA-seq data") (description @@ -3011,14 +3056,14 @@ distributions.") (define-public r-scone (package (name "r-scone") - (version "1.10.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "scone" version)) (sha256 (base32 - "1hfsbnix0y9ad6bj0d8q2aw13pb3vjcaa0dfwxxapzl90zwbsjhp")))) + "12hcmbpncm0l1yxhm3sgkqqfri7s5qc46ikv5qcj8pw5a42rkx3g")))) (build-system r-build-system) (propagated-inputs `(("r-aroma-light" ,r-aroma-light) @@ -3040,6 +3085,8 @@ distributions.") ("r-rhdf5" ,r-rhdf5) ("r-ruvseq" ,r-ruvseq) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/scone") (synopsis "Single cell overview of normalized expression data") (description @@ -3051,14 +3098,14 @@ high-throughput analyses.") (define-public r-geoquery (package (name "r-geoquery") - (version "2.54.1") + (version "2.56.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GEOquery" version)) (sha256 (base32 - "0j8mlldy7dc38fx5zwj6z6l4b9bhvrn8sil3z8asnd4ic7w9ifx5")))) + "0sap1dsa3k3qpv5z5y3cimxyhbm8qai87gqn3g1w3hwlcqsss92m")))) (properties `((upstream-name . "GEOquery"))) (build-system r-build-system) (propagated-inputs @@ -3070,6 +3117,8 @@ high-throughput analyses.") ("r-readr" ,r-readr) ("r-tidyr" ,r-tidyr) ("r-xml2" ,r-xml2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/seandavi/GEOquery/") (synopsis "Get data from NCBI Gene Expression Omnibus (GEO)") (description @@ -3082,14 +3131,14 @@ the bridge between GEO and BioConductor.") (define-public r-illuminaio (package (name "r-illuminaio") - (version "0.28.0") + (version "0.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "illuminaio" version)) (sha256 (base32 - "1psza8jq6h8fv2rm91ah67dgjlnj1l80yracwgdl1agd0ycv90sh")))) + "0i587r1v5aa25w0jm1zvh7spc1gqmvza49i2kv00g1qzj8whq67c")))) (build-system r-build-system) (propagated-inputs `(("r-base64" ,r-base64))) @@ -3103,14 +3152,14 @@ files, including IDAT.") (define-public r-siggenes (package (name "r-siggenes") - (version "1.60.0") + (version "1.62.0") (source (origin (method url-fetch) (uri (bioconductor-uri "siggenes" version)) (sha256 (base32 - "03lmq3hqprwps4miynl2vhqi3v4als5vqmz4lb19lk5a4zja72b4")))) + "0i4y1hgq1ljxkf6sypb6c8yp412a8q5v5z68cx1zrgxnccvp0mfy")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -3129,14 +3178,14 @@ Bayes Analyses of Microarrays} (EBAM).") (define-public r-bumphunter (package (name "r-bumphunter") - (version "1.28.0") + (version "1.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bumphunter" version)) (sha256 (base32 - "1p3gwb954zns61d1pwgkplxnvgk2lixrl93kkkf439wa3vlgsnjv")))) + "04y6spdx89j3bsq2xniqd3sbfmakwc0klbpzjlp1q2xs9kywr4dq")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -3163,14 +3212,14 @@ studies.") (define-public r-minfi (package (name "r-minfi") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "minfi" version)) (sha256 (base32 - "177isdvcq2476xybvfbh7x11qsj5nzckgh3b6p156wlx9ap9dvl3")))) + "0bl1sk9syy770d5wqa0k1y0wrs5x8sbj13px1v03v3693pdj081w")))) (build-system r-build-system) (propagated-inputs `(("r-beanplot" ,r-beanplot) @@ -3202,6 +3251,8 @@ studies.") ("r-s4vectors" ,r-s4vectors) ("r-siggenes" ,r-siggenes) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hansenlab/minfi") (synopsis "Analyze Illumina Infinium DNA methylation arrays") (description @@ -3212,14 +3263,14 @@ methylation arrays.") (define-public r-methylumi (package (name "r-methylumi") - (version "2.32.0") + (version "2.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "methylumi" version)) (sha256 (base32 - "0zd4h6n37v3z0mas69z2xsf5s0naih828987m8v0g9hhq4f6hf5w")))) + "0phb2dyndnk9rv79nx246cn1sc9wbzdqqbgl6402knc7dgh799wr")))) (build-system r-build-system) (propagated-inputs `(("r-annotate" ,r-annotate) @@ -3240,6 +3291,8 @@ methylation arrays.") ("r-s4vectors" ,r-s4vectors) ("r-scales" ,r-scales) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/methylumi") (synopsis "Handle Illumina methylation data") (description @@ -3256,14 +3309,14 @@ and Infinium HD arrays are also included.") (define-public r-lumi (package (name "r-lumi") - (version "2.38.0") + (version "2.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "lumi" version)) (sha256 (base32 - "0lgrqbdvp7ykcafc0bpnbcsf396na3jj5c35x9ysf5bpcas23nmm")))) + "196izc4mdh8j4f04fsf8cqm99w1inzpwy34kwvhz6zvxj2ywn1i9")))) (build-system r-build-system) (propagated-inputs `(("r-affy" ,r-affy) @@ -3295,14 +3348,14 @@ especially Illumina Infinium methylation microarrays.") (define-public r-linnorm (package (name "r-linnorm") - (version "2.10.0") + (version "2.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Linnorm" version)) (sha256 (base32 - "15mhwiqmp9m65zvrdbr2hhy3x81lf4jbwgjsf75g41if2v2g8x67")))) + "143hdfswp5sda5al1igrm5gyn7a6mp1j7hjm5jsc300335lm3kgp")))) (properties `((upstream-name . "Linnorm"))) (build-system r-build-system) (propagated-inputs @@ -3324,6 +3377,8 @@ especially Illumina Infinium methylation microarrays.") ("r-statmod" ,r-statmod) ("r-vegan" ,r-vegan) ("r-zoo" ,r-zoo))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://www.jjwanglab.org/Linnorm/") (synopsis "Linear model and normality based transformation method") (description @@ -3354,14 +3409,14 @@ evaluation of DEG analysis methods.") (define-public r-ioniser (package (name "r-ioniser") - (version "2.10.0") + (version "2.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "IONiseR" version)) (sha256 (base32 - "1c265bzh923i9mw83mjpj0bzbkixbs6sg1h1z51y9xjkakdgg90f")))) + "05fndlblczabva60gn6h0dijqxyn0wknrv8a925fgc4bn415g31w")))) (properties `((upstream-name . "IONiseR"))) (build-system r-build-system) (propagated-inputs @@ -3378,6 +3433,8 @@ evaluation of DEG analysis methods.") ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) ("r-xvector" ,r-xvector))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/IONiseR/") (synopsis "Quality assessment tools for Oxford Nanopore MinION data") (description @@ -3476,14 +3533,14 @@ published results; and a routine for graphical display.") (define-public r-triform (package (name "r-triform") - (version "1.28.0") + (version "1.29.0") (source (origin (method url-fetch) (uri (bioconductor-uri "triform" version)) (sha256 (base32 - "12qdyrcw2mcawqdw65v0hjaghzlwa10xl6j8458izcrm5k6dlvz9")))) + "089b7f6dwpi9abj0ncswbi4s30k45996zb99sh43avw6jcb6qj60")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -3500,14 +3557,14 @@ peak definition in combination with known profile characteristics.") (define-public r-varianttools (package (name "r-varianttools") - (version "1.28.1") + (version "1.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantTools" version)) (sha256 (base32 - "1x57shc3slcbnc807ra1nwnjr37sqjh04n2xfwd469m4hkjb0jzh")))) + "0g93rljlmhk1d53z0bgi84i2cn5c3r1dpm8id2pv0nk9ncdh3yxx")))) (properties `((upstream-name . "VariantTools"))) (build-system r-build-system) (propagated-inputs @@ -3540,14 +3597,14 @@ gmapR.") (define-public r-heatplus (package (name "r-heatplus") - (version "2.32.1") + (version "2.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Heatplus" version)) (sha256 (base32 - "1ldxj2hasg6ysh70sc73mz2v4h3n8gf3lii09c3sqc4wmz5h7rp1")))) + "12nd0h8svx7qydv1shk0gdpvnbixf7qi6zh06881wsmxf5s970rw")))) (properties `((upstream-name . "Heatplus"))) (build-system r-build-system) (propagated-inputs @@ -3565,14 +3622,14 @@ information about samples and features can be added to the plot.") (define-public r-gosemsim (package (name "r-gosemsim") - (version "2.12.1") + (version "2.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GOSemSim" version)) (sha256 (base32 - "1r8yx6qw6d6602cp8aspzl3shi1l1zqcrc8fm9d5wg01sw1whs05")))) + "0mg4d8whq90iyl2jjj5dx3kyar17yqn00jvia3b4a8lhmjw8l1hk")))) (properties `((upstream-name . "GOSemSim"))) (build-system r-build-system) (propagated-inputs @@ -3594,14 +3651,14 @@ sets of GO terms, gene products and gene clusters.") (define-public r-anota (package (name "r-anota") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "anota" version)) (sha256 (base32 - "1bkavzrxy1bjz0bwapwa9i3ysln7gljgziwd8c05fmg2f46j1z6m")))) + "1ind5cyq85l63xpqmg2n9rg805s5amh48iiw05zqr8kih6hlilpm")))) (build-system r-build-system) (propagated-inputs `(("r-multtest" ,r-multtest) @@ -3625,14 +3682,14 @@ the data set is suitable for such analysis.") (define-public r-sigpathway (package (name "r-sigpathway") - (version "1.54.0") + (version "1.56.0") (source (origin (method url-fetch) (uri (bioconductor-uri "sigPathway" version)) (sha256 (base32 - "057qdkbfldpy6hsysk9mrs1vvsqgyl9yx2s6c2f26jz1pardkbqb")))) + "0a79sdvag80p7xcdz8mp8wiby36yxmappzycfd2rp36v9drjk0h5")))) (properties `((upstream-name . "sigPathway"))) (build-system r-build-system) (home-page "https://www.pnas.org/cgi/doi/10.1073/pnas.0506577102") @@ -3647,14 +3704,14 @@ phenotype of interest.") (define-public r-fgsea (package (name "r-fgsea") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "fgsea" version)) (sha256 (base32 - "0pbq3g515kcbi4wvfx8m09p01h2f8vwsi1qqsyahxz4r1fasz4c1")))) + "0zbjj8al1ps7immxixsn5g8lvbmpmxvqwqbpdgsicxp00gb9bybc")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) @@ -3665,6 +3722,8 @@ phenotype of interest.") ("r-gridextra" ,r-gridextra) ("r-matrix" ,r-matrix) ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/ctlab/fgsea/") (synopsis "Fast gene set enrichment analysis") (description @@ -3677,14 +3736,14 @@ to multiple hypothesis correction.") (define-public r-dose (package (name "r-dose") - (version "3.12.0") + (version "3.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DOSE" version)) (sha256 (base32 - "0ss8mr28q0vswxjmhcas0aqag5nl099jbyn5w3ypbbxqwfvf9jj5")))) + "1j0wcg7w2ns3ag9d272cqlg3j62ag2xnc5gfsjl6g2ij5xkvylb8")))) (properties `((upstream-name . "DOSE"))) (build-system r-build-system) (propagated-inputs @@ -3695,8 +3754,7 @@ to multiple hypothesis correction.") ("r-ggplot2" ,r-ggplot2) ("r-gosemsim" ,r-gosemsim) ("r-qvalue" ,r-qvalue) - ("r-reshape2" ,r-reshape2) - ("r-s4vectors" ,r-s4vectors))) + ("r-reshape2" ,r-reshape2))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://guangchuangyu.github.io/software/DOSE/") @@ -3713,14 +3771,14 @@ data.") (define-public r-enrichplot (package (name "r-enrichplot") - (version "1.6.1") + (version "1.8.1") (source (origin (method url-fetch) (uri (bioconductor-uri "enrichplot" version)) (sha256 (base32 - "0707f5ll58psh7pr001cmmk5di7dprnbry1cy2mw20vn8p24nf3x")))) + "01m3cp717ldfbz5w3yfywvjg6sfjzz7s3vlk7w268lmmcg6g6bz7")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -3734,9 +3792,13 @@ data.") ("r-gosemsim" ,r-gosemsim) ("r-gridextra" ,r-gridextra) ("r-igraph" ,r-igraph) + ("r-plyr" ,r-plyr) ("r-purrr" ,r-purrr) ("r-rcolorbrewer" ,r-rcolorbrewer) - ("r-reshape2" ,r-reshape2))) + ("r-reshape2" ,r-reshape2) + ("r-scatterpie" ,r-scatterpie))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/GuangchuangYu/enrichplot") (synopsis "Visualization of functional enrichment result") (description @@ -3748,22 +3810,23 @@ All the visualization methods are developed based on ggplot2 graphics.") (define-public r-clusterprofiler (package (name "r-clusterprofiler") - (version "3.14.3") + (version "3.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "clusterProfiler" version)) (sha256 (base32 - "08pd7bmqmyxncj09ilz8yb9sf1pv9ni98y8b93pz2giy7pl407hg")))) + "0m7919gzrd2fddb4kcznwpshhab1ha2yppnkxg11zmh40wcdawyi")))) (properties `((upstream-name . "clusterProfiler"))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) ("r-dose" ,r-dose) + ("r-downloader" ,r-downloader) + ("r-dplyr" ,r-dplyr) ("r-enrichplot" ,r-enrichplot) - ("r-ggplot2" ,r-ggplot2) ("r-go-db" ,r-go-db) ("r-gosemsim" ,r-gosemsim) ("r-magrittr" ,r-magrittr) @@ -3771,6 +3834,8 @@ All the visualization methods are developed based on ggplot2 graphics.") ("r-qvalue" ,r-qvalue) ("r-rvcheck" ,r-rvcheck) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://guangchuangyu.github.io/software/clusterProfiler/") (synopsis "Analysis and visualization of functional profiles for gene clusters") (description @@ -3781,14 +3846,14 @@ profiles (GO and KEGG) of gene and gene clusters.") (define-public r-mlinterfaces (package (name "r-mlinterfaces") - (version "1.66.5") + (version "1.68.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MLInterfaces" version)) (sha256 (base32 - "05bg7qcrv485m03rkyq3qg5hrr1m3y7zx49bipwaivzqm3s1mbw5")))) + "0x3mnvb5a6kri4q5w0wfmx02v79my08zhmkaik9pqlprd7y5wynq")))) (properties `((upstream-name . "MLInterfaces"))) (build-system r-build-system) (propagated-inputs @@ -3806,6 +3871,7 @@ profiles (GO and KEGG) of gene and gene clusters.") ("r-mlbench" ,r-mlbench) ("r-pls" ,r-pls) ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rcpp" ,r-rcpp) ("r-rpart" ,r-rpart) ("r-sfsmisc" ,r-sfsmisc) ("r-shiny" ,r-shiny) @@ -3821,14 +3887,14 @@ data in R and Bioconductor containers.") (define-public r-annaffy (package (name "r-annaffy") - (version "1.58.0") + (version "1.60.0") (source (origin (method url-fetch) (uri (bioconductor-uri "annaffy" version)) (sha256 (base32 - "1jrf4bq2wky4ay1jrcy60si6hxdcn4j05w5vgs38yfb92gq77i16")))) + "1rc9fb83by9jfgwfj2zhhbj93v296blwd8jl2rh7jj200mrpznn4")))) (build-system r-build-system) (arguments `(#:phases @@ -3857,14 +3923,14 @@ It allows searching of biological metadata using various criteria.") (define-public r-a4core (package (name "r-a4core") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "a4Core" version)) (sha256 (base32 - "0xcs9wl2yrprl4yc0z5s4zrkil3752k9xc1fi8fcx7zab1mm80df")))) + "1hn9lkaib1bx5n52as882f8zwsln8w40sx8hxbrnimjvgfxrbvnp")))) (properties `((upstream-name . "a4Core"))) (build-system r-build-system) (propagated-inputs @@ -3880,14 +3946,14 @@ arrays.") (define-public r-a4classif (package (name "r-a4classif") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "a4Classif" version)) (sha256 (base32 - "0gj3hdflfs1ybc2kshl9w1dzy0rfzppfj08hx3wa2chjsm0m9brn")))) + "0bj8m4nprw3maahd1qx9jjdxfip9ihbbpydbzwjxn6dlgw2i8mcr")))) (properties `((upstream-name . "a4Classif"))) (build-system r-build-system) (propagated-inputs @@ -3908,14 +3974,14 @@ Affymetrix arrays.") (define-public r-a4preproc (package (name "r-a4preproc") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "a4Preproc" version)) (sha256 (base32 - "11j5nc33gd6yis1fyagr0y39g21bzkc59kq8b8sd6b3pfc84zrjd")))) + "1hy3jvhdjyjzzmw5wkil3cs26hvqnb056r09x0p2bjg5sc9hh8b8")))) (properties `((upstream-name . "a4Preproc"))) (build-system r-build-system) (propagated-inputs @@ -3930,14 +3996,14 @@ is used for preprocessing the arrays.") (define-public r-a4reporting (package (name "r-a4reporting") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "a4Reporting" version)) (sha256 (base32 - "15nd4pa5hkdzkhinvqw5ijdqb7k5gk37v2hmk3jsg2d6m0jqphi5")))) + "1jhlxqwfbgflcyzy9gyxznzcadj9zxchl3lfdlc4ffm0hwz5jl2f")))) (properties `((upstream-name . "a4Reporting"))) (build-system r-build-system) (propagated-inputs @@ -3953,14 +4019,14 @@ provides reporting features.") (define-public r-a4base (package (name "r-a4base") - (version "1.34.1") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "a4Base" version)) (sha256 (base32 - "1a0yk05ikk1hr1vpxynydrb5xb1hj4hdqlh9zd13n83ir89dss83")))) + "0b7fy1wcydb9z43wb1663skswvhivn7ji15g00gqcshwkkiq4x02")))) (properties `((upstream-name . "a4Base"))) (build-system r-build-system) (propagated-inputs @@ -3985,14 +4051,14 @@ Affymetrix arrays.") (define-public r-a4 (package (name "r-a4") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "a4" version)) (sha256 (base32 - "14yipy6s2wqr9q0yp09x1mm17npknrhs6yd34i3wrb5id64ywnq4")))) + "1rzxg1h48jnlwqfjyyqzz6i3zlkfzc0i714rfplry7dyni6asgr7")))) (build-system r-build-system) (propagated-inputs `(("r-a4base" ,r-a4base) @@ -4010,14 +4076,14 @@ Affymetrix arrays.") (define-public r-abseqr (package (name "r-abseqr") - (version "1.4.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "abseqR" version)) (sha256 (base32 - "1n9h5qkj4njr1f8fvhg9sj9wxcd7hljnnk8m80zwswzs2n9ivppa")))) + "0pzyfn0jv41rja6l4jbgwgsqy0q1d3kz23m9m6pc67p2a231i9c5")))) (properties `((upstream-name . "abseqR"))) (build-system r-build-system) (inputs @@ -4041,6 +4107,8 @@ Affymetrix arrays.") ("r-stringr" ,r-stringr) ("r-vegan" ,r-vegan) ("r-venndiagram" ,r-venndiagram))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/malhamdoosh/abseqR") (synopsis "Reporting and data analysis for Rep-Seq datasets of antibody libraries") (description @@ -4056,14 +4124,14 @@ further downstream analysis on its output.") (define-public r-bacon (package (name "r-bacon") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bacon" version)) (sha256 (base32 - "1q18vm4znl47v56cnvx9y5ygrial2mdjpl8x1043jq00kyygrc86")))) + "066b9vyp8ivnzm9741mb5z763a7z40ar9m8w31yw84fjiv01v3dl")))) (build-system r-build-system) (propagated-inputs `(("r-biocparallel" ,r-biocparallel) @@ -4083,14 +4151,14 @@ fitting a three-component normal mixture on z-scores.") (define-public r-rgadem (package (name "r-rgadem") - (version "2.34.1") + (version "2.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "rGADEM" version)) (sha256 (base32 - "12xm4p4qsczf57kip8bvi6pr8sb5gvn11dnbz7lbh6sc03sx3q2h")))) + "14mflbwhhj9f3b05zdlsdjwxmpb120r23fy306qkvxjprdqn4sz8")))) (properties `((upstream-name . "rGADEM"))) (build-system r-build-system) (propagated-inputs @@ -4109,14 +4177,14 @@ genomic sequence data.") (define-public r-motiv (package (name "r-motiv") - (version "1.42.0") + (version "1.43.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MotIV" version)) (sha256 (base32 - "07k4rw4nhcn4sg43psv1h7qr064gws22m2yyr7x8sy3f1i1c954k")))) + "1yqqymcrnwlpv6h3w80yliv19922g32xqlqszaqjk6zp853qilh6")))) (properties `((upstream-name . "MotIV"))) (build-system r-build-system) (inputs @@ -4141,21 +4209,24 @@ distributions, modules and filter motifs.") (define-public r-motifdb (package (name "r-motifdb") - (version "1.28.0") + (version "1.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MotifDb" version)) (sha256 - (base32 "0m5apkjlvdq9yhjdyds3hivfnkbm6f059hy2bkjhalrlhd2si2jc")))) + (base32 "0ixmdqp0s0xv9ar85n2wirbbssrzlk8a892wam55jdsf9y8aabkm")))) (properties `((upstream-name . "MotifDb"))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) ("r-biostrings" ,r-biostrings) + ("r-genomicranges" ,r-genomicranges) ("r-iranges" ,r-iranges) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-splitstackshape" ,r-splitstackshape))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://www.bioconductor.org/packages/MotifDb/") (synopsis "Annotated collection of protein-DNA binding sequence motifs") (description "This package provides more than 2000 annotated position @@ -4165,32 +4236,35 @@ frequency matrices from nine public sources, for multiple organisms.") (define-public r-motifbreakr (package (name "r-motifbreakr") - (version "2.0.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (bioconductor-uri "motifbreakR" version)) (sha256 - (base32 "190z8gj393qdpq5wz7gph96k0l8c1j9wd0p0llscysvk5kr1hf9n")))) + (base32 "09czgmyjcycsvyvadpjddwwvqvxzd0ba3zhczh4mqc09gwa6vhlm")))) (properties `((upstream-name . "motifbreakR"))) (build-system r-build-system) (propagated-inputs - `(("r-grimport" ,r-grimport) - ("r-stringr" ,r-stringr) - ("r-biocgenerics" ,r-biocgenerics) - ("r-s4vectors" ,r-s4vectors) - ("r-iranges" ,r-iranges) - ("r-genomeinfodb" ,r-genomeinfodb) - ("r-genomicranges" ,r-genomicranges) + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) ("r-biostrings" ,r-biostrings) ("r-bsgenome" ,r-bsgenome) - ("r-rtracklayer" ,r-rtracklayer) - ("r-variantannotation" ,r-variantannotation) - ("r-biocparallel" ,r-biocparallel) - ("r-motifstack" ,r-motifstack) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-grimport" ,r-grimport) ("r-gviz" ,r-gviz) + ("r-iranges" ,r-iranges) ("r-matrixstats" ,r-matrixstats) + ("r-motifdb" ,r-motifdb) + ("r-motifstack" ,r-motifstack) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-stringr" ,r-stringr) + ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-tfmpvalue" ,r-tfmpvalue) - ("r-motifdb" ,r-motifdb))) + ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://www.bioconductor.org/packages/motifbreakR/") (synopsis "Predicting disruptiveness of single nucleotide polymorphisms") (description "This package allows biologists to judge in the first place @@ -4213,14 +4287,14 @@ Bioconductor.") (define-public r-motifstack (package (name "r-motifstack") - (version "1.30.0") + (version "1.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "motifStack" version)) (sha256 (base32 - "00rafqs1gqlcxlbsdn9qnq9xb7wjphiksb3hsx76viqjbjzi14wg")))) + "008f2mjcyyiz84ilrsldpqwvxy2lp93hjggrq4nrqwi78nyx3ls5")))) (properties `((upstream-name . "motifStack"))) (build-system r-build-system) (propagated-inputs @@ -4232,6 +4306,8 @@ Bioconductor.") ("r-motiv" ,r-motiv) ("r-scales" ,r-scales) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/motifStack/") (synopsis "Plot stacked logos for DNA, RNA and amino acid sequences") (description @@ -4245,14 +4321,14 @@ type and symbol colors.") (define-public r-genomicscores (package (name "r-genomicscores") - (version "1.10.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicScores" version)) (sha256 (base32 - "175iaqv7npa11yw48vmqpgx0qqs3g44c3dsya7ccwd1lg97fznkj")))) + "0si2lgc37mkah4w990q1q2bf8xmshxj7cbx92bcrp0zaipjr96bb")))) (properties `((upstream-name . "GenomicScores"))) (build-system r-build-system) (propagated-inputs @@ -4260,12 +4336,16 @@ type and symbol colors.") ("r-biobase" ,r-biobase) ("r-biocgenerics" ,r-biocgenerics) ("r-biostrings" ,r-biostrings) - ("r-bsgenome" ,r-bsgenome) + ("r-delayedarray" ,r-delayedarray) ("r-genomeinfodb" ,r-genomeinfodb) ("r-genomicranges" ,r-genomicranges) + ("r-hdf5array" ,r-hdf5array) ("r-iranges" ,r-iranges) + ("r-rhdf5" ,r-rhdf5) ("r-s4vectors" ,r-s4vectors) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/rcastelo/GenomicScores/") (synopsis "Work with genome-wide position-specific scores") (description @@ -4276,14 +4356,14 @@ position-specific scores within R and Bioconductor.") (define-public r-atacseqqc (package (name "r-atacseqqc") - (version "1.10.4") + (version "1.12.3") (source (origin (method url-fetch) (uri (bioconductor-uri "ATACseqQC" version)) (sha256 (base32 - "1g07ni134cyl3jd9y19afip39kxddfgpm1jjm0rhrm7jgssp24in")))) + "12710c4024pndwwqiiqr6dhrd360z26fc8r3fxhs739gyd0ddk9r")))) (properties `((upstream-name . "ATACseqQC"))) (build-system r-build-system) (propagated-inputs @@ -4323,14 +4403,14 @@ footprints.") (define-public r-gofuncr (package (name "r-gofuncr") - (version "1.6.1") + (version "1.8.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GOfuncR" version)) (sha256 (base32 - "1wk7ja6f5il8jx8v05ijzcs9pijp3b953h566ya66xp7dz5jg9rb")))) + "1ixjkqb9wpwqfzxsg0h96c6fa63wrk72sfh6x4pq0kpyrcc0ind1")))) (properties `((upstream-name . "GOfuncR"))) (build-system r-build-system) (propagated-inputs @@ -4372,14 +4452,14 @@ annotations and ontologies.") (define-public r-abaenrichment (package (name "r-abaenrichment") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ABAEnrichment" version)) (sha256 (base32 - "128ik28j8kmdkycffhxajv5h174zdq9sfn2gz6ai90wgkdadbzwp")))) + "09ihbgxrhpcz2q7svldhm710a0yrhiqk9p0q0myv11c2w50ymwkw")))) (properties `((upstream-name . "ABAEnrichment"))) (build-system r-build-system) (propagated-inputs @@ -4389,6 +4469,8 @@ annotations and ontologies.") ("r-gplots" ,r-gplots) ("r-gtools" ,r-gtools) ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/ABAEnrichment/") (synopsis "Gene expression enrichment in human brain regions") (description @@ -4402,14 +4484,14 @@ the brain using an ontology, both provided by the Allen Brain Atlas project.") (define-public r-annotationfuncs (package (name "r-annotationfuncs") - (version "1.36.0") + (version "1.38.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationFuncs" version)) (sha256 (base32 - "0ws14b1ibqml7w8kj0gi7wdp6wd8dcdpnrmcxldjzsyawf17q0yq")))) + "1yfsxzn7s1nlc3xz2yj39j6hmdfapc9qj9h0cd71gkaxj53ial7d")))) (properties `((upstream-name . "AnnotationFuncs"))) (build-system r-build-system) @@ -4427,14 +4509,14 @@ different identifieres using the Biocore Data Team data-packages (e.g. (define-public r-annotationtools (package (name "r-annotationtools") - (version "1.60.0") + (version "1.62.0") (source (origin (method url-fetch) (uri (bioconductor-uri "annotationTools" version)) (sha256 (base32 - "1cq7ayq2swp2ahlphz74nh5mb869rgyyr0kkqy1mxyilk8k2g44i")))) + "1b1yfnknr9vbn4y2mxdfyx57i5jbabhp9pwx8axlg2a7lawkfmdk")))) (properties `((upstream-name . "annotationTools"))) (build-system r-build-system) @@ -4452,14 +4534,14 @@ text files).") (define-public r-allelicimbalance (package (name "r-allelicimbalance") - (version "1.24.0") + (version "1.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AllelicImbalance" version)) (sha256 (base32 - "0vy8w7ii2qljsmq8lr21lygkcrsshc7syyqhadlbxyj3scgi7kyc")))) + "0irn4xdlvazdkv0055f45693y6zvqaz7j3vml5xscnh45ls6vmqr")))) (properties `((upstream-name . "AllelicImbalance"))) (build-system r-build-system) @@ -4483,6 +4565,8 @@ text files).") ("r-seqinr" ,r-seqinr) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/pappewaio/AllelicImbalance") (synopsis "Investigate allele-specific expression") (description @@ -4493,14 +4577,14 @@ investigation using RNA-seq data.") (define-public r-aucell (package (name "r-aucell") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AUCell" version)) (sha256 (base32 - "1g4mdq8z29fjxrfjng0fb3cvbph49mwds4ijsa2bn2k6f75dnzky")))) + "0fgqkgjhf92vkljkwn44lm8cjvzq1lvk80nk6xhsp5q6s5isbmns")))) (properties `((upstream-name . "AUCell"))) (build-system r-build-system) (propagated-inputs @@ -4512,6 +4596,8 @@ investigation using RNA-seq data.") ("r-s4vectors" ,r-s4vectors) ("r-shiny" ,r-shiny) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/AUCell/") (synopsis "Analysis of gene set activity in single-cell RNA-seq data") (description @@ -4530,14 +4616,14 @@ needed.") (define-public r-ebimage (package (name "r-ebimage") - (version "4.28.1") + (version "4.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "EBImage" version)) (sha256 (base32 - "0q54q2nw6p1s4nrj1l8qz78m67xcysj2x82zs43my8iv2g9iifgs")))) + "13amrbh545hwk7sygndzyv7wpa0m2y0lzlwj89jm1xm62x577w9v")))) (properties `((upstream-name . "EBImage"))) (build-system r-build-system) (propagated-inputs @@ -4569,14 +4655,14 @@ visualization with image data.") (define-public r-yamss (package (name "r-yamss") - (version "1.12.1") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "yamss" version)) (sha256 (base32 - "12jr7hbrwhb1gfjadj1024hv80ra22miy46dn40nmsrbklkfn3rw")))) + "00x2lnssgzbmhy5bb2m0f8rq2nsz3lb5xlp2vhkcagza39h3xb0c")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -4589,6 +4675,8 @@ visualization with image data.") ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hansenlab/yamss") (synopsis "Tools for high-throughput metabolomics") (description @@ -4601,20 +4689,22 @@ analysis.") (define-public r-gtrellis (package (name "r-gtrellis") - (version "1.18.0") + (version "1.20.1") (source (origin (method url-fetch) (uri (bioconductor-uri "gtrellis" version)) (sha256 (base32 - "0mgspmv6p1a2k98jyy2dfl0wpa2vh7bhnjfm2xaqmcsxzmbjhh9z")))) + "1v2l7r945xx4cf9s8m19csj7716n2ayxy05adkl8zqgxk0gxzqm1")))) (build-system r-build-system) (propagated-inputs `(("r-circlize" ,r-circlize) ("r-genomicranges" ,r-genomicranges) ("r-getoptlong" ,r-getoptlong) ("r-iranges" ,r-iranges))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/jokergoo/gtrellis") (synopsis "Genome level Trellis layout") (description @@ -4628,14 +4718,14 @@ genomic categories and to add self-defined graphics in the plot.") (define-public r-somaticsignatures (package (name "r-somaticsignatures") - (version "2.22.0") + (version "2.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "SomaticSignatures" version)) (sha256 (base32 - "1gvrkahllwz38g3hn9pjlikhfqz19a4qglcqmyrxk7h9ybx5zy5z")))) + "0d34mss73w1jdnmilk060a1fywlfmqbnlir089q9m3q1p3x0j4c1")))) (properties `((upstream-name . "SomaticSignatures"))) (build-system r-build-system) @@ -4653,6 +4743,8 @@ genomic categories and to add self-defined graphics in the plot.") ("r-reshape2" ,r-reshape2) ("r-s4vectors" ,r-s4vectors) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/juliangehring/SomaticSignatures") (synopsis "Somatic signatures") (description @@ -4665,33 +4757,42 @@ decomposition algorithms.") (define-public r-yapsa (package (name "r-yapsa") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "YAPSA" version)) (sha256 (base32 - "132x51f8k8zyx6j8jk05x4lr9q1hlblgvr69wkhn0q3f8mhaj926")))) + "06lkf01vl4fyhj82srx8k870fhw76a1han0kp4jglh43b1c19c1k")))) (properties `((upstream-name . "YAPSA"))) (build-system r-build-system) (propagated-inputs - `(("r-circlize" ,r-circlize) + `(("r-biostrings" ,r-biostrings) + ("r-bsgenome-hsapiens-ucsc-hg19" ,r-bsgenome-hsapiens-ucsc-hg19) + ("r-circlize" ,r-circlize) ("r-complexheatmap" ,r-complexheatmap) ("r-corrplot" ,r-corrplot) ("r-dendextend" ,r-dendextend) + ("r-doparallel" ,r-doparallel) + ("r-dplyr" ,r-dplyr) ("r-genomeinfodb" ,r-genomeinfodb) ("r-genomicranges" ,r-genomicranges) ("r-getoptlong" ,r-getoptlong) + ("r-ggbeeswarm" ,r-ggbeeswarm) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) ("r-gtrellis" ,r-gtrellis) ("r-keggrest" ,r-keggrest) ("r-lsei" ,r-lsei) + ("r-magrittr" ,r-magrittr) ("r-pmcmr" ,r-pmcmr) + ("r-pracma" ,r-pracma) ("r-reshape2" ,r-reshape2) ("r-somaticsignatures" ,r-somaticsignatures) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/YAPSA/") (synopsis "Yet another package for signature analysis") (description @@ -4705,14 +4806,14 @@ provided.") (define-public r-gcrma (package (name "r-gcrma") - (version "2.58.0") + (version "2.60.0") (source (origin (method url-fetch) (uri (bioconductor-uri "gcrma" version)) (sha256 (base32 - "0c9sa9ldlcpdcjdan8m4ndnyaisr6wbarq486sl44ikh7wf1csfx")))) + "1klbnygc1i5ac1x00bsk0rjw5h5dn6pn65fa3y9r09q47gpy1c5g")))) (build-system r-build-system) (propagated-inputs `(("r-affy" ,r-affy) @@ -4741,14 +4842,14 @@ gene-specific bidning is expected.") (define-public r-simpleaffy (package (name "r-simpleaffy") - (version "2.62.0") + (version "2.64.0") (source (origin (method url-fetch) (uri (bioconductor-uri "simpleaffy" version)) (sha256 (base32 - "18bz3pfgp0f7906flrljx97ann8s71pnb8gpw7nah46n8vqc0xcs")))) + "040043spblr8v67lkn3nnxhgfmfh2iwaizph4fnms1ik6qz662x7")))) (build-system r-build-system) (propagated-inputs `(("r-affy" ,r-affy) @@ -4769,14 +4870,14 @@ generating high resolution journal figures.") (define-public r-yaqcaffy (package (name "r-yaqcaffy") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "yaqcaffy" version)) (sha256 (base32 - "0kzzqsf1lfbcmy95w2z0c9qrvp7mbwm50k2l9wvz3xa5wz6xa7gz")))) + "1l0cblh9sfrsil15bjya7d8kkas8bj6klj2w3c4384njdsjsjcf0")))) (build-system r-build-system) (propagated-inputs `(("r-simpleaffy" ,r-simpleaffy))) @@ -4791,14 +4892,14 @@ chips with the MAQC reference datasets.") (define-public r-quantro (package (name "r-quantro") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "quantro" version)) (sha256 (base32 - "09f3x1j50ll5hhn3qwys5x06mii3fqsrk6dkvsxai0kdxv9cjz9m")))) + "0ap9cl5z79wg44mnagjsk8py3kngb4f0ddnx85cbnwqkvb769zbz")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -4808,6 +4909,8 @@ chips with the MAQC reference datasets.") ("r-iterators" ,r-iterators) ("r-minfi" ,r-minfi) ("r-rcolorbrewer" ,r-rcolorbrewer))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/quantro/") (synopsis "Test for when to use quantile normalization") (description @@ -4822,14 +4925,14 @@ groups.") (define-public r-yarn (package (name "r-yarn") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "yarn" version)) (sha256 (base32 - "0891a10adkhm1zpm7fpcxc2xfxjf9yrpckaz87b2wdjdiwivc4cp")))) + "1xdjwy1gkfg8lhgq4iwwmbi01903qljjs7yd96cvacmvgn8z6qvx")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -4843,6 +4946,8 @@ groups.") ("r-quantro" ,r-quantro) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-readr" ,r-readr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/yarn/") (synopsis "Robust multi-condition RNA-Seq preprocessing and normalization") (description @@ -4857,14 +4962,14 @@ large RNA-seq experiments.") (define-public r-roar (package (name "r-roar") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "roar" version)) (sha256 (base32 - "1nqw0agx9x8ycdf0gw17fdlnmzpw9x3zig1wcy10xpyhyjdbbi06")))) + "069g887migvk70n0377dqr0fk7wjbz3w0asgk42bwhp8xpjfym6f")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -4886,14 +4991,14 @@ sites and alignments obtained from standard RNA-seq experiments.") (define-public r-xbseq (package (name "r-xbseq") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "XBSeq" version)) (sha256 (base32 - "1qr5gvf8jcx6r0ac7d2wmnikswmp3k71lirnw7dyr6fndzrdz9lp")))) + "13br7x1q6dg8daxahskwq24f09wbxr8kyszl1z7dhc26bid2pvy0")))) (properties `((upstream-name . "XBSeq"))) (build-system r-build-system) (propagated-inputs @@ -4906,6 +5011,8 @@ sites and alignments obtained from standard RNA-seq experiments.") ("r-matrixstats" ,r-matrixstats) ("r-pracma" ,r-pracma) ("r-roar" ,r-roar))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/Liuy12/XBSeq") (synopsis "Test for differential expression for RNA-seq data") (description @@ -4923,14 +5030,14 @@ genes.") (define-public r-massspecwavelet (package (name "r-massspecwavelet") - (version "1.52.0") + (version "1.54.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MassSpecWavelet" version)) (sha256 (base32 - "0xnj3ncrwvr2b8msi3g77mgzj0zaksn3lgqdn1abh0ww5wgk83v7")))) + "0nv1r68g7f1rps6sqaccd4n4x0i19wklvyabhp4b03cdk22gl3nq")))) (properties `((upstream-name . "MassSpecWavelet"))) (build-system r-build-system) @@ -4947,14 +5054,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).") (define-public r-xcms (package (name "r-xcms") - (version "3.8.2") + (version "3.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "xcms" version)) (sha256 (base32 - "0bfl56v3l6k31i11l09nx1yqfjy6z5yragm6k83z4w0mpgk18y7g")))) + "1aa11gy1v7kkamv3hsnvdx715q8f1saw9p664j6wifyjj0hx13kn")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -4964,14 +5071,16 @@ based on @dfn{Continuous Wavelet Transform} (CWT).") ("r-lattice" ,r-lattice) ("r-massspecwavelet" ,r-massspecwavelet) ("r-msnbase" ,r-msnbase) - ("r-multtest" ,r-multtest) ("r-mzr" ,r-mzr) ("r-plyr" ,r-plyr) ("r-protgenerics" ,r-protgenerics) ("r-rann" ,r-rann) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-robustbase" ,r-robustbase) - ("r-s4vectors" ,r-s4vectors))) + ("r-s4vectors" ,r-s4vectors) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/xcms/") (synopsis "LC/MS and GC/MS mass spectrometry data analysis") (description @@ -4984,20 +5093,22 @@ data for high-throughput, untargeted analyte profiling.") (define-public r-wrench (package (name "r-wrench") - (version "1.4.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Wrench" version)) (sha256 (base32 - "1s8d7jn0dk5zk2fhvsd4sgicypz4c41nzf19nqzcwb9bd6asgrwm")))) + "05dyk3yvbqrzvinv3ig8ad9wffwr14z715cicsbxwxpv5lq84wx6")))) (properties `((upstream-name . "Wrench"))) (build-system r-build-system) (propagated-inputs `(("r-limma" ,r-limma) ("r-locfit" ,r-locfit) ("r-matrixstats" ,r-matrixstats))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/HCBravoLab/Wrench") (synopsis "Wrench normalization for sparse count data") (description @@ -5008,14 +5119,14 @@ that arising from 16s metagenomic surveys.") (define-public r-wiggleplotr (package (name "r-wiggleplotr") - (version "1.10.1") + (version "1.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "wiggleplotr" version)) (sha256 (base32 - "1pj2bsn5azs18mp5hr4g7c6rnds2y2rjjnak2785kaj7xi8jly4m")))) + "15l8f7ls2mwhsw68sr1k4r19hmdzjriibr5hpnfbanzj5x6yhdjq")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -5028,6 +5139,8 @@ that arising from 16s metagenomic surveys.") ("r-purrr" ,r-purrr) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/wiggleplotr/") (synopsis "Make read coverage plots from BigWig files") (description @@ -5040,14 +5153,14 @@ visualization of exonic read coverage.") (define-public r-widgettools (package (name "r-widgettools") - (version "1.64.0") + (version "1.66.0") (source (origin (method url-fetch) (uri (bioconductor-uri "widgetTools" version)) (sha256 (base32 - "1nqy3icayacv5mlv5s5xgfli0dqzancs6zpffrl5p237c994nyr5")))) + "0lrdpsgm9r7yfyyj5crvb7px4hrghxhmiic4iissz40slbfyvilx")))) (properties `((upstream-name . "widgetTools"))) (build-system r-build-system) (home-page "https://bioconductor.org/packages/widgetTools/") @@ -5061,14 +5174,14 @@ widgets in R.") (define-public r-webbioc (package (name "r-webbioc") - (version "1.58.0") + (version "1.60.0") (source (origin (method url-fetch) (uri (bioconductor-uri "webbioc" version)) (sha256 (base32 - "1cwrmvh1l603k6j1r425c4vrqp0zf0x7bgx7y1wnbq4r7yc5sp62")))) + "16376ya5a5x2hwkl1v9y4r7np1drdwm912knnqg2dn90zmrdwr5f")))) (build-system r-build-system) (inputs `(("netpbm" ,netpbm) @@ -5094,14 +5207,14 @@ Currently only Affymetrix oligonucleotide analysis is supported.") (define-public r-zfpkm (package (name "r-zfpkm") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "zFPKM" version)) (sha256 (base32 - "1hg0vc0ns8d4jpddn1v5a5m13a033b0wf1al01pb1lvmx5mzzr2n")))) + "0scszhfqrgzhglz1a6kxfydq9dx8fqx28j3dypp91y5ah2w6mdys")))) (properties `((upstream-name . "zFPKM"))) (build-system r-build-system) (propagated-inputs @@ -5110,6 +5223,8 @@ Currently only Affymetrix oligonucleotide analysis is supported.") ("r-ggplot2" ,r-ggplot2) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/ronammar/zFPKM/") (synopsis "Functions to facilitate zFPKM transformations") (description @@ -5121,18 +5236,20 @@ This algorithm is based on the publication by Hart et al., 2013 (Pubmed ID (define-public r-rbowtie2 (package (name "r-rbowtie2") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rbowtie2" version)) (sha256 (base32 - "1b7x42n9zisi2w2wwfc0c39j8s9868imyr0ysqgswf6l5mv9ivc5")))) + "1z2dn0q3wcw8b9ibx388kh7p5km16i71sw9miqj3daw7g0v5bxp3")))) (properties `((upstream-name . "Rbowtie2"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/Rbowtie2/") (synopsis "R wrapper for Bowtie2 and AdapterRemoval") (description @@ -5144,16 +5261,24 @@ rapid adapter trimming, identification, and read merging.") (define-public r-progeny (package (name "r-progeny") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "progeny" version)) (sha256 (base32 - "0j3kxjj7xmmwb29p87n3bw7bl38gcb94jrpw32126a578rf1pfrq")))) + "09rq3nf9zm7w9djmx8xc8j3win3597p2v36zqgkhgkjwq5rkjgsh")))) (build-system r-build-system) - (propagated-inputs `(("r-biobase" ,r-biobase))) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-dplyr" ,r-dplyr) + ("r-ggplot2" ,r-ggplot2) + ("r-ggrepel" ,r-ggrepel) + ("r-gridextra" ,r-gridextra) + ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/saezlab/progeny") (synopsis "Pathway responsive gene activity inference") (description @@ -5166,14 +5291,14 @@ expression\".") (define-public r-arrmnormalization (package (name "r-arrmnormalization") - (version "1.26.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ARRmNormalization" version)) (sha256 (base32 - "0jj81q454nyh4hr5c56q1hv7i4ynx3rwnvpv08w34a6m77122bi1")))) + "0zhhvr051fmh6g0bqrl525mkf094j1jnc57j201jlzmvdpkydlpv")))) (properties `((upstream-name . "ARRmNormalization"))) (build-system r-build-system) @@ -5189,14 +5314,14 @@ Infinium HumanMethylation 450k assay.") (define-public r-biocfilecache (package (name "r-biocfilecache") - (version "1.10.2") + (version "1.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocFileCache" version)) (sha256 (base32 - "0jivhn95y6zv5ryamqk6nyd4l8nlskq64j362l9ml9qw746v0ja6")))) + "02chrzwccmazi7rdfpyriizhbgxyxlmprlw32w05wk54as6wrxv8")))) (properties `((upstream-name . "BiocFileCache"))) (build-system r-build-system) (propagated-inputs @@ -5207,6 +5332,8 @@ Infinium HumanMethylation 450k assay.") ("r-httr" ,r-httr) ("r-rappdirs" ,r-rappdirs) ("r-rsqlite" ,r-rsqlite))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocFileCache/") (synopsis "Manage files across sessions") (description @@ -5219,14 +5346,14 @@ and data files used across sessions.") (define-public r-iclusterplus (package (name "r-iclusterplus") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "iClusterPlus" version)) (sha256 (base32 - "1dzgfzf2x8m62hssvsn1zzag7m444kyxj2vpdxl9nk859dr5pf37")))) + "0j987xvxixdz0wnhgp4kgfcgz5jffrcdhmldrgpgv582qmf4r94w")))) (properties `((upstream-name . "iClusterPlus"))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5249,18 +5376,20 @@ Gaussian distributions.") (define-public r-rbowtie (package (name "r-rbowtie") - (version "1.26.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rbowtie" version)) (sha256 (base32 - "0yy31xhdmf6xb21wlhmxxwfqpm0nil39pb2cs3pq5ia758lb88z4")))) + "06y1qp915dlwjdi2fs3344sgya55pcv07f3i61y0cxb0bhbcgvrz")))) (properties `((upstream-name . "Rbowtie"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/Rbowtie/") (synopsis "R bowtie wrapper") (description @@ -5272,14 +5401,14 @@ alignment tool.") (define-public r-sgseq (package (name "r-sgseq") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "SGSeq" version)) (sha256 (base32 - "0950iv08wd0kjaw55rjn7m6syklvrabwr2zqq74wzyc5afyk2mrw")))) + "11rxx7abjyga2sdcp4x4z3n8xjx6973sckyzmh9ax6r46kwhxq8c")))) (properties `((upstream-name . "SGSeq"))) (build-system r-build-system) (propagated-inputs @@ -5297,6 +5426,8 @@ alignment tool.") ("r-runit" ,r-runit) ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/SGSeq/") (synopsis "Splice event prediction and quantification from RNA-seq data") (description @@ -5313,14 +5444,14 @@ interpretation.") (define-public r-rhisat2 (package (name "r-rhisat2") - (version "1.2.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhisat2" version)) (sha256 (base32 - "02fn5cm8sj2s9x00505y3iyipn1r3lpvpwpjy2pdxdbpmhb5hy49")))) + "0hhmcdnixkaqx9x9cl2vjaba3ri8m6wkbnbhxjmy51jwqzy2223a")))) (properties `((upstream-name . "Rhisat2"))) (build-system r-build-system) (arguments @@ -5339,6 +5470,8 @@ interpretation.") `(("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicranges" ,r-genomicranges) ("r-sgseq" ,r-sgseq))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/fmicompbio/Rhisat2") (synopsis "R Wrapper for HISAT2 sequence aligner") (description @@ -5351,14 +5484,14 @@ index.") (define-public r-quasr (package (name "r-quasr") - (version "1.26.0") + (version "1.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "QuasR" version)) (sha256 (base32 - "07m5q7wasapj2984kwy897510flbhvz7x0fgs7q2vm5wjhfzdrgv")))) + "0d87ajaaq8a7xgzl820qx5bvxw86ppab8clqk77sj02rfijnvjn8")))) (properties `((upstream-name . "QuasR"))) (build-system r-build-system) (inputs @@ -5384,6 +5517,8 @@ index.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-shortread" ,r-shortread))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/QuasR/") (synopsis "Quantify and annotate short reads in R") (description @@ -5396,14 +5531,14 @@ quantification of genomic regions of interest.") (define-public r-rqc (package (name "r-rqc") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rqc" version)) (sha256 (base32 - "1nxkrb9kx41g050yz935yrl9pjkakhr8v6whxcvr72gg4r9m2x3m")))) + "1qsm9r6xfsplk8zpf7p0k7fi86l8a74nx963sna8gzig5qgrvnm3")))) (properties `((upstream-name . "Rqc"))) (build-system r-build-system) (propagated-inputs @@ -5425,6 +5560,8 @@ quantification of genomic regions of interest.") ("r-s4vectors" ,r-s4vectors) ("r-shiny" ,r-shiny) ("r-shortread" ,r-shortread))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/labbcb/Rqc") (synopsis "Quality control tool for high-throughput sequencing data") (description @@ -5437,14 +5574,14 @@ graphics.") (define-public r-birewire (package (name "r-birewire") - (version "3.18.0") + (version "3.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiRewire" version)) (sha256 (base32 - "1074cp422ail72yajn8p0bg26h6zzz07nzypnwfyv86qrpvpdw9q")))) + "0y7jb1abnik2y4ivpyqrgfl77rml6fhz88isd54l646ghslwxj0g")))) (properties `((upstream-name . "BiRewire"))) (build-system r-build-system) (propagated-inputs @@ -5466,14 +5603,14 @@ routines to analyse the resulting networks and their natural projections.") (define-public r-birta (package (name "r-birta") - (version "1.30.0") + (version "1.31.0") (source (origin (method url-fetch) (uri (bioconductor-uri "birta" version)) (sha256 (base32 - "1zhlwapdgkz0fpv5bqfxh9aw6ymnmxnnm1r0n0kfzn5izyjavslg")))) + "00a1kcfmcgdbx6wpnhk45wm45bynhry5m93l9hm75j2rwyc4lnca")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -5495,14 +5632,14 @@ Markov-Chain-Monte-Carlo is applied to sample the activity states.") (define-public r-multidataset (package (name "r-multidataset") - (version "1.14.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MultiDataSet" version)) (sha256 (base32 - "0iw99ymrv3ls023mpmgyagmb5simgsgadpj0k4bnssfaqnklywlj")))) + "0hjnj32m9wwlh2krdpdyl5jk1cakvlgki80z51mabhc62pajzf39")))) (properties `((upstream-name . "MultiDataSet"))) (build-system r-build-system) (propagated-inputs @@ -5516,6 +5653,8 @@ Markov-Chain-Monte-Carlo is applied to sample the activity states.") ("r-qqman" ,r-qqman) ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/MultiDataSet/") (synopsis "Implementation of MultiDataSet and ResultSet") (description @@ -5530,14 +5669,14 @@ packages.") (define-public r-ropls (package (name "r-ropls") - (version "1.18.8") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ropls" version)) (sha256 (base32 - "033i39r4037nd54jnp5zdn1vpzh61r671vmq0sf8dqrfblhm4w7a")))) + "1drww1mr0nira3qplyga6s3mljpjxshjgbn524kzxi0nrfbcvmnx")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -5568,14 +5707,14 @@ coefficients).") (define-public r-biosigner (package (name "r-biosigner") - (version "1.14.4") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "biosigner" version)) (sha256 (base32 - "0hypk784xcax99mp673md6kvx45chk2nxbqniww7zm9q2hj983hl")))) + "1v760q7hzaybkf2q9230rmr4phi8hglm59qwsjzvncxrhs3dpj06")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -5601,14 +5740,14 @@ datasets.") (define-public r-annotatr (package (name "r-annotatr") - (version "1.12.1") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "annotatr" version)) (sha256 (base32 - "1bibk3p1q4cavqy11xs6rqqhqdjsq2dd7lf7blwcr27s5ajcd6dj")))) + "0z3ydcybd81w543fw8fiblghndx5m28w8qsphh5vqj726i0nj8cl")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -5624,6 +5763,8 @@ datasets.") ("r-reshape2" ,r-reshape2) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/annotatr/") (synopsis "Annotation of genomic regions to genomic annotations") (description @@ -5640,17 +5781,19 @@ annotations.") (define-public r-rsubread (package (name "r-rsubread") - (version "2.0.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsubread" version)) (sha256 (base32 - "0pdkx9mhvzw3a4ff725qvda9bxvs9vh2ppb29cc5jrivgjndv5cy")))) + "1wgilpaw70dwg0zilx5i1pmi4j8wri6wi2ha1d3bapfhlwc6igml")))) (properties `((upstream-name . "Rsubread"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) + (propagated-inputs + `(("r-matrix" ,r-matrix))) (home-page "https://bioconductor.org/packages/Rsubread/") (synopsis "Subread sequence alignment and counting for R") (description @@ -5664,14 +5807,14 @@ and to both short and long sequence reads.") (define-public r-flowutils (package (name "r-flowutils") - (version "1.50.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "flowUtils" version)) (sha256 (base32 - "1xcs19j9p3izvksyy5wzsbicwby0dsa9g2w7gjzwynzgj5dpfr81")))) + "03jj4zyffm9kwzrg4vbsk6clc2v2m95wgalgqwzi31n9a2zyaza4")))) (properties `((upstream-name . "flowUtils"))) (build-system r-build-system) (propagated-inputs @@ -5690,14 +5833,14 @@ and to both short and long sequence reads.") (define-public r-consensusclusterplus (package (name "r-consensusclusterplus") - (version "1.50.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ConsensusClusterPlus" version)) (sha256 (base32 - "0pnh5zy6d3c364xxjdn5zp3kf5afhsxv6yzkdn1qspny0pmqlrp4")))) + "06gq3a95h0km1hzbx1za8q0l7kla3jdzvn6cnfz43ijx4n3dzzcq")))) (properties `((upstream-name . "ConsensusClusterPlus"))) (build-system r-build-system) @@ -5715,16 +5858,27 @@ cluster count and membership by stability evidence in unsupervised analysis.") (define-public r-cytolib (package (name "r-cytolib") - (version "1.8.0") + (version "2.0.3") (source (origin (method url-fetch) (uri (bioconductor-uri "cytolib" version)) (sha256 (base32 - "1zk5i09k782lw6297gl3rh0g4fxswr2ang8dgqj7p0814l7h15k9")))) + "123d1wlymq8r8d83as380h1dgw6v4s317acyvp1lsg2cpfp3gslj")))) (properties `((upstream-name . "cytolib"))) (build-system r-build-system) + (inputs + `(("zlib" ,zlib))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (propagated-inputs + `(("r-bh" ,r-bh) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rcppparallel" ,r-rcppparallel) + ("r-rhdf5lib" ,r-rhdf5lib) + ("r-rprotobuflib" ,r-rprotobuflib))) (home-page "https://bioconductor.org/packages/cytolib/") (synopsis "C++ infrastructure for working with gated cytometry") (description @@ -5735,14 +5889,14 @@ interact with gated cytometry data.") (define-public r-flowcore (package (name "r-flowcore") - (version "1.52.1") + (version "2.0.1") (source (origin (method url-fetch) (uri (bioconductor-uri "flowCore" version)) (sha256 (base32 - "08kvxc187iwlixibx1860jcp5g9bsw8abkv06x2qv1w83fas4pp2")))) + "1xalndmfidfzqwlppdanx7cnm4ysznq21ingmykhxni86s42kd8p")))) (properties `((upstream-name . "flowCore"))) (build-system r-build-system) (propagated-inputs @@ -5751,7 +5905,11 @@ interact with gated cytometry data.") ("r-biocgenerics" ,r-biocgenerics) ("r-cytolib" ,r-cytolib) ("r-matrixstats" ,r-matrixstats) - ("r-rcpp" ,r-rcpp))) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rprotobuflib" ,r-rprotobuflib))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/flowCore") (synopsis "Basic structures for flow cytometry data") (description @@ -5762,14 +5920,14 @@ with flow cytometry data.") (define-public r-flowmeans (package (name "r-flowmeans") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "flowMeans" version)) (sha256 (base32 - "1yisrikaafmpb4sig2c5l0wcz4idrs4as7i9x90v6z2v94iq0m8h")))) + "1sv5vpwm3qdhkn1gdrk3n674harjcni91g63sqzfmybiwq8dlym7")))) (properties `((upstream-name . "flowMeans"))) (build-system r-build-system) (propagated-inputs @@ -5788,14 +5946,14 @@ change point detection.") (define-public r-ncdfflow (package (name "r-ncdfflow") - (version "2.32.0") + (version "2.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ncdfFlow" version)) (sha256 (base32 - "06lscx6h4rg80ifi90rj7z2497b8w1fjipm3l8s3230rkizhh02i")))) + "0avxn2abh4fk1gkncrxz7jwzgvd90m3m0ly318q0z38cjhsw3j9f")))) (properties `((upstream-name . "ncdfFlow"))) (build-system r-build-system) (inputs @@ -5809,6 +5967,8 @@ change point detection.") ("r-rcpparmadillo" ,r-rcpparmadillo) ("r-rhdf5lib" ,r-rhdf5lib) ("r-zlibbioc" ,r-zlibbioc))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/ncdfFlow/") (synopsis "HDF5 based storage for flow cytometry data") (description @@ -5819,14 +5979,14 @@ manipulation of flow cytometry data.") (define-public r-ggcyto (package (name "r-ggcyto") - (version "1.14.1") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ggcyto" version)) (sha256 (base32 - "16jwdslhmj1nsa28wmaircy15cq7qn8nsyiawinjv711qiqhgw50")))) + "1ih6ggay7jjxnx8blc2sk95g8d40gkim145jllkk8sqwl02g44p0")))) (properties `((upstream-name . "ggcyto"))) (build-system r-build-system) (propagated-inputs @@ -5835,6 +5995,7 @@ manipulation of flow cytometry data.") ("r-flowworkspace" ,r-flowworkspace) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) + ("r-hexbin" ,r-hexbin) ("r-ncdfflow" ,r-ncdfflow) ("r-plyr" ,r-plyr) ("r-rcolorbrewer" ,r-rcolorbrewer) @@ -5855,14 +6016,14 @@ statistics to the plot.") (define-public r-flowviz (package (name "r-flowviz") - (version "1.50.0") + (version "1.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "flowViz" version)) (sha256 (base32 - "0ik16bxcfcg3q26ra3055718kskid64aaazcbqsxalca9ppdm4k7")))) + "0f3jfwdmaq9wrgl737blk5gmpc29l9kb6nadqhxpvbjwqsnzx0yq")))) (properties `((upstream-name . "flowViz"))) (build-system r-build-system) (propagated-inputs @@ -5875,6 +6036,8 @@ statistics to the plot.") ("r-latticeextra" ,r-latticeextra) ("r-mass" ,r-mass) ("r-rcolorbrewer" ,r-rcolorbrewer))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/flowViz/") (synopsis "Visualization for flow cytometry") (description @@ -5884,14 +6047,14 @@ statistics to the plot.") (define-public r-flowclust (package (name "r-flowclust") - (version "3.24.0") + (version "3.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "flowClust" version)) (sha256 (base32 - "0k4bgc4mf512njfdfg5ld9l7slgfxyfh766jab87j96zrrgcnj8s")))) + "06mkq9y41jax07x4knhvhzgrkgqdvpvcw604bxdk6bv9wx3ipq5b")))) (properties `((upstream-name . "flowClust"))) (build-system r-build-system) (arguments @@ -5910,7 +6073,8 @@ statistics to the plot.") (inputs `(("gsl" ,gsl))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/flowClust") (synopsis "Clustering for flow cytometry") (description @@ -5923,14 +6087,14 @@ model with Box-Cox transformation.") (define-public r-rprotobuflib (package (name "r-rprotobuflib") - (version "1.8.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RProtoBufLib" version)) (sha256 (base32 - "0dlgki21a37bxqh3cf83vl5zqxm86472g8a9plvhrjzzsn3mwnrm")))) + "0kfinf9vzc1i5qxmaw832id557gr1vqdi1m8yiaxz83g37wh8vps")))) (properties `((upstream-name . "RProtoBufLib"))) (build-system r-build-system) (arguments @@ -5939,8 +6103,10 @@ model with Box-Cox transformation.") (add-after 'unpack 'unpack-bundled-sources (lambda _ (with-directory-excursion "src" - (invoke "tar" "xf" "protobuf-2.6.0.tgz")) + (invoke "tar" "xf" "protobuf-3.10.0.tar.gz")) #t))))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/RProtoBufLib/") (synopsis "C++ headers and static libraries of Protocol buffers") (description @@ -5951,14 +6117,14 @@ for other R packages to compile and link against.") (define-public r-flowworkspace (package (name "r-flowworkspace") - (version "3.34.1") + (version "4.0.6") (source (origin (method url-fetch) (uri (bioconductor-uri "flowWorkspace" version)) (sha256 (base32 - "1ijbc6z9ljhrw3cqr02smgplhrfg44gzrb1dq4gbrpq3nj4khhpn")))) + "123ny8n3jjgmsnpghk1dafxkwmcyr513gxi8y4h4qszq4s6ai15v")))) (properties `((upstream-name . "flowWorkspace"))) (build-system r-build-system) (propagated-inputs @@ -5970,21 +6136,24 @@ for other R packages to compile and link against.") ("r-digest" ,r-digest) ("r-dplyr" ,r-dplyr) ("r-flowcore" ,r-flowcore) - ("r-flowviz" ,r-flowviz) + ("r-ggplot2" ,r-ggplot2) ("r-graph" ,r-graph) - ("r-gridextra" ,r-gridextra) ("r-lattice" ,r-lattice) ("r-latticeextra" ,r-latticeextra) ("r-matrixstats" ,r-matrixstats) ("r-ncdfflow" ,r-ncdfflow) ("r-rbgl" ,r-rbgl) - ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) ("r-rcppparallel" ,r-rcppparallel) ("r-rgraphviz" ,r-rgraphviz) + ("r-rhdf5lib" ,r-rhdf5lib) ("r-rprotobuflib" ,r-rprotobuflib) ("r-scales" ,r-scales) - ("r-stringr" ,r-stringr))) + ("r-stringr" ,r-stringr) + ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/flowWorkspace/") (synopsis "Infrastructure for working with cytometry data") (description @@ -5999,14 +6168,14 @@ matches the flowJo analysis.") (define-public r-flowstats (package (name "r-flowstats") - (version "3.44.0") + (version "4.0.0") (source (origin (method url-fetch) (uri (bioconductor-uri "flowStats" version)) (sha256 (base32 - "0pql0lpf90nra7w6z6nd8l9cgjlsg2pxysfravnbzfhl3pjvd96w")))) + "1ygvxvd7y6jp907y0h3hycdwvw1fch16w84g06nk4f4g4kvrzdir")))) (properties `((upstream-name . "flowStats"))) (build-system r-build-system) (propagated-inputs @@ -6035,14 +6204,14 @@ package.") (define-public r-opencyto (package (name "r-opencyto") - (version "1.24.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (bioconductor-uri "openCyto" version)) (sha256 (base32 - "0h25nhvq1zq624wsgb55wjcgri9rcd2fnqkb31h9jdakr01dw2sb")))) + "10dyd6dddskv70vhpwfbsqdb8pb9i3ka0fgvl1h51wqlckbsj89m")))) (properties `((upstream-name . "openCyto"))) (build-system r-build-system) (propagated-inputs @@ -6067,6 +6236,8 @@ package.") ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-rcpp" ,r-rcpp) ("r-rrcov" ,r-rrcov))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/openCyto") (synopsis "Hierarchical gating pipeline for flow cytometry data") (description @@ -6077,14 +6248,14 @@ sequential way to mimic the manual gating strategy.") (define-public r-cytoml (package (name "r-cytoml") - (version "1.12.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (bioconductor-uri "CytoML" version)) (sha256 (base32 - "0wgi8rwb4spxzd5xvs5amfr5g82ny2nad57j3nmhnhnj1cpirjxz")))) + "0zpq2j4y9i5lls1kj2w4spl8qjp3076idsr2a2rjvy1fykzlp01q")))) (properties `((upstream-name . "CytoML"))) (build-system r-build-system) (inputs @@ -6103,15 +6274,17 @@ sequential way to mimic the manual gating strategy.") ("r-graph" ,r-graph) ("r-jsonlite" ,r-jsonlite) ("r-lattice" ,r-lattice) - ("r-ncdfflow" ,r-ncdfflow) ("r-opencyto" ,r-opencyto) ("r-plyr" ,r-plyr) ("r-rbgl" ,r-rbgl) ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) ("r-rcppparallel" ,r-rcppparallel) ("r-rgraphviz" ,r-rgraphviz) + ("r-rhdf5lib" ,r-rhdf5lib) ("r-rprotobuflib" ,r-rprotobuflib) ("r-runit" ,r-runit) + ("r-tibble" ,r-tibble) ("r-xml" ,r-xml) ("r-yaml" ,r-yaml))) (native-inputs @@ -6126,14 +6299,14 @@ standard to exchange gated cytometry data with other software platforms.") (define-public r-flowsom (package (name "r-flowsom") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "FlowSOM" version)) (sha256 (base32 - "0265sq4zvj6d6h5ghqj9xzm4b0z9v65kgyl88cgdcpdkzfnfcvd5")))) + "1p17jv4q1dbcc47jpjy9hbcvzpwrx8waq7qpcj778jsyz6z6jh78")))) (properties `((upstream-name . "FlowSOM"))) (build-system r-build-system) (propagated-inputs @@ -6156,14 +6329,14 @@ self-organizing map clustering and minimal spanning trees.") (define-public r-mixomics (package (name "r-mixomics") - (version "6.10.9") + (version "6.12.1") (source (origin (method url-fetch) (uri (bioconductor-uri "mixOmics" version)) (sha256 (base32 - "0b457yg8mwqlrn5l344w8qcj8v2ghlj1wdx1ysxbncqvqx7nvgig")))) + "13kq9l5xwhwp30y5gfqfh5f11n63vn8rk195mb2y2mww4cwi6lv4")))) (properties `((upstream-name . "mixOmics"))) (build-system r-build-system) (propagated-inputs @@ -6200,14 +6373,14 @@ delete entire rows with missing data.") (define-public r-depecher (package (name "r-depecher") - (version "1.2.2") + (version "1.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DepecheR" version)) (sha256 (base32 - "199j2kw0xnw7y4v1gakm2jgyc7zzlj8xh0570f2yjq55gp1kggbm")))) + "0nmx04qybzf6nhfngmdxwpbbz9x32v34mbnpg8jq7a2cgchzsj9s")))) (properties `((upstream-name . "DepecheR"))) (build-system r-build-system) (propagated-inputs @@ -6245,14 +6418,14 @@ data, to only emphasize the data that actually matters.") (define-public r-rcistarget (package (name "r-rcistarget") - (version "1.6.0") + (version "1.8.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RcisTarget" version)) (sha256 (base32 - "1nnah7s0jd24fpfyxsf76jas8dm23c3266aps124wdlqsp9q5qjw")))) + "1lvi873dv0vhw53s1pmcilw8qwlywm9p2ybphcl168nzh6w31r4i")))) (properties `((upstream-name . "RcisTarget"))) (build-system r-build-system) (propagated-inputs @@ -6263,6 +6436,8 @@ data, to only emphasize the data that actually matters.") ("r-gseabase" ,r-gseabase) ("r-r-utils" ,r-r-utils) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://aertslab.org/#scenic") (synopsis "Identify transcription factor binding motifs enriched on a gene list") (description @@ -6280,14 +6455,14 @@ genes in the gene-set that are ranked above the leading edge).") (define-public r-cicero (package (name "r-cicero") - (version "1.4.4") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "cicero" version)) (sha256 (base32 - "1ay1g2r0la4grcp1y8vcp211lfwzjf7j819ajzdirsh5dab8whld")))) + "0n78lf5hz6zzl550dbf4imis43pv91zicfff8y4lspckljhz9z75")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -6390,17 +6565,19 @@ cisTopics and explore the nature and regulatory proteins driving them.") (define-public r-genie3 (package (name "r-genie3") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GENIE3" version)) (sha256 (base32 - "0p67lhgy3lb4nc958s51hx7rvgwhzwfic9xhpsrask40k43spv7l")))) + "1bsm0gxracsyg1wnaw3whvskghfpbgbm9navr8wdmxj2hjp3dqs7")))) (properties `((upstream-name . "GENIE3"))) (build-system r-build-system) (propagated-inputs `(("r-reshape2" ,r-reshape2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/GENIE3") (synopsis "Gene network inference with ensemble of trees") (description @@ -6411,14 +6588,14 @@ regulatory networks from expression data.") (define-public r-roc (package (name "r-roc") - (version "1.62.0") + (version "1.64.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ROC" version)) (sha256 (base32 - "1aqpyc28czagg3nbybh55vf152nbar61jjw79w04326d97mc3j3y")))) + "0gmx3r77yl5fqrj5j2hamwynbis75qd62q28964kx16z33xfgx89")))) (properties `((upstream-name . "ROC"))) (build-system r-build-system) (propagated-inputs @@ -6459,14 +6636,14 @@ data.") (define-public r-watermelon (package (name "r-watermelon") - (version "1.30.0") + (version "1.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "wateRmelon" version)) (sha256 (base32 - "0a66fq04yph9dis91lzjk9kh134zy6fj98yklrwf24r1080qngx0")))) + "1c3a6bq3ggmv8kmdfrgiar6nwgircgzjrbgd9z9dqiin7j13gxwn")))) (properties `((upstream-name . "wateRmelon"))) (build-system r-build-system) (propagated-inputs @@ -6496,14 +6673,14 @@ metrics, with methods for objects produced by the @code{methylumi} and (define-public r-gdsfmt (package (name "r-gdsfmt") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "gdsfmt" version)) (sha256 (base32 - "0zc9v62imd0ykz4h30pxa64q0y45qijmkwdk2pd4ncsg8fc2jlz9")) + "00hggma0i15w03xi9jr02v2593jbqkcxyfcvpp7mdzrshn99m9p6")) (modules '((guix build utils))) ;; Remove bundled sources of zlib, lz4, and xz. Don't attempt to build ;; them and link with system libraries instead. @@ -6533,6 +6710,8 @@ metrics, with methods for objects produced by the @code{methylumi} and `(("lz4" ,lz4) ("xz" ,xz) ("zlib" ,zlib))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://corearray.sourceforge.net/") (synopsis "R Interface to CoreArray Genomic Data Structure (GDS) Files") @@ -6553,14 +6732,14 @@ with multiple R processes supported by the package @code{parallel}.") (define-public r-bigmelon (package (name "r-bigmelon") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bigmelon" version)) (sha256 (base32 - "0sw7rp4p03m1s72b4j06jfb7as3v1n2w2z4ppk8s4f80fb05bcls")))) + "1cryjhbiacm45g097rpqgbva49hs5vdx4y4h5h2v1gw4k78hwb4y")))) (properties `((upstream-name . "bigmelon"))) (build-system r-build-system) (propagated-inputs @@ -6581,14 +6760,14 @@ with multiple R processes supported by the package @code{parallel}.") (define-public r-seqbias (package (name "r-seqbias") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "seqbias" version)) (sha256 (base32 - "19vbdyjblij2533ibmrw1n0rkqfrbflma6cg5b79ghks0mg7z8hq")))) + "0sy2fv98x4qfz9llns28jh1n4bi991jj856y8a5fbzpx7y990lai")))) (properties `((upstream-name . "seqbias"))) (build-system r-build-system) (propagated-inputs @@ -6647,14 +6826,14 @@ injected in that sequence).") (define-public r-reqon (package (name "r-reqon") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ReQON" version)) (sha256 (base32 - "10p6l2zxijqyypdm970jyfqyrnfhaq3nf7cg2q6mgd1srggfa0cx")))) + "06m0hd4aqsxjyzhs8b1zys7lz8289qgwn7jp2dpln1j7cf02q4bz")))) (properties `((upstream-name . "ReQON"))) (build-system r-build-system) (propagated-inputs @@ -6672,14 +6851,14 @@ format.") (define-public r-wavcluster (package (name "r-wavcluster") - (version "2.20.0") + (version "2.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "wavClusteR" version)) (sha256 (base32 - "0vq3xxsvwq86rlya7xc92sc4i6b48sib0pcina3xivg3ky2j3z7y")))) + "0204czqjmkwhd6gznwxzb0vj3dg3aif628g8c30085aa2jljn9bk")))) (properties `((upstream-name . "wavClusteR"))) (build-system r-build-system) (propagated-inputs @@ -6698,6 +6877,8 @@ format.") ("r-seqinr" ,r-seqinr) ("r-stringr" ,r-stringr) ("r-wmtsa" ,r-wmtsa))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/wavClusteR/") (synopsis "Identification of RNA-protein interaction sites in PAR-CLIP data") (description @@ -6718,14 +6899,14 @@ procedures that induce nucleotide substitutions (e.g. BisSeq).") (define-public r-timeseriesexperiment (package (name "r-timeseriesexperiment") - (version "1.4.0") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "TimeSeriesExperiment" version)) (sha256 (base32 - "0xqa6hzknnci20zx2f6mw5cpqx8pq0v6fzf053hh51p1l2ikvgqm")))) + "1k0djvcsyjj1ayncvmi8nlqi3jdn5qp41y3fwsqg1cp0qsvx7zv3")))) (properties `((upstream-name . "TimeSeriesExperiment"))) (build-system r-build-system) @@ -6745,6 +6926,8 @@ procedures that induce nucleotide substitutions (e.g. BisSeq).") ("r-tidyr" ,r-tidyr) ("r-vegan" ,r-vegan) ("r-viridis" ,r-viridis))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/nlhuong/TimeSeriesExperiment/") (synopsis "Analysis for short time-series data") (description @@ -6757,14 +6940,14 @@ provides methods for retrieving enriched pathways.") (define-public r-variantfiltering (package (name "r-variantfiltering") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantFiltering" version)) (sha256 (base32 - "13pgfk2mbffd9smmxnwz7g0jrwng78711053wfzadr107zbyn4r8")))) + "0lsrnybsbm9siyjv4nal6bmprj8ynwgk4n1145f4h52g78wq3br4")))) (properties `((upstream-name . "VariantFiltering"))) (build-system r-build-system) @@ -6863,14 +7046,14 @@ arrays based on fast wavelet-based functional models.") (define-public r-variancepartition (package (name "r-variancepartition") - (version "1.16.1") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "variancePartition" version)) (sha256 (base32 - "02pzsff14j4am2d949mh8xgi0c7k44g09q4lr6nqm08vf92brb6g")))) + "1rn655qq7dshbk1dd41n7y2hfz8498jxd2j4rk7p8hrikd3s32dm")))) (properties `((upstream-name . "variancePartition"))) (build-system r-build-system) @@ -6891,6 +7074,8 @@ arrays based on fast wavelet-based functional models.") ("r-progress" ,r-progress) ("r-reshape2" ,r-reshape2) ("r-scales" ,r-scales))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/variancePartition/") (synopsis "Analyze variation in gene expression experiments") (description @@ -6905,14 +7090,14 @@ measures.") (define-public r-htqpcr (package (name "r-htqpcr") - (version "1.40.0") + (version "1.42.0") (source (origin (method url-fetch) (uri (bioconductor-uri "HTqPCR" version)) (sha256 (base32 - "008iczqaa0wn5nw144vfg3qylg7qa1q963nq9mqhgj3sxlg4rmjx")))) + "08bd5zkjdnz726s03bvvzv03va0xbrr818ipp6737z9g3nk9m81j")))) (properties `((upstream-name . "HTqPCR"))) (build-system r-build-system) (propagated-inputs @@ -6939,14 +7124,14 @@ features (e.g. genes, microRNAs).") (define-public r-unifiedwmwqpcr (package (name "r-unifiedwmwqpcr") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "unifiedWMWqPCR" version)) (sha256 (base32 - "1l6rf7scxxyz4x0m4li54y6905sqj4jrx481zb9h3vqhcfcmn8lj")))) + "1l9gxq3askr3cz2a4bqsw7vjr1agivzvx651cblkygv57x08zf81")))) (properties `((upstream-name . "unifiedWMWqPCR"))) (build-system r-build-system) @@ -7030,14 +7215,14 @@ cellular organization in health and disease.") (define-public r-bgmix (package (name "r-bgmix") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BGmix" version)) (sha256 (base32 - "1bwqqhkh4m3hhpd71grwjrg7n07lzvys4y7aghmw2gw5ibnk5683")))) + "1pfi3hinjn6ymikadgj8dqm59h7mapf01wj86dbbvf8y1xqp8y8n")))) (properties `((upstream-name . "BGmix"))) (build-system r-build-system) (propagated-inputs @@ -7052,14 +7237,14 @@ gene expression.") (define-public r-bgx (package (name "r-bgx") - (version "1.52.0") + (version "1.54.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bgx" version)) (sha256 (base32 - "0fiqqv6pin0zhxaw67hzfjccq2qkl9qfqjf10nx2zmpxm2licavm")))) + "0r67a6m5hrnsxgk0f57hl5yaagi2wai2kpfyjjlhrck4rlm1sjcx")))) (properties `((upstream-name . "bgx"))) (build-system r-build-system) (propagated-inputs @@ -7077,14 +7262,14 @@ Affymetrix GeneChips.") (define-public r-bhc (package (name "r-bhc") - (version "1.38.0") + (version "1.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BHC" version)) (sha256 (base32 - "1bxx3jak8mgvay3j1xd59bb9j86pzl6hh5abxww9x1b7rswmy1jh")))) + "06milqjg2nl3ra47sxi7a2p2d3mbrx3wk168pqgimvs8snldd2xr")))) (properties `((upstream-name . "BHC"))) (build-system r-build-system) (home-page "https://bioconductor.org/packages/BHC/") @@ -7103,14 +7288,14 @@ algorithm which is more efficient for larger data sets.") (define-public r-bicare (package (name "r-bicare") - (version "1.44.0") + (version "1.46.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BicARE" version)) (sha256 (base32 - "1gia5vzmvbk4k1vx3bh9nld1ws9s3c0y11qfbzqhfnfjbd7n8qcs")))) + "0llckbl3l26lf6wgjg7rxs8k1yrk043vvdhnkc6ncg33sydj383y")))) (properties `((upstream-name . "BicARE"))) (build-system r-build-system) (propagated-inputs @@ -7127,19 +7312,21 @@ results.") (define-public r-bifet (package (name "r-bifet") - (version "1.6.0") + (version "1.8.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiFET" version)) (sha256 (base32 - "0ck1d6hxd4f40hfz8p2z5xmjbz79yhrf6fisjka2xzk5v9fm4p4k")))) + "1v2dshs09iy2glzq0vwxmr83x867j844i1ixsfcamvfq33fwbbr5")))) (properties `((upstream-name . "BiFET"))) (build-system r-build-system) (propagated-inputs `(("r-genomicranges" ,r-genomicranges) ("r-poibin" ,r-poibin))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiFET") (synopsis "Bias-free footprint enrichment test") (description @@ -7155,14 +7342,14 @@ the read count and GC content bias.") (define-public r-rsbml (package (name "r-rsbml") - (version "2.44.0") + (version "2.46.0") (source (origin (method url-fetch) (uri (bioconductor-uri "rsbml" version)) (sha256 (base32 - "1dbp0aaijxn3na26b68ws0v9qzvml61ifb9z4i8pz7q6h48n7lxa")))) + "1i1izznnwzrc6m7s3hblfff466icfvxl2gjdqaln8qfg9v87rslx")))) (properties `((upstream-name . "rsbml"))) (build-system r-build-system) (inputs @@ -7183,14 +7370,14 @@ validating output, provides an S4 SBML DOM, converts SBML to R graph objects.") (define-public r-hypergraph (package (name "r-hypergraph") - (version "1.58.0") + (version "1.60.0") (source (origin (method url-fetch) (uri (bioconductor-uri "hypergraph" version)) (sha256 (base32 - "1bixmslxy7r987zw1vf4dg72hfi04lf4vj03n7ygym2g8nfhbh7m")))) + "1iq9b9rzy3ikx8xszsjiv3p8l702n2h2s9w33797wcmkg4apslb7")))) (properties `((upstream-name . "hypergraph"))) (build-system r-build-system) (propagated-inputs @@ -7205,14 +7392,14 @@ manipulating hypergraphs.") (define-public r-hyperdraw (package (name "r-hyperdraw") - (version "1.38.0") + (version "1.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "hyperdraw" version)) (sha256 (base32 - "0a8h3pb7196qi49ady8ni92m5wqb1hvxw6khk9j63mwj3h7jinbj")))) + "1qzx5sqp7rpspk8g1j34p03ds1vmw0h7hpzb2ijpbvmsja5drzvf")))) (properties `((upstream-name . "hyperdraw"))) (build-system r-build-system) (inputs `(("graphviz" ,graphviz))) @@ -7229,14 +7416,14 @@ manipulating hypergraphs.") (define-public r-biggr (package (name "r-biggr") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiGGR" version)) (sha256 (base32 - "1n2ypc84abmhn6br0yi87k7lvjc11k7abzhgvzdabc2ai1qgcqif")))) + "05afi6hsh1dv6lc6l0dfhvvi8k34wyzf1k1jimam7a6pbrhyy5dk")))) (properties `((upstream-name . "BiGGR"))) (build-system r-build-system) (propagated-inputs @@ -7259,19 +7446,21 @@ networks and estimated fluxes can be visualized with hypergraphs.") (define-public r-bigmemoryextras (package (name "r-bigmemoryextras") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bigmemoryExtras" version)) (sha256 (base32 - "17dk7c44ikphcrpi8hnxyvlmj30qmj098kc0ihfi69bp9rw1cibq")))) + "053bqcd3p4i7agj43ccjxfz40a1sxrymd49vdpfq8ypslkwk7g0g")))) (properties `((upstream-name . "bigmemoryExtras"))) (build-system r-build-system) (propagated-inputs `(("r-bigmemory" ,r-bigmemory))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/phaverty/bigmemoryExtras") (synopsis "Extension of the bigmemory package") (description @@ -7291,18 +7480,19 @@ a file-backed matrix with factor properties.") (define-public r-bigpint (package (name "r-bigpint") - (version "1.2.2") + (version "1.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bigPint" version)) (sha256 (base32 - "1zkakxi1iqavzmjxnkkd02qm5jk28ldcvcdcxaafz748dz6s67fs")))) + "1m92ngkzimcc37byf0ziphrby8wmjd5hfa53gvfphgaakyj9bjg8")))) (properties `((upstream-name . "bigPint"))) (build-system r-build-system) (propagated-inputs - `(("r-dplyr" ,r-dplyr) + `(("r-delayedarray" ,r-delayedarray) + ("r-dplyr" ,r-dplyr) ("r-ggally" ,r-ggally) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) @@ -7317,6 +7507,7 @@ a file-backed matrix with factor properties.") ("r-shinycssloaders" ,r-shinycssloaders) ("r-shinydashboard" ,r-shinydashboard) ("r-stringr" ,r-stringr) + ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-tidyr" ,r-tidyr))) (native-inputs `(("r-knitr" ,r-knitr))) @@ -7332,14 +7523,14 @@ visualizing RNA-sequencing datasets and differentially expressed genes.") (define-public r-chemminer (package (name "r-chemminer") - (version "3.38.0") + (version "3.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ChemmineR" version)) (sha256 (base32 - "1j6vmkhc03dmmkm5wgbcv62pw5dclp49f906xkx1pwg27bdldbga")))) + "0cna5xsqflvhlp2k47asxyv3w4ympmz2wy2cwjyzlal6936fjikf")))) (properties `((upstream-name . "ChemmineR"))) (build-system r-build-system) (propagated-inputs @@ -7356,6 +7547,8 @@ visualizing RNA-sequencing datasets and differentially expressed genes.") ("r-rcurl" ,r-rcurl) ("r-rjson" ,r-rjson) ("r-rsvg" ,r-rsvg))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/girke-lab/ChemmineR") (synopsis "Cheminformatics toolkit for R") (description @@ -7371,14 +7564,14 @@ structures.") (define-public r-bioassayr (package (name "r-bioassayr") - (version "1.24.0") + (version "1.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bioassayR" version)) (sha256 (base32 - "08vxkvxhqnryfbj4dwk3ifb9pn544www9zk2pj9fjbh5xfpwi7zw")))) + "1n0gsnxcl0lplqk8rs5ygxrxpx389ddl6wv3ciyz9g2xry5biyfy")))) (properties `((upstream-name . "bioassayR"))) (build-system r-build-system) (propagated-inputs @@ -7406,14 +7599,14 @@ available bioactivity data.") (define-public r-biobroom (package (name "r-biobroom") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "biobroom" version)) (sha256 (base32 - "1480ycdsh9xdhbpr47vdw5g6m8arqsnp8hc19wwhzm8npxh4qqlb")))) + "06qcrprn58kbrr5kyw1jl6z88b9w9g8xs6rkhrbnz8k7rv373fhf")))) (properties `((upstream-name . "biobroom"))) (build-system r-build-system) (propagated-inputs @@ -7421,6 +7614,8 @@ available bioactivity data.") ("r-broom" ,r-broom) ("r-dplyr" ,r-dplyr) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/StoreyLab/biobroom") (synopsis "Turn Bioconductor objects into tidy data frames") (description @@ -7436,14 +7631,14 @@ visualize bioinformatics analyses.") (define-public r-graphite (package (name "r-graphite") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "graphite" version)) (sha256 (base32 - "1r9fk0cpdwm7012pa85dkjcpkml2j89zcznpf4hfdz66anfyyycd")))) + "0rc9cw3picz1y0lwhbzpk03ciij8kij74m15qgzh2ykla7zprb2p")))) (properties `((upstream-name . "graphite"))) (build-system r-build-system) (propagated-inputs @@ -7463,14 +7658,14 @@ symbols).") (define-public r-reactomepa (package (name "r-reactomepa") - (version "1.30.0") + (version "1.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ReactomePA" version)) (sha256 (base32 - "1vwc9kj1l4yi7c4f4lnq0i3wl2nrmmhcxyakz8qak122fi92z3j1")))) + "1ngilyn1mihwxs4sh5gk9y829xghdmh277cfw3vfgflz9sgwy21x")))) (properties `((upstream-name . "ReactomePA"))) (build-system r-build-system) (propagated-inputs @@ -7482,6 +7677,8 @@ symbols).") ("r-graphite" ,r-graphite) ("r-igraph" ,r-igraph) ("r-reactome-db" ,r-reactome-db))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://guangchuangyu.github.io/software/ReactomePA") (synopsis "Reactome pathway analysis") (description @@ -7493,14 +7690,14 @@ enrichment analysis and several functions for visualization.") (define-public r-ebarrays (package (name "r-ebarrays") - (version "2.50.0") + (version "2.52.0") (source (origin (method url-fetch) (uri (bioconductor-uri "EBarrays" version)) (sha256 (base32 - "063rhsdp8x0f881kslq06zxfp6b2qabrz4vmfrn8a4v3pd3n7s13")))) + "00ld26bld8xgin9zqwxybahvhmqbrvr09jfphg0yr4j4zck6sqgf")))) (properties `((upstream-name . "EBarrays"))) (build-system r-build-system) (propagated-inputs @@ -7517,14 +7714,14 @@ microarray data.") (define-public r-bioccasestudies (package (name "r-bioccasestudies") - (version "1.48.0") + (version "1.50.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocCaseStudies" version)) (sha256 (base32 - "1sg9vxs24zfz3dg9y0qlrdsq43y0pbahbvcfxzlxjzjw80xzxpbd")))) + "0fadck1dk1zavpn9yrcwx6zgfi18fw5xfs8svgzipns6bq41j8ix")))) (properties `((upstream-name . "BiocCaseStudies"))) (build-system r-build-system) @@ -7539,14 +7736,14 @@ monograph.") (define-public r-biocgraph (package (name "r-biocgraph") - (version "1.48.0") + (version "1.50.0") (source (origin (method url-fetch) (uri (bioconductor-uri "biocGraph" version)) (sha256 (base32 - "1rv2lwiqwg7h7za23n896fs4dpla3xhw6kzwghb6iw5nlm2m61yw")))) + "1372bm4y3czqhpki10pnprxfkfncfcsy59zzvf8wj6q03acaavrj")))) (properties `((upstream-name . "biocGraph"))) (build-system r-build-system) (propagated-inputs @@ -7564,14 +7761,14 @@ different graph related packages produced by Bioconductor.") (define-public r-experimenthub (package (name "r-experimenthub") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ExperimentHub" version)) (sha256 (base32 - "054w2lkyirbmhgia0rp4nk9zzw3zphz6jxg6fc9zlarp90g64z24")))) + "18d6kjfavy5b769gpkblihdkz2nz2hsgyjki8mp1sywi0ik08ncd")))) (properties `((upstream-name . "ExperimentHub"))) (build-system r-build-system) (propagated-inputs @@ -7582,6 +7779,8 @@ different graph related packages produced by Bioconductor.") ("r-curl" ,r-curl) ("r-rappdirs" ,r-rappdirs) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/ExperimentHub/") (synopsis "Client to access ExperimentHub resources") (description @@ -7596,14 +7795,14 @@ access.") (define-public r-multiassayexperiment (package (name "r-multiassayexperiment") - (version "1.12.6") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MultiAssayExperiment" version)) (sha256 (base32 - "174vzlxsyayb5il77cb3zzgszxl3l0wkprc9w6pgz4yv5ix13adi")))) + "0qlfnd86999jqv2nd0ikixi2sfd449dyg3ml4nbs8ycs57c2irgh")))) (properties `((upstream-name . "MultiAssayExperiment"))) (build-system r-build-system) @@ -7631,14 +7830,14 @@ rownames.") (define-public r-bioconcotk (package (name "r-bioconcotk") - (version "1.6.0") + (version "1.8.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocOncoTK" version)) (sha256 (base32 - "0rnah6c01a33yb9663jim9iclan61rpcwprb56mykgn1pf5hywbj")))) + "021qzygfwdnd3naz1iqq01zr3zxv3k7wm1lklik24vc7axshxbmk")))) (properties `((upstream-name . "BiocOncoTK"))) (build-system r-build-system) (propagated-inputs @@ -7664,6 +7863,8 @@ rownames.") ("r-scales" ,r-scales) ("r-shiny" ,r-shiny) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocOncoTK") (synopsis "Bioconductor components for general cancer genomics") (description @@ -7674,20 +7875,22 @@ tools for genome-scale analysis of cancer studies.") (define-public r-biocor (package (name "r-biocor") - (version "1.10.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BioCor" version)) (sha256 (base32 - "1bjw02rwmz2d715sgpfp08njb15200ch7cmipsf9hd5835ppg1jl")))) + "1xghclfqv8d23g72g8914br5zjx4sz9zihzczwwmpl15lghpnqwy")))) (properties `((upstream-name . "BioCor"))) (build-system r-build-system) (propagated-inputs `(("r-biocparallel" ,r-biocparallel) ("r-gseabase" ,r-gseabase) ("r-matrix" ,r-matrix))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://llrs.github.io/BioCor/") (synopsis "Functional similarities") (description @@ -7701,14 +7904,14 @@ gene selection, testing relationships, and so on.") (define-public r-biocpkgtools (package (name "r-biocpkgtools") - (version "1.4.6") + (version "1.6.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocPkgTools" version)) (sha256 (base32 - "0grwnmncmpqcplbfw3j210m1a8f7mmdizklh4zksg4ic21dpjj1a")))) + "0l5fvi1m4834n4h0iswbap135s9mpaiabw9czzn1r72ssz86vrcr")))) (properties `((upstream-name . "BiocPkgTools"))) (build-system r-build-system) (propagated-inputs @@ -7751,14 +7954,14 @@ analytics on packages.") (define-public r-biocset (package (name "r-biocset") - (version "1.0.1") + (version "1.2.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocSet" version)) (sha256 (base32 - "1xcksnvjflrdarn8xqmgf0n6wbsjkq9jazqwp35i52vqcq4ic1j9")))) + "14dmkc878lskbm001kgjyqmrwnn6s032z4h64f617f1xd9zx9wrj")))) (properties `((upstream-name . "BiocSet"))) (build-system r-build-system) (propagated-inputs @@ -7769,6 +7972,8 @@ analytics on packages.") ("r-rlang" ,r-rlang) ("r-rtracklayer" ,r-rtracklayer) ("r-tibble" ,r-tibble))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocSet") (synopsis @@ -7784,14 +7989,14 @@ accessing web references for elements/sets are also available in BiocSet.") (define-public r-biocworkflowtools (package (name "r-biocworkflowtools") - (version "1.12.1") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocWorkflowTools" version)) (sha256 (base32 - "0z28s572wg9qxv52dmixxz1xf1z3fyp2j7kzk0k32fp628918wr6")))) + "0p9r71ql67sdlgd5pv118lhz8b85pr5y4ijfwzcy8wrr8jwlbddy")))) (properties `((upstream-name . "BiocWorkflowTools"))) (build-system r-build-system) @@ -7817,14 +8022,14 @@ Rmarkdown and LaTeX documents when authoring a Bioconductor Workflow.") (define-public r-biodist (package (name "r-biodist") - (version "1.58.0") + (version "1.60.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bioDist" version)) (sha256 (base32 - "0iabw07px3ybdgbbab0vv350051cm4aq8w47rz9dnmzx4kil9h5q")))) + "17bvxk0anvsp29j5nbblvaymf8qgbj3sz4ir2l7wj8kb8jfi19cp")))) (properties `((upstream-name . "bioDist"))) (build-system r-build-system) (propagated-inputs @@ -7836,3 +8041,49 @@ Rmarkdown and LaTeX documents when authoring a Bioconductor Workflow.") "This package provides a collection of software tools for calculating distance measures.") (license license:artistic2.0))) + +(define-public r-pcatools + (package + (name "r-pcatools") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "PCAtools" version)) + (sha256 + (base32 + "0mnwqrhm1hmhzwrpidf6z207w1ycpm572snvpp5swlg6hnxq6bnc")))) + (properties `((upstream-name . "PCAtools"))) + (build-system r-build-system) + (propagated-inputs + `(("r-beachmat" ,r-beachmat) + ("r-bh" ,r-bh) + ("r-biocparallel" ,r-biocparallel) + ("r-biocsingular" ,r-biocsingular) + ("r-cowplot" ,r-cowplot) + ("r-delayedarray" ,r-delayedarray) + ("r-delayedmatrixstats" ,r-delayedmatrixstats) + ("r-dqrng" ,r-dqrng) + ("r-ggplot2" ,r-ggplot2) + ("r-ggrepel" ,r-ggrepel) + ("r-lattice" ,r-lattice) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-reshape2" ,r-reshape2))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/kevinblighe/PCAtools") + (synopsis "PCAtools: everything Principal Components Analysis") + (description + "@dfn{Principal Component Analysis} (PCA) extracts the fundamental +structure of the data without the need to build any model to represent it. +This \"summary\" of the data is arrived at through a process of reduction that +can transform the large number of variables into a lesser number that are +uncorrelated (i.e. the 'principal components'), while at the same time being +capable of easy interpretation on the original data. PCAtools provides +functions for data exploration via PCA, and allows the user to generate +publication-ready figures. PCA is performed via @code{BiocSingular}; users +can also identify an optimal number of principal components via different +metrics, such as the elbow method and Horn's parallel analysis, which has +relevance for data reduction in single-cell RNA-seq (scRNA-seq) and high +dimensional mass cytometry data.") + (license license:gpl3))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 32b795948b..f60a918d75 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -475,20 +475,6 @@ BED, GFF/GTF, VCF.") (find-files "bin" ".*"))) #t))))))) -;; Needed for pybedtools. -(define-public bedtools-2.26 - (package (inherit bedtools) - (name "bedtools") - (version "2.26.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/arq5x/bedtools2/releases/" - "download/v" version "/" - "bedtools-" version ".tar.gz")) - (sha256 - (base32 - "0jhavwifnf7lmkb11h9y7dynr8d699h0rd2l52j1pfgircr2zwv5")))))) - (define-public pbbam (package (name "pbbam") @@ -806,12 +792,13 @@ intended to behave exactly the same as the original BWK awk.") ;; See https://github.com/daler/pybedtools/issues/192 #:phases (modify-phases %standard-phases - ;; See https://github.com/daler/pybedtools/issues/261 (add-after 'unpack 'disable-broken-tests (lambda _ - ;; This test (pybedtools.test.test_scripts.test_venn_mpl) needs a - ;; graphical environment. (substitute* "pybedtools/test/test_scripts.py" + ;; This test freezes. + (("def test_intron_exon_reads") + "def _do_not_test_intron_exon_reads") + ;; This test fails in the Python 2 build. (("def test_venn_mpl") "def _do_not_test_venn_mpl")) (substitute* "pybedtools/test/test_helpers.py" @@ -868,7 +855,7 @@ intended to behave exactly the same as the original BWK awk.") (mkdir-p "/tmp/test") (copy-recursively "pybedtools/test" "/tmp/test") (with-directory-excursion "/tmp/test" - (invoke "pytest"))))))) + (invoke "pytest" "-v" "--doctest-modules"))))))) (propagated-inputs `(("bedtools" ,bedtools) ("samtools" ,samtools) @@ -985,6 +972,64 @@ e.g. microbiome samples, genomes, metagenomes.") (("install_requires.append\\(\"pyqi\"\\)") "pass")) #t))))))))) +(define-public python-pairtools + (package + (name "python-pairtools") + (version "0.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mirnylab/pairtools") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gr8y13q7sd6yai6df4aavl2470n1f9s3cib6r473z4hr8hcbwmc")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-references + (lambda _ + (substitute* '("pairtools/pairtools_merge.py" + "pairtools/pairtools_sort.py") + (("/bin/bash") (which "bash"))) + #t)) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (with-directory-excursion "/tmp" + (invoke "pytest" "-v"))))))) + (native-inputs + `(("python-cython" ,python-cython) + ("python-nose" ,python-nose) + ("python-pytest" ,python-pytest))) + (inputs + `(("python" ,python-wrapper))) + (propagated-inputs + `(("htslib" ,htslib) ; for bgzip, looked up in PATH + ("samtools" ,samtools) ; looked up in PATH + ("lz4" ,lz4) ; for lz4c + ("python-click" ,python-click) + ("python-numpy" ,python-numpy))) + (home-page "https://github.com/mirnylab/pairtools") + (synopsis "Process mapped Hi-C data") + (description "Pairtools is a simple and fast command-line framework to +process sequencing data from a Hi-C experiment. Process pair-end sequence +alignments and perform the following operations: + +@itemize +@item detect ligation junctions (a.k.a. Hi-C pairs) in aligned paired-end + sequences of Hi-C DNA molecules +@item sort @code{.pairs} files for downstream analyses +@item detect, tag and remove PCR/optical duplicates +@item generate extensive statistics of Hi-C datasets +@item select Hi-C pairs given flexibly defined criteria +@item restore @code{.sam} alignments from Hi-C pairs. +@end itemize +") + (license license:expat))) + (define-public bioperl-minimal (let* ((inputs `(("perl-module-build" ,perl-module-build) ("perl-data-stag" ,perl-data-stag) @@ -1401,7 +1446,7 @@ package provides command line tools using the Bio++ library.") ("python" ,python-wrapper))) (native-inputs `(("cpio" ,cpio))) - (home-page "http://blast.ncbi.nlm.nih.gov") + (home-page "https://blast.ncbi.nlm.nih.gov") (synopsis "Basic local alignment search tool") (description "BLAST is a popular method of performing a DNA or protein sequence @@ -5723,7 +5768,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.") (define-public ngs-sdk (package (name "ngs-sdk") - (version "2.9.6") + (version "2.10.5") (source (origin (method git-fetch) (uri (git-reference @@ -5732,7 +5777,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.") (file-name (git-file-name name version)) (sha256 (base32 - "0d5k5kabgl15as37kj9x65xc92j4gcqms86hvihw3yb6wag0r0q3")))) + "1ix51c25hjn57w93qmwzw80xh2i34wx8j2hn7szh8p6w8i3az5qa")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; not supported @@ -5789,7 +5834,7 @@ simultaneously.") (define-public ncbi-vdb (package (name "ncbi-vdb") - (version "2.9.6") + (version "2.10.6") (source (origin (method git-fetch) (uri (git-reference @@ -5798,7 +5843,7 @@ simultaneously.") (file-name (git-file-name name version)) (sha256 (base32 - "0knkj1sq34hlivgv5qd6jlczqrs3ldmfgn6vbbw7p4mqxvb9mirk")))) + "0m8hlxscidsfqm9x9fyi62q6lpf1dv5115kgjjgnrkl49q9c27m6")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; not supported @@ -6148,7 +6193,7 @@ sequence itself can be retrieved from these databases.") (define-public sra-tools (package (name "sra-tools") - (version "2.9.6") + (version "2.10.6") (source (origin (method git-fetch) @@ -6158,11 +6203,11 @@ sequence itself can be retrieved from these databases.") (file-name (git-file-name name version)) (sha256 (base32 - "0vqzap68v81k0zif2mnqfy8pnw2nrhsg87p6mgq8qk3nk2jv2rgy")))) + "1cr2mijkfs5sm35ffjs6861qsd1qkgnhnbavdv65zg5d655abbjf")))) (build-system gnu-build-system) (arguments - `(#:parallel-build? #f ; not supported - #:tests? #f ; no "check" target + `(#:parallel-build? #f ; not supported + #:tests? #f ; no "check" target #:make-flags (list (string-append "DEFAULT_CRT=" (assoc-ref %build-inputs "ncbi-vdb") @@ -6205,6 +6250,9 @@ sequence itself can be retrieved from these databases.") ;; Dynamic linking (substitute* "tools/copycat/Makefile" (("smagic-static") "lmagic")) + (substitute* "tools/driver-tool/utf8proc/Makefile" + (("CC\\?=gcc") "myCC=gcc") + (("\\(CC\\)") "(myCC)")) ;; The 'configure' script doesn't recognize things like ;; '--enable-fast-install'. @@ -6217,8 +6265,9 @@ sequence itself can be retrieved from these databases.") (string-append "--with-magic-prefix=" (assoc-ref inputs "libmagic")) ;; TODO: building with libxml2 fails with linker errors - ;; (string-append "--with-xml2-prefix=" - ;; (assoc-ref inputs "libxml2")) + #; + (string-append "--with-xml2-prefix=" + (assoc-ref inputs "libxml2")) (string-append "--with-ncbi-vdb-sources=" (assoc-ref inputs "ncbi-vdb")) (string-append "--with-ncbi-vdb-build=" @@ -6234,8 +6283,9 @@ sequence itself can be retrieved from these databases.") ("ncbi-vdb" ,ncbi-vdb) ("libmagic" ,file) ("fuse" ,fuse) - ("hdf5" ,hdf5) - ("zlib" ,zlib))) + ("hdf5" ,hdf5-1.10) + ("zlib" ,zlib) + ("python" ,python-wrapper))) (home-page "https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=software") (synopsis "Tools and libraries for reading and writing sequencing data") @@ -6897,17 +6947,18 @@ information as possible.") (define-public r-genefilter (package (name "r-genefilter") - (version "1.68.0") + (version "1.70.0") (source (origin (method url-fetch) (uri (bioconductor-uri "genefilter" version)) (sha256 (base32 - "1xjr02qhldspjwd6y374wgik18fgywb6408wsz471i8b4ik98ckc")))) + "1sbbrnq6p90fri0ik6aq2zw26kasw63nyiy7xkzrj6vgyq7x258g")))) (build-system r-build-system) (native-inputs - `(("gfortran" ,gfortran))) + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) (propagated-inputs `(("r-annotate" ,r-annotate) ("r-annotationdbi" ,r-annotationdbi) @@ -6924,14 +6975,14 @@ high-throughput sequencing experiments.") (define-public r-deseq2 (package (name "r-deseq2") - (version "1.26.0") + (version "1.28.1") (source (origin (method url-fetch) (uri (bioconductor-uri "DESeq2" version)) (sha256 (base32 - "1lmbhznfs8dz9ipd53z4ccwvwxqwzx1ayw56jlrvlsambaj8fash")))) + "0xh12c2skr0bbv893p05gvbismkcnqw8zwh7yz4wmycgajfzg2pp")))) (properties `((upstream-name . "DESeq2"))) (build-system r-build-system) (propagated-inputs @@ -6942,13 +6993,14 @@ high-throughput sequencing experiments.") ("r-geneplotter" ,r-geneplotter) ("r-genomicranges" ,r-genomicranges) ("r-ggplot2" ,r-ggplot2) - ("r-hmisc" ,r-hmisc) ("r-iranges" ,r-iranges) ("r-locfit" ,r-locfit) ("r-rcpp" ,r-rcpp) ("r-rcpparmadillo" ,r-rcpparmadillo) ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/DESeq2") (synopsis "Differential gene expression analysis") (description @@ -6961,14 +7013,14 @@ distribution.") (define-public r-dexseq (package (name "r-dexseq") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DEXSeq" version)) (sha256 (base32 - "0sqqb65ckliif2nmvlvc7w49id59z0nvqcdz5gry8l2mn6azrf6a")))) + "1inyxb89hd5bn0sl7a9qbv9d1g40z4v1s9qwxkcsx5c79fl04n1h")))) (properties `((upstream-name . "DEXSeq"))) (build-system r-build-system) (propagated-inputs @@ -6989,6 +7041,8 @@ distribution.") ("r-statmod" ,r-statmod) ("r-stringr" ,r-stringr) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/DEXSeq") (synopsis "Inference of differential exon usage in RNA-Seq") (description @@ -7004,14 +7058,14 @@ exploration of the results.") (define-public r-annotationforge (package (name "r-annotationforge") - (version "1.28.0") + (version "1.30.1") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationForge" version)) (sha256 (base32 - "0h2r60v339ajk5r6xq4iwwcpihdvf12fi8255byr2dhglzrd8xl7")))) + "1a2155jxbwc6qr3dcyvp850grhdr7czc7bs3s87ff4sgdl0jp3jw")))) (properties `((upstream-name . "AnnotationForge"))) (build-system r-build-system) @@ -7024,6 +7078,8 @@ exploration of the results.") ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/AnnotationForge") (synopsis "Code for building annotation database packages") (description @@ -7034,14 +7090,14 @@ databases. Packages produced are intended to be used with AnnotationDbi.") (define-public r-rbgl (package (name "r-rbgl") - (version "1.62.1") + (version "1.64.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RBGL" version)) (sha256 (base32 - "0ixbkdirf08i400db587r262j52sdwdgk3884nxk5xkbhx2m6vg0")))) + "079599a6xn2i7snfn2vgshkw0c00rrfhj44pvi03ap8id29bkayy")))) (properties `((upstream-name . "RBGL"))) (build-system r-build-system) (propagated-inputs @@ -7057,14 +7113,14 @@ the graph algorithms contained in the Boost library.") (define-public r-gseabase (package (name "r-gseabase") - (version "1.48.0") + (version "1.50.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GSEABase" version)) (sha256 (base32 - "0kcb90sxlf19d5dxhdbqk9x62svky4262cccl0wxarbq6gf3bd57")))) + "1k4faj53cwvqijad8cf7fcghzxcv9shlbpl8n73bsncc8k192y2j")))) (properties `((upstream-name . "GSEABase"))) (build-system r-build-system) (propagated-inputs @@ -7074,6 +7130,8 @@ the graph algorithms contained in the Boost library.") ("r-biocgenerics" ,r-biocgenerics) ("r-graph" ,r-graph) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/GSEABase") (synopsis "Gene set enrichment data structures and methods") (description @@ -7084,14 +7142,14 @@ Enrichment Analysis} (GSEA).") (define-public r-category (package (name "r-category") - (version "2.52.1") + (version "2.54.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Category" version)) (sha256 (base32 - "0ga0ij9hyzsxa5pavwmv35i8xggia2wygrk4m4z8an0qcvgy3v5g")))) + "1grspdzk5a4vidnxwcd1jmy1vcn494aydsp3vydx235yv7iqac1b")))) (properties `((upstream-name . "Category"))) (build-system r-build-system) (propagated-inputs @@ -7115,14 +7173,14 @@ analysis.") (define-public r-gostats (package (name "r-gostats") - (version "2.52.0") + (version "2.54.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GOstats" version)) (sha256 (base32 - "19f4gxm3sbprqrnwzvskvywv6j4ibm8xkrbgg4h0fvh2b5331nwc")))) + "00q39cyv4l28r6s9gjnd0qhl7h80vmwp4lpmchisqzj44xzyics9")))) (properties `((upstream-name . "GOstats"))) (build-system r-build-system) (propagated-inputs @@ -7146,14 +7204,14 @@ testing and other simple calculations.") (define-public r-shortread (package (name "r-shortread") - (version "1.44.3") + (version "1.46.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ShortRead" version)) (sha256 (base32 - "0ykyrj4g6vc67d5s46sp4659qvar2iavflzhggm79w4p50hxia4s")))) + "0l4kdln69y6yhln0xiv2jmpxg05fjcglln406p43a2bqvk2lr03d")))) (properties `((upstream-name . "ShortRead"))) (build-system r-build-system) (inputs @@ -7188,22 +7246,23 @@ ungapped alignment formats.") (define-public r-systempiper (package (name "r-systempiper") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "systemPipeR" version)) (sha256 (base32 - "17r25v9wcglyma2v1c8fka80dm7fx86saxlsb2aprmwi4h3dhb0j")))) + "01ilhlrvy28jfdyxjria4024yryj5zgympgqznw17g3y3az78kk2")))) (properties `((upstream-name . "systemPipeR"))) (build-system r-build-system) (propagated-inputs `(("r-annotate" ,r-annotate) + ("r-assertthat" ,r-assertthat) ("r-batchtools" ,r-batchtools) - ("r-biocgenerics" ,r-biocgenerics) ("r-biostrings" ,r-biostrings) ("r-deseq2" ,r-deseq2) + ("r-dot" ,r-dot) ("r-edger" ,r-edger) ("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicranges" ,r-genomicranges) @@ -7211,13 +7270,18 @@ ungapped alignment formats.") ("r-go-db" ,r-go-db) ("r-gostats" ,r-gostats) ("r-limma" ,r-limma) + ("r-magrittr" ,r-magrittr) ("r-pheatmap" ,r-pheatmap) ("r-rjson" ,r-rjson) ("r-rsamtools" ,r-rsamtools) + ("r-rsvg" ,r-rsvg) ("r-shortread" ,r-shortread) + ("r-stringr" ,r-stringr) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-yaml" ,r-yaml) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tgirke/systemPipeR") (synopsis "Next generation sequencing workflow and reporting environment") (description @@ -7235,14 +7299,14 @@ annotation infrastructure.") (define-public r-grohmm (package (name "r-grohmm") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "groHMM" version)) (sha256 (base32 - "0ywr8f6bfhg2ia3n4rmsxr4v1xqmlyhkwh0rvkgh3yqgnbvihndg")))) + "04z9qq1xwdsaxbqhyld37w0ybvzly9pc1hcyrnwdbyjwd7n1fncb")))) (properties `((upstream-name . "groHMM"))) (build-system r-build-system) (propagated-inputs @@ -7468,13 +7532,13 @@ BLAST, KEGG, GenBank, MEDLINE and GO.") (define-public r-biocviews (package (name "r-biocviews") - (version "1.54.0") + (version "1.56.0") (source (origin (method url-fetch) (uri (bioconductor-uri "biocViews" version)) (sha256 (base32 - "0yn8jys1900d31haayz0ppqk5y79mwjajwp4alz6pln3dbs70f3g")))) + "1h4cmfbff79v9xrh271dp3rv0877ris06lmkvc39kqzj7yjsh7c2")))) (properties `((upstream-name . "biocViews"))) (build-system r-build-system) @@ -7496,13 +7560,13 @@ also known as views, in a controlled vocabulary.") (define-public r-biocstyle (package (name "r-biocstyle") - (version "2.14.4") + (version "2.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocStyle" version)) (sha256 (base32 - "1x71in059zql40f4c87bd1gf96r945kdvwbq61jmch9d3d8nwxbb")))) + "07rjl2n4sazdg581zh7w3yykzphgr2gpz41ba4ryqs7347vh9nbf")))) (properties `((upstream-name . "BiocStyle"))) (build-system r-build-system) @@ -7512,6 +7576,8 @@ also known as views, in a controlled vocabulary.") ("r-knitr" ,r-knitr) ("r-rmarkdown" ,r-rmarkdown) ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocStyle") (synopsis "Bioconductor formatting styles") (description "This package provides standard formatting styles for @@ -7522,13 +7588,13 @@ functionality.") (define-public r-bioccheck (package (name "r-bioccheck") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocCheck" version)) (sha256 (base32 - "1qnvl5yajgh67ijkq6gdsafri1k5hyw5gzn2ccqk9ymx6i2xd80g")))) + "1p9ys18sn1crxw1iac2jdgqvwpb5hjd9nfxx0qn0ncrv0b550mny")))) (properties `((upstream-name . "BiocCheck"))) (build-system r-build-system) @@ -7560,6 +7626,8 @@ functionality.") ("r-biocmanager" ,r-biocmanager) ("r-biocviews" ,r-biocviews) ("r-stringdist" ,r-stringdist))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocCheck") (synopsis "Executes Bioconductor-specific package checks") (description "This package contains tools to perform additional quality @@ -7569,13 +7637,13 @@ checks on R packages that are to be submitted to the Bioconductor repository.") (define-public r-s4vectors (package (name "r-s4vectors") - (version "0.24.4") + (version "0.26.1") (source (origin (method url-fetch) (uri (bioconductor-uri "S4Vectors" version)) (sha256 (base32 - "1fzs8j2d3wwfzm2fq63ywf68a4dbggyl5l098f148yn4jw7jd3bc")))) + "1ddr3ngyczx332zw9ai1a6h7442lgrbfcj8vrhvbkdkzqwj14xmb")))) (properties `((upstream-name . "S4Vectors"))) (build-system r-build-system) @@ -7596,13 +7664,13 @@ S4Vectors package itself.") (define-public r-iranges (package (name "r-iranges") - (version "2.20.2") + (version "2.22.2") (source (origin (method url-fetch) (uri (bioconductor-uri "IRanges" version)) (sha256 (base32 - "1jhnxb9yacmj2z82b6992gihjvj1a0gnjwbjiagyyx03fqnv23kg")))) + "1y24jw62806wp2afiyj1x6n00gj7d3323klqdypra9q43pg1w49d")))) (properties `((upstream-name . "IRanges"))) (build-system r-build-system) @@ -7648,13 +7716,13 @@ ID and species. It is used by functions in the GenomeInfoDb package.") (define-public r-genomeinfodb (package (name "r-genomeinfodb") - (version "1.22.1") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomeInfoDb" version)) (sha256 (base32 - "0phadr67yb4l25x41a9wg4pjy1wbxlk14jhidhz6g5n4z6x45qbm")))) + "0ab92nq7lvhvhgp512qhiiphpby0b17c666qska6p8a636zzmqiv")))) (properties `((upstream-name . "GenomeInfoDb"))) (build-system r-build-system) @@ -7678,13 +7746,13 @@ names in their natural, rather than lexicographic, order.") (define-public r-edger (package (name "r-edger") - (version "3.28.1") + (version "3.30.3") (source (origin (method url-fetch) (uri (bioconductor-uri "edgeR" version)) (sha256 (base32 - "07dv99kl7jfa62nzcq705r56gcpb1hq7p4px48j71y2ddi1rqmr6")))) + "1z9bkg08rgqn3jm2s4ndbj641w33wl8jd3j6m5if6h2nnw6011ic")))) (properties `((upstream-name . "edgeR"))) (build-system r-build-system) (propagated-inputs @@ -7706,13 +7774,13 @@ CAGE.") (define-public r-variantannotation (package (name "r-variantannotation") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantAnnotation" version)) (sha256 (base32 - "009s7rzp78s2w6iybizina42qx2w8qv3xwjbkpqphmm451maykgs")))) + "09y6ymwky839nb0y7y93w810hk9mvwqn7595q1276c28dkddiqvw")))) (properties `((upstream-name . "VariantAnnotation"))) (inputs @@ -7745,13 +7813,13 @@ coding changes and predict coding outcomes.") (define-public r-limma (package (name "r-limma") - (version "3.42.2") + (version "3.44.1") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "1nd01r7rd7jb5qz84vbgfnyrmgm9wiq7fsdji68537kjgvrzmm9z")))) + "0l6f6lz1rghj8c5s14ljbnmsrwz27fi6a7g42n15n3d3msvflw36")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") @@ -7764,13 +7832,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") (define-public r-xvector (package (name "r-xvector") - (version "0.26.0") + (version "0.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "XVector" version)) (sha256 (base32 - "0s2gg84yzl5ffkzp6n7kh0jjk1vd90z189f5hkfn18rn67cy2nv7")))) + "11h1hszv4798q1gbx8r6zf8vlaqx4v9ql0lbh2xaxybp66a03pvc")))) (properties `((upstream-name . "XVector"))) (build-system r-build-system) @@ -7800,13 +7868,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") (define-public r-genomicranges (package (name "r-genomicranges") - (version "1.38.0") + (version "1.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicRanges" version)) (sha256 (base32 - "0xdds6ws7jjdfy4x3mb0qhy43kpxdmifmpw0jdk4wgw999zabb50")))) + "0wn1zr2qq0rpv9z2wialgizn6xzdlcjg1w2kif67n53svz6vk2x1")))) (properties `((upstream-name . "GenomicRanges"))) (build-system r-build-system) @@ -7816,6 +7884,8 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.") ("r-iranges" ,r-iranges) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/GenomicRanges") (synopsis "Representation and manipulation of genomic intervals") (description @@ -7829,13 +7899,13 @@ manipulating genomic intervals and variables defined along a genome.") (define-public r-biobase (package (name "r-biobase") - (version "2.46.0") + (version "2.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Biobase" version)) (sha256 (base32 - "1gx41083dqlm59vwqdxvc4ny31x91j48mda9n3scg0f2zwasvqgl")))) + "13p3kgnxm7hbn8cy289kbhaiyfa6rxx7l1pbvajwqzbay3cxznqp")))) (properties `((upstream-name . "Biobase"))) (build-system r-build-system) @@ -7851,13 +7921,13 @@ on Bioconductor or which replace R functions.") (define-public r-annotationdbi (package (name "r-annotationdbi") - (version "1.48.0") + (version "1.50.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationDbi" version)) (sha256 (base32 - "09piz1f0xpbb4amskx4ilby6lfrn27hhwk75il2c4lq6m3hr4w8s")))) + "10gplxal0qphcn29azv0i6hiim9q45lmhzvhhhsnwfhwpgja7p05")))) (properties `((upstream-name . "AnnotationDbi"))) (build-system r-build-system) @@ -7868,6 +7938,8 @@ on Bioconductor or which replace R functions.") ("r-iranges" ,r-iranges) ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/AnnotationDbi") (synopsis "Annotation database interface") (description @@ -7878,13 +7950,13 @@ annotation data packages using SQLite data storage.") (define-public r-biomart (package (name "r-biomart") - (version "2.42.1") + (version "2.44.0") (source (origin (method url-fetch) (uri (bioconductor-uri "biomaRt" version)) (sha256 (base32 - "0676s8aq9xj2pdrfk28kf5j69fmssn900k4vxrp11ghwjr8z24h7")))) + "0ag26q9283p9mfz4zx8qnx1w7b7ilmsb8wyx737z9cqy9a0i57wj")))) (properties `((upstream-name . "biomaRt"))) (build-system r-build-system) @@ -7915,13 +7987,13 @@ powerful online queries from gene annotation to database mining.") (define-public r-biocparallel (package (name "r-biocparallel") - (version "1.20.1") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocParallel" version)) (sha256 (base32 - "0g0znb4whsvb9hpwx9xaasdi5n4vjqw8cpdyqgrdrjm91rls1h21")))) + "1lsg5xm5j3ly5k60fidzhkgqc9jgscyfkqngjvd9qp6yfzvsb82g")))) (properties `((upstream-name . "BiocParallel"))) (build-system r-build-system) @@ -7929,6 +8001,8 @@ powerful online queries from gene annotation to database mining.") `(("r-futile-logger" ,r-futile-logger) ("r-snow" ,r-snow) ("r-bh" ,r-bh))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocParallel") (synopsis "Bioconductor facilities for parallel evaluation") (description @@ -7940,18 +8014,19 @@ objects.") (define-public r-biostrings (package (name "r-biostrings") - (version "2.54.0") + (version "2.56.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Biostrings" version)) (sha256 (base32 - "0pq7g2hflx2cjlpwdj6mscw9hnxvlf5y50dxf48lbrf9r3q9kmyp")))) + "0imhfz7dg8b3l5qzipjranqqshdsg2x6zc49drlhn8sc7j40cvi8")))) (properties `((upstream-name . "Biostrings"))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) + ("r-crayon" ,r-crayon) ("r-iranges" ,r-iranges) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) @@ -7966,13 +8041,13 @@ biological sequences or sets of sequences.") (define-public r-rsamtools (package (name "r-rsamtools") - (version "2.2.3") + (version "2.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsamtools" version)) (sha256 (base32 - "1vj43acawqqkf9yval9fzxarpsf04fmn78m2hq4f083w1k0myhyr")))) + "0z01z0s71f941k7sns46nyabps28c69d6jxx6sppjpc6h4vrw0vq")))) (properties `((upstream-name . "Rsamtools"))) (build-system r-build-system) @@ -8011,19 +8086,18 @@ tab-delimited (tabix) files.") (define-public r-delayedarray (package (name "r-delayedarray") - (version "0.12.3") + (version "0.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedArray" version)) (sha256 (base32 - "02i88ll2d7r83nk0wdj28akvsz3jq19g6ixpaahfy3jy5av4byv6")))) + "1lz7a0rrlfv3w44n073mk8pw39z7lfs0njdxp5vpp0rdsmvdf1qk")))) (properties `((upstream-name . "DelayedArray"))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) - ("r-biocparallel" ,r-biocparallel) ("r-s4vectors" ,r-s4vectors) ("r-iranges" ,r-iranges) ("r-matrix" ,r-matrix) @@ -8045,13 +8119,13 @@ array-like objects like @code{DataFrame} objects (typically with Rle columns), (define-public r-summarizedexperiment (package (name "r-summarizedexperiment") - (version "1.16.1") + (version "1.18.1") (source (origin (method url-fetch) (uri (bioconductor-uri "SummarizedExperiment" version)) (sha256 (base32 - "1z9bdk49dajafkfvv99nv6zyn6v70iyyy2jgdp5w5z8174a2bnn1")))) + "07rc79k5dp0dnf4dvsxif995aa9cgfkf13yf84qnwl64k9pf3c2c")))) (properties `((upstream-name . "SummarizedExperiment"))) (build-system r-build-system) @@ -8064,6 +8138,8 @@ array-like objects like @code{DataFrame} objects (typically with Rle columns), ("r-iranges" ,r-iranges) ("r-matrix" ,r-matrix) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/SummarizedExperiment") (synopsis "Container for representing genomic ranges by sample") (description @@ -8076,13 +8152,13 @@ samples.") (define-public r-genomicalignments (package (name "r-genomicalignments") - (version "1.22.1") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicAlignments" version)) (sha256 (base32 - "065xvy4pkda0ajvl1b75iski95k1pnbhxwdq7vkfl8v55915vqh6")))) + "0v8k6d7frm5p48cmk4zik78cw9abz4inx0zhl4zrmmx31ifyvk8d")))) (properties `((upstream-name . "GenomicAlignments"))) (build-system r-build-system) @@ -8109,13 +8185,13 @@ alignments.") (define-public r-rtracklayer (package (name "r-rtracklayer") - (version "1.46.0") + (version "1.48.0") (source (origin (method url-fetch) (uri (bioconductor-uri "rtracklayer" version)) (sha256 (base32 - "0lp9xsm8kqrgpwgwj7qaqcv1z6qynbz084grlpwp94zsp2ppf0n6")))) + "1zcgk92sidhy4y7ws9ms4nkkh2hnccfhfh53qgna0kma9jy4v5xf")))) (build-system r-build-system) (arguments `(#:phases @@ -8156,13 +8232,13 @@ as well as query and modify the browser state, such as the current viewport.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.38.2") + (version "1.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "0dd226kgks50jdx5w35f3wmg95hy8aibi4kcn8p5kmqp5i8j580b")))) + "09ffsflk2yhhj9ivm028y3qdkvv8idgxpm4il3y9rym7shc8b3f8")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) @@ -8181,6 +8257,8 @@ as well as query and modify the browser state, such as the current viewport.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/GenomicFeatures") (synopsis "Tools for working with transcript centric annotations") (description @@ -8221,13 +8299,13 @@ information about the latest version of the Gene Ontologies.") (define-public r-topgo (package (name "r-topgo") - (version "2.38.1") + (version "2.40.0") (source (origin (method url-fetch) (uri (bioconductor-uri "topGO" version)) (sha256 (base32 - "1kw9m2j67895k58lx9msc248pjwblp8clxwgsl01cql7sgi1xzlf")))) + "13rhbvn27sj75fklf1cnjaazacx8yyjlhqlnbp5zk157q6y5cwdr")))) (properties `((upstream-name . "topGO"))) (build-system r-build-system) @@ -8254,13 +8332,13 @@ dependencies between GO terms can be implemented and applied.") (define-public r-bsgenome (package (name "r-bsgenome") - (version "1.54.0") + (version "1.56.0") (source (origin (method url-fetch) (uri (bioconductor-uri "BSgenome" version)) (sha256 (base32 - "0nn1b3h4hmnx5whf2cmzmyxdrcf4myj8c38rwr0sw4rc07xfzndy")))) + "1jw8r1qm9fpg2s1cw2y4np243jjxm65j2xdy2785h8fc1b02msf6")))) (properties `((upstream-name . "BSgenome"))) (build-system r-build-system) @@ -8270,6 +8348,7 @@ dependencies between GO terms can be implemented and applied.") ("r-genomeinfodb" ,r-genomeinfodb) ("r-genomicranges" ,r-genomicranges) ("r-iranges" ,r-iranges) + ("r-matrixstats" ,r-matrixstats) ("r-rsamtools" ,r-rsamtools) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) @@ -8284,13 +8363,13 @@ genome data packages and support for efficient SNP representation.") (define-public r-impute (package (name "r-impute") - (version "1.60.0") + (version "1.62.0") (source (origin (method url-fetch) (uri (bioconductor-uri "impute" version)) (sha256 (base32 - "0igz1phjd1j9bg9z4kyy7j8v9bxi9sdwz4df26r51i2vavlbrf4q")))) + "161p6l1cp3wwdynkxwvg0yhrh6yv20brdlplw5w5mavn4hf1nm0h")))) (native-inputs `(("gfortran" ,gfortran))) (build-system r-build-system) @@ -8304,13 +8383,13 @@ microarray data, using nearest neighbor averaging.") (define-public r-seqpattern (package (name "r-seqpattern") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "seqPattern" version)) (sha256 (base32 - "1gxrq6s2hiyac69idh5r1nbr1s69n0hg4ap2skm4g6857av9pwqf")))) + "0f1yvx2ri1557rzjx08q5bgml1cvkm8hjl8xn1qi4rjs64sy6mci")))) (properties `((upstream-name . "seqPattern"))) (build-system r-build-system) @@ -8331,13 +8410,13 @@ reference point and sorted by a user defined feature.") (define-public r-genomation (package (name "r-genomation") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "genomation" version)) (sha256 (base32 - "1sba928h23b67gr3i4yj1bg655g24l3bcgsf5gvymzrv5idrss1l")))) + "1cy8kqwddiha5jy6nda1al956i4wncbgjkrxwijdb08cmka2sfwh")))) (build-system r-build-system) (propagated-inputs `(("r-biostrings" ,r-biostrings) @@ -8361,6 +8440,8 @@ reference point and sorted by a user defined feature.") ("r-runit" ,r-runit) ("r-s4vectors" ,r-s4vectors) ("r-seqpattern" ,r-seqpattern))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://bioinformatics.mdc-berlin.de/genomation/") (synopsis "Summary, annotation and visualization of genomic data") (description @@ -8405,14 +8486,14 @@ downloaded from Encode.") (define-public r-seqlogo (package (name "r-seqlogo") - (version "1.52.0") + (version "1.54.3") (source (origin (method url-fetch) (uri (bioconductor-uri "seqLogo" version)) (sha256 (base32 - "0s94aahp8ma1crmp83dz65ifjwrx6wqi3q6005lmbp8yk2x1rkj4")))) + "09kkxir305fv8z2yyihvspkrzclxbw1cx5mvhfkrhl10rap6662j")))) (properties `((upstream-name . "seqLogo"))) (build-system r-build-system) (home-page "https://bioconductor.org/packages/seqLogo") @@ -8426,14 +8507,14 @@ Stephens (1990).") (define-public r-motifrg (package (name "r-motifrg") - (version "1.30.0") + (version "1.31.0") (source (origin (method url-fetch) (uri (bioconductor-uri "motifRG" version)) (sha256 (base32 - "0s6wdr036lra9x93r9k8wvicbkgzypjh3jp46h92yacw8d829k0d")))) + "1ml6zyzlk8yjbnfhga2qnw8nl43rankvka0kc1yljxr2b66aqbhn")))) (properties `((upstream-name . "motifRG"))) (build-system r-build-system) (propagated-inputs @@ -8507,13 +8588,13 @@ R/qtl, to better handle high-dimensional data and complex cross designs.") (define-public r-zlibbioc (package (name "r-zlibbioc") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "zlibbioc" version)) (sha256 (base32 - "1xh7qan0w62mzsmanbx9vcj6ygdfhzw1abaxijkq7f4nh5w87idj")))) + "0j1l052jb2cwc1nifxzwknc9csagf4f2d092zs0i95dz0rma89l0")))) (properties `((upstream-name . "zlibbioc"))) (build-system r-build-system) @@ -8549,14 +8630,14 @@ secondary structure and comparative analysis in R.") (define-public r-rhtslib (package (name "r-rhtslib") - (version "1.18.1") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhtslib" version)) (sha256 (base32 - "0gkbrmrcg55c9s5166ifljlx0v25rv4ijdyp4wf4c292xd6chy2l")))) + "186r7icrkzrni1c4n33ip7dlsfgys7hnqf0simvxrpl3yhh3ygdi")))) (properties `((upstream-name . "Rhtslib"))) (build-system r-build-system) ;; Without this a temporary directory ends up in the Rhtslib.so binary, @@ -8568,7 +8649,8 @@ secondary structure and comparative analysis in R.") (inputs `(("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (home-page "https://github.com/nhayden/Rhtslib") (synopsis "High-throughput sequencing library as an R package") (description @@ -8580,14 +8662,14 @@ of other R packages who wish to make use of HTSlib.") (define-public r-bamsignals (package (name "r-bamsignals") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "bamsignals" version)) (sha256 (base32 - "0699b0pqbs0dvs91yjibcjc90lxj9mg8rcml4a6wchfr9md7n74w")))) + "0p858xxfv79yc8b3lq58zl9f00irvbn3czsd8wdi5040xg42m402")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -8598,6 +8680,8 @@ of other R packages who wish to make use of HTSlib.") ("r-zlibbioc" ,r-zlibbioc))) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/bamsignals") (synopsis "Extract read count signals from bam files") (description @@ -8610,24 +8694,22 @@ paired-end data.") (define-public r-rcas (package (name "r-rcas") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "RCAS" version)) (sha256 (base32 - "1s3gvvxi1029d1vfwnjh21nnw3mlx08kcwz63891hml9y850cvsn")))) + "0f812pgv3ys1zv4n9sqkgm01hj4cdd0i0h85dqbhkwd94zl6cavl")))) (properties `((upstream-name . "RCAS"))) (build-system r-build-system) (propagated-inputs - `(("r-annotationdbi" ,r-annotationdbi) - ("r-biocgenerics" ,r-biocgenerics) - ("r-biomart" ,r-biomart) + `(("r-biocgenerics" ,r-biocgenerics) ("r-biostrings" ,r-biostrings) + ("r-bsgenome" ,r-bsgenome) ("r-bsgenome-hsapiens-ucsc-hg19" ,r-bsgenome-hsapiens-ucsc-hg19) ("r-cowplot" ,r-cowplot) ("r-data-table" ,r-data-table) - ("r-dbi" ,r-dbi) ("r-dt" ,r-dt) ("r-genomation" ,r-genomation) ("r-genomeinfodb" ,r-genomeinfodb) @@ -8635,20 +8717,21 @@ paired-end data.") ("r-genomicranges" ,r-genomicranges) ("r-ggplot2" ,r-ggplot2) ("r-ggseqlogo" ,r-ggseqlogo) - ("r-knitr" ,r-knitr) - ("r-motifrg" ,r-motifrg) - ("r-org-hs-eg-db" ,r-org-hs-eg-db) + ("r-gprofiler2" ,r-gprofiler2) + ("r-iranges" ,r-iranges) ("r-pbapply" ,r-pbapply) ("r-pheatmap" ,r-pheatmap) ("r-plotly" ,r-plotly) ("r-plotrix" ,r-plotrix) ("r-proxy" ,r-proxy) + ("r-ranger" ,r-ranger) ("r-rsqlite" ,r-rsqlite) ("r-rtracklayer" ,r-rtracklayer) ("r-rmarkdown" ,r-rmarkdown) ("r-s4vectors" ,r-s4vectors) - ("r-topgo" ,r-topgo) ("pandoc" ,ghc-pandoc))) + (native-inputs + `(("r-knitr" ,r-knitr))) (synopsis "RNA-centric annotation system") (description "RCAS aims to be a standalone RNA-centric annotation system that provides @@ -8697,9 +8780,9 @@ library implementing most of the pipeline's features.") (inputs `(("r-minimal" ,r-minimal) ("r-rcas" ,r-rcas) - ("guile-next" ,guile-2.2) + ("guile" ,guile-2.2) ("guile-json" ,guile-json-1) - ("guile-redis" ,guile-redis))) + ("guile-redis" ,guile2.2-redis))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://github.com/BIMSBbioinfo/rcas-web") @@ -8711,14 +8794,14 @@ library implementing most of the pipeline's features.") (define-public r-mutationalpatterns (package (name "r-mutationalpatterns") - (version "1.12.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MutationalPatterns" version)) (sha256 (base32 - "08715l6swrlccviw7932v5hyrd2x4c6049vy9qnxk0lw3sp1zvsf")))) + "02lyjiabyhmifycksvpcx29a0pb7z9xjw0hgg8n0sd0dy3afqhcm")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -8816,13 +8899,13 @@ factors bound at the specific regions.") (define-public r-tximport (package (name "r-tximport") - (version "1.14.2") + (version "1.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "tximport" version)) (sha256 (base32 - "1avy0zhgnszmg0dr9w74yq9ml10kwdrrgcni2wysrd48zzskc1n0")))) + "1x9959lkjl2h869rgd1b30q1idxzjkr1fyqbpndqk3kbi4q2gr40")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -8840,18 +8923,20 @@ of gene-level counts.") (define-public r-rhdf5 (package (name "r-rhdf5") - (version "2.30.1") + (version "2.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "rhdf5" version)) (sha256 (base32 - "18pv74jj4wr1981r92ss10qkgf5g1b09dsbz3im3j70a4l5l0df0")))) + "097znwl95y2vd6asyqxs62m7binwxqmna7ss0302yl3b0s72skcy")))) (build-system r-build-system) (propagated-inputs `(("r-rhdf5lib" ,r-rhdf5lib))) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/rhdf5") (synopsis "HDF5 interface to R") (description @@ -8867,19 +8952,21 @@ the available RAM.") (define-public r-annotationfilter (package (name "r-annotationfilter") - (version "1.10.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationFilter" version)) (sha256 (base32 - "1l9sxhlvnwn6327vgg02h11ppmqr2zr07ff8wmcng0i1jbqwa8q5")))) + "18kh1xrhpwb48s1qj4f1v8af3jmw49pnbp5afi2myn9894hxg0cs")))) (properties `((upstream-name . "AnnotationFilter"))) (build-system r-build-system) (propagated-inputs `(("r-genomicranges" ,r-genomicranges) ("r-lazyeval" ,r-lazyeval))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/Bioconductor/AnnotationFilter") (synopsis "Facilities for filtering Bioconductor annotation resources") (description @@ -9212,14 +9299,14 @@ manipulate and analyze genetic variants.") (define-public r-chipseq (package (name "r-chipseq") - (version "1.36.0") + (version "1.38.0") (source (origin (method url-fetch) (uri (bioconductor-uri "chipseq" version)) (sha256 (base32 - "1ln6bn08xig3j6ryak1xfkjhvpnlm2vf1czz9hlj6f02299nbs6l")))) + "0lh859s0aq73vac1phcgagf6n000qgq2xsk0bmfr61n5swifml2a")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -9264,14 +9351,14 @@ GenomicRanges Bioconductor package.") (define-public r-copywriter (package (name "r-copywriter") - (version "2.18.0") + (version "2.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "CopywriteR" version)) (sha256 (base32 - "0llg1zpxg7qnvja5f5w1z1xic0jdg6zc4mfn97h2sm44skxxcyl1")))) + "0c36wpv0rygkbqpf3dwh5xmc3lr7p8lrdzsq2fbbpw04skl6i7m2")))) (properties `((upstream-name . "CopywriteR"))) (build-system r-build-system) (propagated-inputs @@ -9304,13 +9391,13 @@ number detection tools.") (define-public r-methylkit (package (name "r-methylkit") - (version "1.12.0") + (version "1.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "methylKit" version)) (sha256 (base32 - "0klwc0sbmrxj1lxbz16pl39rxjm0pi57gjw547hlgnac1p9fspzy")))) + "1qr13d2712ypbn96ijic2z5adr5dsd61kzscx7shw6vyj360rlm5")))) (properties `((upstream-name . "methylKit"))) (build-system r-build-system) (propagated-inputs @@ -9353,17 +9440,18 @@ TAB-Seq.") (define-public r-sva (package (name "r-sva") - (version "3.34.0") + (version "3.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "sva" version)) (sha256 (base32 - "1bzms6idx30s4nxl610zwa8rjxsyxb5pf3vxsdfmxg8j4pab9gh1")))) + "0xa1lm0k1a6nig90mab6xh4gln88rbs5l1cdr6ik6agg7jhs7ji4")))) (build-system r-build-system) (propagated-inputs - `(("r-genefilter" ,r-genefilter) + `(("r-edger" ,r-edger) + ("r-genefilter" ,r-genefilter) ("r-mgcv" ,r-mgcv) ("r-biocparallel" ,r-biocparallel) ("r-matrixstats" ,r-matrixstats) @@ -9463,14 +9551,14 @@ as allowing spectra with different resolutions.") (define-public r-protgenerics (package (name "r-protgenerics") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ProtGenerics" version)) (sha256 (base32 - "1k1ggjgx2la8b21841a4ngkp6xfxwz0czv7x960r7i1jqif8y48z")))) + "14xzdh7vxss8vmrw91hcwrszdn3ikm71mah8875b2lkrkrfzbl73")))) (properties `((upstream-name . "ProtGenerics"))) (build-system r-build-system) (home-page "https://github.com/lgatto/ProtGenerics") @@ -9483,14 +9571,14 @@ proteomics packages.") (define-public r-mzr (package (name "r-mzr") - (version "2.20.0") + (version "2.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "mzR" version)) (sha256 (base32 - "1cwd7phlc5jbx6r6cznyfbdpvcin5fvsaasbbi65zn0s92a80r13")) + "1r8j8yiz5lcan7j4h37sza2kwczl48dxvld3da3ghjjq67cdc2cm")) (modules '((guix build utils))) (snippet '(begin @@ -9512,7 +9600,7 @@ proteomics packages.") #t))))) (inputs `(;; Our default boost package won't work here, unfortunately, even with - ;; mzR version 2.20.0. + ;; mzR version 2.22.0. ("boost" ,boost-for-mysql) ; use this instead of the bundled boost sources ("zlib" ,zlib))) (propagated-inputs @@ -9523,6 +9611,8 @@ proteomics packages.") ("r-rcpp" ,r-rcpp) ("r-rhdf5lib" ,r-rhdf5lib) ("r-zlibbioc" ,r-zlibbioc))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/sneumann/mzR/") (synopsis "Parser for mass spectrometry data files") (description @@ -9537,14 +9627,14 @@ previously been used in XCMS.") (define-public r-affyio (package (name "r-affyio") - (version "1.56.0") + (version "1.58.0") (source (origin (method url-fetch) (uri (bioconductor-uri "affyio" version)) (sha256 (base32 - "0sbkadxdlx7qzxc8z8iv90y6j9b2f62mk3i54dijjh56x3hjy3hb")))) + "0j1f61409yq6hmkqrpzamfm7dx35rlq33ccs7wb1qcqx3d3nb75q")))) (build-system r-build-system) (propagated-inputs `(("r-zlibbioc" ,r-zlibbioc))) @@ -9561,14 +9651,14 @@ CDF file formats.") (define-public r-affy (package (name "r-affy") - (version "1.64.0") + (version "1.66.0") (source (origin (method url-fetch) (uri (bioconductor-uri "affy" version)) (sha256 (base32 - "131za66wbaz9y86gvjqcc2yd1f2ngl2b796xw726g75djhdgxgap")))) + "0m6hkyjxmsf80n3anhwh9k26csxczv6v92fkb7klnchdski61pyc")))) (build-system r-build-system) (propagated-inputs `(("r-affyio" ,r-affyio) @@ -9589,14 +9679,14 @@ analysis.") (define-public r-vsn (package (name "r-vsn") - (version "3.54.0") + (version "3.56.0") (source (origin (method url-fetch) (uri (bioconductor-uri "vsn" version)) (sha256 (base32 - "1naqzb2m0km8fzr6chf9z71sisrwviy1fdi9b3hn4i8p18b4kqzh")))) + "1k82dikrv1gcync5y1131wg7z1kxv2z2jl4nndg20bixc3398h58")))) (build-system r-build-system) (propagated-inputs `(("r-affy" ,r-affy) @@ -9625,14 +9715,14 @@ and specific in detecting differential transcription.") (define-public r-mzid (package (name "r-mzid") - (version "1.24.0") + (version "1.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "mzID" version)) (sha256 (base32 - "1glcv096bn6pxlw89dlij1nzpwnjvrbxysvw2gm6qgm7rhxlaxrw")))) + "0y50lzkdamkpz67f6r5whp246qsxpbammjil7g8vjprx0c4jk5n5")))) (properties `((upstream-name . "mzID"))) (build-system r-build-system) (propagated-inputs @@ -9643,6 +9733,8 @@ and specific in detecting differential transcription.") ("r-protgenerics" ,r-protgenerics) ("r-rcpp" ,r-rcpp) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/mzID") (synopsis "Parser for mzIdentML files") (description @@ -9655,14 +9747,14 @@ specific parser.") (define-public r-pcamethods (package (name "r-pcamethods") - (version "1.78.0") + (version "1.80.0") (source (origin (method url-fetch) (uri (bioconductor-uri "pcaMethods" version)) (sha256 (base32 - "1wir67kfjm0m9gf0ki8qmvh45n4gx2k0wfl9pd1hp4g62fbrj1pj")))) + "10cww4jxyynkwxbbsx804nwac31j0hh8dgisygld0q663gaxkgni")))) (properties `((upstream-name . "pcaMethods"))) (build-system r-build-system) (propagated-inputs @@ -9685,14 +9777,14 @@ structure (pcaRes) to provide a common interface to the PCA results.") (define-public r-msnbase (package (name "r-msnbase") - (version "2.12.0") + (version "2.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "MSnbase" version)) (sha256 (base32 - "1z889xkfphqqmv31i8hh5xqyclv660ic26rfck5bjpgk3s2zzwi6")))) + "17vlv9gh41s1hp043b7j1jfqiw52alh1misjzy1kxl0g90rld00l")))) (properties `((upstream-name . "MSnbase"))) (build-system r-build-system) (propagated-inputs @@ -9718,6 +9810,8 @@ structure (pcaRes) to provide a common interface to the PCA results.") ("r-scales" ,r-scales) ("r-vsn" ,r-vsn) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/lgatto/MSnbase") (synopsis "Base functions and classes for MS-based proteomics") (description @@ -9728,14 +9822,14 @@ of mass spectrometry based proteomics data.") (define-public r-msnid (package (name "r-msnid") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "MSnID" version)) (sha256 (base32 - "0m71f2y12hmwvng45kzz4r4qrgc2jbd7j9gprmw8y5laawpdaifg")))) + "0dwa6j2nqb3223a8g4f453aznjh69wngrpvdi12iy69j1psbbjcc")))) (properties `((upstream-name . "MSnID"))) (build-system r-build-system) (propagated-inputs @@ -9828,14 +9922,14 @@ discovery of differentially expressed genes and markers.") (define-public r-aroma-light (package (name "r-aroma-light") - (version "3.16.0") + (version "3.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "aroma.light" version)) (sha256 (base32 - "0cgdg650j4dl0b45pwaw49ib97dwjazrv9sqzkygrjmcnnfxry8x")))) + "19y5f2minx2pp73zdh43v1qkwpkaxygkl8cwlnwja15i46s0bcyc")))) (properties `((upstream-name . "aroma.light"))) (build-system r-build-system) (propagated-inputs @@ -9855,14 +9949,14 @@ classes.") (define-public r-deseq (package (name "r-deseq") - (version "1.38.0") + (version "1.39.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DESeq" version)) (sha256 (base32 - "14pys93gsl50xmq5pc7pp1g20v3ywlg0yzkkhwb3kiy8573xn9nc")))) + "047hph5aqmjnz1aqprziw0smdn5lf96hmwpnvqrxv1j2yfvcf3h1")))) (properties `((upstream-name . "DESeq"))) (build-system r-build-system) (propagated-inputs @@ -9886,14 +9980,14 @@ distribution.") (define-public r-edaseq (package (name "r-edaseq") - (version "2.20.0") + (version "2.22.0") (source (origin (method url-fetch) (uri (bioconductor-uri "EDASeq" version)) (sha256 (base32 - "19mgzbv8yxgvw86wpq401l27q55ygawlngl775yavwccz1zbhjnj")))) + "12gzxjh73qshlwvsf92lbrf4bi199kxg2snrkprh1z4yqf7bjfm4")))) (properties `((upstream-name . "EDASeq"))) (build-system r-build-system) (propagated-inputs @@ -9910,6 +10004,8 @@ distribution.") ("r-iranges" ,r-iranges) ("r-rsamtools" ,r-rsamtools) ("r-shortread" ,r-shortread))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/drisso/EDASeq") (synopsis "Exploratory data analysis and normalization for RNA-Seq") (description @@ -9925,20 +10021,23 @@ global-scaling and full-quantile normalization.") (define-public r-interactivedisplaybase (package (name "r-interactivedisplaybase") - (version "1.24.0") + (version "1.26.3") (source (origin (method url-fetch) (uri (bioconductor-uri "interactiveDisplayBase" version)) (sha256 (base32 - "0zwf3ma6wf4zypl6bgjp0n72k2hmp0g16gzl4v3y4157rxcbpl0n")))) + "1x5vipqa4pgwpd62c1c58shnlpv3zyzzpf4wdwr00q1swkdb7wv3")))) (properties `((upstream-name . "interactiveDisplayBase"))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) + ("r-dt" ,r-dt) ("r-shiny" ,r-shiny))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/interactiveDisplayBase") (synopsis "Base package for web displays of Bioconductor objects") (description @@ -9949,14 +10048,14 @@ Shiny-based display methods for Bioconductor objects.") (define-public r-annotationhub (package (name "r-annotationhub") - (version "2.18.0") + (version "2.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "AnnotationHub" version)) (sha256 (base32 - "19vj3bk8jz68q84g3j8xs1s9bqz90lbwbciig1h45zvn2zc6087m")))) + "0r4xzf93bm9cpys5cg70wg0b8hxli80hvqwgh4hzbd45yyf5c4wz")))) (properties `((upstream-name . "AnnotationHub"))) (build-system r-build-system) (propagated-inputs @@ -9973,6 +10072,8 @@ Shiny-based display methods for Bioconductor objects.") ("r-rsqlite" ,r-rsqlite) ("r-s4vectors" ,r-s4vectors) ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/AnnotationHub") (synopsis "Client to access AnnotationHub resources") (description @@ -9988,14 +10089,14 @@ by the user, helping with quick and reproducible access.") (define-public r-fastseg (package (name "r-fastseg") - (version "1.32.0") + (version "1.34.0") (source (origin (method url-fetch) (uri (bioconductor-uri "fastseg" version)) (sha256 (base32 - "1cys6frmbizc8bf933mwvvnr31sfya9ahcc0wm66pbd1x3mygkmk")))) + "1d48n245pzmvcpsz93lxb4frqh222gfhpmlvm0sb74skn16way63")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -10018,20 +10119,22 @@ microarrays or GRanges for sequencing data.") (define-public r-keggrest (package (name "r-keggrest") - (version "1.26.1") + (version "1.28.0") (source (origin (method url-fetch) (uri (bioconductor-uri "KEGGREST" version)) (sha256 (base32 - "1cgjvv9n88y3ah21356mh8z2l08vjn42hjy8hcljsibknzc4v247")))) + "0q76w17fya2x0z7mvyhkk5kqh07flldgih13ma44vhcy1bdlm6j1")))) (properties `((upstream-name . "KEGGREST"))) (build-system r-build-system) (propagated-inputs `(("r-biostrings" ,r-biostrings) ("r-httr" ,r-httr) ("r-png" ,r-png))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/KEGGREST") (synopsis "Client-side REST access to KEGG") (description @@ -10042,14 +10145,14 @@ microarrays or GRanges for sequencing data.") (define-public r-gage (package (name "r-gage") - (version "2.36.0") + (version "2.37.0") (source (origin (method url-fetch) (uri (bioconductor-uri "gage" version)) (sha256 (base32 - "1qxfmg0id19iy3ia8h5nrvk3d1azqb28kl7m08i23654wb6b45c6")))) + "1zfaas4x6g7wiml6cmxa7b4f43az9s0lrw80k6sf7c96hsh1jijr")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -10072,14 +10175,14 @@ analysis using other methods.") (define-public r-genomicfiles (package (name "r-genomicfiles") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFiles" version)) (sha256 (base32 - "1x6q827ms2l5lwzha1vsgfrshh35n9f19jq57xagrqlafxgpz86s")))) + "1k3824pzf9fdqvcv6cz2742q3mabpmncrc72hwa21ac8wy1b04n4")))) (properties `((upstream-name . "GenomicFiles"))) (build-system r-build-system) (propagated-inputs @@ -10105,14 +10208,14 @@ provide added flexibility for data combination and manipulation.") (define-public r-complexheatmap (package (name "r-complexheatmap") - (version "2.2.0") + (version "2.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "ComplexHeatmap" version)) (sha256 (base32 - "1pj6a6rmqckk033pkklk6hr4066rzavamy6w194rfdhind90rk0p")))) + "01jxxwxhf9n8baxgja4rb592p5210s4ppd7a5b4xby5aalhzkr0l")))) (properties `((upstream-name . "ComplexHeatmap"))) (build-system r-build-system) @@ -10124,6 +10227,8 @@ provide added flexibility for data combination and manipulation.") ("r-globaloptions" ,r-globaloptions) ("r-png" ,r-png) ("r-rcolorbrewer" ,r-rcolorbrewer))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/jokergoo/ComplexHeatmap") (synopsis "Making Complex Heatmaps") @@ -10137,14 +10242,14 @@ self-defined annotation graphics.") (define-public r-dirichletmultinomial (package (name "r-dirichletmultinomial") - (version "1.28.0") + (version "1.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DirichletMultinomial" version)) (sha256 (base32 - "0knmncmkkf2ypyqfcl5s8nmyyf9nrzkqprzn9w3w8182c0v49r0s")))) + "1m9dsrddrllb2i88qzik1867iv9mggrgdkn0dlp8sq7gl69vmalb")))) (properties `((upstream-name . "DirichletMultinomial"))) (build-system r-build-system) @@ -10166,14 +10271,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2): (define-public r-ensembldb (package (name "r-ensembldb") - (version "2.10.2") + (version "2.12.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ensembldb" version)) (sha256 (base32 - "02lnpyp85zchmz404hr5381zmihvq4x9zgxdrbn2afi352vg0vab")))) + "1vvchc04nshxc768fp31rxb603aj3hmq8xlh5qabcwf2c3z9719g")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -10192,6 +10297,8 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2): ("r-rsqlite" ,r-rsqlite) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/jotsetung/ensembldb") (synopsis "Utilities to create and use Ensembl-based annotation databases") (description @@ -10209,14 +10316,14 @@ chromosome region or transcript models of lincRNA genes.") (define-public r-organismdbi (package (name "r-organismdbi") - (version "1.28.0") + (version "1.30.0") (source (origin (method url-fetch) (uri (bioconductor-uri "OrganismDbi" version)) (sha256 (base32 - "1bvfyh733mhka9zd00hrzpalgjs255c2blnxyf60ipzk5jg7yllb")))) + "194h5576inq44qr666snzq0ygnc77rk5ljkn9bn8zs6x6gb3cwaw")))) (properties `((upstream-name . "OrganismDbi"))) (build-system r-build-system) (propagated-inputs @@ -10241,14 +10348,14 @@ the fact that each of these packages implements a select methods.") (define-public r-biovizbase (package (name "r-biovizbase") - (version "1.34.1") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "biovizBase" version)) (sha256 (base32 - "04vvj907bgs67w8rb7n1haf80p6cd0qj5fdxw0dwryb455y35vir")))) + "1vq2mxa2jkljgw75zqjdkyml0ppi5dspvwj4cznfhi31cq8ds0qh")))) (properties `((upstream-name . "biovizBase"))) (build-system r-build-system) (propagated-inputs @@ -10283,14 +10390,14 @@ effort and encourages consistency.") (define-public r-ggbio (package (name "r-ggbio") - (version "1.34.0") + (version "1.36.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ggbio" version)) (sha256 (base32 - "13wzwh40anh8l53yp19bg4w5cpxykcaf228dc8cxvjndyib711qb")))) + "11ggnqjq42fi2hm9xlvrrlr2xhy4kglvl1a0mycp1s4v67lxw5h5")))) (build-system r-build-system) (arguments `(#:phases @@ -10330,6 +10437,8 @@ effort and encourages consistency.") ("r-scales" ,r-scales) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://www.tengfei.name/ggbio/") (synopsis "Visualization tools for genomic data") (description @@ -10343,41 +10452,17 @@ views. High-level plots include sequence fragment length, edge-linked interval to data view, mismatch pileup, and several splicing summaries.") (license license:artistic2.0))) -(define-public r-gprofiler - (package - (name "r-gprofiler") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (cran-uri "gProfileR" version)) - (sha256 - (base32 - "1h1v0kgpsn04ald2izznh7fr2riwisj5hcgz4k7h3qc931rf0r4k")))) - (properties `((upstream-name . "gProfileR"))) - (build-system r-build-system) - (propagated-inputs - `(("r-plyr" ,r-plyr) - ("r-rcurl" ,r-rcurl))) - (home-page "https://cran.r-project.org/web/packages/gProfileR/") - (synopsis "Interface to the g:Profiler toolkit") - (description - "This package provides tools for functional enrichment analysis, -gene identifier conversion and mapping homologous genes across related -organisms via the @code{g:Profiler} toolkit.") - (license license:gpl2+))) - (define-public r-gqtlbase (package (name "r-gqtlbase") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "gQTLBase" version)) (sha256 (base32 - "1qr8dqjbmj1mdjbzbnxwzfrm8f02wqfsgic8ws5kv7pmsby63y4x")))) + "06xvzp4fn3qfa46ggg8kxi267gbyd821vvx4040173xkqxpr0g5j")))) (properties `((upstream-name . "gQTLBase"))) (build-system r-build-system) (propagated-inputs @@ -10394,6 +10479,8 @@ organisms via the @code{g:Profiler} toolkit.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/gQTLBase") (synopsis "Infrastructure for eQTL, mQTL and similar studies") (description @@ -10405,14 +10492,14 @@ and more.") (define-public r-snpstats (package (name "r-snpstats") - (version "1.36.0") + (version "1.38.0") (source (origin (method url-fetch) (uri (bioconductor-uri "snpStats" version)) (sha256 (base32 - "1xq1rjljg70h5mshdza56dis0iv1a20sivs6dav3w5jbdd1l5qkh")))) + "1qv3nqqr30d3n66mawqd9dbl95dl89r4bcjvkc5iassy1yrwr8wq")))) (properties `((upstream-name . "snpStats"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -10464,14 +10551,14 @@ several related annotation packages.") (define-public r-erma (package (name "r-erma") - (version "1.2.0") + (version "1.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "erma" version)) (sha256 (base32 - "085qsr73p8nyp435f15l4l1jkfd64bfd9gl4z496nfxdnqn95srz")))) + "1ccfbq0r48sr3h8050w8zv8402h7nx09adr0xdyqlg7kwp9vd2l3")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -10488,6 +10575,8 @@ several related annotation packages.") ("r-s4vectors" ,r-s4vectors) ("r-shiny" ,r-shiny) ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/erma") (synopsis "Epigenomic road map adventures") (description @@ -10502,14 +10591,14 @@ by Ernst and Kellis.") (define-public r-ldblock (package (name "r-ldblock") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (bioconductor-uri "ldblock" version)) (sha256 (base32 - "0xpigfidmylfawy6vzshqnsw1lzjs4qms8q7zffij6bkvkv7920x")))) + "0plw00n2zfgh029ab41dnydzgv2yxrapjp770147rx9pff4dngrv")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -10522,6 +10611,8 @@ by Ernst and Kellis.") ("r-rsamtools" ,r-rsamtools) ("r-snpstats" ,r-snpstats) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/ldblock") (synopsis "Data structures for linkage disequilibrium measures in populations") (description @@ -10534,14 +10625,14 @@ defining LD blocks.") (define-public r-gqtlstats (package (name "r-gqtlstats") - (version "1.18.0") + (version "1.20.0") (source (origin (method url-fetch) (uri (bioconductor-uri "gQTLstats" version)) (sha256 (base32 - "1dly4p9r4231hf31xg1nzqiyvjbcfjljfmhb88ic1jxwnvniyv2f")))) + "1jjqfpjp93nmxjn757j5mzcax96bzcqdd1gr3rsdxg7ap008l2w7")))) (properties `((upstream-name . "gQTLstats"))) (build-system r-build-system) (propagated-inputs @@ -10575,6 +10666,8 @@ defining LD blocks.") ("r-snpstats" ,r-snpstats) ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/gQTLstats") (synopsis "Computationally efficient analysis for eQTL and allied studies") (description @@ -10588,14 +10681,14 @@ family of feature/genome hypotheses.") (define-public r-gviz (package (name "r-gviz") - (version "1.30.3") + (version "1.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Gviz" version)) (sha256 (base32 - "0c9i26h5czm60n1bxzmdxxpywcj0sig6wcj913pb41mr83bbgra3")))) + "0cgkp0ciyy2qykqgh3vzp5mx9b4vsvacjh2jnsj3wldiapzlz08a")))) (properties `((upstream-name . "Gviz"))) (build-system r-build-system) (propagated-inputs @@ -10607,6 +10700,7 @@ family of feature/genome hypotheses.") ("r-biovizbase" ,r-biovizbase) ("r-bsgenome" ,r-bsgenome) ("r-digest" ,r-digest) + ("r-ensembldb" ,r-ensembldb) ("r-genomeinfodb" ,r-genomeinfodb) ("r-genomicalignments" ,r-genomicalignments) ("r-genomicfeatures" ,r-genomicfeatures) @@ -10620,6 +10714,8 @@ family of feature/genome hypotheses.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-xvector" ,r-xvector))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/Gviz") (synopsis "Plotting data and annotation information along genomic coordinates") (description @@ -10634,14 +10730,14 @@ with your data.") (define-public r-gwascat (package (name "r-gwascat") - (version "2.18.0") + (version "2.20.1") (source (origin (method url-fetch) (uri (bioconductor-uri "gwascat" version)) (sha256 (base32 - "038vhfsk2vs7inn5di093cmjbb81k7j0af385sg7l01jj70bdqq1")))) + "1cq5cmdrf0a0arr841yvkh6d8drc15p7mif1afr215l1s3y2dwd4")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -10650,11 +10746,13 @@ with your data.") ("r-genomeinfodb" ,r-genomeinfodb) ("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicranges" ,r-genomicranges) - ("r-homo-sapiens" ,r-homo-sapiens) + ("r-ggplot2" ,r-ggplot2) ("r-iranges" ,r-iranges) ("r-rsamtools" ,r-rsamtools) ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/gwascat") (synopsis "Tools for data in the EMBL-EBI GWAS catalog") (description @@ -10665,13 +10763,13 @@ EMBL-EBI GWAS catalog.") (define-public r-sushi (package (name "r-sushi") - (version "1.24.0") + (version "1.26.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Sushi" version)) (sha256 (base32 - "15xng21hd09fb234ravrry3b872zg82w8x9lijxab9n96xihcpz5")))) + "17j3d5qjq5nbv99by5mq8rwr0jgh2jyyfn2nwxmwgzlmk3lgi1rb")))) (properties `((upstream-name . "Sushi"))) (build-system r-build-system) (propagated-inputs @@ -10687,19 +10785,21 @@ visualizations for publication-quality multi-panel figures.") (define-public r-fithic (package (name "r-fithic") - (version "1.12.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (bioconductor-uri "FitHiC" version)) (sha256 (base32 - "1irwkwi4afdj395134k31mvx7c2vpdd0rv8zrblnldascdsb04kc")))) + "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 @@ -10711,13 +10811,13 @@ assays such as Hi-C.") (define-public r-hitc (package (name "r-hitc") - (version "1.30.0") + (version "1.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "HiTC" version)) (sha256 (base32 - "0byahi0fz0dzjyklz8v9whax9ygg7gwb4pl1j3zbl6z8a9qx8pps")))) + "1jx2pfa7sbdz7xi466lz1h5xv126g56z73n0a5l2wrq28k47qaxy")))) (properties `((upstream-name . "HiTC"))) (build-system r-build-system) (propagated-inputs @@ -10740,14 +10840,14 @@ provided.") (define-public r-hdf5array (package (name "r-hdf5array") - (version "1.14.4") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "HDF5Array" version)) (sha256 (base32 - "0ib0grhd9zbrn0dkrm4aa7qj7h0y6z1dvyx1ab3w6vczw7xghsfb")))) + "1g848s0qc6i4ipd7y2s5pk8k1xggk2kfy0gnr8wjjs2gq3914aw4")))) (properties `((upstream-name . "HDF5Array"))) (build-system r-build-system) (inputs @@ -10770,19 +10870,22 @@ block processing.") (define-public r-rhdf5lib (package (name "r-rhdf5lib") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rhdf5lib" version)) (sha256 (base32 - "17lhwnm9rqsvbqkvwp0m07vjrk63a4389p2y39zffv8fgznxqzd7")) + "09ylwyk6a8sdrmi1mx7vpycpykqlqylmwa973g6jrcmk0h0qfa4w")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled binaries - (delete-file-recursively "src/winlib/") + (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) @@ -10818,6 +10921,8 @@ block processing.") "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")) @@ -10843,7 +10948,8 @@ block processing.") (propagated-inputs `(("hdf5" ,hdf5-1.10))) (native-inputs - `(("hdf5-source" ,(package-source hdf5-1.10)))) + `(("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 @@ -10853,19 +10959,21 @@ packages.") (define-public r-beachmat (package (name "r-beachmat") - (version "2.2.1") + (version "2.4.0") (source (origin (method url-fetch) (uri (bioconductor-uri "beachmat" version)) (sha256 (base32 - "1bpnlw2kdy9yc2vq948k980r0j25ipb80llhvn0j3kxjiwyfgs3i")))) + "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 @@ -10876,14 +10984,14 @@ matrices.") (define-public r-singlecellexperiment (package (name "r-singlecellexperiment") - (version "1.8.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (bioconductor-uri "SingleCellExperiment" version)) (sha256 (base32 - "11pqb3cigi9xbhxq2k3n7z23v1ibd03ws1lcrh5c5ffgb33nlyw5")))) + "092wvk11n7pa234vlwhxm3gdi4k3sbnz1splhxalbdhz3jf02zfp")))) (properties `((upstream-name . "SingleCellExperiment"))) (build-system r-build-system) @@ -10891,6 +10999,8 @@ matrices.") `(("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 @@ -10903,13 +11013,13 @@ libraries.") (define-public r-scater (package (name "r-scater") - (version "1.14.6") + (version "1.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "scater" version)) (sha256 (base32 - "0sxd1s8wdlj9926bagq4crjrk1nnmh3j3bhgrw160zfgc3y8pzck")))) + "0pi4mpc3lvskj5biyhc9cskcnz9q2wjmfrz7xdnx8qqd8vpy84g3")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) @@ -10923,10 +11033,13 @@ libraries.") ("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 @@ -10937,14 +11050,14 @@ quality control.") (define-public r-scran (package (name "r-scran") - (version "1.14.6") + (version "1.16.0") (source (origin (method url-fetch) (uri (bioconductor-uri "scran" version)) (sha256 (base32 - "1y8wlgk5zbv7c7gcp0ahfpbh9lifab7y3zwf0093fzaw7vr1y6cr")))) + "1gm4ys4aq8h1pn45k1rxk384wjyf55izivw8kgxbrflj6j4xvvsv")))) (build-system r-build-system) (propagated-inputs `(("r-beachmat" ,r-beachmat) @@ -10958,6 +11071,7 @@ quality control.") ("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) @@ -10966,6 +11080,8 @@ quality control.") ("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 @@ -10977,14 +11093,14 @@ variable and significantly correlated genes.") (define-public r-delayedmatrixstats (package (name "r-delayedmatrixstats") - (version "1.8.0") + (version "1.10.0") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedMatrixStats" version)) (sha256 (base32 - "0mv2rl6a6l404piabcazxz1s6ars016pxhjf5v40hhr6y1r0wbqy")))) + "0i6gw8058gw9yajya3w9qq6l3p634fq9sv8dh8ifigxz0k9b98r6")))) (properties `((upstream-name . "DelayedMatrixStats"))) (build-system r-build-system) @@ -10996,6 +11112,8 @@ variable and significantly correlated genes.") ("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 @@ -13738,18 +13856,31 @@ bound.") (define-public python-pypairix (package (name "python-pypairix") - (version "0.3.6") + (version "0.3.7") + ;; The tarball on pypi does not include the makefile to build the + ;; programs. (source (origin - (method url-fetch) - (uri (pypi-uri "pypairix" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/4dn-dcic/pairix.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0zs92b74s5v4xy2h16s15f3z6l4nnbw8x8zyif7xx5xpafjn0xss")))) + "1snr3lrmsld8sy77ng6ba6wcmd33xjccf1l2f3m6pi29xis9nd6p")))) (build-system python-build-system) - ;; FIXME: the tests fail because test.support cannot be loaded: - ;; ImportError: cannot import name 'support' - (arguments '(#:tests? #f)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'build-programs + (lambda _ (invoke "make"))) + (add-after 'install 'install-programs + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "bin" (string-append + (assoc-ref outputs "out") + "/bin")) + #t))))) (inputs `(("zlib" ,zlib))) (home-page "https://github.com/4dn-dcic/pairix") @@ -14679,7 +14810,7 @@ is a Cython wrapper for FIt-SNE.") ("java-eclipse-jdt-core" ,java-eclipse-jdt-core) ("java-eclipse-jdt-compiler-apt" ,java-eclipse-jdt-compiler-apt) ("java-openmpi" ,java-openmpi))) - (home-page "http://sourceforge.net/projects/bbmap/") + (home-page "https://sourceforge.net/projects/bbmap/") (synopsis "Aligner and other tools for short sequencing reads") (description "This package provides bioinformatic tools to align, deduplicate, diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 14f3815b52..8b041cb3f5 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -73,6 +73,7 @@ (uri (string-append "https://github.com/transmission/transmission-releases/raw/" "master/transmission-" version ".tar.xz")) + (patches (search-patches "transmission-CVE-2018-10756.patch")) (sha256 (base32 "0zbbj7rlm6m7vb64x68a64cwmijhsrwx9l63hbwqs7zr9742qi1m")))) @@ -314,15 +315,15 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") (define-public uget (package (name "uget") - (version "2.0.8") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/urlget/" - "uget%20%28stable%29/" version "/uget-" - version ".tar.gz")) - (sha256 - (base32 - "0919cf7lfk1djdl003cahqjvafdliv7v2l8r5wg95n4isqggdk75")))) + (version "2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/urlget/" + "uget%20%28stable%29/" version "/uget-" + version ".tar.gz")) + (sha256 + (base32 "0rg2mr2cndxvnjib8zm5dp7y2hgbvnqkz2j2jmg0xlzfh9d34b2m")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) @@ -336,7 +337,7 @@ Aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.") (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) - (home-page "http://ugetdm.com/") + (home-page "https://ugetdm.com/") (synopsis "Universal download manager with GTK+ interface") (description "uGet is portable download manager with GTK+ interface supporting diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index 2f2ca289ab..9e7c40cd99 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -241,12 +242,40 @@ across a broad spectrum of applications.") (arguments (substitute-keyword-arguments (package-arguments boost) ((#:phases phases) `(modify-phases ,phases - ;; This was removed after boost-1.67. - (add-before 'configure 'more-bin-sh-patching - (lambda _ - (substitute* "tools/build/doc/bjam.qbk" - (("/bin/sh") (which "sh"))))) - (delete 'provide-libboost_python))))) + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((icu (assoc-ref inputs "icu4c")) + (out (assoc-ref outputs "out"))) + (substitute* (append + (find-files "tools/build/src/engine/" "execunix\\.c.*") + '("libs/config/configure" + "libs/spirit/classic/phoenix/test/runtest.sh" + "tools/build/doc/bjam.qbk" + "tools/build/src/engine/Jambase")) + (("/bin/sh") (which "sh"))) + + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + + ,@(if (%current-target-system) + `((call-with-output-file "user-config.jam" + (lambda (port) + (format port + "using gcc : cross : ~a-c++ ;" + ,(%current-target-system))))) + '()) + + (invoke "./bootstrap.sh" + (string-append "--prefix=" out) + ;; Auto-detection looks for ICU only in traditional + ;; install locations. + (string-append "--with-icu=" icu) + "--with-toolset=gcc")))) + (delete 'provide-libboost_python))) + ((#:make-flags make-flags) + `(cons* "--without-python" ,make-flags)))) + (native-inputs + (alist-delete "python" (package-native-inputs boost))) (properties '((hidden? . #t))))) (define-public boost-sync @@ -293,7 +322,7 @@ Boost.Thread.") (file-name (git-file-name name version)) (sha256 (base32 - "1nayaqshhzr1n6jj43bpvvay36d5gn075h0b95psii5x8ingszdk")))) + "13i5j43nggb46i6qpaf7gk53i7zp7pimphl7sydyfqz2m9yx5cdy")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 0f0d3b4b62..ea80cf020e 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -96,6 +96,7 @@ "0zgp5m3hmc9jh8wpjx6czzkh5id2y8n1k823x2mjvm2sk6b28ag5")) (patches (search-patches "grub-efi-fat-serial-number.patch" + "grub-setup-root.patch" "grub-verifiers-Blocklist-fallout-cleanup.patch")))) (build-system gnu-build-system) (arguments @@ -1016,7 +1017,8 @@ tools, and more.") (guix build utils) (ice-9 regex) ; for string-match (srfi srfi-26)) ; for cut - #:make-flags (list "CC=gcc") + #:make-flags + (list ,(string-append "CC=" (cc-for-target))) #:tests? #f ; no tests #:phases (modify-phases %standard-phases diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index f58ce2de93..c39e60ec8b 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -1,9 +1,10 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2019 Carl Dong <contact@carldong.me> +;;; Copyright © 2019 Léo Le Bouter <lle-bout@zaclys.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -151,14 +152,14 @@ built for SYSTEM." (format #f (G_ "could not find bootstrap binary '~a' \ for system '~a'") program system)))))) - ((sha256) + ((bv) (origin (method url-fetch/executable) (uri (map (cute string-append <> (bootstrap-executable-file-name system program)) %bootstrap-executable-base-urls)) (file-name program) - (sha256 sha256))))))) + (hash (content-hash bv sha256)))))))) ;;; @@ -285,6 +286,7 @@ or false to signal an error." ((string=? system "i686-gnu") "/lib/ld.so.1") ((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1") ((string=? system "powerpc-linux") "/lib/ld.so.1") + ((string=? system "powerpc64-linux") "/lib/ld64.so.1") ((string=? system "powerpc64le-linux") "/lib/ld64.so.2") ((string=? system "alpha-linux") "/lib/ld-linux.so.2") ((string=? system "s390x-linux") "/lib/ld64.so.1") diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index a8ffa56bc6..9ff32b22f9 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> +;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,12 +34,14 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (gnu packages) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages lua) #:use-module (gnu packages package-management) #: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 ninja) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -310,3 +313,38 @@ Service. It allows you to checkout, commit, perform reviews etc. The vast majority of the OBS functionality is available via commands and the rest can be reached via direct API calls.") (license license:gpl2+))) + +(define-public compiledb + (package + (name "compiledb") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "compiledb" version)) + (sha256 + (base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'no-compat-shim-dependency + ;; shutilwhich is only needed for python 3.3 and earlier + (lambda _ + (substitute* "setup.py" (("^ *'shutilwhich'\n") "")) + (substitute* "compiledb/compiler.py" (("shutilwhich") "shutil"))))))) + (propagated-inputs + `(("python-bashlex" ,python-bashlex) + ("python-click" ,python-click))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page + "https://github.com/nickdiego/compiledb") + (synopsis + "Generate Clang JSON Compilation Database files for make-based build systems") + (description + "@code{compiledb} provides a @code{make} python wrapper script which, +besides executing the make build command, updates the JSON compilation +database file corresponding to that build, resulting in a command-line +interface similar to Bear.") + (license license:gpl3))) diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 0593b86051..305a61f40b 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +32,7 @@ (define-public busybox (package (name "busybox") - (version "1.29.3") + (version "1.31.1") (source (origin (method url-fetch) (uri (string-append @@ -40,11 +40,18 @@ version ".tar.bz2")) (sha256 (base32 - "1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p")))) + "1659aabzp8w4hayr4z8kcpbk2z1q2wqhw7i1yb0l72b45ykl1yfh")) + (patches + (search-patches + "busybox-1.31.1-fix-build-with-glibc-2.31.patch")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases + (add-before 'configure 'disable-timestamps + (lambda _ + (setenv "KCONFIG_NOTIMESTAMP" "1") + #t)) (add-before 'configure 'disable-taskset ;; This feature fails its tests in the build environment, ;; was default 'n' until after 1.26.2. @@ -75,6 +82,9 @@ (substitute* "testsuite/date/date-works-1" (("/bin/date") (which "date"))) + (substitute* "testsuite/start-stop-daemon.tests" + (("/bin/false") (which "false"))) + ;; The pidof tests assume that pid 1 is called "init" but that is not ;; true in guix build environment (substitute* "testsuite/pidof.tests" @@ -113,7 +123,7 @@ any small or embedded system.") (define-public toybox (package (name "toybox") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) (uri (string-append @@ -121,7 +131,7 @@ any small or embedded system.") version ".tar.gz")) (sha256 (base32 - "1mgya8zxgf30i5w3rhsb3n70kwlhifxbajh6wqdsz6rf8kx609ws")))) + "00aw9d809wj1bqlb2fsssdgz7rj0363ya14py0gfdm0rkp98zcpa")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 5718ec66ac..c107a36c6a 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -7,6 +7,8 @@ ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +42,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages autotools) #:use-module (gnu packages gettext) #:use-module (gnu packages pkg-config) @@ -235,15 +238,14 @@ whose behaviour is inconsistent across *NIX flavours.") (define-public libhx (package (name "libhx") - (version "3.24") + (version "3.25") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/libhx/libHX/" "libHX-" version ".tar.xz")) (sha256 - (base32 - "0i8v2464p830c15myknvvs6bhxaf663lrqgga95l94ygfynkw6x5")))) + (base32 "12avn16f8aqb0cq6jplz0sv7rh6f07m85dwc8dasnnwsvijwbpbj")))) (build-system gnu-build-system) (home-page "http://libhx.sourceforge.net") (synopsis "C library with common data structures and functions") @@ -254,6 +256,57 @@ string formatting and autoresizing, option and config file parsing, type checking casts and more.") (license license:lgpl2.1+))) +(define-public packcc + (package + (name "packcc") + ;; We need a few fixes on top of the latest release to prevent test + ;; failures in Universal Ctags. + (version "1.2.5-19-g58d1b9d") + (home-page "https://github.com/enechaev/packcc") + (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 + "0biyv835jlk43fvmmd3p8jafs7k2iw9qlaj37hvsl604ai6rd5aj")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no tests + #:make-flags '("-DUSE_SYSTEM_STRNLEN=1") + #:phases (modify-phases %standard-phases + ;; The project consists of a single source file and has + ;; no actual build system, so we need to do it manually. + (delete 'configure) + (replace 'build + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "gcc" "-o" "packcc" "packcc.c" + make-flags))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "packcc" (string-append out "/bin")) + (install-file "README.md" + (string-append out "/share/doc/packcc")) + #t)))))) + (synopsis "Packrat parser generator for C") + (description + "PackCC is a packrat parser generator for the C programming language. +Its main features are: +@itemize +@item Generates a parser in C from a grammar described in a PEG. +@item Gives your parser great efficiency by packrat parsing. +@item Supports direct and indirect left-recursive grammar rules. +@end itemize +The grammar of your parser can be described in a @acronym{PEG, Parsing +Expression Grammar}. The PEG is a top-down parsing language, and is similar +to the regular-expression grammar. The PEG does not require tokenization to +be a separate step, and tokenization rules can be written in the same way as +any other grammar rules.") + (license license:expat))) + (define-public sparse (package (name "sparse") @@ -288,3 +341,98 @@ address space pointers point to, or what locks a function acquires or releases.") (home-page "https://sparse.wiki.kernel.org/index.php/Main_Page") (license license:expat))) + +(define-public libestr + (package + (name "libestr") + (version "0.1.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rsyslog/libestr.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ca4rj90c0dn7kqpbcchkflxjw88a7rxcnwbr0gply4a28i01nd8")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; autogen.sh calls configure at the end of the script. + (replace 'bootstrap + (lambda _ (invoke "autoreconf" "-vfi")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool))) + (home-page "https://github.com/rsyslog/libestr") + (synopsis "Helper functions for handling strings") + (description + "This C library contains some essential string manipulation functions and +more, like escaping special characters.") + (license license:lgpl2.1+))) + +(define-public libfastjson + (package + (name "libfastjson") + (version "0.99.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rsyslog/libfastjson.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qhs0g9slj3p0v2z4s3cnsx44msrlb4k78ljg7714qiziqbrbwyl")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://github.com/rsyslog/libfastjson") + (synopsis "Fast JSON library for C") + (description + "libfastjson is a fork from json-c aiming to provide: a small library +with essential JSON handling functions, sufficiently good JSON support (not +100% standards compliant), and very fast processing.") + (license license:expat))) + +(define-public liblogging + (package + (name "liblogging") + (version "1.0.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rsyslog/liblogging.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l32m0y65svf5vxsgw935jnqs6842rcqr56dmzwqvr00yfrjhjkp")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; autogen.sh calls configure at the end of the script. + (replace 'bootstrap + (lambda _ (invoke "autoreconf" "-vfi")))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ;; For rst2man.py + ("python-docutils" ,python-docutils))) + (home-page "https://github.com/rsyslog/liblogging") + (synopsis "Easy to use and lightweight signal-safe logging library") + (description + "Liblogging is an easy to use library for logging. It offers an enhanced +replacement for the syslog() call, but retains its ease of use.") + (license license:bsd-2))) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 104d61148a..71b4827578 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -110,7 +110,7 @@ the <tz.h> library for handling time zones and leap seconds.") (define-public libical (package (name "libical") - (version "3.0.7") + (version "3.0.8") (source (origin (method url-fetch) (uri (string-append @@ -118,22 +118,7 @@ the <tz.h> library for handling time zones and leap seconds.") version "/libical-" version ".tar.gz")) (sha256 (base32 - "1z33wzaazbd7drl6qbh1750whd78xl2cg0gjnxyya9m83vgndgha")) - (patches - ;; Add a patch slated for 3.0.8 which preserves backwards- - ;; compatibility in the icalattach_new_from_data() function, - ;; which accidentally changed in 3.0.7 and could break some uses. - ;; https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185 - ;; http://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html - (list (origin - (method url-fetch) - (uri (string-append - "https://github.com/libical/libical/commit/" - "ae394010c889e4c185160da5e81527849f9de350.patch")) - (file-name "libical-3.0.7-preserve-icalattach-api.patch") - (sha256 - (base32 - "0v8qcxn8a6sh78grzxd61j9478928dx38l5mf8mkdrbxv47vmvvp"))))))) + "0vr8s7hn8204lyc4ys5bs3j5qss4lmc9ffly2m1a59avyz5cmzh9")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; test suite appears broken diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index 529742403e..fc915965b4 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,14 +30,14 @@ (define-public ccache (package (name "ccache") - (version "3.7.7") + (version "3.7.9") (source (origin (method url-fetch) (uri (string-append "https://github.com/ccache/ccache/releases/download/v" version "/ccache-" version ".tar.xz")) (sha256 - (base32 "1kcqii3hr1008gj6jgfsjibwh2ryhsplc9z99m18xwa2zvbddhdp")))) + (base32 "0jzl9idnjd9jq64qd8kny7gfd0ydvz5kyq2yslmigfdz8dsxm4zq")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ; for test/run ("which" ,(@ (gnu packages base) which)))) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index bd44ae8e80..67236f86de 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -686,7 +686,7 @@ information is written to standard error.") (define-public asunder (package (name "asunder") - (version "2.9.5") + (version "2.9.6") (source (origin (method url-fetch) (uri @@ -695,7 +695,7 @@ information is written to standard error.") ".tar.bz2")) (sha256 (base32 - "069x6az2r3wlb2hd07iz0hxpxwknw7s9h7pyhnkmzv1pw9ci3kk4")))) + "1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a")))) (build-system glib-or-gtk-build-system) (arguments '(#:out-of-source? #f diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 2328012083..7f4dca5f56 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define-public nss-certs (package (name "nss-certs") - (version "3.50") + (version "3.52.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ "nss-" version ".tar.gz"))) (sha256 (base32 - "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q")))) + "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index e8547a5096..f249dbedb0 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -105,8 +105,8 @@ source code editors and IDEs.") ;; Some packages require this older version. Removed once no longer needed. (define-public check-0.12 - (package/inherit - check + (package + (inherit check) (version "0.12.0") (source (origin (method url-fetch) @@ -396,7 +396,7 @@ and it supports a very flexible form of test discovery.") (define-public doctest (package (name "doctest") - (version "2.3.7") + (version "2.3.8") (home-page "https://github.com/onqtam/doctest") (source (origin (method git-fetch) @@ -404,7 +404,7 @@ and it supports a very flexible form of test discovery.") (file-name (git-file-name name version)) (sha256 (base32 - "134lx7pjnglrl4wdmyr9dz3rjb6d4ir6rvapg00gp52n44dbhnrq")))) + "16w907750jnp98vdzkn72lzwy1zyryaqvfi80lbdp398pj23rq65")))) (build-system cmake-build-system) (synopsis "C++ test framework") (description @@ -584,14 +584,13 @@ but it works for any C/C++ project.") (define-public python-parameterized (package (name "python-parameterized") - (version "0.7.3") + (version "0.7.4") (source (origin (method url-fetch) (uri (pypi-uri "parameterized" version)) (sha256 - (base32 - "0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd")))) + (base32 "1444fdz5bj0k10nmhxv0bv2gfrfisi7hfzqdndb0pvhf4g3qq3qr")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -1703,14 +1702,13 @@ normally the case.") (define-public python-pytest-sugar (package (name "python-pytest-sugar") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (pypi-uri "pytest-sugar" version)) (sha256 - (base32 - "1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w")))) + (base32 "1i0hv3h49zvl62jbiyjag84carbrp3zprqzxffdr291nxavvac0n")))) (build-system python-build-system) (propagated-inputs `(("python-packaging" ,python-packaging) @@ -1888,12 +1886,10 @@ unit tests and failing them if the unit test module does not exercise all statements in the module it tests.") (license license:gpl3+))) -;; Further releases, up to 2.4.3, have failing unit tests. See: -;; https://github.com/PyCQA/pylint/issues/3198. (define-public python-pylint (package (name "python-pylint") - (version "2.3.1") + (version "2.5.3") (source (origin (method git-fetch) @@ -1902,9 +1898,11 @@ statements in the module it tests.") (commit (string-append "pylint-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "17vvzbcqmkhr4icq5p3737nbiiyj1y3g1pa08n9mb1bsnvxmqq0z")))) + (base32 "04cgbh2z1mygar63plzziyz34yg6bdr4i0g63jp256fgnqwb1bi3")))) (build-system python-build-system) + ;; FIXME: Tests are failing since version 2.4.3, see: + ;; https://github.com/PyCQA/pylint/issues/3198. + (arguments '(#:tests? #f)) (native-inputs `(("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner) @@ -1913,7 +1911,8 @@ statements in the module it tests.") `(("python-astroid" ,python-astroid) ("python-isort" ,python-isort) ("python-mccabe" ,python-mccabe) - ("python-six" ,python-six))) + ("python-six" ,python-six) + ("python-toml" ,python-toml))) (home-page "https://github.com/PyCQA/pylint") (synopsis "Python source code analyzer which looks for coding standard errors") @@ -1946,7 +1945,7 @@ possible to write plugins to add your own checks.") (base32 "02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2")))) (arguments - `(,@(package-arguments pylint) + `(,@(strip-keyword-arguments '(#:tests?) (package-arguments pylint)) #:phases (modify-phases %standard-phases (replace 'check @@ -2519,7 +2518,7 @@ provides a simple way to achieve this.") (define-public umockdev (package (name "umockdev") - (version "0.13.2") + (version "0.14.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/martinpitt/umockdev/" @@ -2527,7 +2526,7 @@ provides a simple way to achieve this.") "umockdev-" version ".tar.xz")) (sha256 (base32 - "095v3abc321s584sga04y16lcmdzsdi88h24wcrm78v7vq484g74")))) + "1g78jcrvb7yyh0q5kv5409wjqf8nlfqnw1rknm3a247mcx317dpz")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2539,6 +2538,7 @@ provides a simple way to achieve this.") #t))))) (native-inputs `(("vala" ,vala) + ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index ec05523e0d..317136e38f 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; @@ -47,8 +47,8 @@ #:use-module (guix build-system gnu)) (define-public cuirass - (let ((commit "9559fd18d4b89bf797216fbe187f2b26b0a2d165") - (revision "30")) + (let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b") + (revision "31")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -60,7 +60,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "026cpcws8mb483mywwx2znpy9i7lw5n3lyqa9k6d87kxmw59060c")))) + "1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) @@ -123,7 +123,7 @@ `(("guile" ,guile-3.0) ("guile-fibers" ,guile-fibers) ("guile-gcrypt" ,guile-gcrypt) - ("guile-json" ,guile-json-3) + ("guile-json" ,guile-json-4) ("guile-sqlite3" ,guile-sqlite3) ("guile-git" ,guile-git) ;; 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 ee47582ec8..6334c97ef2 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> @@ -13,6 +13,7 @@ ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,11 +44,16 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) #:use-module (gnu packages graphviz) + #:use-module (gnu packages llvm) + #:use-module (gnu packages linux) + #:use-module (gnu packages lua) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-compression) @@ -55,9 +61,8 @@ #:use-module (gnu packages python) #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages llvm) - #:use-module (gnu packages lua)) + #:use-module (gnu packages web) + #:use-module (gnu packages xml)) ;;; Tools to deal with source code: metrics, cross-references, etc. @@ -135,18 +140,26 @@ highlighting your own code that seemed comprehensible when you wrote it.") (list (string-append "--with-ncurses=" (assoc-ref %build-inputs "ncurses")) (string-append "--with-sqlite3=" - (assoc-ref %build-inputs "sqlite"))) + (assoc-ref %build-inputs "sqlite")) + "--disable-static") #:phases (modify-phases %standard-phases (add-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) - ;; Install the Emacs Lisp file in the right place. + ;; Install the plugin files in the right place. (let* ((out (assoc-ref outputs "out")) (data (string-append out "/share/gtags")) + (vim (string-append out "/share/vim/vimfiles/plugin")) (lisp (string-append out "/share/emacs/site-lisp"))) - (install-file (string-append data "/gtags.el") lisp) - (delete-file (string-append data "/gtags.el")) + (mkdir-p lisp) + (mkdir-p vim) + (rename-file (string-append data "/gtags.el") + (string-append lisp "/gtags.el")) + (rename-file (string-append data "/gtags.vim") + (string-append vim "/gtags.vim")) + (rename-file (string-append data "/gtags-cscope.vim") + (string-append vim "/gtags-cscope.vim")) #t)))))) (home-page "https://www.gnu.org/software/global/") (synopsis "Cross-environment source code tag system") @@ -217,7 +230,7 @@ COCOMO model or user-provided parameters.") (define-public cloc (package (name "cloc") - (version "1.84") + (version "1.86") (source (origin (method git-fetch) @@ -226,7 +239,7 @@ COCOMO model or user-provided parameters.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "14xikdwcr6pcnkk2i43zrsj88z8b3mrv0svbnbvxvarw1id83pnn")))) + (base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w")))) (build-system gnu-build-system) (inputs `(("coreutils" ,coreutils) @@ -321,6 +334,83 @@ features that are not supported by the standard @code{stdio} implementation.") (license (license:non-copyleft "http://sourceforge.net/p/ctrio/git/ci/master/tree/README")))) +(define-public universal-ctags + ;; The project is unable to decide whether to use 1.0 or 6.0 as the + ;; first public release version (it started as a fork of another ctags + ;; project that was on version 5.8), and five years later have been + ;; unable to tag a release. Thus, we just take the master branch. + (let ((commit "0c78c0c4a68030df0d025c90bad291108b5e7107") + (revision "0")) + (package + (name "universal-ctags") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/universal-ctags/ctags") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lnxc3kwi6srw0015m16vyjfdc7pdr9d1qzxjsbfv3c69ag87jhc")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove the bundled PackCC and associated build rules. + (substitute* "Makefile.am" + (("\\$\\(packcc_verbose\\)\\$\\(PACKCC\\)") + "packcc") + (("\\$\\(PEG_SRCS\\) \\$\\(PEG_HEADS\\): packcc\\$\\(EXEEXT\\)") + "$(PEG_SRCS) $(PEG_HEADS):") + (("noinst_PROGRAMS \\+= packcc") + "")) + (delete-file-recursively "misc/packcc") + #t)))) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (add-before 'bootstrap 'patch-optlib2c + (lambda _ + ;; The autogen.sh script calls out to optlib2c to + ;; generate translations, so we can not wait for the + ;; patch-source-shebangs phase. + (patch-shebang "misc/optlib2c") + #t)) + (add-before 'check 'patch-tests + (lambda _ + (substitute* "misc/units" + (("SHELL=/bin/sh") + (string-append "SHELL=" (which "sh")))) + (substitute* "Tmain/utils.sh" + (("/bin/echo") (which "echo"))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("packcc" ,packcc) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("jansson" ,jansson) + ("libseccomp" ,libseccomp) + ("libxml2" ,libxml2) + ("libyaml" ,libyaml))) + (home-page "https://ctags.io/") + (synopsis "Generate tag files for source code") + (description + "Universal Ctags generates an index (or tag) file of language objects +found in source files for many popular programming languages. This index +makes it easy for text editors and other tools to locate the indexed items. +Universal Ctags improves on traditional ctags because of its multilanguage +support, its ability for the user to define new languages searched by regular +expressions, and its ability to generate emacs-style TAGS files.") + (license license:gpl2+)))) + (define-public withershins (package (name "withershins") diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index e2f21e506d..c41830e206 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -875,7 +875,8 @@ extract such file systems.") (symlink "pigz" (string-append bin "/unpigz")) (install-file "pigz.1" man) #t)))) - #:make-flags (list "CC=gcc") + #:make-flags + (list ,(string-append "CC=" (cc-for-target))) #:test-target "tests")) (inputs `(("zlib" ,zlib))) (home-page "https://zlib.net/pigz/") @@ -1682,7 +1683,7 @@ of archives.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "CC=gcc"))) + (list ,(string-append "CC=" (cc-for-target))))) (home-page "https://www.nongnu.org/lzip/lunzip.html") (synopsis "Small, stand-alone lzip decompressor") (description @@ -1709,7 +1710,7 @@ Lunzip 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))))) (home-page "https://www.nongnu.org/lzip/clzip.html") (synopsis "Small, stand-alone lzip compressor and decompressor") (description @@ -1939,7 +1940,7 @@ download times, and other distribution and storage costs.") (define-public quazip (package (name "quazip") - (version "0.9") + (version "0.9.1") (source (origin (method git-fetch) (uri (git-reference @@ -1948,7 +1949,7 @@ download times, and other distribution and storage costs.") (file-name (git-file-name name version)) (sha256 (base32 - "0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn")))) + "11icgwv2xyxhd1hm1add51xv54zwkcqkg85d1xqlgiigvbm196iq")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no test @@ -2098,7 +2099,7 @@ file compression algorithm.") (define-public xarchiver (package (name "xarchiver") - (version "0.5.4.14") + (version "0.5.4.15") (source (origin (method git-fetch) @@ -2107,7 +2108,7 @@ file compression algorithm.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px")))) + (base32 "0a3y54r5zp2c0cqm77r07qrl1vh200wvqmbhm35diy22fvkq5mwc")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -2115,7 +2116,7 @@ file compression algorithm.") ("libxslt" ,libxslt) ("pkg-config" ,pkg-config))) (inputs - `(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme + `(("adwaita-icon-theme" ,adwaita-icon-theme) ; hard-coded theme ("gtk+" ,gtk+))) (home-page "https://github.com/ib/xarchiver") (synopsis "Graphical front-end for archive operations") @@ -2204,11 +2205,8 @@ computations.") (arguments `(#:tests? #f ; no check target #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "DESTDIR=" (assoc-ref %outputs "out")))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "DESTDIR=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (replace 'configure diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 7227b8d516..a1d82ccbc1 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -297,7 +297,7 @@ tools (containers, algorithms) used by other QuantStack packages.") (define-public ccls (package (name "ccls") - (version "0.20190823.5") + (version "0.20190823.6") (source (origin (method git-fetch) @@ -305,11 +305,11 @@ tools (containers, algorithms) used by other QuantStack packages.") (url "https://github.com/MaskRay/ccls") (commit version))) (sha256 - (base32 "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5")) + (base32 "11h5nwk4qqshf3i8yr4bxpnvmidrhkzd0zxhf1xqv8cv6r08k47f")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - '(#:tests? #f)) ; no check target. + '(#:tests? #f)) ; no check target (inputs `(("rapidjson" ,rapidjson))) (native-inputs @@ -458,7 +458,7 @@ point and then, after each tween step, plugging back the result.") (define-public abseil-cpp (package (name "abseil-cpp") - (version "20200225.1") + (version "20200225.2") (source (origin (method git-fetch) (uri (git-reference @@ -467,7 +467,7 @@ point and then, after each tween step, plugging back the result.") (file-name (git-file-name name version)) (sha256 (base32 - "035bffayslawc19q2gmlkr6n6r7k7mvriaq7352rv6gyzaplr98w")))) + "0dwxg54pv6ihphbia0iw65r64whd7v8nm4wwhcz219642cgpv54y")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fff71790b6..bc391d9afd 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -72,9 +72,11 @@ #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages networking) + #:use-module (gnu packages node) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) ;libsndfile #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages statistics) @@ -102,6 +104,76 @@ The package provides functions for point generation, arc length estimation, degree elevation and curve fitting.") (license license:gpl2+))) +(define-public r-v8 + (package + (name "r-v8") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "V8" version)) + (sha256 + (base32 + "0xdljralgwyivdhx2a7kqf3yv4ijl4rdrz2p7p59lj2x5d2qyanf")))) + (properties `((upstream-name . "V8"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-v8 + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configure" + (("^PKG_LIBS=.*") + (string-append "PKG_LIBS=" + (assoc-ref inputs "node") + "/lib/libnode.so.64\n"))) + (setenv "INCLUDE_DIR" + (string-append + (assoc-ref inputs "node") + "/include/node")) + (setenv "LIB_DIR" + (string-append + (assoc-ref inputs "node") "/lib")) + #t))))) + (inputs + `(("node" ,libnode))) + (propagated-inputs + `(("r-curl" ,r-curl) + ("r-jsonlite" ,r-jsonlite) + ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://jeroen.cran.dev/V8") + (synopsis "Embedded JavaScript and WebAssembly engine for R") + (description + "This package provides an R interface to V8: Google's JavaScript and +WebAssembly engine.") + (license license:expat))) + +(define-public r-dot + (package + (name "r-dot") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "DOT" version)) + (sha256 + (base32 + "0qh5n57cp9c2n5yn59q4wggz82943pwfanp3kx869aba2x3sj30i")))) + (properties `((upstream-name . "DOT"))) + (build-system r-build-system) + (propagated-inputs + `(("r-v8" ,r-v8))) + (home-page "http://haghish.com/dot") + (synopsis "Render and Export DOT Graphs in R") + (description + "This package provides tools to render DOT diagram markup language in R +and also provides the possibility to export the graphs in PostScript and +SVG (Scalable Vector Graphics) formats. In addition, it supports literate +programming packages such as @code{knitr} and @code{rmarkdown}.") + (license license:expat))) + (define-public r-clipr (package (name "r-clipr") @@ -124,13 +196,13 @@ the system clipboards.") (define-public r-ggpmisc (package (name "r-ggpmisc") - (version "0.3.4") + (version "0.3.5") (source (origin (method url-fetch) (uri (cran-uri "ggpmisc" version)) (sha256 (base32 - "0xc1yp0kphipq23ri4ij93garx1x2nrf4i0lhs6m10pp9yz7fbmj")))) + "0ma2d3a3v8n85sghxr9anl6vgbs8gi82i1dllw99n81gsm59wgin")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) @@ -138,19 +210,96 @@ the system clipboards.") ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) ("r-lubridate" ,r-lubridate) + ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) ("r-plyr" ,r-plyr) ("r-polynom" ,r-polynom) + ("r-rlang" ,r-rlang) + ("r-scales" ,r-scales) ("r-splus2r" ,r-splus2r) + ("r-stringr" ,r-stringr) ("r-tibble" ,r-tibble) ("r-xts" ,r-xts) ("r-zoo" ,r-zoo))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://www.r4photobiology.info/") (synopsis "Miscellaneous Extensions to @code{ggplot2}") (description "This package provides extensions to @code{ggplot2}, respecting the grammar of its graphics paradigm.") (license license:gpl2+))) +(define-public r-gprofiler + (package + (name "r-gprofiler") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "gProfileR" version)) + (sha256 + (base32 + "1h1v0kgpsn04ald2izznh7fr2riwisj5hcgz4k7h3qc931rf0r4k")))) + (properties `((upstream-name . "gProfileR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-plyr" ,r-plyr) + ("r-rcurl" ,r-rcurl))) + (home-page "https://cran.r-project.org/web/packages/gProfileR/") + (synopsis "Interface to the g:Profiler toolkit") + (description + "This package provides tools for functional enrichment analysis, +gene identifier conversion and mapping homologous genes across related +organisms via the @code{g:Profiler} toolkit.") + (license license:gpl2+))) + +(define-public r-gprofiler2 + (package + (name "r-gprofiler2") + (version "0.1.9") + (source + (origin + (method url-fetch) + (uri (cran-uri "gprofiler2" version)) + (sha256 + (base32 + "112hmmvdwg8xz90w1bsbzc55y4xi9jj4dqy0q4bsgp49x58r92rb")))) + (properties `((upstream-name . "gprofiler2"))) + (build-system r-build-system) + (propagated-inputs + `(("r-crosstalk" ,r-crosstalk) + ("r-dplyr" ,r-dplyr) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-jsonlite" ,r-jsonlite) + ("r-plotly" ,r-plotly) + ("r-rcurl" ,r-rcurl) + ("r-tidyr" ,r-tidyr) + ("r-viridislite" ,r-viridislite))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/web/packages/gprofiler2/") + (synopsis "Interface to the g:Profiler toolset") + (description + "This package provides a toolset for functional enrichment analysis and +visualization, gene/protein/SNP identifier conversion and mapping orthologous +genes across species via @url{https://biit.cs.ut.ee/gprofiler,g:Profiler}. +The main tools are: + +@enumerate +@item @code{g:GOSt}, functional enrichment analysis and visualization of gene + lists; +@item @code{g:Convert}, gene/protein/transcript identifier conversion across + various namespaces; +@item @code{g:Orth}, orthology search across species; +@item @code{g:SNPense}, mapping SNP rs identifiers to chromosome positions, + genes and variant effects. +@end enumerate + +This package is an R interface corresponding to the 2019 update of +@code{g:Profiler} and provides access to versions @code{e94_eg41_p11} and +higher.") + (license license:gpl2+))) + (define-public r-oenb (package (name "r-oenb") @@ -253,14 +402,14 @@ information.") (define-public r-ellipsis (package (name "r-ellipsis") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "ellipsis" version)) (sha256 (base32 - "01z9gq311nzwv3a0sa49jhm5ylqd59srip4vjkrf23hzgb5i9y0b")))) + "1nvmkcca57d9067rcggw1gby80ibx5hplk2myz0cs9zwilaib2jg")))) (build-system r-build-system) (propagated-inputs `(("r-rlang" ,r-rlang))) @@ -596,24 +745,24 @@ the embedded @code{RapidXML} C++ library.") (define-public r-modelr (package (name "r-modelr") - (version "0.1.7") + (version "0.1.8") (source (origin (method url-fetch) (uri (cran-uri "modelr" version)) (sha256 (base32 - "1nln33ajad0c917hmal4v6fbw8rncsch9xz5sifqfw6wgqjx9yy6")))) + "1i31nff7bqibk6r4hhd4j1vzwbyaf8493v0bjaagn36njmysfnw2")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) - ("r-dplyr" ,r-dplyr) ("r-magrittr" ,r-magrittr) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) - ("r-tidyselect" ,r-tidyselect))) + ("r-tidyselect" ,r-tidyselect) + ("r-vctrs" ,r-vctrs))) (home-page "https://github.com/tidyverse/modelr") (synopsis "Helper functions for modelling in pipelines") (description @@ -624,13 +773,13 @@ into a pipeline of data manipulation and visualisation.") (define-public r-httpuv (package (name "r-httpuv") - (version "1.5.2") + (version "1.5.4") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "13ax0hs2lc39ilznh1zarwqdzahcbhb8adilrfik3xg0fkljpcwk")))) + "066rprqvz9qln6xd85x1yh1wbbmzd157xjl8zq1zbgr8l6347inm")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) @@ -677,13 +826,13 @@ in systems and applications.") (define-public r-servr (package (name "r-servr") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (cran-uri "servr" version)) (sha256 (base32 - "106skz04iq4dkblr17idxsxfcfqic6rcaz8mahydkwjjppnhp5fc")))) + "0lxkjr7mwdk96cdpx66j92nn4w2vkgn2j2bbg7kd4238jsk9srs7")))) (build-system r-build-system) (propagated-inputs `(("r-httpuv" ,r-httpuv) @@ -1176,14 +1325,14 @@ Bootstrap themes, which are packaged for use with Shiny applications.") (define-public r-d3r (package (name "r-d3r") - (version "0.8.7") + (version "0.9.0") (source (origin (method url-fetch) (uri (cran-uri "d3r" version)) (sha256 (base32 - "0xl3im76lp7pd5lhp8jfyqdm4j4zvjrx5a5fl81xv2cf7x3n4f2a")))) + "0vd1qk8yr18xdfkv5ybhqvf0mmccpi721wqa7c881nzm9nnlzc4y")))) (build-system r-build-system) (arguments `(#:modules ((guix build utils) @@ -1218,6 +1367,7 @@ Bootstrap themes, which are packaged for use with Shiny applications.") (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-htmltools" ,r-htmltools) + ("r-rlang" ,r-rlang) ("r-tidyr" ,r-tidyr))) (native-inputs `(("uglify-js" ,uglify-js) @@ -1529,17 +1679,19 @@ including functions for geolocation and routing.") (define-public r-haven (package (name "r-haven") - (version "2.2.0") + (version "2.3.1") (source (origin (method url-fetch) (uri (cran-uri "haven" version)) (sha256 (base32 - "0g9d6mxqmrw2zdms78jpx2sx73pczlyy771v1h5hmxqz9sqyk7hr")))) + "03cypgqhdkrfbfpl1yx2wb7flczrbak1w654wkicmd5ajwr9zvkf")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) + (native-inputs + `(("r-knitr" ,r-knitr))) (propagated-inputs `(("r-forcats" ,r-forcats) ("r-hms" ,r-hms) @@ -1547,7 +1699,8 @@ including functions for geolocation and routing.") ("r-rlang" ,r-rlang) ("r-readr" ,r-readr) ("r-tibble" ,r-tibble) - ("r-tidyselect" ,r-tidyselect))) + ("r-tidyselect" ,r-tidyselect) + ("r-vctrs" ,r-vctrs))) (home-page "https://haven.tidyverse.org") (synopsis "Import and Export 'SPSS', 'Stata' and 'SAS' Files") (description @@ -1577,14 +1730,14 @@ component analysis (with robust methods, and parallelized functions).") (define-public r-ape (package (name "r-ape") - (version "5.3") + (version "5.4") (source (origin (method url-fetch) (uri (cran-uri "ape" version)) (sha256 (base32 - "08wbk1kxhs32bmmvqlqanbdg1w235amd35k8m00fngsj9h9xzc08")))) + "0f74x9vx9sxpns2hlq4w2x80cd2gw42isfgncvs9pqbjf4hiyqnr")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -1653,14 +1806,14 @@ colors are provided.") (define-public r-glue (package (name "r-glue") - (version "1.4.0") + (version "1.4.1") (source (origin (method url-fetch) (uri (cran-uri "glue" version)) (sha256 (base32 - "1hb9j2519jv9zgkgjb25hnqi22i7zxnaksqd16m4nxa1f6gl0v7a")))) + "1j1va4vi3g9sl0cyjdwxvh5lvh10x8k9qvnsr9zyxddcbk9qgdpq")))) (build-system r-build-system) ;; knitr depends on glue, so we can't add knitr here to build the ;; vignettes. @@ -1799,17 +1952,19 @@ is configured appropriately so R can use them.") (define-public r-pkgload (package (name "r-pkgload") - (version "1.0.2") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "pkgload" version)) (sha256 (base32 - "0z7jvharafahi2gv5547mk1n499isjzw06kfwymmxc0gd575d1ii")))) + "03bv8xq4s6s7m34y1kjs99jzlb95vwrfi76mbnhmzcx2pc6ld78q")))) (build-system r-build-system) (propagated-inputs - `(("r-desc" ,r-desc) + `(("r-cli" ,r-cli) + ("r-crayon" ,r-crayon) + ("r-desc" ,r-desc) ("r-pkgbuild" ,r-pkgbuild) ("r-rlang" ,r-rlang) ("r-rprojroot" ,r-rprojroot) @@ -1916,13 +2071,13 @@ is provided.") (define-public r-calibrate (package (name "r-calibrate") - (version "1.7.5") + (version "1.7.6") (source (origin (method url-fetch) (uri (cran-uri "calibrate" version)) (sha256 - (base32 "1s423nr176l2sc66wp7hzgqkv7c2bq8d2bjrrvrrm5qa9y3zdx1k")))) + (base32 "0h91mxf4fy3xk4mavf6cdllglyq5fra8zpz7yvc63n5jigpy2lhd")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass))) @@ -1955,15 +2110,17 @@ ellipses, circles, cylinders, arrows, ...") (define-public r-globaloptions (package (name "r-globaloptions") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) (uri (cran-uri "GlobalOptions" version)) (sha256 - (base32 "0x89hfz80avq4zcskxl71i4zi0mgniqqxfrvz050aa2189wfyja2")))) + (base32 "0gkm77w6db9ajyncy1xdcivplap06a51zi99m009kylccschd2a7")))) (properties `((upstream-name . "GlobalOptions"))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/jokergoo/GlobalOptions") (synopsis "Generate functions to get or set global options") (description @@ -2080,21 +2237,24 @@ compare different dendrograms to one another.") (define-public r-getoptlong (package (name "r-getoptlong") - (version "0.1.8") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "GetoptLong" version)) (sha256 (base32 - "1l8xkvyl152bsyvxazsvx2sm1vkygn75x0lsg3sbg7xp6drdn3kc")))) + "1fswgy5j4xaipqs7nk7nzrl66vrchhxrk0w7hcsbyij3sxgn3z9j")))) (properties `((upstream-name . "GetoptLong"))) (build-system r-build-system) (inputs `(("perl" ,perl))) (propagated-inputs - `(("r-globaloptions" ,r-globaloptions) + `(("r-crayon" ,r-crayon) + ("r-globaloptions" ,r-globaloptions) ("r-rjson" ,r-rjson))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/jokergoo/GetoptLong") (synopsis "Parsing command-line arguments and variable interpolation") (description @@ -2240,14 +2400,14 @@ package also provides a C++ API, that works with or without Rcpp.") (define-public r-ggally (package (name "r-ggally") - (version "1.5.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "GGally" version)) (sha256 (base32 - "082s321zspg5al6acigwrhg4fsrmkkk5caabg662qbcy8v6n34h6")))) + "1gkmpzh1yvwvypkw0nwqv3gsf6za3220wig3rfv8g23kss60rl1s")))) (properties `((upstream-name . "GGally"))) (build-system r-build-system) (inputs @@ -2255,11 +2415,13 @@ package also provides a C++ API, that works with or without Rcpp.") (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-gtable" ,r-gtable) + ("r-lifecycle" ,r-lifecycle) ("r-plyr" ,r-plyr) ("r-progress" ,r-progress) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-reshape" ,r-reshape) - ("r-rlang" ,r-rlang))) + ("r-rlang" ,r-rlang) + ("r-scales" ,r-scales))) (home-page "https://ggobi.github.io/ggally") (synopsis "Extension to ggplot2") (description @@ -2294,13 +2456,13 @@ most popular ones.") (define-public r-sp (package (name "r-sp") - (version "1.4-1") + (version "1.4-2") (source (origin (method url-fetch) (uri (cran-uri "sp" version)) (sha256 - (base32 "0fbh865r4py89g6ln8bslig2vbxxwa642p5k5g02rskyhajg35lg")))) + (base32 "02jxsd30apzjbdbssirysq70d4svdwzn931jhxr0ladl72g9bqvk")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -2653,19 +2815,20 @@ functions from LINPACK.") (define-public r-fitdistrplus (package (name "r-fitdistrplus") - (version "1.0-14") + (version "1.1-1") (source (origin (method url-fetch) (uri (cran-uri "fitdistrplus" version)) (sha256 (base32 - "10q08wsv8v3w7797jdvvv60bgrf1bi6438wf0jcqv81ays82a245")))) + "1rnfnwmxa495fql7q0h9018cnwygwhj8gfh6ryz1vbf474570vjl")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) - ("r-npsurv" ,r-npsurv) ("r-survival" ,r-survival))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://riskassessment.r-forge.r-project.org") (synopsis "Fitting a parametric distribution from data") (description @@ -2794,14 +2957,14 @@ contexts.") (define-public r-squarem (package (name "r-squarem") - (version "2020.2") + (version "2020.3") (source (origin (method url-fetch) (uri (cran-uri "SQUAREM" version)) (sha256 (base32 - "1j6sa93xjvynnzx9jx79a3fysbykmbqyknknsqif5bcha6xp6cvf")))) + "17l05i87vwvcsk79fbg52zrx04zdlwiiyl3ga8qafs7mqx0j976q")))) (properties `((upstream-name . "SQUAREM"))) (build-system r-build-system) (home-page "https://coah.jhu.edu/people/Faculty_personal_Pages/Varadhan.html") @@ -3448,14 +3611,14 @@ Laplace approximation and adaptive Gauss-Hermite quadrature.") (define-public r-jomo (package (name "r-jomo") - (version "2.6-10") + (version "2.7-1") (source (origin (method url-fetch) (uri (cran-uri "jomo" version)) (sha256 (base32 - "1k9l4290g350zbw1pjs871q9bxj3j2h1dilxpp06v4wy4n7d8qs0")))) + "0cdy9m4ylarkk9d0v1s61k2d877l4bbxly8a4jwhfy43fdvskz1w")))) (build-system r-build-system) (propagated-inputs `(("r-lme4" ,r-lme4) @@ -3521,14 +3684,14 @@ analysis of multiply imputed data sets.") (define-public r-mice (package (name "r-mice") - (version "3.8.0") + (version "3.9.0") (source (origin (method url-fetch) (uri (cran-uri "mice" version)) (sha256 (base32 - "1ibybvigqkkla4xwhqs2w4m6c68alfcdsljx99nn4p92rzb1ig04")))) + "1wycbc2iqp68gfzvqx1gsn5n1k1h4bg79dy8m5msqf226hy83ncn")))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) @@ -4168,13 +4331,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.13") + (version "0.14") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "03iyqgx9mmdbd3qih70qzijjqcdg7k7ps5r1y6q8praanx9qvnm3")))) + (base32 "183f6d7lr116f90j37a8hfr6ni1x9xkqj79s8lnky1jwr6zj3ha9")))) (build-system r-build-system) ;; knitr itself depends on xfun #; @@ -4231,14 +4394,14 @@ to variables on the left-hand side of the assignment.") (define-public r-vctrs (package (name "r-vctrs") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "vctrs" version)) (sha256 (base32 - "0ay1fk05mk6cnpfbzqwx6pjxmjk3ipx5xx6k0sbh81r5bqj17vpn")))) + "025si8gqwsj79lna3s0hdzxmymjyzbjq3ddan7n6chah6n3kbrhp")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -4316,14 +4479,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.22") + (version "0.23") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "0s9f62v3ps5f8903ar6kxlf1z3b4v78vlw1nb05bq55dgj8brg3b")))) + "084jd1m2i3zyxxlls7skq3jxv3b5cgps3yk60q1yzyy9sxslab7m")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -5519,14 +5682,14 @@ evaluated by the @dfn{Akaike Information Criterion} (AIC).") (define-public r-arules (package (name "r-arules") - (version "1.6-5") + (version "1.6-6") (source (origin (method url-fetch) (uri (cran-uri "arules" version)) (sha256 (base32 - "0bcvfn8lvcv74vv9z3kgg7yq5hm7wjqhmzadi55cbm8zxd76g84v")))) + "1pk3jjizn2m5rwi7qkdkbq9f07acgpy0qdzzqmx0agg47cwahlkm")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -5698,14 +5861,14 @@ simple method for converting between file types.") (define-public r-maptools (package (name "r-maptools") - (version "0.9-9") + (version "1.0-1") (source (origin (method url-fetch) (uri (cran-uri "maptools" version)) (sha256 (base32 - "0v4llkxk8qs61vq4ykvaim4k23aagdaz0p62ns7zfq02sln3pfk9")))) + "0fs1y3cbymcq4f76wd27h5a7ihdmxii3ca8x29x32xgxhmasni4l")))) (build-system r-build-system) (propagated-inputs `(("r-foreign" ,r-foreign) @@ -5726,19 +5889,21 @@ exchanging spatial objects with other R packages.") (define-public r-later (package (name "r-later") - (version "1.0.0") + (version "1.1.0.1") (source (origin (method url-fetch) (uri (cran-uri "later" version)) (sha256 (base32 - "11xjavj7siz0xv2ffq1ld4bwl35jyrcfpvvs4p3ilpifxx49hyr7")))) + "1k9n2j7zxw9gfclnx8zfqp6w64c5d6apn7g02yhkajkpmszagfki")))) (build-system r-build-system) (propagated-inputs `(("r-bh" ,r-bh) ("r-rcpp" ,r-rcpp) ("r-rlang" ,r-rlang))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/r-lib/later") (synopsis "Utilities for delaying function execution") (description @@ -5749,14 +5914,14 @@ time after the current time, after the R execution stack has emptied.") (define-public r-promises (package (name "r-promises") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "promises" version)) (sha256 (base32 - "01l0ydjvvy6afcg5d6pzvk1ikd3djq8n2flv8c831ksn68z0zsn8")))) + "002qkhcn3ri6a3w5fizjvdvrjgvqiw8i7rl9jglcnqik5kmwc61p")))) (build-system r-build-system) (propagated-inputs `(("r-later" ,r-later) @@ -5764,6 +5929,8 @@ time after the current time, after the R execution stack has emptied.") ("r-r6" ,r-r6) ("r-rcpp" ,r-rcpp) ("r-rlang" ,r-rlang))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://rstudio.github.io/promises") (synopsis "Abstractions for promise-based asynchronous programming") (description @@ -5938,14 +6105,14 @@ obtain a better initial configuration in non-metric MDS.") (define-public r-reticulate (package (name "r-reticulate") - (version "1.15") + (version "1.16") (source (origin (method url-fetch) (uri (cran-uri "reticulate" version)) (sha256 (base32 - "03dmnx9jhxx6vfbv2i5n6sln38kb9zkshz982pg3l9i4jjf3xns7")))) + "0ddx3xrlw55d8d3w7pxap618w2c5pd1n2jw4xsa185s8mf1zifkl")))) (build-system r-build-system) (inputs `(("python" ,python))) (propagated-inputs @@ -6135,14 +6302,14 @@ publication-ready plots.") (define-public r-ellipse (package (name "r-ellipse") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) (uri (cran-uri "ellipse" version)) (sha256 (base32 - "0g82vc51m3c1k0hnpp2zla6amxxgk2mmkl8ssnsc49jv3599r6hs")))) + "1wm5v7zdv2drgdba7z96jwsx74mqhlq80qgrvdb4vb5r02dcw68p")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/ellipse/") (synopsis "Functions for drawing ellipses and ellipse-like confidence regions") @@ -6437,14 +6604,14 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.3.9") + (version "0.3.11") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "0kp8rmab917zimnyc0rz37czf5f044z9naiyq0yxw68i990ikxf7")))) + "0nwasra2kb5wplcim7n57kynwhyg4vsk3fz42mbpm0hig1lzl9pp")))) (build-system r-build-system) (propagated-inputs `(("r-magrittr" ,r-magrittr) @@ -6554,14 +6721,14 @@ and tests them.") (define-public r-overlap (package (name "r-overlap") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "overlap" version)) (sha256 (base32 - "1j3m6ir1chdz0si2fhcw6gs7c9h09bv0chz18rpzxsywww6d4rzy")))) + "17cnr4qin1qy0df4k491267acna12gpbbps6w3gi8nccqxfrb1pd")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/overlap/") (synopsis "Estimates of coefficient of overlapping for animal activity patterns") @@ -6621,14 +6788,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.8.3") + (version "0.8.5") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0lm5a4r368mq1pwmxjk2xnz25lb9j4v7mdkl1bahk2alklxgb8yj")))) + "0ggczjd112kclknyxxqvjkzwzazfhjwglchafzamk4zb08ww7y7k")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -6649,14 +6816,14 @@ information are missing.") (define-public r-sjlabelled (package (name "r-sjlabelled") - (version "1.1.4") + (version "1.1.5") (source (origin (method url-fetch) (uri (cran-uri "sjlabelled" version)) (sha256 (base32 - "00dnrvwf7zbaq07hkh4rx24pvi5bwkl4npf6ycg101s63633dq5m")))) + "0grskmd7wrw31lkf85z6xz0bv246m6grvqkijvqi4q8zkl6p5vb3")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight))) @@ -6675,14 +6842,14 @@ vice versa), or to deal with multiple declared missing values.") (define-public r-sjmisc (package (name "r-sjmisc") - (version "2.8.4") + (version "2.8.5") (source (origin (method url-fetch) (uri (cran-uri "sjmisc" version)) (sha256 (base32 - "1ad7ca71w0v9ja4wb47aygczc987zz1lnjljhh2n497nzrpzzv64")))) + "0xl0s56d13bia89ai619rcr0fzbvc2k8f7hjxik4qp0g4v87zzlk")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -6755,14 +6922,14 @@ functions.") (define-public r-flextable (package (name "r-flextable") - (version "0.5.9") + (version "0.5.10") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "1rkz0nhwjy1l8sb0kmna5v492n2ydnk7gydswnmf88r8vfyjczhw")))) + "1j7yvjiavar21ywck6nyz0p6bd66fnj99bq8lljdz4rrl3314yb8")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -6773,6 +6940,7 @@ functions.") ("r-officer" ,r-officer) ("r-rlang" ,r-rlang) ("r-rmarkdown" ,r-rmarkdown) + ("r-uuid" ,r-uuid) ("r-xml2" ,r-xml2))) (home-page "https://davidgohel.github.io/flextable") (synopsis "Functions for tabular reporting") @@ -6998,26 +7166,26 @@ the work.") (define-public r-doby (package (name "r-doby") - (version "4.6.5") + (version "4.6.6") (source (origin (method url-fetch) (uri (cran-uri "doBy" version)) (sha256 (base32 - "1ckazh701b4ilg8bj17ji903538jmb49d997gm49ah5j5jc1x0g7")))) + "0wz1vmsf1545r1m42q88s675ncwvm8figjn7kzbngjn9aqck9qbq")))) (properties `((upstream-name . "doBy"))) (build-system r-build-system) (propagated-inputs `(("r-broom" ,r-broom) ("r-deriv" ,r-deriv) - ("r-dplyr" ,r-dplyr) ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) ("r-matrix" ,r-matrix) - ("r-plyr" ,r-plyr) ("r-pbkrtest" ,r-pbkrtest) ("r-tibble" ,r-tibble))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://people.math.aau.dk/~sorenh/software/doBy/") (synopsis "Groupwise statistics, LSmeans, linear contrasts, and utilities") (description @@ -7460,13 +7628,13 @@ while providing the intuitive capabilities of @code{r-ggplot2}.") (define-public r-mosaicdata (package (name "r-mosaicdata") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (cran-uri "mosaicData" version)) (sha256 - (base32 "04z0mdm52mykqsxsinhmsihn181zf6cw321gayk2rjp7lj7mwdq9")))) + (base32 "0cx5dg26ha7nzkdyghkbbd6ikncj60qv1538az77lfgn2jylvkbz")))) (properties `((upstream-name . "mosaicData"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/mosaicData/") @@ -8490,14 +8658,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.4.6") + (version "1.4.7") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "0mxk7ghlv4r6sna4897q1la2xgyn1dw3r9srhm9x4h5l4701avfa")))) + "0jh7l1rzsb2ihbnh4r4388kwm629z17rcapvdws1hnkklhr8j74k")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -8588,18 +8756,20 @@ correlation, censored, ordered and multivariate problems.") (define-public r-bayesplot (package (name "r-bayesplot") - (version "1.7.1") + (version "1.7.2") (source (origin (method url-fetch) (uri (cran-uri "bayesplot" version)) (sha256 (base32 - "0sq0ajnm96hmlqf1cv5n2gshh3qdij4n1zbm7qrniz2q6b5aj342")))) + "0aqy4bfjq1fmds0vpacsmqih528cp8wk4v4w0balzkph6zqzpwcl")))) (build-system r-build-system) (inputs `(("pandoc" ,ghc-pandoc) ("pandoc-citeproc" ,ghc-pandoc-citeproc))) + (native-inputs + `(("r-knitr" ,r-knitr))) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-ggplot2" ,r-ggplot2) @@ -8809,14 +8979,14 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "0kijp4wamkidaxysc11dd4vhvnm4wnbi87871wcbwn27k5b6i5dg")))) + "1n5b5434sd8f1v95bfjwg92v879rkaj8zpm6ldnrg0kgfb0gy6q4")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs @@ -8836,13 +9006,13 @@ conversion of indices such as Cohen's d, r, odds, etc.") (define-public r-sjplot (package (name "r-sjplot") - (version "2.8.3") + (version "2.8.4") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 - (base32 "0ip1rkjlhyf3axlc8qqss1qq1f0xrda890c1jmcbhm98wwjw264f")))) + (base32 "0b7k0mshkk8k26w11xbxkb5v0klhq279zn2xdz83cn8k791xkqyd")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs @@ -10680,14 +10850,14 @@ the combination of non-negative and non-positive constraints.") (define-public r-iso (package (name "r-iso") - (version "0.0-18") + (version "0.0-18.1") (source (origin (method url-fetch) (uri (cran-uri "Iso" version)) (sha256 (base32 - "014mm5b1f7i6nwlz3kyg1biph0y542kcx5bd13p68cv5a928qzid")))) + "0vy6jdyvp751430sf2f690yhasjr70cpk3p3lnaaxjq3fs5gg99g")))) (properties `((upstream-name . "Iso"))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -10877,14 +11047,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-bigrquery (package (name "r-bigrquery") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (cran-uri "bigrquery" version)) (sha256 (base32 - "0j8asipnb4fg4kk3apy37ywqq78ncmqh9wq015xpww2zb9shnbvf")))) + "0mq03sqv5lkyn3dlxvyd6lqqwnryfdaqh05pjvngzp194fxmd9cy")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -10910,14 +11080,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-gmp (package (name "r-gmp") - (version "0.5-13.6") + (version "0.6-0") (source (origin (method url-fetch) (uri (cran-uri "gmp" version)) (sha256 (base32 - "0j2sz2nw41y9306rl1b8hbn0spz7453z5iawcq0bvslyrhc1d9ir")))) + "1c9vpr6j6h5f6dm9l535nscl66rvr8sba5az2kswjhmzwb9xpjxc")))) (build-system r-build-system) (arguments '(#:phases @@ -11672,13 +11842,13 @@ But it can also be used to do data analysis for small scale data sets.") (define-public r-cmprsk (package (name "r-cmprsk") - (version "2.2-9") + (version "2.2-10") (source (origin (method url-fetch) (uri (cran-uri "cmprsk" version)) (sha256 - (base32 "0xhgfg5b4i9skkaxp7gzkafgg5bqs5q1rp4hpw2jjmykg2nifn99")))) + (base32 "1xnx2zanw548prxsw2zw5cddkkg6kj97jgyzw67achq5mnsvfbg8")))) (build-system r-build-system) (propagated-inputs `(("r-survival" ,r-survival))) @@ -12574,14 +12744,14 @@ probabilities from a standard bivariate normal CDF.") (define-public r-lavaan (package (name "r-lavaan") - (version "0.6-5") + (version "0.6-6") (source (origin (method url-fetch) (uri (cran-uri "lavaan" version)) (sha256 (base32 - "04kvsh2m6mnzlhv83phr3hjzy4sx1ck6f7dgsm7xb8cs84dnxszy")))) + "0sfv58r2kxinax62bx6j3kkfx07qm16ddwf5qz392q33h9zs009h")))) (build-system r-build-system) (propagated-inputs `(("r-mass" ,r-mass) @@ -12950,14 +13120,14 @@ return the match results in tidy data frames.") (define-public r-picante (package (name "r-picante") - (version "1.8.1") + (version "1.8.2") (source (origin (method url-fetch) (uri (cran-uri "picante" version)) (sha256 (base32 - "1b16zm8zjjsl181b8krkdcrbcw347kf772c4w7y5332qmfi7jhz0")))) + "19savjzj44b7ifdxcp02ynj22z4n4ikq2aipc74ljzy3yykmqmjn")))) (build-system r-build-system) (propagated-inputs `(("r-ape" ,r-ape) @@ -13005,14 +13175,14 @@ can be used with function approximation, eligibility traces (Singh & Sutton, (define-public r-lemon (package (name "r-lemon") - (version "0.4.4") + (version "0.4.5") (source (origin (method url-fetch) (uri (cran-uri "lemon" version)) (sha256 (base32 - "0m9hqwi709j9iwsxn8jh63741jiyr7ppwgqaw2zkv285p3m5wvd5")))) + "1y3ljidhqdakxlya2npj2w0az820g8kw6gl1cfm4f0cxvzgd1ly4")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -13023,6 +13193,8 @@ can be used with function approximation, eligibility traces (Singh & Sutton, ("r-plyr" ,r-plyr) ("r-rlang" ,r-rlang) ("r-scales" ,r-scales))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/stefanedwards/lemon") (synopsis "Freshen up your ggplot2 plots") (description @@ -13274,14 +13446,14 @@ utilities for sequence data management under the ACNUC system.") (define-public r-units (package (name "r-units") - (version "0.6-6") + (version "0.6-7") (source (origin (method url-fetch) (uri (cran-uri "units" version)) (sha256 (base32 - "11x6xz1fbml28xmrhgn4sii9vfyj3gyfc1dfxahdg9cszdmcgdnh")))) + "1rdpbkiqcabz00fqzzs98v89v4cgvcd4pb00pwxzkq6vmwmscwrz")))) (build-system r-build-system) (inputs `(("udunits" ,udunits))) @@ -13406,14 +13578,14 @@ tessellation.") (define-public r-sf (package (name "r-sf") - (version "0.9-3") + (version "0.9-4") (source (origin (method url-fetch) (uri (cran-uri "sf" version)) (sha256 (base32 - "0qh9jxj88rhkwcd95g0l57cdrz5qqjw1b9yysz1hp9cp99485hcx")))) + "1xgmnz01pxvpg2ins1h65mlcrafqihlljcjlag8spq9ii7d5i7mx")))) (build-system r-build-system) (inputs `(("gdal" ,gdal) @@ -13623,13 +13795,13 @@ either PDF/EPS files.") (define-public r-polspline (package (name "r-polspline") - (version "1.1.18") + (version "1.1.19") (source (origin (method url-fetch) (uri (cran-uri "polspline" version)) (sha256 - (base32 "00h1xg89wncfj2nk68zv7vphfcc68s7k0l5s9511bzxz8khhw9fz")))) + (base32 "0rhzf735hmbqfn2xbgcln4sqx7m9far72g5gq9mghgkw016kqglm")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/polspline/") @@ -13643,20 +13815,23 @@ lspec, polyclass, and polymars.") (define-public r-rms (package (name "r-rms") - (version "5.1-4") + (version "6.0-0") (source (origin (method url-fetch) (uri (cran-uri "rms" version)) (sha256 - (base32 "19knh1sw0icw6jh9wfb2hq5jf49i2qfvp9myvqm5paa495689x9q")))) + (base32 "0m88m63d19qz03x8v56h4rrblln3d2943spi1v4wxxnbcdk22np9")))) (build-system r-build-system) (propagated-inputs - `(("r-ggplot2" ,r-ggplot2) + `(("r-cluster" ,r-cluster) + ("r-digest" ,r-digest) + ("r-ggplot2" ,r-ggplot2) ("r-hmisc" ,r-hmisc) ("r-htmltable" ,r-htmltable) ("r-htmltools" ,r-htmltools) ("r-lattice" ,r-lattice) + ("r-mass" ,r-mass) ("r-multcomp" ,r-multcomp) ("r-nlme" ,r-nlme) ("r-polspline" ,r-polspline) @@ -13878,13 +14053,13 @@ SELECT or UPDATE queries to an end-point.") (define-public r-bookdown (package (name "r-bookdown") - (version "0.18") + (version "0.19") (source (origin (method url-fetch) (uri (cran-uri "bookdown" version)) (sha256 (base32 - "1my6g16phx21v5cvfqcnjibh3zcv02xkix347aafd6a7r3hnxpq5")))) + "137l0cyzw9ij2l3zyk3mm1k2db9vhbax6c9y4rydvh4i9gka5vlq")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) @@ -14272,20 +14447,22 @@ the XKCD web comic.") (define-public r-msigdbr (package (name "r-msigdbr") - (version "7.0.1") + (version "7.1.1") (source (origin (method url-fetch) (uri (cran-uri "msigdbr" version)) (sha256 (base32 - "19p8z617m3my8la7n1qgb1s2msf940r372im3q30qkbcx3qxg3sd")))) + "0jvi49qa7616s58p0rx66pcw7h12rc8kgcg9225jk7pc3934hnzh")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-magrittr" ,r-magrittr) ("r-rlang" ,r-rlang) ("r-tibble" ,r-tibble))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/igordot/msigdbr") (synopsis "MSigDB gene sets for multiple organisms") (description @@ -14512,14 +14689,14 @@ that fills this gap.") (define-public r-europepmc (package (name "r-europepmc") - (version "0.3") + (version "0.4") (source (origin (method url-fetch) (uri (cran-uri "europepmc" version)) (sha256 (base32 - "1ngqs1sqzkbwv98dd5z4cxj8bnz41wyd0g060a2vpqi3s99s4i2h")))) + "174nnyc2mbgqxb5kgqabn1vf71c2mps7ig2bclq4is0f7nb64pym")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -14528,8 +14705,13 @@ that fills this gap.") ("r-plyr" ,r-plyr) ("r-progress" ,r-progress) ("r-purrr" ,r-purrr) + ("r-rlang" ,r-rlang) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr) ("r-urltools" ,r-urltools) ("r-xml2" ,r-xml2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/ropensci/europepmc/") (synopsis "R Interface to the Europe PubMed Central RESTful Web Service") (description @@ -14547,14 +14729,14 @@ databases, including ENA, PDB or ChEMBL are also accessible.") (define-public r-ggraph (package (name "r-ggraph") - (version "2.0.2") + (version "2.0.3") (source (origin (method url-fetch) (uri (cran-uri "ggraph" version)) (sha256 (base32 - "1ckq82hg52vr2wydkqv2wrppgjyvddd6bwqzrngqlm7j71xapjl0")))) + "1pz06j0za4p6dc3fqjzcw8bpym70bmnfcvpv1q34r74rnwzjdyvq")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -15806,14 +15988,14 @@ path of values for the regularization parameter.") (define-public r-rhpcblasctl (package (name "r-rhpcblasctl") - (version "0.20-17") + (version "0.20-137") (source (origin (method url-fetch) (uri (cran-uri "RhpcBLASctl" version)) (sha256 (base32 - "0iwc06blr5sx7rylwczi2jrha8sk8qs0jklflwpidl0zj1jxdggp")))) + "0vv144sgjhf7fazk633i16fc06g9k43syyxj1g34pi9gsgdcn0nv")))) (properties `((upstream-name . "RhpcBLASctl"))) (build-system r-build-system) (home-page "https://prs.ism.ac.jp/~nakama/Rhpc/") @@ -16077,14 +16259,14 @@ both R code and compiled C/C++/FORTRAN code.") (define-public r-systemfonts (package (name "r-systemfonts") - (version "0.2.1") + (version "0.2.3") (source (origin (method url-fetch) (uri (cran-uri "systemfonts" version)) (sha256 (base32 - "0dna00xai0pw76b4830yy4r5j1hq7f7kla67v0iz39cjm4rq4ygq")))) + "0wf62mfam5zlrck0wrdbyi4hi7pn5j0739rihgp8sj2cjypm2lnb")))) (properties `((upstream-name . "systemfonts"))) (build-system r-build-system) (inputs @@ -16223,14 +16405,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.6.1") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "0mylxkf1y6mk4kf6c57x102sf4c800pfasjcfbf1hnsh6ya0m6dy")))) + "1cmb2hc6f4qdx9aj586zhllckzs6s5sznbqrywvgmhp6a2saaqax")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -16252,13 +16434,13 @@ effect size.") (define-public r-rgdal (package (name "r-rgdal") - (version "1.4-8") + (version "1.5-10") (source (origin (method url-fetch) (uri (cran-uri "rgdal" version)) (sha256 - (base32 "1jd691amf3ghznq5im15gvhl6v6k25klpl75m4ngrqf9xlxaa3as")))) + (base32 "02z7rhpizzmymiqpi90nm15bjdz0411bqlavlk0lhwxb42ilhif6")))) (properties `((upstream-name . "rgdal"))) (build-system r-build-system) (inputs @@ -16268,7 +16450,8 @@ effect size.") (propagated-inputs `(("r-sp" ,r-sp))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (home-page "http://rgdal.r-forge.r-project.org") (synopsis "Bindings for the Geospatial Data Abstraction Library") (description @@ -16759,14 +16942,14 @@ simulation.") (define-public r-abcrlda (package (name "r-abcrlda") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (cran-uri "abcrlda" version)) (sha256 (base32 - "0zjdrbg3zx0znqnh0dvmifs9c12b8vjhbaf3nbwab9xh25nsmg75")))) + "04pcdnk2szfpc2ylcw5ds7y895ivy03bycal03kxw7cwylzxasks")))) (properties `((upstream-name . "abcrlda"))) (build-system r-build-system) (home-page "https://ieeexplore.ieee.org/document/8720003/") @@ -16895,14 +17078,14 @@ into R, in order to support other packages.") (define-public r-showtextdb (package (name "r-showtextdb") - (version "2.0") + (version "3.0") (source (origin (method url-fetch) (uri (cran-uri "showtextdb" version)) (sha256 (base32 - "1qwwj9x2jvadvwn60h75k99c9xi7yhqjsgaakahz5paxgj583bsh")))) + "0hlnc3fhgrdkd46n7hb6id0gg1v0bf8s4679nrr7rchyp455szq2")))) (properties `((upstream-name . "showtextdb"))) (build-system r-build-system) (propagated-inputs @@ -16917,14 +17100,14 @@ package.") (define-public r-showtext (package (name "r-showtext") - (version "0.8") + (version "0.8-1") (source (origin (method url-fetch) (uri (cran-uri "showtext" version)) (sha256 (base32 - "15v90s061iz9i655xin7kqb6ahnski55pgz3329wcz60bnbjb82x")))) + "1n1cd9f4zrv45k5953akclqh1jh7fy122dqkgmbfi5h122v6p2h0")))) (properties `((upstream-name . "showtext"))) (build-system r-build-system) (inputs @@ -17246,14 +17429,14 @@ data.") (define-public r-elasticnet (package (name "r-elasticnet") - (version "1.1.1") + (version "1.3") (source (origin (method url-fetch) (uri (cran-uri "elasticnet" version)) (sha256 (base32 - "0p9dplnsp28z4s2fl6afbwrgd0aj339fak8mmndicmrh7bb7rpmb")))) + "0nxcw06d0cp2mbqzg2fm9yys5xm6xx7bfcfvr0avcs8afkvz29j8")))) (properties `((upstream-name . "elasticnet"))) (build-system r-build-system) (propagated-inputs @@ -17865,16 +18048,18 @@ transcription, ...") (define-public r-seewave (package (name "r-seewave") - (version "2.1.5") + (version "2.1.6") (source (origin (method url-fetch) (uri (cran-uri "seewave" version)) (sha256 (base32 - "1qg8f5gik9pw6f9mcxqmrc9x3003s8vdm6g01pjjpyc9qaqiz2vi")))) + "123h3q0gps0vy9sikr7gjphnv9m3l4h4mykiydjllmrpaw1s1844")))) (properties `((upstream-name . "seewave"))) (build-system r-build-system) + (inputs + `(("libsndfile" ,libsndfile))) (propagated-inputs `(("r-tuner" ,r-tuner))) (home-page "http://rug.mnhn.fr/seewave") @@ -18266,14 +18451,14 @@ allowed.") (define-public r-gdina (package (name "r-gdina") - (version "2.7.9") + (version "2.8.0") (source (origin (method url-fetch) (uri (cran-uri "GDINA" version)) (sha256 (base32 - "13pmj069r04h38hg61ibyn1ab15zdy9m0qv60vi25ahgsmg6ccvx")))) + "0chxnhp37xfd78gafkgwqrmc0jf3pvpdyrkc438kl0l53fb7dld7")))) (properties `((upstream-name . "GDINA"))) (build-system r-build-system) (propagated-inputs @@ -18624,14 +18809,14 @@ API; see the package vignette for details.") (define-public r-actuar (package (name "r-actuar") - (version "2.3-3") + (version "3.0-0") (source (origin (method url-fetch) (uri (cran-uri "actuar" version)) (sha256 (base32 - "0aw3hlan5y22mdqk1wvnw9ksqhwp4yy5hi0dpv21p7s0hyxhphih")))) + "0dkp1sczldzy7kj70qvh1q59jhsq1brjybmxdz43jnx63y45llpz")))) (properties `((upstream-name . "actuar"))) (build-system r-build-system) (propagated-inputs `(("r-expint" ,r-expint))) @@ -19364,21 +19549,22 @@ automatically show a loader when the output is (re)calculating.") (define-public r-rsvg (package (name "r-rsvg") - (version "2.0") + (version "2.1") (source (origin (method url-fetch) (uri (cran-uri "rsvg" version)) (sha256 (base32 - "0r066lvyfvhsjjpiad259f1m3qk5w7hxhbyjzhlryzf3fy0hvh29")))) + "0bxnwa9sbzx6jlxrzh3ymjq81vkxil2qx7kk7wp13a0cql7dhxcn")))) (properties `((upstream-name . "rsvg"))) (build-system r-build-system) (inputs `(("librsvg" ,librsvg) ("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (home-page "https://github.com/jeroen/rsvg#readme") (synopsis "Render SVG images into PDF, PNG, PostScript, or Bitmap arrays") (description @@ -19420,14 +19606,14 @@ OpenMP.") (define-public r-emplik (package (name "r-emplik") - (version "1.0-4.3") + (version "1.1-1") (source (origin (method url-fetch) (uri (cran-uri "emplik" version)) (sha256 (base32 - "1g4hz85bvw29c77zs0ig487z92jjl682vv457x81l077h0psvk7c")))) + "1kw8g8j075bsicdvgkjf4870rfv5c30gvmw6qkkaz3ki22x74w77")))) (properties `((upstream-name . "emplik"))) (build-system r-build-system) (propagated-inputs @@ -20100,14 +20286,14 @@ actuarial models such as pension mathematics.") (define-public r-sem (package (name "r-sem") - (version "3.1-9") + (version "3.1-11") (source (origin (method url-fetch) (uri (cran-uri "sem" version)) (sha256 (base32 - "1f9c6g6pfx66gd2pappcsqh484ah6a0x4z47hpd46rah0817hcsa")))) + "03j3ig6fy34pi6nwfq9w8f5m555lilw5skr1vn6ay4yvjmvavc9k")))) (properties `((upstream-name . "sem"))) (build-system r-build-system) (propagated-inputs @@ -20127,14 +20313,14 @@ least squares.") (define-public r-semtools (package (name "r-semtools") - (version "0.5-2") + (version "0.5-3") (source (origin (method url-fetch) (uri (cran-uri "semTools" version)) (sha256 (base32 - "1zj841pszfsikzp82cmh463qyc4xhdrqjqcnhc2r8mcflv12irv6")))) + "0k3w10fnq0l89inhxvnypyrfhlrm921mfn0kwyyfpndvbqizky1d")))) (properties `((upstream-name . "semTools"))) (build-system r-build-system) (propagated-inputs @@ -20176,17 +20362,20 @@ perform @dfn{exploratory mediation} (XMed).") (define-public r-stanheaders (package (name "r-stanheaders") - (version "2.19.2") + (version "2.21.0-5") (source (origin (method url-fetch) (uri (cran-uri "StanHeaders" version)) (sha256 (base32 - "0cmk0fzczx7dcywcw1dhm6gfq84qlsx77qrsk4z3bf3dhr4bznam")))) + "1zyph2x47x9a5baj5d79a1lzj7gajirisajvkrcngrjvw8bq7810")))) (properties `((upstream-name . "StanHeaders"))) (build-system r-build-system) (inputs `(("pandoc" ,ghc-pandoc))) + (propagated-inputs + `(("r-rcppeigen" ,r-rcppeigen) + ("r-rcppparallel" ,r-rcppparallel))) (native-inputs `(("gfortran" ,gfortran) ("r-knitr" ,r-knitr))) ; for vignettes @@ -20244,14 +20433,14 @@ Complete access to optimized C functions is made available with (define-public r-openmx (package (name "r-openmx") - (version "2.17.3") + (version "2.17.4") (source (origin (method url-fetch) (uri (cran-uri "OpenMx" version)) (sha256 (base32 - "1s2pcg281ag3qz2wz8yi826f2d3kj3qg916js7zz0nsrljcyv5bc")))) + "07y4w7xdb63p5kkrj6sdx1kabbsgbbj7nw9hc690jy84r15aryal")))) (properties `((upstream-name . "OpenMx"))) (build-system r-build-system) (propagated-inputs @@ -21194,15 +21383,17 @@ and an overall emphasis on typography.") (define-public r-crochet (package (name "r-crochet") - (version "2.2.0") + (version "2.3.0") (source (origin (method url-fetch) (uri (cran-uri "crochet" version)) (sha256 (base32 - "1cbv79nyycxk6f8ldcsnn2pvgxqlnrj0qs19nhafnq2clxy863k6")))) + "0zvjaf6cv0nrjb4l4llkr0mmgha7ig31p4ri2rlnqyjlxi5l8hyq")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/agrueneberg/crochet") (synopsis "Implementation Helper for Matrix-Like Types") (description @@ -21726,3 +21917,109 @@ of R without the need of linking to R code. Rserve supports remote connection, user authentication and file transfer. A simple R client is included in this package as well.") (license license:gpl2))) + +(define-public r-brms + (package + (name "r-brms") + (version "2.13.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "brms" version)) + (sha256 + (base32 + "0vdncdawxawi16f326qrgy9jjjipmqdjxh741y9p7xdzd4fwaxx3")))) + (properties `((upstream-name . "brms"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-backports" ,r-backports) + ("r-bayesplot" ,r-bayesplot) + ("r-bridgesampling" ,r-bridgesampling) + ("r-coda" ,r-coda) + ("r-future" ,r-future) + ("r-ggplot2" ,r-ggplot2) + ("r-glue" ,r-glue) + ("r-loo" ,r-loo) + ("r-matrix" ,r-matrix) + ("r-matrixstats" ,r-matrixstats) + ("r-mgcv" ,r-mgcv) + ("r-nleqslv" ,r-nleqslv) + ("r-nlme" ,r-nlme) + ("r-rcpp" ,r-rcpp) + ("r-rstan" ,r-rstan) + ("r-rstantools" ,r-rstantools) + ("r-shinystan" ,r-shinystan))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://github.com/paul-buerkner/brms") + (synopsis + "Bayesian Regression Models using 'Stan'") + (description + "Fit Bayesian generalized (non-)linear multivariate multilevel models +using 'Stan' for full Bayesian inference. A wide range of distributions and +link functions are supported, allowing users to fit -- among others -- linear, +robust linear, count data, survival, response times, ordinal, zero-inflated, +hurdle, and even self-defined mixture models all in a multilevel context. +Further modeling options include non-linear and smooth terms, auto-correlation +structures, censored data, meta-analytic standard errors, and quite a few +more. In addition, all parameters of the response distribution can be +predicted in order to perform distributional regression. Prior specifications +are flexible and explicitly encourage users to apply prior distributions that +actually reflect their beliefs. Model fit can easily be assessed and compared +with posterior predictive checks and leave-one-out cross-validation.") + (license license:gpl2))) + +(define-public r-mstate + (package + (name "r-mstate") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "mstate" version)) + (sha256 + (base32 + "0qnhivbibzss8yfsg44cvbf73n4jj4i28rbdysl88g14ig5sabgv")))) + (properties `((upstream-name . "mstate"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-survival" ,r-survival))) + (home-page + "https://www.lumc.nl/org/bds/research/medische-statistiek/survival-analysis/") + (synopsis + "Data Preparation, Estimation and Prediction in Multi-State Models") + (description + "Contains functions for data preparation, descriptives, hazard estimation +and prediction with Aalen-Johansen or simulation in competing risks and +multi-state models.") + (license license:gpl2+))) + +(define-public r-scatterpie + (package + (name "r-scatterpie") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "scatterpie" version)) + (sha256 + (base32 + "0g5sn0iv6c1q7y51j4gbbbnil5089dgk1w4q94c7h5y3x7wfrzqb")))) + (properties `((upstream-name . "scatterpie"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggforce" ,r-ggforce) + ("r-ggplot2" ,r-ggplot2) + ("r-rlang" ,r-rlang) + ("r-rvcheck" ,r-rvcheck) + ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/web/packages/scatterpie/") + (synopsis "Scatter pie plot") + (description + "This package creates scatterpie plots, especially useful for plotting +pies on a map.") + (license license:artistic2.0))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 9237a282b7..30e00b3f48 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> @@ -18967,14 +18967,14 @@ rust.") (define-public rust-rpassword-4 (package (name "rust-rpassword") - (version "4.0.3") + (version "4.0.5") (source (origin (method url-fetch) (uri (crate-uri "rpassword" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0jnl8wzmdazkpzqs0vsw0n0vm0v4b8chqifd6s84nl9w2ybhx7ym")))) + (base32 "17z99xazhhbaczw0ib1vnnq450j0zacdn8b2zcbdir68sdbicdwr")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -20380,7 +20380,7 @@ proven statistical guarantees.") (define-public rust-serde-bytes-0.11 (package (name "rust-serde-bytes") - (version "0.11.3") + (version "0.11.5") (source (origin (method url-fetch) @@ -20388,8 +20388,7 @@ proven statistical guarantees.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1bl45kf3c71xclv7wzk5525nswm4bgsnjd3s1s15f4k2a8whfnij")))) + (base32 "1fcb6sw8wkrj4ylm118wkb31hw124nkjnqyhbgqnd8w85zfhgbhn")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -20400,8 +20399,7 @@ proven statistical guarantees.") ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-test" ,rust-serde-test-1.0)))) (home-page "https://github.com/serde-rs/bytes") - (synopsis - "Handle of integer arrays and vectors for Serde") + (synopsis "Handle integer arrays and vectors for Serde") (description "Optimized handling of @code{&[u8]} and @code{Vec<u8>} for Serde.") (license (list license:expat license:asl2.0)))) @@ -23747,14 +23745,14 @@ in Rust.") (define-public rust-tokio-0.2 (package (name "rust-tokio") - (version "0.2.18") + (version "0.2.21") (source (origin (method url-fetch) (uri (crate-uri "tokio" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "04v7rfkrlr8cx30ygy0n45skf6pdbif0zisn9a5xrdnjfb81dvrl")))) + (base32 "0n1dxsjv9fxv3kmr3nh4n8v8pqckwgdlls942msysavhp4kzm6fh")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -25681,15 +25679,14 @@ designed for reexporting.") (define-public rust-version-check-0.9 (package (name "rust-version-check") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) (uri (crate-uri "version_check" version)) (file-name (string-append name "-" version ".crate")) (sha256 - (base32 - "1kikqlnggii1rvnxrbls55sc46lxvinz5k3giscgncjj4p87b1q7")))) + (base32 "1vbaqdf802qinsq8q20w8w0qn2pv0rkq5p73ijcblrwxcvjp5adm")))) (build-system cargo-build-system) (home-page "https://github.com/SergioBenitez/version_check") (synopsis "Check that the installed rustc meets some version requirements") @@ -27435,7 +27432,7 @@ to XDG Base Directory specification") (define-public rust-xml-rs-0.8 (package (name "rust-xml-rs") - (version "0.8.1") + (version "0.8.3") (source (origin (method url-fetch) @@ -27444,7 +27441,14 @@ to XDG Base Directory specification") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs")))) + "12ndxyhzxw2zdr76ql8nfdwb2vwhvdkrxwk4pbjafqfglmjv0zdh")) + (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 @@ -27478,22 +27482,20 @@ to XDG Base Directory specification") (define-public rust-yaml-rust-0.4 (package (name "rust-yaml-rust") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (crate-uri "yaml-rust" version)) - (file-name - (string-append name "-" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0ka3qhqc5lvk3hz14wmsj32jhmh44blcbfrx5hfxli2gg38kv4k5")))) + (base32 "038byay0dxsz6isckviz4qshfpyjqmyvda7pq96i6d53y4ickw1r")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-linked-hash-map" ,rust-linked-hash-map-0.5)) #:cargo-development-inputs - (("rust-quickcheck" ,rust-quickcheck-0.7)))) + (("rust-quickcheck" ,rust-quickcheck-0.9)))) (home-page "https://chyh1990.github.io/yaml-rust/") (synopsis "The missing YAML 1.2 parser for rust") (description diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index ccf1c2875f..be8f8b9f05 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1031,7 +1031,7 @@ quickly by using all your CPU cores and hardware acceleration.") (define-public minisign (package (name "minisign") - (version "0.8") + (version "0.9") (source (origin (method url-fetch) @@ -1039,8 +1039,7 @@ quickly by using all your CPU cores and hardware acceleration.") (string-append "https://github.com/jedisct1/minisign/releases/download/" version "/minisign-" version ".tar.gz")) (sha256 - (base32 - "10hhgwxf9rcdlr00shrkcyxndrc22dh5lj8k5z27xg3nc0jba3hk")))) + (base32 "1h9cfvvm6lqq33b2wdar1x3w4k7zyrscavllyb0l5dmcdabq60r2")))) (build-system cmake-build-system) (arguments ; No test suite @@ -1064,7 +1063,7 @@ Trusted comments are signed, thus verified, before being displayed.") (define-public libolm (package (name "libolm") - (version "3.1.4") + (version "3.1.5") (source (origin (method git-fetch) (uri (git-reference @@ -1072,7 +1071,7 @@ Trusted comments are signed, thus verified, before being displayed.") (commit version))) (sha256 (base32 - "06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi")) + "030g0jmmvhx2dh32k708sz6cdd5q1wz48i4gigh6dclqk10w28lm")) (file-name (git-file-name name version)))) (arguments `(#:phases diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm index d4c039ac04..bd6e046452 100644 --- a/gnu/packages/cryptsetup.scm +++ b/gnu/packages/cryptsetup.scm @@ -58,7 +58,7 @@ `(("pkg-config" ,pkg-config))) (inputs `(("argon2" ,argon2) - ("json-c" ,json-c) + ("json-c" ,json-c-0.13) ;XXX update this for cryptsetup >= 2.3 ("libgcrypt" ,libgcrypt) ("lvm2" ,lvm2) ; device-mapper ("popt" ,popt) @@ -138,7 +138,7 @@ files). This assumes LIBRARY uses Libtool." (inherit (static-library libgcrypt)) (propagated-inputs `(("libgpg-error-host" ,(static-library libgpg-error))))))) - `(("json-c" ,json-c) + `(("json-c" ,json-c-0.13) ("libgcrypt" ,libgcrypt-static) ("lvm2" ,lvm2-static) ("util-linux" ,util-linux "static") diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index c705bbc514..d83211ede2 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -125,12 +125,6 @@ (("/usr/local/lib/cups/filter") (string-append out "/lib/cups/filter"))) #t))) - (add-after 'unpack 'patch-for-poppler - (lambda _ - (substitute* "filter/pdf.cxx" - (("GooString \\*field_name;" m) - (string-append "const " m))) - #t)) (add-after 'install 'wrap-filters (lambda* (#:key inputs outputs #:allow-other-keys) ;; Some filters expect to find 'gs' in $PATH. We cannot @@ -250,7 +244,7 @@ device-specific programs to convert and print many types of files.") (license license:asl2.0))) (define-public cups - (package (inherit cups-minimal) + (package/inherit cups-minimal (name "cups") (arguments `(;; Three tests fail: @@ -421,14 +415,14 @@ should only be used as part of the Guix cups-pk-helper service.") (define-public hplip (package (name "hplip") - (version "3.20.3") + (version "3.20.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "0sh6cg7yjc11x1cm4477iaslj9n8ksghs85hqwgfbk7m5b2pw2a1")) + "0nj79r61fzddwwzf8kcc0qkp4y9qx46v15iarz6h6y3v91wbsjq0")) (modules '((guix build utils))) (patches (search-patches "hplip-remove-imageprocessor.patch")) (snippet diff --git a/gnu/packages/cybersecurity.scm b/gnu/packages/cybersecurity.scm index aedac03b8a..8ded081c50 100644 --- a/gnu/packages/cybersecurity.scm +++ b/gnu/packages/cybersecurity.scm @@ -26,14 +26,13 @@ (define-public ropgadget (package (name "ropgadget") - (version "6.2") + (version "6.3") (source (origin (method url-fetch) (uri (pypi-uri "ROPGadget" version)) (sha256 - (base32 - "0idiicgpijar9l9kqmfdh865c2mkfgxg0q7lpz77jc09l6q0afjh")))) + (base32 "0v34w88if3p4vn46aby24msfnxj6znmkf4848n4d24jnykxcsqk9")))) (build-system python-build-system) (propagated-inputs `(("python-capstone" ,python-capstone))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index f563ae8b5d..bab4b4d128 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -88,7 +88,9 @@ #:use-module (gnu packages language) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) + #:use-module (gnu packages logging) #:use-module (gnu packages man) + #:use-module (gnu packages maths) #:use-module (gnu packages ncurses) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages parallel) @@ -98,6 +100,7 @@ #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #: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) @@ -105,6 +108,8 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages rdf) #:use-module (gnu packages readline) + #:use-module (gnu packages regex) + #:use-module (gnu packages rpc) #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) @@ -679,7 +684,7 @@ Language.") (define-public mariadb (package (name "mariadb") - (version "10.1.44") + (version "10.1.45") (source (origin (method url-fetch) (uri (string-append "https://downloads.mariadb.com/MariaDB" @@ -687,7 +692,7 @@ Language.") version ".tar.gz")) (sha256 (base32 - "0fah6d50hldq0farxwr8mj3jnniwdz0d1wsha07nx37fc79h7wi1")) + "1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx")) (patches (search-patches "mariadb-client-test-32bit.patch")) (modules '((guix build utils))) (snippet @@ -933,7 +938,7 @@ as a drop-in replacement of MySQL.") (define-public mariadb-connector-c (package (name "mariadb-connector-c") - (version "3.1.6") + (version "3.1.8") (source (origin (method url-fetch) (uri (string-append @@ -942,13 +947,12 @@ as a drop-in replacement of MySQL.") version "-src.tar.gz")) (sha256 (base32 - "083724f5daaqyzdcx508caz6fk2hs89jff85zg28ih43vxkvnrnj")))) + "0yrzhsxmjiwkhchagx8dymzhvxl3k5h40wn9wpicqjvgjb9k8523")))) (inputs `(("openssl" ,openssl))) (build-system cmake-build-system) (arguments - ;; No tests. - '(#:tests? #f)) + '(#:tests? #f)) ; no tests (home-page "https://mariadb.com/kb/en/mariadb-connector-c/") (synopsis "Client library to connect to MySQL or MariaDB") (description "The MariaDB Connector/C is used to connect applications @@ -959,14 +963,14 @@ developed in C/C++ to MariaDB and MySQL databases.") (define-public postgresql (package (name "postgresql") - (version "10.12") + (version "10.13") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "1rsab4zf4rx7pvvhlwhb04kb95aiad9cwazc4ksbvg2gij47z3rq")) + "1qal0yp7a90yzya7hl56gsmw5fvacplrdhpn7h9gnbyr1i2iyw2d")) (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (build-system gnu-build-system) (arguments @@ -1143,7 +1147,7 @@ including field and record folding."))) (define-public rocksdb (package (name "rocksdb") - (version "6.8.1") + (version "6.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -1152,7 +1156,7 @@ including field and record folding."))) (file-name (git-file-name name version)) (sha256 (base32 - "0i6qglyrcqwxnrvq67zm7ln79a4sj8mzgij9h0nz5zkxax8v1zg1")) + "0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1")) (modules '((guix build utils))) (snippet '(begin @@ -1459,7 +1463,7 @@ extremely small.") (define-public perl-dbi (package (name "perl-dbi") - (version "1.642") + (version "1.643") (source (origin (method url-fetch) (uri (string-append @@ -1467,7 +1471,7 @@ extremely small.") version ".tar.gz")) (sha256 (base32 - "0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z")))) + "1yinx39960y241vf2sknxj0dfz82a5m9gvklq5rw78k0nlyrjawa")))) (build-system perl-build-system) (synopsis "Database independent interface for Perl") (description "This package provides an database interface for Perl.") @@ -1703,7 +1707,7 @@ columns, primary keys, unique constraints and relationships.") (define-public perl-dbd-sqlite (package (name "perl-dbd-sqlite") - (version "1.62") + (version "1.64") (source (origin (method url-fetch) (uri (string-append @@ -1711,7 +1715,7 @@ columns, primary keys, unique constraints and relationships.") version ".tar.gz")) (sha256 (base32 - "0p78ri1q6xpc1i98i6mlriv8n66iz8r5r11dlsknjm4y58rfz0mx")))) + "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl")))) (build-system perl-build-system) (inputs `(("sqlite" ,sqlite))) (propagated-inputs `(("perl-dbi" ,perl-dbi))) @@ -1749,14 +1753,14 @@ libmysqlclient. It will fill an aray with long options, ready to be parsed by (define-public perl-sql-abstract (package (name "perl-sql-abstract") - (version "1.86") + (version "1.87") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/" "SQL-Abstract-" version ".tar.gz")) (sha256 - (base32 "1pwcm8hwxcgidyyrak37lx69d85q728jxsb0b14jz93gbvdgg9z7")))) + (base32 "0jhw91b23wc9bkfwcgvka4x5ddxk58m9bcp5ay7a3vx77nla09p9")))) (build-system perl-build-system) (native-inputs `(("perl-module-install" ,perl-module-install) @@ -2049,17 +2053,14 @@ database.") (define-public perl-db-file (package (name "perl-db-file") - (version "1.852") + (version "1.853") (source (origin (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/P/PM/PMQS/DB_File-" - version - ".tar.gz")) + (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-" + version ".tar.gz")) (sha256 - (base32 - "14c30xyqx9c1hxw40bqbzls41al8gmklxv5jbk2kknmn4dsrbdrs")))) + (base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h")))) (build-system perl-build-system) (inputs `(("bdb" ,bdb))) (native-inputs `(("perl-test-pod" ,perl-test-pod))) @@ -2081,16 +2082,16 @@ database.") (define-public lmdb (package (name "lmdb") - (version "0.9.24") + (version "0.9.25") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/LMDB/lmdb.git") + (url "https://git.openldap.org/openldap/openldap.git") (commit (string-append "LMDB_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "088q6m8fvr12w43s461h7cvpg5hj8csaqj6n9pci150dz7bk5lxm")))) + (base32 "0i60zlca8r6fib23gdgl4c80gxpx24772ggpvz94yr7zaai4k11w")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -2102,7 +2103,7 @@ database.") (substitute* "Makefile" (("/usr/local") (assoc-ref outputs "out"))) #t))))) - (home-page "https://symas.com/products/lightning-memory-mapped-database") + (home-page "https://symas.com/lmdb/") (synopsis "Lightning Memory-Mapped Database library") (description "The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance @@ -2182,14 +2183,14 @@ on another machine, accessed via TCP/IP.") (define-public python-peewee (package (name "python-peewee") - (version "2.10.2") + (version "3.9.6") (source (origin (method url-fetch) (uri (pypi-uri "peewee" version)) (sha256 (base32 - "10f2mrd5hw6rjklrzaix2lsxlgc8vx3xak54arcy6yd791zhchi3")))) + "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; Fails to import test data @@ -2382,13 +2383,13 @@ etc., and an SQL engine for performing simple SQL queries.") (define-public python-lmdb (package (name "python-lmdb") - (version "0.95") + (version "0.98") (source (origin (method url-fetch) (uri (pypi-uri "lmdb" version)) (sha256 (base32 - "0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91")) + "027pgbdhhdcbwj53vrzr6a60gjhmz4s75gl3180fd4q8pwlbq986")) (modules '((guix build utils))) (snippet ;; Delete bundled lmdb source files. @@ -2424,9 +2425,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.") ;; but not actually needed on platforms currently supported by Guix. license:bsd-3)))) -(define-public python2-lmdb - (package-with-python2 python-lmdb)) - (define-public python-orator (package (name "python-orator") @@ -3223,20 +3221,22 @@ Monitor read/write activity on a mongo server @end table") (license license:asl2.0))) +;; There are many wrappers for this in other languages. When touching, please +;; be sure to ensure all dependencies continue to build. (define-public apache-arrow (package (name "apache-arrow") - (version "0.10.0") + (version "0.17.1") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/apache/arrow") - (commit (string-append "apache-arrow-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/arrow") + (commit (string-append "apache-arrow-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02r6yx3yhywzikd3b0vfkjgddhfiriyx2vpm3jf5880wq59x798a")))) (build-system cmake-build-system) (arguments `(#:tests? #f @@ -3249,91 +3249,135 @@ Monitor read/write activity on a mongo server (setenv "BOOST_ROOT" (assoc-ref %build-inputs "boost")) (setenv "BROTLI_HOME" (assoc-ref %build-inputs "brotli")) (setenv "FLATBUFFERS_HOME" (assoc-ref %build-inputs "flatbuffers")) - (setenv "JEMALLOC_HOME" (assoc-ref %build-inputs "jemalloc")) (setenv "RAPIDJSON_HOME" (assoc-ref %build-inputs "rapidjson")) #t))) #:build-type "Release" #:configure-flags (list "-DARROW_PYTHON=ON" - - ;; Install to PREFIX/lib (the default is - ;; PREFIX/lib64). - (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") + "-DARROW_GLOG=ON" + ;; Parquet options + "-DARROW_PARQUET=ON" + "-DPARQUET_BUILD_EXECUTABLES=ON" + ;; The maintainers disallow using system versions of + ;; jemalloc: + ;; https://issues.apache.org/jira/browse/ARROW-3507. This + ;; is unfortunate because jemalloc increases performance: + ;; https://arrow.apache.org/blog/2018/07/20/jemalloc/. + "-DARROW_JEMALLOC=OFF" + + ;; The CMake option ARROW_DEPENDENCY_SOURCE is a global + ;; option that instructs the build system how to resolve + ;; each dependency. SYSTEM = Finding the dependency in + ;; system paths using CMake's built-in find_package + ;; function, or using pkg-config for packages that do not + ;; have this feature + "-DARROW_DEPENDENCY_SOURCE=SYSTEM" + + ;; Split output into its component packages. + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "lib")) + (string-append "-DCMAKE_INSTALL_RPATH=" + (assoc-ref %outputs "lib") "/lib") - - ;; XXX These Guix package offer static - ;; libraries that are not position independent, - ;; and ld fails to link them into the arrow .so - "-DARROW_WITH_SNAPPY=OFF" - "-DARROW_WITH_ZLIB=OFF" - "-DARROW_WITH_ZSTD=OFF" - "-DARROW_WITH_LZ4=OFF" + (string-append "-DCMAKE_INSTALL_BINDIR=" + (assoc-ref %outputs "out") + "/bin") + (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" + (assoc-ref %outputs "include") + "/share/include") + + + "-DARROW_WITH_SNAPPY=ON" + "-DARROW_WITH_ZLIB=ON" + "-DARROW_WITH_ZSTD=ON" + "-DARROW_WITH_LZ4=ON" + "-DARROW_COMPUTE=ON" + "-DARROW_CSV=ON" + "-DARROW_DATASET=ON" + "-DARROW_FILESYSTEM=ON" + "-DARROW_HDFS=ON" + "-DARROW_JSON=ON" + ;; Arrow Python C++ integration library (required for + ;; building pyarrow). This library must be built against + ;; the same Python version for which you are building + ;; pyarrow. NumPy must also be installed. Enabling this + ;; option also enables ARROW_COMPUTE, ARROW_CSV, + ;; ARROW_DATASET, ARROW_FILESYSTEM, ARROW_HDFS, and + ;; ARROW_JSON. + "-DARROW_PYTHON=ON" ;; Building the tests forces on all the ;; optional features and the use of static ;; libraries. "-DARROW_BUILD_TESTS=OFF" + "-DBENCHMARK_ENABLE_GTEST_TESTS=OFF" + ;;"-DBENCHMARK_ENABLE_TESTING=OFF" "-DARROW_BUILD_STATIC=OFF"))) (inputs `(("boost" ,boost) - ("rapidjson" ,rapidjson) ("brotli" ,google-brotli) - ("flatbuffers" ,flatbuffers) - ("jemalloc" ,jemalloc) + ("double-conversion" ,double-conversion) + ("snappy" ,snappy) + ("gflags" ,gflags) + ("glog" ,glog) + ("apache-thrift" ,apache-thrift "lib") + ("protobuf" ,protobuf) + ("rapidjson" ,rapidjson) + ("zlib" ,zlib) + ("bzip2" ,bzip2) + ("lz4" ,lz4) + ("zstd" ,zstd "lib") + ("re2" ,re2) + ("grpc" ,grpc) ("python-3" ,python) ("python-numpy" ,python-numpy))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (outputs '("out" "lib" "include")) (home-page "https://arrow.apache.org/") (synopsis "Columnar in-memory analytics") (description "Apache Arrow is a columnar in-memory analytics layer -designed to accelerate big data. It houses a set of canonical in-memory +designed to accelerate big data. It houses a set of canonical in-memory representations of flat and hierarchical data along with multiple -language-bindings for structure manipulation. It also provides IPC and common +language-bindings for structure manipulation. It also provides IPC and common algorithm implementations.") (license license:asl2.0))) (define-public python-pyarrow (package + (inherit apache-arrow) (name "python-pyarrow") - (version "0.10.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/apache/arrow") - (commit (string-append "apache-arrow-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "04xkp922b8qrrnpvv9ixxnvk7151n1plzx6aqdff6frn9651zvxs")))) (build-system python-build-system) (arguments - '(#:tests? #f ; XXX There are no tests in the "python" directory + '(#:tests? #f ; XXX There are no tests in the "python" directory #:phases (modify-phases %standard-phases (delete 'build) ; XXX the build is performed again during the install phase (add-after 'unpack 'enter-source-directory (lambda _ (chdir "python") #t)) - (add-after 'unpack 'set-env + (add-after 'unpack 'make-git-checkout-writable (lambda _ - (setenv "ARROW_HOME" (assoc-ref %build-inputs "apache-arrow")) + (for-each make-file-writable (find-files ".")) #t))))) (propagated-inputs - `(("apache-arrow" ,apache-arrow) + `(("apache-arrow" ,apache-arrow "lib") ("python-numpy" ,python-numpy) ("python-pandas" ,python-pandas) ("python-six" ,python-six))) (native-inputs `(("cmake" ,cmake-minimal) + ("pkg-config" ,pkg-config) ("python-cython" ,python-cython) ("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner) ("python-setuptools-scm" ,python-setuptools-scm))) + (outputs '("out")) (home-page "https://arrow.apache.org/docs/python/") (synopsis "Python bindings for Apache Arrow") - (description "This library provides a Pythonic API wrapper for the reference -Arrow C++ implementation, along with tools for interoperability with pandas, -NumPy, and other traditional Python scientific computing packages.") + (description + "This library provides a Pythonic API wrapper for the reference Arrow C++ +implementation, along with tools for interoperability with pandas, NumPy, and +other traditional Python scientific computing packages.") (license license:asl2.0))) (define-public python2-pyarrow diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 4a264427c2..cceebb00c8 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages golang) #:use-module (gnu packages image) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages ncurses) @@ -596,3 +598,37 @@ GDB with very efficient reverse-execution, which in combination with standard GDB/x86 features like hardware data watchpoints, makes debugging much more fun.") (license license:expat))) + +(define-public mspdebug + (package + (name "mspdebug") + (version "0.25") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dlbeer/mspdebug.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0prgwb5vx6fd4bj12ss1bbb6axj2kjyriyjxqrzd58s5jyyy8d3c")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:phases + (modify-phases %standard-phases + (delete 'configure)) ; no configure script + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "INSTALL=install" + (string-append "PREFIX=" %output)))) + (inputs + `(("libusb-compat" ,libusb-compat) + ("readline" ,readline))) + (synopsis "Debugging tool for MSP430 MCUs") + (description "MspDebug supports FET430UIF, eZ430, RF2500 and Olimex +MSP430-JTAG-TINY programmers, as well as many other compatible +devices. It can be used as a proxy for gdb or as an independent +debugger with support for programming, disassembly and reverse +engineering.") + (home-page "https://github.com/dlbeer/mspdebug") + (license license:gpl2+))) diff --git a/gnu/packages/dhall.scm b/gnu/packages/dhall.scm new file mode 100644 index 0000000000..c0776902e7 --- /dev/null +++ b/gnu/packages/dhall.scm @@ -0,0 +1,143 @@ +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; +;;; 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 dhall) + #:use-module (gnu packages) + #:use-module (gnu packages haskell-xyz) + #:use-module (gnu packages haskell-check) + #:use-module (gnu packages haskell-crypto) + #:use-module (gnu packages haskell-web) + #:use-module (guix download) + #:use-module (guix build-system haskell) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public dhall + (package + (name "dhall") + (version "1.32.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/dhall/dhall-" + version ".tar.gz")) + (sha256 + (base32 "1imj0bh5365pdizvjbw2wqz0g9hakigf1zm4fr6379qdchxpp90p")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-aeson-pretty" ,ghc-aeson-pretty) + ("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-atomic-write" ,ghc-atomic-write-0.2.0.7) + ("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-cborg" ,ghc-cborg) + ("ghc-cborg-json" ,ghc-cborg-json) + ("ghc-contravariant" ,ghc-contravariant) + ("ghc-data-fix" ,ghc-data-fix) + ("ghc-diff" ,ghc-diff) + ("ghc-dotgen" ,ghc-dotgen) + ("ghc-either" ,ghc-either) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-half" ,ghc-half) + ("ghc-hashable" ,ghc-hashable) + ("ghc-lens-family-core" ,ghc-lens-family-core) + ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-memory" ,ghc-memory) + ("ghc-network-uri" ,ghc-network-uri) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-parsers" ,ghc-parsers) + ("ghc-parser-combinators" ,ghc-parser-combinators) + ("ghc-prettyprinter" ,ghc-prettyprinter-1.6) + ("ghc-prettyprinter-ansi-terminal" ,ghc-prettyprinter-ansi-terminal) + ("ghc-pretty-simple" ,ghc-pretty-simple) + ("ghc-profunctors" ,ghc-profunctors) + ("ghc-repline" ,ghc-repline-0.3) + ("ghc-serialise" ,ghc-serialise) + ("ghc-scientific" ,ghc-scientific) + ("ghc-text-manipulate" ,ghc-text-manipulate) + ("ghc-th-lift-instances" ,ghc-th-lift-instances) + ("ghc-transformers-compat" ,ghc-transformers-compat) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-uri-encode" ,ghc-uri-encode) + ("ghc-vector" ,ghc-vector) + ("ghc-cryptonite" ,ghc-cryptonite) + ("ghc-http-types" ,ghc-http-types) + ("ghc-http-client" ,ghc-http-client) + ("ghc-http-client-tls" ,ghc-http-client-tls))) + (native-inputs + `(("ghc-foldl" ,ghc-foldl) + ("ghc-generic-random" ,ghc-generic-random-1.3.0.1) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-quickcheck-instances" ,ghc-quickcheck-instances) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-special-values" ,ghc-special-values) + ("ghc-spoon" ,ghc-spoon) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-turtle" ,ghc-turtle) + ("ghc-mockery" ,ghc-mockery) + ("ghc-doctest" ,ghc-doctest))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-network-tests + (lambda _ + (with-directory-excursion "dhall-lang/tests" + (for-each + delete-file + '("import/failure/referentiallyInsane.dhall" + "import/success/customHeadersA.dhall" + "import/success/noHeaderForwardingA.dhall" + "import/success/unit/RemoteAsTextA.dhall" + "import/success/unit/SimpleRemoteA.dhall" + "import/success/unit/asLocation/RemoteChain1A.dhall" + "import/success/unit/asLocation/RemoteChain2A.dhall" + "import/success/unit/asLocation/RemoteChain3A.dhall" + "import/success/unit/asLocation/RemoteChainEnvA.dhall" + "import/success/unit/asLocation/RemoteChainMissingA.dhall" + "type-inference/success/CacheImportsA.dhall" + "type-inference/success/CacheImportsCanonicalizeA.dhall"))) + (substitute* "src/Dhall/Tutorial.hs" + (((string-append + "-- >>> input auto " + "\"https://raw.githubusercontent.com/dhall-lang" + "/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/" + "examples/True\" :: IO Bool")) + "") + (((string-append + "-- >>> input auto " + "\"False == " + "https://raw.githubusercontent.com/dhall-lang" + "/dhall-haskell/18e4e9a18dc53271146df3ccf5b4177c3552236b/" + "examples/True\" :: IO Bool")) + "")) + #t))))) + (home-page "https://dhall-lang.org/") + (synopsis "Configuration language guaranteed to terminate") + (description + "Dhall is an explicitly typed configuration language that is not Turing +complete. Despite being Turing incomplete, Dhall is a real programming +language with a type-checker and evaluator. + +Use this library to parse, type-check, evaluate, and pretty-print the Dhall +configuration language. This package also includes an executable which +type-checks a Dhall file and reduces the file to a fully evaluated normal +form.") + (license license:bsd-3))) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 06ccfafb40..aee8799c98 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -119,7 +119,7 @@ acronyms distributed as an info document.") "GCIDE is a free dictionary based on a combination of sources. It can be used via the GNU Dico program or accessed online at http://gcide.gnu.org.ua/") - (home-page "http://gcide.gnu.org.ua/") + (home-page "https://gcide.gnu.org.ua/") (license license:gpl3+))) (define-public diction @@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public grammalecte (package (name "grammalecte") - (version "1.9.0") + (version "1.10.0") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://grammalecte.net/grammalecte/zip/" "Grammalecte-fr-v" version ".zip")) (sha256 - (base32 "1dmbmvf27dy0cnq2x7ldp9xmni8fl1p7vflgpy0yrgifgrjvnxzr")))) + (base32 "0lyngnvg995qdm9bhqj8vd8aywpcdqmzv3j4j77wxhsfa9k0pz08")))) (build-system python-build-system) (home-page "https://grammalecte.net") (synopsis "French spelling and grammar checker") @@ -231,7 +231,7 @@ and a Python library.") (define-public translate-shell (package (name "translate-shell") - (version "0.9.6.11") + (version "0.9.6.12") (source (origin (method git-fetch) @@ -240,7 +240,7 @@ and a Python library.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm")))) + (base32 "075vqnha21rhr1b61dim7dqlfwm1yffyzcaa83s36rpk9r5sddzx")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 1df8552a30..f6f402b315 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -70,163 +70,162 @@ #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "143")) - (package - (name "diffoscope") - (version version) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0j58dqdk8ln8y0bcnfy37ljs37nkl56lzxqns396300ysln0qiwm")))) - (build-system python-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - ;; setup.py mistakenly requires python-magic from PyPi, even - ;; though the Python bindings of `file` are sufficient. - ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 - (add-after 'unpack 'dependency-on-python-magic - (lambda _ - (substitute* "setup.py" - (("'python-magic',") "")))) - ;; Patch in support for known tools - (add-after 'unpack 'add-known-tools - (lambda _ - (substitute* "diffoscope/external_tools.py" - (("'debian': 'openssl'") - "'debian': 'openssl', 'guix': 'openssl'")))) - ;; This test is broken because our `file` package has a - ;; bug in berkeley-db file type detection. - (add-after 'unpack 'remove-berkeley-test - (lambda _ - (delete-file "tests/comparators/test_berkeley_db.py") - #t)) - ;; Test is dynamically generated and may have false - ;; negatives with different ocaml versions. Further - ;; background in: https://bugs.debian.org/939386 - (add-after 'unpack 'remove-ocaml-test - (lambda _ - (substitute* "tests/comparators/test_ocaml.py" - (("def test_diff.differences.:") - "def skip_test_diff(differences):")) - #t)) - (add-after 'unpack 'skip-elf-tests - ;; FIXME: libmix_differences test added in 125, and is - ;; failing, need to explore why... - (lambda _ - (substitute* "tests/comparators/test_elf.py" - (("def test_libmix_differences.libmix_differences.:") - "def skip_test_libmix_differences(libmix_differences):")) - #t)) - (add-after 'unpack 'embed-tool-references - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "diffoscope/comparators/utils/compare.py" - (("\\['xxd',") - (string-append "['" (which "xxd") "',"))) - (substitute* "diffoscope/comparators/elf.py" - (("@tool_required\\('readelf'\\)") "") - (("get_tool_name\\('readelf'\\)") - (string-append "'" (which "readelf") "'"))) - (substitute* "diffoscope/comparators/directory.py" - (("@tool_required\\('stat'\\)") "") - (("@tool_required\\('getfacl'\\)") "") - (("\\['stat',") - (string-append "['" (which "stat") "',")) - (("\\['getfacl',") - (string-append "['" (which "getfacl") "',"))) - #t)) - (add-before 'check 'writable-test-data - (lambda _ - ;; tests may need needs write access to tests - ;; directory - (for-each make-file-writable (find-files "tests")) - #t)) - (add-before 'check 'delete-failing-test - (lambda _ - ;; this requires /sbin to be on the path - (delete-file "tests/test_tools.py") - #t))))) - (inputs `(("rpm" ,rpm) ;for rpm-python - ("python-file" ,python-file) - ("python-debian" ,python-debian) - ("python-libarchive-c" ,python-libarchive-c) - ("python-tlsh" ,python-tlsh) - ("acl" ,acl) ;for getfacl - ("colordiff" ,colordiff) - ("xxd" ,xxd))) - ;; Below are modules used for tests. - (native-inputs `(("python-pytest" ,python-pytest) - ("python-chardet" ,python-chardet) - ("python-binwalk" ,python-binwalk) - ("python-h5py" ,python-h5py) - ("python-pypdf2" ,python-pypdf2) - ("python-progressbar33" ,python-progressbar33) - ;; test suite skips tests when tool is missing - ,@(match (%current-system) - ;; ghc is only available on x86 currently. - ((or "x86_64-linux" "i686-linux") - `(("ghc" ,ghc))) - (_ - `())) - ,@(match (%current-system) - ;; openjdk and dependent packages are only - ;; available on x86_64 currently. - ((or "x86_64-linux") - `(("enjarify" ,enjarify) - ;; no unversioned openjdk available - ("openjdk:jdk" ,openjdk12 "jdk") - )) - (_ - `())) - ("abootimg" ,abootimg) - ("bdb" ,bdb) - ("binutils" ,binutils) - ("bzip2" ,bzip2) - ("cdrtools" ,cdrtools) - ("colord" ,colord) - ("cpio" ,cpio) - ("docx2txt" ,docx2txt) - ("dtc" ,dtc) - ("e2fsprogs" ,e2fsprogs) - ("ffmpeg" ,ffmpeg) - ("gettext" ,gettext-minimal) - ("ghostscript" ,ghostscript) - ("giflib:bin" ,giflib "bin") - ("gnumeric" ,gnumeric) - ("gnupg" ,gnupg) - ("hdf5" ,hdf5) - ("imagemagick" ,imagemagick) - ("libarchive" ,libarchive) - ("llvm" ,llvm) - ("lz4" ,lz4) - ("mono" ,mono) - ("ocaml" ,ocaml) - ("odt2txt" ,odt2txt) - ("openssh" ,openssh) - ("openssl" ,openssl) - ("pgpdump" ,pgpdump) - ("poppler" ,poppler) - ("python-jsbeautifier" ,python-jsbeautifier) - ("r-minimal" ,r-minimal) - ("rpm" ,rpm) - ("sng" ,sng) - ("sqlite" ,sqlite) - ("squashfs-tools" ,squashfs-tools) - ("tcpdump" ,tcpdump) - ("unzip" ,unzip) - ("wabt" ,wabt) - ("xxd" ,xxd) - ("xz" ,xz) - ("zip" ,zip) - ("zstd" ,zstd))) - (home-page "https://diffoscope.org/") - (synopsis "Compare files, archives, and directories in depth") - (description - "Diffoscope tries to get to the bottom of what makes files or directories + (package + (name "diffoscope") + (version "146") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/reproducible-builds/diffoscope.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07kd3vshf4wlm0mv3mp6ljbxjq80mcg52w5ks6si1gnpzfbfz07p")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + ;; setup.py mistakenly requires python-magic from PyPi, even + ;; though the Python bindings of `file` are sufficient. + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 + (add-after 'unpack 'dependency-on-python-magic + (lambda _ + (substitute* "setup.py" + (("'python-magic',") "")))) + ;; Patch in support for known tools + (add-after 'unpack 'add-known-tools + (lambda _ + (substitute* "diffoscope/external_tools.py" + (("'debian': 'openssl'") + "'debian': 'openssl', 'guix': 'openssl'")))) + ;; This test is broken because our `file` package has a + ;; bug in berkeley-db file type detection. + (add-after 'unpack 'remove-berkeley-test + (lambda _ + (delete-file "tests/comparators/test_berkeley_db.py") + #t)) + ;; Test is dynamically generated and may have false + ;; negatives with different ocaml versions. Further + ;; background in: https://bugs.debian.org/939386 + (add-after 'unpack 'remove-ocaml-test + (lambda _ + (substitute* "tests/comparators/test_ocaml.py" + (("def test_diff.differences.:") + "def skip_test_diff(differences):")) + #t)) + (add-after 'unpack 'skip-elf-tests + ;; FIXME: libmix_differences test added in 125, and is + ;; failing, need to explore why... + (lambda _ + (substitute* "tests/comparators/test_elf.py" + (("def test_libmix_differences.libmix_differences.:") + "def skip_test_libmix_differences(libmix_differences):")) + #t)) + (add-after 'unpack 'embed-tool-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "diffoscope/comparators/utils/compare.py" + (("\\['xxd',") + (string-append "['" (which "xxd") "',"))) + (substitute* "diffoscope/comparators/elf.py" + (("@tool_required\\('readelf'\\)") "") + (("get_tool_name\\('readelf'\\)") + (string-append "'" (which "readelf") "'"))) + (substitute* "diffoscope/comparators/directory.py" + (("@tool_required\\('stat'\\)") "") + (("@tool_required\\('getfacl'\\)") "") + (("\\['stat',") + (string-append "['" (which "stat") "',")) + (("\\['getfacl',") + (string-append "['" (which "getfacl") "',"))) + #t)) + (add-before 'check 'writable-test-data + (lambda _ + ;; tests may need needs write access to tests + ;; directory + (for-each make-file-writable (find-files "tests")) + #t)) + (add-before 'check 'delete-failing-test + (lambda _ + ;; this requires /sbin to be on the path + (delete-file "tests/test_tools.py") + #t))))) + (inputs `(("rpm" ,rpm) ;for rpm-python + ("python-file" ,python-file) + ("python-debian" ,python-debian) + ("python-libarchive-c" ,python-libarchive-c) + ("python-tlsh" ,python-tlsh) + ("acl" ,acl) ;for getfacl + ("colordiff" ,colordiff) + ("xxd" ,xxd))) + ;; Below are modules used for tests. + (native-inputs `(("python-pytest" ,python-pytest) + ("python-chardet" ,python-chardet) + ("python-binwalk" ,python-binwalk) + ("python-h5py" ,python-h5py) + ("python-pypdf2" ,python-pypdf2) + ("python-progressbar33" ,python-progressbar33) + ;; test suite skips tests when tool is missing + ,@(match (%current-system) + ;; ghc is only available on x86 currently. + ((or "x86_64-linux" "i686-linux") + `(("ghc" ,ghc))) + (_ + `())) + ,@(match (%current-system) + ;; openjdk and dependent packages are only + ;; available on x86_64 currently. + ((or "x86_64-linux") + `(("enjarify" ,enjarify) + ;; no unversioned openjdk available + ("openjdk:jdk" ,openjdk12 "jdk") + )) + (_ + `())) + ("abootimg" ,abootimg) + ("bdb" ,bdb) + ("binutils" ,binutils) + ("bzip2" ,bzip2) + ("cdrtools" ,cdrtools) + ("colord" ,colord) + ("cpio" ,cpio) + ("docx2txt" ,docx2txt) + ("dtc" ,dtc) + ("e2fsprogs" ,e2fsprogs) + ("ffmpeg" ,ffmpeg) + ("gettext" ,gettext-minimal) + ("ghostscript" ,ghostscript) + ("giflib:bin" ,giflib "bin") + ("gnumeric" ,gnumeric) + ("gnupg" ,gnupg) + ("hdf5" ,hdf5) + ("imagemagick" ,imagemagick) + ("libarchive" ,libarchive) + ("llvm" ,llvm) + ("lz4" ,lz4) + ("mono" ,mono) + ("ocaml" ,ocaml) + ("odt2txt" ,odt2txt) + ("openssh" ,openssh) + ("openssl" ,openssl) + ("pgpdump" ,pgpdump) + ("poppler" ,poppler) + ("python-jsbeautifier" ,python-jsbeautifier) + ("r-minimal" ,r-minimal) + ("rpm" ,rpm) + ("sng" ,sng) + ("sqlite" ,sqlite) + ("squashfs-tools" ,squashfs-tools) + ("tcpdump" ,tcpdump) + ("unzip" ,unzip) + ("wabt" ,wabt) + ("xxd" ,xxd) + ("xz" ,xz) + ("zip" ,zip) + ("zstd" ,zstd))) + (home-page "https://diffoscope.org/") + (synopsis "Compare files, archives, and directories in depth") + (description + "Diffoscope tries to get to the bottom of what makes files or directories different. It recursively unpacks archives of many kinds and transforms various binary formats into more human readable forms to compare them. It can compare two tarballs, ISO images, or PDFs just as easily. @@ -234,7 +233,7 @@ compare two tarballs, ISO images, or PDFs just as easily. Diffoscope has many optional dependencies; @code{diffoscope --list-missing-tools guix} will display optional packages to install.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public reprotest (package diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm index 1fb5b5267e..f5ea9bd332 100644 --- a/gnu/packages/djvu.scm +++ b/gnu/packages/djvu.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +23,9 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (gnu packages autotools) #:use-module (gnu packages glib) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) @@ -59,18 +62,22 @@ utilities.") (define-public djview (package (name "djview") - (version "4.10.6") + (version "4.11") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/djvu/DjView/" - (version-major+minor version) "/" - "djview-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/p/djvu/djview-git") + (commit (string-append "release." version)))) (sha256 - (base32 "08bwv8ppdzhryfcnifgzgdilb12jcnivl4ig6hd44f12d76z6il4")))) + (base32 "0qlhd0xlxn8i869m0hwdjvwivi2vigqm88wliyr1h7s84zl3qhsy")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) ("qttools" ,qttools))) (inputs `(("djvulibre" ,djvulibre) @@ -86,6 +93,11 @@ utilities.") (lambda _ (substitute* "desktopfiles/djvulibre-djview4.desktop" (("Exec=djview4 %f") "Exec=djview %f")) + #t)) + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable + (find-files ".")) #t))))) (home-page "http://djvu.sourceforge.net/djview4.html") (synopsis "Viewer for the DjVu image format") diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 469ef7605d..7ff0501ab2 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -119,7 +119,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.16.2") + (version "9.16.3") (source (origin (method url-fetch) (uri (string-append @@ -127,7 +127,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.xz")) (sha256 (base32 - "0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr")))) + "0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs @@ -391,14 +391,14 @@ to result in system-wide compromise.") (define-public unbound (package (name "unbound") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (string-append "https://www.unbound.net/downloads/unbound-" version ".tar.gz")) (sha256 - (base32 "0mg9divpysr42sp0m693a70693dp8025v6c9dv1yabr4g1jlhbqm")))) + (base32 "0dnmh9jjh2v274f0hl31bgv40pl77mmfgky8bkqr5kvi3b17fdmp")))) (build-system gnu-build-system) (outputs '("out" "python")) (native-inputs @@ -595,14 +595,14 @@ Extensions} (DNSSEC).") (define-public knot (package (name "knot") - (version "2.9.3") + (version "2.9.5") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-dns/" "knot-" version ".tar.xz")) (sha256 - (base32 "0zm0642hkb16sqkqpa84f89f3s0bw44m837r1nia8m89swvz3bgj")) + (base32 "0xmzmhd2m9rb24clrrd9k058harsq67nyjplpbyxvy1g46xah28i")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index c95ca3f9d7..cdde807046 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; @@ -47,7 +47,7 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization)) -(define %docker-version "19.03.7") +(define %docker-version "19.03.11") (define-public python-docker-py (package @@ -314,7 +314,7 @@ built-in registry server of Docker.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1sik109lxmiwgrsnvfip1nnal1xkh8z1mlvys6aknjyh29ll1iq8")) + (base32 "1pmbggxbazipl24hxiaccbj32379zv79xba76l78v5131ihx922h")) (patches (search-patches "docker-fix-tests.patch")))) (build-system gnu-build-system) @@ -544,7 +544,9 @@ built-in registry server of Docker.") (install-file (string-append "bundles/dynbinary-daemon/dockerd-" (getenv "VERSION")) out-bin) - #t)))))) + #t))) + (add-after 'install 'remove-go-references + (assoc-ref go:%standard-phases 'remove-go-references))))) (inputs `(("btrfs-progs" ,btrfs-progs) ("containerd" ,containerd) ; for containerd-shim @@ -590,7 +592,7 @@ provisioning etc.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "164l33npy8acdbbrz8vcyiwx18vi55wwwikkasg0w43b5bdhz8sx")))) + (base32 "1y9ymv70r1hndblr64h19q34arxl2f3dqqi2qcrai5zfimcml6lr")))) (build-system go-build-system) (arguments `(#:import-path "github.com/docker/cli" diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index dcacdb456f..a3a07f56db 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -111,7 +111,7 @@ release/xsl/current") ("docbook-xsl" ,docbook-xsl) ("libxml2" ,libxml2) ("libxslt" ,libxslt))) - (home-page "http://asciidoc.org/") + (home-page "https://asciidoc.org/") (synopsis "Text-based document generation system") (description "AsciiDoc is a text document format for writing notes, documentation, diff --git a/gnu/packages/dvtm.scm b/gnu/packages/dvtm.scm index af16aa8f91..8515c5d06b 100644 --- a/gnu/packages/dvtm.scm +++ b/gnu/packages/dvtm.scm @@ -47,8 +47,7 @@ popularized by X11-window managers like dwm, to the console. As a console window manager it tries to make it easy to work with multiple console based programs.") - (home-page "http://www.brain-dump.org/projects/dvtm/") - + (home-page "https://www.brain-dump.org/projects/dvtm/") ;; "dvtm reuses some code of dwm and is released under the same MIT/X11 ;; license. The terminal emulation part is licensed under the ISC license." ;; source: http://www.brain-dump.org/projects/dvtm/#license diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm index 05cdc42449..4adddb85be 100644 --- a/gnu/packages/easyrpg.scm +++ b/gnu/packages/easyrpg.scm @@ -39,7 +39,7 @@ (define-public liblcf (package (name "liblcf") - (version "0.6.1") + (version "0.6.2") (source (origin (method url-fetch) (uri (string-append @@ -47,7 +47,7 @@ "/liblcf-" version ".tar.gz")) (sha256 (base32 - "1qz387r4shbx48r3z7k8llkzz4b039zmak98wxpiwn6a23cssdn5")))) + "0n2k4brd264jg9p6918x7dnb2iimpzjh8q3v1fws58450xbgnkqc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 4243c71673..d290b19f5f 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -46,6 +46,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages javascript) #:use-module (gnu packages libusb) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages pdf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -82,7 +83,7 @@ (define-public calibre (package (name "calibre") - (version "3.42.0") + (version "4.18.0") (source (origin (method url-fetch) @@ -91,13 +92,18 @@ version ".tar.xz")) (sha256 (base32 - "0ymdhws3cb44p3fb24vln1wx6s7qnb8rr241jvm6qbj5rnp984dm")) - ;; Unbundle python2-odfpy. - ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html + "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw")) (modules '((guix build utils))) (snippet '(begin + ;; Unbundle python2-odfpy. (delete-file-recursively "src/odf") + ;; Disable test that attempts to load it. + (substitute* "setup/test.py" + ((".*SRC, 'odf'.*") + "")) + + ;; Remove unneeded resources. (delete-file "resources/viewer.js") (delete-file "resources/viewer.html") (delete-file "resources/mozilla-ca-certs.pem") @@ -105,8 +111,6 @@ (delete-file "resources/calibre-portable.sh") #t)) (patches (search-patches "calibre-no-updates-dialog.patch" - "calibre-msgpack-compat.patch" - "calibre-remove-test-bs4.patch" ; TODO: fix test. "calibre-remove-test-sqlite.patch" ; TODO: fix test. "calibre-remove-test-unrar.patch")))) (build-system python-build-system) @@ -115,12 +119,13 @@ ("qtbase" ,qtbase) ; for qmake ("python2-flake8" ,python2-flake8) ("xdg-utils" ,xdg-utils))) - ;; Beautifulsoup3 is bundled but obsolete and not packaged, so just leave it bundled. (inputs `(("chmlib" ,chmlib) ("fontconfig" ,fontconfig) ("font-liberation" ,font-liberation) ("glib" ,glib) + ("hunspell" ,hunspell) + ("hyphen" ,hyphen) ("icu4c" ,icu4c) ("js-mathjax" ,js-mathjax) ("libmtp" ,libmtp) @@ -132,6 +137,7 @@ ("poppler" ,poppler) ("python" ,python-2) ("python2-apsw" ,python2-apsw) + ("python2-beautifulsoup4" ,python2-beautifulsoup4) ("python2-chardet" ,python2-chardet) ("python2-cssselect" ,python2-cssselect) ("python2-css-parser" ,python2-css-parser) @@ -153,9 +159,11 @@ ("python2-pillow" ,python2-pillow) ("python2-psutil" ,python2-psutil) ("python2-pygments" ,python2-pygments) + ("python2-pyqtwebengine" ,python2-pyqtwebengine) ("python2-pyqt" ,python2-pyqt) ("python2-sip" ,python2-sip) ("python2-regex" ,python2-regex) + ("qtwebengine" ,qtwebengine) ("sqlite" ,sqlite))) (arguments `(#:python ,python-2 @@ -170,6 +178,18 @@ ;; We can't use the uninstaller in Guix. Don't build it. (("self\\.create_uninstaller()") "")) #t)) + (add-after 'patch-source-shebangs 'patch-more-shebangs + (lambda _ + ;; Patch various inline shebangs. + (substitute* '("src/calibre/gui2/preferences/tweaks.py" + "src/calibre/gui2/dialogs/custom_recipes.py" + "setup/install.py" + "setup/linux-installer.sh") + (("#!/usr/bin/env python") + (string-append "#!" (which "python"))) + (("#!/bin/sh") + (string-append "#!" (which "sh")))) + #t)) (add-after 'unpack 'dont-load-remote-icons (lambda _ (substitute* "setup/plugins_mirror.py" @@ -180,9 +200,12 @@ (lambda* (#:key inputs outputs #:allow-other-keys) (let ((podofo (assoc-ref inputs "podofo")) (pyqt (assoc-ref inputs "python2-pyqt")) + (python-sip (assoc-ref inputs "python2-sip")) (out (assoc-ref outputs "out"))) (substitute* "setup/build_environment.py" - (("sys.prefix") (string-append "'" pyqt "'"))) + (("= get_sip_dir\\(\\)") + (string-append "= '" pyqt "/share/sip'"))) + (substitute* "src/calibre/ebooks/pdf/pdftohtml.py" (("PDFTOHTML = 'pdftohtml'") (string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler") @@ -195,6 +218,18 @@ (substitute* "src/calibre/linux.py" (("'~/.local/share'") "''")) + ;; 'python setup.py rapydscript' uses QtWebEngine, which + ;; needs to create temporary files in $HOME. + (setenv "HOME" "/tmp") + + ;; XXX: QtWebEngine will fail if no fonts are available. This + ;; can likely be removed when fontconfig has been patched to + ;; include TrueType fonts by default. + (symlink (string-append (assoc-ref inputs "font-liberation") + "/share/fonts") + "/tmp/.fonts") + + (setenv "SIP_BIN" (string-append python-sip "/bin/sip")) (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo")) (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")) ;; This informs the tests we are a continuous integration diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index d6c2cd02c3..cba061f195 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages golang) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages javascript) @@ -68,6 +70,7 @@ #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system python) #:use-module (guix build-system qt) #:use-module (guix build-system trivial) @@ -114,7 +117,7 @@ ("texi2html" ,texi2html) ("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) - (home-page "http://gcompris.net") + (home-page "https://gcompris.net") (synopsis "Educational software suite") (description "GCompris is an educational software suite comprising of numerous activities for children aged 2 to 10. Some of the activities are @@ -386,7 +389,10 @@ to open the application in a web browser, for offline usage.") Type=Application~%" out))) #t)))))) - (inputs `(("python-pyqt" ,python-pyqt))) + (native-inputs + `(("unzip" ,unzip))) + (inputs + `(("python-pyqt" ,python-pyqt))) (synopsis "School tools for physically disabled children") (description "ToutEnClic is intended to facilitate the schooling of physically disabled children in ordinary schools. It is both @@ -606,14 +612,14 @@ Portuguese, Spanish and Italian.") (define-public fet (package (name "fet") - (version "5.44.4") + (version "5.45.0") (source (origin (method url-fetch) (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" "fet-" version ".tar.bz2")) (sha256 - (base32 "1bji4910v6adhngdh5ajz5bxam9z3yqnh8d1h1xajy6npm6qq3nx")))) + (base32 "04jns6wc20rz6cp410znsllknhp4zlf4rn8wgv712855nffs42c6")))) (build-system gnu-build-system) (arguments `(#:phases @@ -645,15 +651,14 @@ hours.") (define-public klavaro (package (name "klavaro") - (version "3.09") + (version "3.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/klavaro/klavaro-" version ".tar.bz2")) (sha256 - (base32 - "12gml7h45b1w9s318h0d5wxw92h7pgajn2kh57j0ak9saq0yb0wr")))) + (base32 "0jnzdrndiq6m0bwgid977z5ghp4q61clwdlzfpx4fd2ml5x3iq95")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -976,3 +981,35 @@ comparison flags, input-output devices, and a set of binary instructions. The package includes a compiler, a virtual machine, a GUI for the virtual machine, and more.") (license license:gpl3+))) + +(define-public exercism + (package + (name "exercism") + (version "3.0.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/exercism/cli") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17gvz9a0sn4p36hf4l77bxhhfipf4x998iay31layqwbnzmb4xy7")) + (patches (search-patches "exercism-disable-self-update.patch")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/exercism/cli/exercism" + #:unpack-path "github.com/exercism/cli")) + (inputs + `(("github.com/blang/semver" ,go-github-com-blang-semver) + ("github.com/spf13/cobra" ,go-github-com-spf13-cobra) + ("github.com/spf13/pflag" ,go-github-com-spf13-pflag) + ("github.com/spf13/viper" ,go-github-com-spf13-viper) + ("golang.org/x/net" ,go-golang-org-x-net) + ("golang.org/x/text" ,go-golang-org-x-text))) + (home-page "https://exercism.io") + (synopsis "Mentored learning for programming languages") + (description "Commandline client for exercism.io, a free service providing +mentored learning for programming languages.") + (license license:expat))) diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm index d986913243..da00fdf932 100644 --- a/gnu/packages/efi.scm +++ b/gnu/packages/efi.scm @@ -37,14 +37,14 @@ (define-public gnu-efi (package (name "gnu-efi") - (version "3.0.11") + (version "3.0.12") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnu-efi/" "gnu-efi-" version ".tar.bz2")) (sha256 - (base32 "1ffnc4xbzfggs37ymrgfx76j56kk2644c081ivhr2bjkla9ag3gj")))) + (base32 "0sbn6am3k5lqafycggh1g964fcwjwnh0i9hhwrk4ncrwzphz55h1")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; none exist @@ -54,8 +54,8 @@ (modify-phases %standard-phases (delete 'configure)))) (synopsis "EFI toolchain") - (description "This package provides an EFI (Extensible Firmware -Interface) toolchain for building programs that can run in the + (description "This package provides an @acronym{EFI, Extensible Firmware +Interface} toolchain for building programs that can run in the environment presented by Intel's EFI.") (home-page "https://directory.fsf.org/wiki/GNU_EFI") ;; Distribution is allowed only when accepting all those licenses. diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 5fa66210db..3aabc6e927 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> @@ -38,7 +38,9 @@ #:use-module (gnu packages python) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26)) (define-public elfutils (package @@ -67,10 +69,11 @@ (assoc-ref %outputs "out") "/lib")) - ;; Disable tests on MIPS (without changing + ;; Disable tests on MIPS and PowerPC (without changing ;; the arguments list on other systems). - ,@(if (string-prefix? "mips" (or (%current-target-system) - (%current-system))) + ,@(if (any (cute string-prefix? <> (or (%current-target-system) + (%current-system))) + '("mips" "powerpc")) '(#:tests? #f) '()) @@ -109,14 +112,14 @@ object or archive file), @command{eu-strip} (for discarding symbols), (package (name "libabigail") (home-page "https://sourceware.org/libabigail/") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (string-append "https://sourceware.org/pub/libabigail/" "libabigail-" version ".tar.gz")) (sha256 (base32 - "04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g")))) + "0bf8w01l6wm7mm4clfg5rqi30m1ws11qqa4bp2vxghfwgi9ai8i7")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static" diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 4bbd482409..af379902a1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org> +;;; Copyright © 2017, 2018, 2019, 2020 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> @@ -31,7 +31,7 @@ ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org> -;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2017, 2018, 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com> ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> @@ -70,6 +70,11 @@ ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com> +;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> +;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com> +;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -168,6 +173,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages wordnet) #:use-module (gnu packages photo) + #:use-module (gnu packages uml) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) @@ -292,16 +298,16 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") (define-public emacs-with-editor (package (name "emacs-with-editor") - (version "2.9.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/magit/with-editor.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1sjb3qqrn1rhmpkrn14l8rya6c3gwxwmgw74n779s54kvl9gn7a9")))) + (version "2.9.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/with-editor.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1m8bm8q5zakfjdkd0662gbkvzmcrlkxy1856xns2nfiflrkpw88b")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) @@ -314,13 +320,88 @@ For remote processes a substitute is provided, which communicates with Emacs on stdout instead of using a socket as the Emacsclient does.") (license license:gpl3+))) +(define-public emacs-libgit + (let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a") + (revision "1")) + (package + (name "emacs-libgit") + (version (git-version "20200515" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/libegit2.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pnjr3bg6y6354dfjjxfj0g51swzgl1fncpprah75x4k94rd369f")) + (patches (search-patches + ;; Submitted for inclusion upstream (see: + ;; https://github.com/magit/libegit2/pull/96). + "emacs-libgit-use-system-libgit2.patch")))) + ;; Use the cmake-build-system as it provides support for cross builds. + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DUSE_SYSTEM_LIBGIT2=x") + ;; Add the emacs-build-system byte compilation and install phases. + #:imported-modules (,@%cmake-build-system-modules + (guix build emacs-build-system) + (guix build emacs-utils)) + #:modules ((guix build cmake-build-system) + ((guix build emacs-build-system) #:prefix emacs:) + (guix build emacs-utils) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-libgit--module-file + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (make-file-writable "libgit.el") + (emacs-substitute-variables "libgit.el" + ("libgit--module-file" + (string-append out "/share/emacs/site-lisp/libegit2.so"))) + #t))) + (add-before 'install 'prepare-for-install + (lambda _ + (let ((s (string-append "../" ,name "-" ,version "-checkout"))) + (copy-file "libegit2.so" (string-append s "/libegit2.so")) + (chdir s) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((install (assoc-ref emacs:%standard-phases 'install))) + (install #:outputs outputs + #:include (cons "\\.so$" + emacs:%default-include))))) + (add-after 'install 'make-autoloads + (assoc-ref emacs:%standard-phases 'make-autoloads)) + (add-after 'make-autoloads 'enable-autoloads-compilation + (assoc-ref emacs:%standard-phases 'enable-autoloads-compilation)) + (add-after 'enable-autoloads-compilation 'patch-el-files + (assoc-ref emacs:%standard-phases 'patch-el-files)) + (add-after 'patch-el-files 'emacs-build + (assoc-ref emacs:%standard-phases 'build)) + (add-after 'emacs-build 'validate-compiled-autoloads + (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("emacs" ,emacs-no-x) + ("git" ,git-minimal))) + (inputs + `(("libgit2" ,libgit2))) + (home-page "https://github.com/magit/libegit2") + (synopsis "Emacs bindings for libgit2") + (description "This is an experimental module written in C providing +libgit2 bindings for Emacs, intended to boost the performance of Magit.") + ;; The LICENSE file says GPL v2+, but libgit.el says GPL v3+. + (license license:gpl3+)))) + (define-public emacs-magit - ;; `magit-setup-buffer' macro introduced in c761d28d and required in - ;; `emacs-forge'. - (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770")) + ;; There hasn't been an official release since 2018-11-16. + (let ((commit "d05545ec2fd7edf915eaf1b9c15c785bb08975cc")) (package (name "emacs-magit") - (version (git-version "2.90.1" "3" commit)) + (version (git-version "2.90.1" "4" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -329,93 +410,76 @@ on stdout instead of using a socket as the Emacsclient does.") (file-name (git-file-name name version)) (sha256 (base32 - "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd")) - ;; FIXME: emacs-forge uses a function defined in this patch, - ;; which is newer than the current commit. - (patches - (search-patches - "emacs-magit-log-format-author-margin.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Fix syntax error - (substitute* "lisp/magit-extras.el" - (("rev\\)\\)\\)\\)\\)\\)") "rev)))))")) - #t)))) - (build-system gnu-build-system) - (native-inputs `(("texinfo" ,texinfo) - ("emacs" ,emacs-minimal))) - (inputs - `(("git" ,git) - ("perl" ,perl))) - (propagated-inputs - `(("dash" ,emacs-dash) - ("with-editor" ,emacs-with-editor) - ("transient" ,emacs-transient))) + "11aqyy4r9hrdi9nlypd70hn8384b6q89c7xavgv8c5q7f2g5z9qg")))) + (build-system emacs-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (guix build emacs-utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build emacs-utils)) - #:test-target "test" - #:tests? #f ; tests are not included in the release - #:make-flags - (list (string-append "PREFIX=" %output) - ;; Don't put .el files in a sub-directory. - (string-append "lispdir=" %output "/share/emacs/site-lisp")) + `(#:emacs ,emacs-no-x ;module support is required + #:tests? #t + #:test-command '("make" "test") #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch + (add-after 'unpack 'build-info-manual (lambda _ - (chmod "lisp/magit-extras.el" #o644) - (emacs-batch-edit-file "lisp/magit-extras.el" - `(progn (progn - (goto-char (point-min)) - (re-search-forward "(defun magit-copy-buffer-revision ()") - (forward-sexp 2) - (kill-sexp) - (insert ,(format #f "~S" - '(if (use-region-p) - (copy-region-as-kill nil nil 'region) - (when-let ((rev (cl-case major-mode - ((magit-cherry-mode - magit-log-select-mode - magit-reflog-mode - magit-refs-mode - magit-revision-mode - magit-stash-mode - magit-stashes-mode) - (car magit-refresh-args)) - ((magit-diff-mode magit-log-mode) - (let ((r (caar magit-refresh-args))) - (if (string-match "\\.\\.\\.?\\(.+\\)" r) - (match-string 1 r) - r))) - (magit-status-mode "HEAD")))) - (when (magit-commit-p rev) - (setq rev (magit-rev-parse rev)) - (push (list rev default-directory) magit-revision-stack) - (kill-new (message "%s" rev)))))))) - (basic-save-buffer))) + (invoke "make" "info") + ;; Copy info files to the lisp directory, which acts as + ;; the root of the project for the emacs-build-system. + (for-each (lambda (f) + (install-file f "lisp")) + (find-files "Documentation" "\\.info$")) + (chdir "lisp") #t)) - (delete 'configure) - (add-before - 'build 'patch-exec-paths + (add-after 'build-info-manual 'set-magit-version + (lambda _ + (make-file-writable "magit.el") + (emacs-substitute-variables "magit.el" + ("magit-version" ,version)) + #t)) + (add-after 'set-magit-version 'patch-exec-paths (lambda* (#:key inputs #:allow-other-keys) (let ((perl (assoc-ref inputs "perl"))) - (make-file-writable "lisp/magit-sequence.el") - (emacs-substitute-variables "lisp/magit-sequence.el" + (make-file-writable "magit-sequence.el") + (emacs-substitute-variables "magit-sequence.el" ("magit-perl-executable" (string-append perl "/bin/perl"))) - #t)))))) + #t))) + (add-before 'check 'configure-git + (lambda _ + ;; Otherwise some tests fail with error "unable to auto-detect + ;; email address". + (setenv "HOME" (getcwd)) + (invoke "git" "config" "--global" "user.name" "toto") + (invoke "git" "config" "--global" "user.email" + "toto@toto.com"))) + (add-after 'configure-git 'disable-tramp-test + (lambda _ + ;; There is an issue causing TRAMP to fail in the build + ;; environment. Setting the tramp-remote-shell parameter of + ;; the sudo-method to the file name of the shell didn't help. + (chdir "..") + (substitute* "t/magit-tests.el" + (("^\\(ert-deftest magit-toplevel:tramp.*" all) + (string-append all " (skip-unless nil)"))) + #t)) + (add-before 'install 'enter-lisp-directory + (lambda _ + (chdir "lisp") + #t))))) + (native-inputs + `(("texinfo" ,texinfo))) + (inputs + `(("git" ,git) + ("perl" ,perl))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-libgit" ,emacs-libgit) + ("emacs-transient" ,emacs-transient) + ("emacs-with-editor" ,emacs-with-editor))) (home-page "https://magit.vc/") (synopsis "Emacs interface for the Git version control system") - (description - "With Magit, you can inspect and modify your Git repositories with Emacs. -You can review and commit the changes you have made to the tracked files, for -example, and you can browse the history of past changes. There is support for -cherry picking, reverting, merging, rebasing, and other common Git -operations.") + (description "With Magit, you can inspect and modify your Git +repositories with Emacs. You can review and commit the changes you have made +to the tracked files, for example, and you can browse the history of past +changes. There is support for cherry picking, reverting, merging, rebasing, +and other common Git operations.") (license license:gpl3+)))) (define-public emacs-magit-svn @@ -447,16 +511,16 @@ support for Git-SVN.") (define-public emacs-magit-popup (package (name "emacs-magit-popup") - (version "2.12.5") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/magit/magit-popup.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i")))) + (version "2.13.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/magit-popup.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ifhph1mj7wjar62d65fjx45qsjwsyslbj7liih3v0r4by5gyxmw")))) (build-system emacs-build-system) (arguments `(#:phases @@ -587,42 +651,39 @@ deliver data to mobile and web apps.") (license license:gpl3+))) (define-public emacs-ghub - ;; We need a newer commit to avoid problems in emacs-forge. - (let ((commit "e19cd86ca4768a6d89285123933baa3f1460d696") - (revision "2")) - (package - (name "emacs-ghub") - (version (git-version "3.2.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/magit/ghub") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1d6f8sxlsl0fpkzwbpnaw77d1a5pkg63zfvf6a2fxir357lbdizx")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'make-info - (lambda _ - (invoke "make" "info")))))) - (native-inputs - `(("texinfo" ,texinfo))) - (propagated-inputs - `(("dash" ,emacs-dash) - ("emacs-let-alist" ,emacs-let-alist) - ("treepy" ,emacs-treepy))) - (home-page "https://github.com/magit/ghub") - (synopsis "Emacs client libraries for the APIs of various Git forges") - (description - "Ghub provides basic support for using the APIs of various Git forges from + (package + (name "emacs-ghub") + (version "3.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/ghub") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1229g0d9f4ywwjndx32x4z5jdr0kzyi44hjxmy0sifwfmg9nn251")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-info + (lambda _ + (invoke "make" "info")))))) + (native-inputs + `(("texinfo" ,texinfo))) + (propagated-inputs + `(("dash" ,emacs-dash) + ("emacs-let-alist" ,emacs-let-alist) + ("treepy" ,emacs-treepy))) + (home-page "https://github.com/magit/ghub") + (synopsis "Emacs client libraries for the APIs of various Git forges") + (description + "Ghub provides basic support for using the APIs of various Git forges from Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab, Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a handful of functions that are not resource-specific.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-typit ;; Last release is from 2017. @@ -762,26 +823,22 @@ replacement.") (define-public emacs-haskell-mode (package (name "emacs-haskell-mode") - (version "16.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/haskell/haskell-mode") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1qk36y0v9fzass6785il65c6wb5cfj4ihhwkvgnzmbafpa8p4dvq")) - (patches - (search-patches ; backport test failure fixes - "haskell-mode-unused-variables.patch" - "haskell-mode-make-check.patch")))) - (inputs - `(("emacs-el-search" ,emacs-el-search) ; for tests - ("emacs-stream" ,emacs-stream))) ; for tests + (version "17.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/haskell/haskell-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0izcasi2v02zh08c863h43m8mmsldzy8pck43cllrfn0zf24v2qn")))) (propagated-inputs `(("emacs-dash" ,emacs-dash))) (native-inputs `(("emacs" ,emacs-minimal) + ("emacs-el-search" ,emacs-el-search) + ("emacs-stream" ,emacs-stream) ("texinfo" ,texinfo))) (build-system gnu-build-system) (arguments @@ -794,8 +851,7 @@ replacement.") #:phases (modify-phases %standard-phases (delete 'configure) - (add-before - 'build 'pre-build + (add-before 'build 'pre-build (lambda* (#:key inputs #:allow-other-keys) (define (el-dir store-dir) (match (find-files store-dir "\\.el$") @@ -814,14 +870,17 @@ replacement.") (_ "")) inputs))) (substitute* (find-files "." "\\.el") (("/bin/sh") sh)) - ;; embed filename to fix test failure - (let ((file "tests/haskell-cabal-tests.el")) - (substitute* file - (("\\(buffer-file-name\\)") - (format #f "(or (buffer-file-name) ~s)" file)))) #t))) - (replace - 'install + (add-before 'check 'delete-failing-tests + ;; XXX: these tests require GHC executable, which would be a big + ;; native input. + (lambda _ + (with-directory-excursion "tests" + (for-each delete-file + '("haskell-customize-tests.el" + "inferior-haskell-tests.el"))) + #t)) + (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (el-dir (string-append out "/share/emacs/site-lisp")) @@ -838,9 +897,6 @@ replacement.") (install-file "haskell-mode.info" info)) (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md")) (copy-to-dir el-dir (find-files "." "\\.elc?")) - ;; These are part of other packages. - (with-directory-excursion el-dir - (for-each delete-file '("dash.el" "ert.el"))) #t)))))) (home-page "https://github.com/haskell/haskell-mode") (synopsis "Haskell mode for Emacs") @@ -929,6 +985,31 @@ different tools. It highlights errors and warnings inline in the buffer, and provides an optional IDE-like error list.") (license license:gpl3+)))) ;+GFDLv1.3+ for the manual +(define-public emacs-flymake-shellcheck + ;; No tag, version grabbed from source .el file. + (let ((commit "78956f0e5bb9c4d35989657a55929e8e3f5691e6") + (revision "0")) + (package + (name "emacs-flymake-shellcheck") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/federicotdn/flymake-shellcheck.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "068mx5p4drwgppy4ry1rfq6qi79w6d82b4rnpl2jm37grsg94lix")))) + (build-system emacs-build-system) + (home-page "https://github.com/federicotdn/flymake-shellcheck") + (synopsis "Flymake backend for Bash/Sh powered by ShellCheck") + (description + "This package provides a backend for Flymake to use the +tool ShellCheck for static analyzing @command{bash} and @command{sh} +scripts.") + (license license:gpl3+)))) + (define-public emacs-a (package (name "emacs-a") @@ -1543,36 +1624,21 @@ letter to each link using avy.") (define-public emacs-bbdb (package (name "emacs-bbdb") - (version "3.1.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/bbdb/bbdb-" - version ".tar.gz")) - (sha256 - (base32 - "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05")) - (modules '((guix build utils))) - (snippet - ;; We don't want to build and install the PDF. - '(begin - (substitute* "doc/Makefile.in" - (("^doc_DATA = .*$") - "doc_DATA =\n")) - #t)))) - (build-system gnu-build-system) + (version "3.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "bbdb-" version ".tar")) + (sha256 + (base32 "1p56dg0mja2b2figy7yhdx714zd5j6njzn0k07zjka3jc06izvjx")))) + (build-system emacs-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - ;; Add an autoloads file with the right name for guix.el. - (let* ((out (assoc-ref outputs "out")) - (site (string-append out "/share/emacs/site-lisp"))) - (with-directory-excursion site - (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el"))) - #t))))) - (native-inputs `(("emacs" ,emacs-minimal))) - (home-page "https://savannah.nongnu.org/projects/bbdb/") + ;; XXX: The following file cannot be byte-compiled, because et requires + ;; `vm-autoloads', from the VM package, with is neither in Emacs nor + ;; packaged in Guix. So, don't bother for now. + `(#:exclude '("bbdb-vm\\.el"))) + (home-page "http://elpa.gnu.org/packages/bbdb.html") (synopsis "Contact management utility for Emacs") (description "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides @@ -1756,14 +1822,14 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "12.2.0") + (version "12.2.3") (source (origin (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/auctex-" - version ".tar")) + (uri (string-append "https://elpa.gnu.org/packages/" + "auctex-" version ".tar")) (sha256 - (base32 "0j919l3q5sq6h1k1kmk4kyv0vkzl4f98fxcd64v34x5q1ahjhg48")))) + (base32 "1rbn6pghkll5apjv1fyn82v523fch9l5ksi5lnh439nq460wx1yf")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -1781,8 +1847,8 @@ as a library for other Emacs packages.") (with-directory-excursion "doc" (setenv "HOME" (getenv "TMPDIR")) ; for mktextfm (invoke "pdftex" "tex-ref") - (install-file "tex-ref.pdf" (string-append etc-dir - "/refcards"))) + (install-file "tex-ref.pdf" + (string-append etc-dir "/refcards"))) #t)))))) (native-inputs `(("perl" ,perl))) @@ -1824,14 +1890,14 @@ a set of simplified face specifications and a user-supplied color palette") (define-public emacs-howm (package (name "emacs-howm") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) - (uri (string-append "https://howm.sourceforge.jp/a/howm-" - version ".tar.gz")) + (uri (string-append "https://howm.sourceforge.jp/a/" + "howm-" version ".tar.gz")) (sha256 - (base32 "1kvr5pxpc9rwhkza9025mdi0wvh0f0rpawl21rzirjk1x10903yi")))) + (base32 "17ihch1zbk08ih7gc232jlmbw7hax8ldb9glxp8d75k4asa98qh5")))) (build-system gnu-build-system) (native-inputs `(("emacs" ,emacs-minimal))) @@ -1856,6 +1922,26 @@ code@{emacs-wiki.el}, it facilitates using hyperlinks and doing full-text searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.") (license license:gpl1+))) +(define-public emacs-bm + (package + (name "emacs-bm") + (version "201905") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joodland/bm.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "180b3rc13asrmsdh7v405d54jkrininvaj52xhp71vw91ng51dkn")))) + (build-system emacs-build-system) + (home-page "https://github.com/joodland/bm") + (synopsis "Visual bookmarks for Emacs") + (description "This package provides visible, buffer local bookmarks and +the ability to jump forward and backward to the next bookmark.") + (license license:gpl2+))) + (define-public emacs-calfw (package (name "emacs-calfw") @@ -1902,7 +1988,7 @@ Lock key.") (define-public emacs-chronometrist (package (name "emacs-chronometrist") - (version "0.4.2") + (version "0.4.3") (source (origin (method git-fetch) @@ -1911,7 +1997,7 @@ Lock key.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ccy7qz1wcmggqlf3hwigbqq4wrx1amds4x9bxz9py6bypglyjc5")))) + (base32 "1ljjqzghcap4admv0hvw6asm148b80mfgjgxjjcw6qc95fkjjjlr")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -2187,28 +2273,20 @@ window).") (define-public emacs-mmm-mode (package (name "emacs-mmm-mode") - (version "0.5.7") + (version "0.5.8") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/purcell/mmm-mode.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "mmm-mode-" version ".tar")) (sha256 - (base32 - "0lxd55yhz0ag7v1ydff55bg4h8snq5lbk8cjwxqpyq6gh4v7md1h")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("emacs" ,emacs-minimal) - ("texinfo" ,texinfo-5))) ;fails to build with Texinfo 6.7 + (base32 "05ckf4zapdpvnd3sqpw6kxaa567zh536a36m9qzx3sqyjbyn5fb4")))) + (build-system emacs-build-system) (home-page "https://github.com/purcell/mmm-mode") (synopsis "Allow multiple major modes in an Emacs buffer") (description - "MMM Mode is a minor mode that allows multiple major modes to coexist in a -single buffer.") + "MMM Mode is a minor mode that allows multiple major modes to coexist in +a single buffer.") (license license:gpl3+))) (define-public emacs-mmt @@ -2607,20 +2685,19 @@ in the center.") (define-public emacs-undo-tree (package (name "emacs-undo-tree") - (version "0.7.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "http://dr-qubit.org/git/undo-tree.git") - (commit (string-append "release/" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1nr0149y2nvrxj56gc12jqnfl01g6z9ypfsgl6pfg85cw73hnggk")))) + (version "0.7.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "undo-tree-" version ".el")) + (sha256 + (base32 "018ixl802f076sfyf4gkacpgrdpybin88jd8vq9zgyvc6x2dalfa")))) (build-system emacs-build-system) (home-page "http://www.dr-qubit.org/emacs.php") (synopsis "Treat undo history as a tree") - (description "Tree-like interface to Emacs undo system, providing + (description + "Tree-like interface to Emacs undo system, providing graphical tree presentation of all previous states of buffer that allows easily move between them.") (license license:gpl3+))) @@ -2766,6 +2843,26 @@ Emacs.") files and directories.") (license license:gpl3+))) +(define-public emacs-fountain-mode + (package + (name "emacs-fountain-mode") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rnkn/fountain-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08giwg0jwk8zzj2i4cm08322qr6znrnv9a49za7c6j47bykpwj6s")))) + (build-system emacs-build-system) + (home-page "https://github.com/rnkn/fountain-mode") + (synopsis "Major mode for screenwriting in Fountain markup") + (description "Fountain Mode is a scriptwriting program for GNU Emacs +using the Fountain plain text markup format.") + (license license:gpl3+))) + (define-public emacs-fringe-helper (let ((commit "ef4a9c023bae18ec1ddd7265f1f2d6d2e775efdd") (revision "1")) @@ -3775,13 +3872,15 @@ for Flow files.") #:emacs ,emacs ;need libxml support #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-python-executable - ;; Hardcode python3 executable in the Emacs library. + (add-after 'unpack 'specify-python-location + ;; Hard-code python3 executable location in the library. (lambda* (#:key inputs #:allow-other-keys) (let ((python3 (string-append (assoc-ref inputs "python") "/bin/python3"))) (substitute* "flycheck-grammalecte.el" (("\"python3") (string-append "\"" python3))) + (substitute* '("conjugueur.py" "flycheck-grammalecte.py") + (("/usr/bin/env python3?") python3)) #t))) (add-before 'build 'link-to-grammalecte ;; XXX: The Python part of the package requires grammalecte, but @@ -3974,14 +4073,14 @@ source code using IPython.") (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.22") + (version "0.23") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/debbugs-" version ".tar")) (sha256 (base32 - "05ik9qv539b5c1nzxkk3lk23bqj4vqgmfmd8x367abhb7c9gix2z")))) + "0mcz97b3sddrc68wi8dz95b2rq7ky88pr2i1ghyhy28as16chmz5")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -5557,7 +5656,7 @@ orange and red as accent colors.") (base32 "0gy2pvz79whpavp4jmz8h9krzn7brmvv3diixi1d4w51pcdvaldd")))) (build-system emacs-build-system) - (home-page "https://bitbucket.org/zck/2048.el") + (home-page "https://hg.sr.ht/~zck/game-2048") (synopsis "Implementation of the game 2048 in Emacs Lisp") (description "This program is an implementation of 2048 for Emacs. @@ -5807,7 +5906,7 @@ regexp that matches all known keywords.") (define-public emacs-perspective (package (name "emacs-perspective") - (version "2.2") + (version "2.8") (source (origin (method git-fetch) @@ -5817,7 +5916,7 @@ regexp that matches all known keywords.") (file-name (git-file-name name version)) (sha256 (base32 - "0pd5sqrrz6y3md20yh6ffy32jdcgb1gc9b4j14pm6r54bqxik68h")))) + "1gdacw1gkng1dhm12lhfssmac0fijsh3wpbvcmsv2jz3gpnjin1g")))) (build-system emacs-build-system) (home-page "https://github.com/nex3/perspective-el") (synopsis "Switch between named \"perspectives\"") @@ -5887,7 +5986,7 @@ test tags. It supports both interactive and non-interactive use.") (sha256 (base32 "1m37scr82lqqy954fchjxrmdh4lngrl4d1yzxhp3yfjhsydizhrj")))) (build-system emacs-build-system) - (home-page "http://github.com/rocky/emacs-load-relative") + (home-page "https://github.com/rocky/emacs-load-relative") (synopsis "Emacs Lisp relative file loading related functions") (description "Provides functions which facilitate writing multi-file Emacs packages @@ -5937,22 +6036,35 @@ after buffer changes.") `(#:tests? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-realgud:run-process-void-error + ;; See: https://github.com/realgud/realgud/issues/269. + (lambda _ + (substitute* '("realgud/debugger/gdb/gdb.el" + "realgud/debugger/gub/gub.el") + (("^\\(require 'load-relative\\).*" anchor) + (string-append anchor + "(require-relative-list \ +'(\"../../common/run\") \"realgud:\")\n"))) + #t)) (add-after 'unpack 'fix-autogen-script (lambda _ (substitute* "autogen.sh" - (("./configure") "sh configure")))) + (("./configure") "sh configure")) + #t)) (add-after 'fix-autogen-script 'autogen (lambda _ (setenv "CONFIG_SHELL" "sh") (invoke "sh" "autogen.sh"))) (add-after 'fix-autogen-script 'set-home (lambda _ - (setenv "HOME" (getenv "TMPDIR")))) + (setenv "HOME" (getenv "TMPDIR")) + #t)) (add-before 'patch-el-files 'remove-realgud-pkg.el (lambda _ ;; FIXME: `patch-el-files' crashes on this file with error: ;; unable to locate "bashdb". - (delete-file "./test/test-regexp-bashdb.el")))) + (delete-file "./test/test-regexp-bashdb.el") + #t))) #:include (cons* ".*\\.el$" %default-include))) (native-inputs `(("autoconf" ,autoconf) @@ -6052,6 +6164,28 @@ the Hydra very seamless; it's like a minor mode that disables itself automatically.") (license license:gpl3+))) +(define-public emacs-interleave + (package + (name "emacs-interleave") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/rudolfochrist/interleave") + (commit (string-append "interleave-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l5b681mrpk12lx5c16m7kc13p29z6zismwg1llsjg7cdmrmsrcb")))) + (build-system emacs-build-system) + (home-page "https://github.com/rudolfochrist/interleave") + (synopsis "Emacs minor mode to interleave notes and text books") + (description + "Interleave is a minor mode that presents a document viewer side +by side to an Org buffer with your notes relevant to the current page.") + (license license:gpl3+))) + (define-public emacs-ivy (package (name "emacs-ivy") @@ -6382,8 +6516,8 @@ S-expression.") (license license:gpl3+))) (define-public emacs-lispyville - (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74") - (revision "1")) + (let ((commit "1bf38088c981f5ab4ef2e2684952ab6af96378db") + (revision "2")) (package (name "emacs-lispyville") (version (git-version "0.1" revision commit)) @@ -6393,31 +6527,12 @@ S-expression.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx")) + "07z8qqvaxf963kwn7l2gk47989zb7r3d8ybqjs2cg6hzmzb77wbw")) (file-name (git-file-name name version)))) (propagated-inputs `(("emacs-evil" ,emacs-evil) ("emacs-lispy" ,emacs-lispy))) (build-system emacs-build-system) - (arguments - `(#:phases - ;; XXX: mysterious whitespace issue with one test - (modify-phases %standard-phases - (add-before 'check 'make-test-writable - (lambda _ - (make-file-writable "lispyville-test.el") - #t)) - (add-after 'make-test-writable 'remove-test - (lambda _ - (emacs-batch-edit-file "lispyville-test.el" - `(progn (progn (goto-char (point-min)) - (re-search-forward - "ert-deftest lispyville-comment-and-clone-dwim") - (beginning-of-line) - (kill-sexp)) - (basic-save-buffer)))))) - #:tests? #t - #:test-command '("make" "test"))) (synopsis "Minor mode for integrating Evil with lispy") (description "LispyVille's main purpose is to provide a Lisp editing environment @@ -6459,7 +6574,7 @@ allowing unprefixed keys to insert their respective characters as expected.") (define-public emacs-clojure-mode (package (name "emacs-clojure-mode") - (version "5.6.1") + (version "5.11.0") (source (origin (method git-fetch) @@ -6468,21 +6583,21 @@ allowing unprefixed keys to insert their respective characters as expected.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qadymqzs5fn1sb347xzfw8lqq6s85vvkh4kzm35m61g5i2lm86y")))) + (base32 "1x1yszp6waa778ki6sw66w1pzcz389wd01gkcldfxxnd7z89ad5d")))) (build-system emacs-build-system) (native-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-s" ,emacs-s) - ("ert-runner" ,emacs-ert-runner))) + `(("emacs-buttercup" ,emacs-buttercup) + ("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s))) (arguments `(#:tests? #t - #:test-command '("ert-runner"))) + #:test-command '("buttercup"))) (home-page "https://github.com/clojure-emacs/clojure-mode") (synopsis "Major mode for Clojure code") (description "This Emacs package provides font-lock, indentation, navigation and basic refactoring for the @uref{http://clojure.org, Clojure programming language}. -It is recommended to use @code{clojure-mode} with paredit or smartparens.") +It is recommended to use @code{clojure-mode} with Paredit or Smartparens.") (license license:gpl3+))) (define-public emacs-epl @@ -6909,25 +7024,25 @@ in Emacs.") (license license:gpl3+))) (define-public emacs-evil-markdown - (let ((commit "46cd81b37991c4325fc24015a610f832b0ff995d") - (revision "1")) + (let ((commit "685d7fbb81bc02fa32779d2a127b99a0c8c7436b") + (revision "2")) (package (name "emacs-evil-markdown") (version (git-version "0.0.2" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Somelauw/evil-markdown.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0mad8sp5y9vyk28595qygspnyh8bfmb1fbxjlw70qwc1kdn822n4")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Somelauw/evil-markdown.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1z1sjn6dcqv8mmkh6nfcwhnql2z6xr9yx3hs77bfxj79pf3c466p")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-markdown-mode" ,emacs-markdown-mode) - ("emacs-evil" ,emacs-evil))) - (home-page "http://jblevins.org/projects/evil-markdown/") + `(("emacs-evil" ,emacs-evil) + ("emacs-markdown-mode" ,emacs-markdown-mode))) + (home-page "https://github.com/Somelauw/evil-markdown/") (synopsis "Evil keybindings for @code{markdown-mode}") (description "This package provides custom text objects and bindings for @@ -7409,20 +7524,20 @@ of its name.") (define-public emacs-rainbow-mode (package (name "emacs-rainbow-mode") - (version "1.0.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/rainbow-mode-" version ".el")) - (sha256 - (base32 - "1zfqj63sr07pdlwy7caz4fxsjhmbhh939n81z6jxq9xggm8ajxkd")))) + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "rainbow-mode-" version ".el")) + (sha256 + (base32 "0rp76gix1ph1wrmdax6y2m3i9y1dmgv7ikjz8xsl5lizkygsy9cg")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/rainbow-mode.html") (synopsis "Colorize color names in buffers") (description "This minor mode sets background color to strings that match color -names, e.g. #0000ff is displayed in white with a blue background.") +names, e.g., @samp{#0000ff} is displayed in white with a blue background.") (license license:gpl3+))) (define-public emacs-ryo-modal @@ -7443,7 +7558,7 @@ names, e.g. #0000ff is displayed in white with a blue background.") (sha256 (base32 "1cyvp3bi6yhckbdnq98xvghmhdzghya5y9wd7hxjawibs75rza95")))) (build-system emacs-build-system) - (home-page "http://github.com/Kungsgeten/ryo-modal") + (home-page "https://github.com/Kungsgeten/ryo-modal") (synopsis "Emacs minor mode for defining modal editing environments") (description "RYO modal provides a convenient way of defining modal keybindings in Emacs, and does not come with any predefined bindings.") @@ -7666,7 +7781,7 @@ ack, ag, helm and pt.") (define-public emacs-helm (package (name "emacs-helm") - (version "3.6.0") + (version "3.6.2") (source (origin (method git-fetch) @@ -7675,7 +7790,7 @@ ack, ag, helm and pt.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0miq2q52pbicijp7pmj0widk252qixswywc03d120s4hya2b7vd7")))) + (base32 "0bf2glydc0vhp52z8zg8phmsglb63nac15zd82zr35dscc50bzrb")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) @@ -7901,7 +8016,7 @@ target will call @code{compile} on it.") (define-public emacs-cider (package (name "emacs-cider") - (version "0.23.0") + (version "0.25.0") (source (origin (method git-fetch) @@ -7910,20 +8025,18 @@ target will call @code{compile} on it.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "05yjkqc6d4grq9z5pxmv3anqh4zlhfg4v46jlccp6ynh030g7axs")))) + (base32 "1sdd7vzw948q01kc8im1asiq1j06q0mnn2s8kj83f8sbdnfy0qbk")))) (build-system emacs-build-system) (arguments - '(#:exclude ; Don't exclude 'cider-test.el'. + '(#:exclude ;don't exclude 'cider-test.el' '("^\\.dir-locals\\.el$" "^test/"))) (propagated-inputs `(("emacs-clojure-mode" ,emacs-clojure-mode) - ("emacs-sesman" ,emacs-sesman) - ("emacs-seq" ,emacs-seq) - ("emacs-spinner" ,emacs-spinner) ("emacs-parseedn" ,emacs-parseedn) ("emacs-pkg-info" ,emacs-pkg-info) - ("emacs-queue" ,emacs-queue))) + ("emacs-queue" ,emacs-queue) + ("emacs-sesman" ,emacs-sesman) + ("emacs-spinner" ,emacs-spinner))) (home-page "https://cider.mx/") (synopsis "Clojure development environment for Emacs") (description @@ -8180,11 +8293,11 @@ using package inferred style.") (license license:gpl3+)))) (define-public emacs-lua-mode - (let ((commit "1f596a93b3f1caadd7bba01030f8c179b029600b") - (revision "1")) + (let ((commit "35b6e4c20b8b4eaf783ccc8e613d0dd06dbd165c") + (revision "0")) (package (name "emacs-lua-mode") - (version (git-version "20191204" revision commit)) + (version (git-version "20200508" revision commit)) (home-page "https://github.com/immerrr/lua-mode/") (source (origin (method git-fetch) @@ -8194,14 +8307,14 @@ using package inferred style.") (file-name (git-file-name name version)) (sha256 (base32 - "0i4adlaik3qjx1wkb7rwk2clvj7ci2g8pm0siyb3yk90r6z5mspi")))) + "1hai6rqjm5py0bp57nhggmj9qigwdj3a46ngacpnjc1qmy9kkgfk")))) (build-system emacs-build-system) (arguments `(#:tests? #t - #:test-command '("buttercup" "-l" "lua-mode.el"))) + #:test-command '("buttercup" "-l" "lua-mode.el"))) (native-inputs `(("emacs-buttercup" ,emacs-buttercup) - ("lua" ,lua))) + ("lua" ,lua))) (synopsis "Major mode for lua") (description "This Emacs package provides a mode for @uref{https://www.lua.org/, @@ -8244,7 +8357,7 @@ news items, openrc and runscripts.") (define-public emacs-evil (package (name "emacs-evil") - (version "1.2.14") + (version "1.14.0") (source (origin (method git-fetch) @@ -8254,7 +8367,7 @@ news items, openrc and runscripts.") (file-name (git-file-name name version)) (sha256 (base32 - "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q")))) + "17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p")))) (arguments `(#:phases (modify-phases %standard-phases @@ -8897,7 +9010,7 @@ Flx has support for ido (interactively do things) through flx-ido.") (define-public emacs-cyberpunk-theme (package (name "emacs-cyberpunk-theme") - (version "1.21") + (version "1.22") (source (origin (method git-fetch) @@ -8906,7 +9019,7 @@ Flx has support for ido (interactively do things) through flx-ido.") (commit version))) (sha256 (base32 - "05mfgr9aj7knn7niadv9p6z3qrfpq2lbbi2wxxx62xywim9maw2y")) + "06nff38pcy5rgz13svkajsg0jjk73qy4a8m7p9f76yxcywxlgxlc")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (home-page "https://github.com/n3mo/cyberpunk-theme.el") @@ -8969,6 +9082,27 @@ known loosely as deftheme. Many mode-specific customizations are included.") by zenburn, sinburn and similar themes, but slowly diverging from them.") (license license:gpl3+)))) +(define-public emacs-dracula-theme + (package + (name "emacs-dracula-theme") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dracula/emacs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15y2djc5jljlvls1x9kp50m1kp0dcksmyixafsyimj66xpq9ngh0")))) + (build-system emacs-build-system) + (home-page "https://draculatheme.com/") + (synopsis "Dark theme for Emacs") + (description + "Dracula is a dark color theme for many editors, shells and more. This +package provides the Emacs theme.") + (license license:expat))) + (define-public emacs-auto-complete (package (name "emacs-auto-complete") @@ -9017,31 +9151,23 @@ editing nginx config files.") (license license:gpl2+))) (define-public emacs-stream - (let ((commit "a3f3da155a49c133e2692bd8789b35492bfdc4f7") - (revision "1")) - (package - (name "emacs-stream") - (version (git-version "2.2.4" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Emacsmirror/stream.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0aig0yjb9z752ijh0mzildjmh44j051inchga8qll01dr8wf7332")))) - (build-system emacs-build-system) - (arguments - `(#:tests? #t - #:test-command '("emacs" "--batch" - "-l" "tests/stream-tests.el" - "-f" "ert-run-tests-batch-and-exit"))) - (home-page "https://github.com/Emacsmirror/stream") - (synopsis "Implementation of streams for Emacs") - (description "This library provides an implementation of streams for Emacs. + (package + (name "emacs-stream") + (version "2.2.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "stream-" version ".tar")) + (file-name (git-file-name name version)) + (sha256 + (base32 "00c3n4gyxzv7vczqms0d62kl8zsmjfyxa92mwxn2snyx857a9jfw")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/stream.html") + (synopsis "Implementation of streams for Emacs") + (description "This library provides an implementation of streams for Emacs. Streams are implemented as delayed evaluation of cons cells.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-cl-print (let ((commit "1a70c553dfb04352afb5b8696fe0cef8acc8f991") @@ -9197,33 +9323,26 @@ customizable by the user.") (license license:gpl2+))) (define-public emacs-zones - (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe") - (revision "2")) - (package - (name "emacs-zones") - (version (git-version "0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacsmirror/zones.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl")) - (patches - (search-patches - "emacs-zones-called-interactively.patch")))) - (build-system emacs-build-system) - (home-page "https://www.emacswiki.org/emacs/Zones") - (synopsis "Define and act on multiple zones of buffer text") - (description "Library @file{zones.el} lets you easily define and -subsequently act on multiple zones of buffer text. You can think of this as -enlarging the notion of region. In effect, it can remove the requirement of -target text being a contiguous sequence of characters. A set of buffer zones -is, in effect, a (typically) noncontiguous set of text.") - (license license:gpl3+)))) + (package + (name "emacs-zones") + (version "2019.7.13") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "zones-" version ".el")) + (sha256 + (base32 "0qp1ba2pkqx9d35g7z8hf8qs2k455krf2a92l4rka3ipsbnmq5k1")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/Zones") + (synopsis "Define and act on multiple zones of buffer text") + (description + "Library @file{zones.el} lets you easily define and subsequently act on +multiple zones of buffer text. You can think of this as enlarging the notion +of region. In effect, it can remove the requirement of target text being +a contiguous sequence of characters. A set of buffer zones is, in effect, +a (typically) noncontiguous set of text.") + (license license:gpl3+))) (define-public emacs-mu4e-alert (package @@ -9720,7 +9839,7 @@ highlights quasi-quoted expressions.") (define-public emacspeak (package (name "emacspeak") - (version "50.0") + (version "52.0") (source (origin (method url-fetch) @@ -9728,14 +9847,17 @@ highlights quasi-quoted expressions.") "https://github.com/tvraman/emacspeak/releases/download/" version "/emacspeak-" version ".tar.bz2")) (sha256 - (base32 - "0rsj7rzfyqmyidfsjrhjnxi2d43axx6r3gac1fhv5xkkbiiqzqkb")))) + (base32 "0x5b0s38r5ih2lk7f5hasi9arrgxlmmq5jaddadbxi8in2gw2jzl")))) (build-system gnu-build-system) (arguments '(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases + (add-after 'unpack 'delete-broken-symlink + (lambda _ + (delete-file "lisp/sudoku.el") + #t)) (replace 'configure (lambda _ (setenv "SHELL" (which "sh")) @@ -9760,12 +9882,12 @@ highlights quasi-quoted expressions.") '("etc" "info" "js" "lisp" "media" "servers" "sounds" "stumpwm" "xsl")) ;; Make sure emacspeak is loaded from the correct directory. - (substitute* "etc/emacspeak.sh" - (("/lisp/emacspeak-setup.el") + (substitute* "run" + (("\\./lisp/emacspeak-setup.el") (string-append lisp "/lisp/emacspeak-setup.el"))) ;; Install the convenient startup script. (mkdir-p bin) - (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak"))) + (copy-file "run" (string-append bin "/emacspeak"))) #t)) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) @@ -9778,10 +9900,10 @@ highlights quasi-quoted expressions.") (wrap-program emacspeak `("DTK_PROGRAM" ":" prefix (,espeak))) #t)))) - #:tests? #f)) ; no check target + #:tests? #f)) ; no check target (inputs `(("emacs" ,emacs) - ("espeak" ,espeak) + ("espeak" ,espeak-ng) ("perl" ,perl) ("tcl" ,tcl) ("tclx" ,tclx))) @@ -9789,26 +9911,25 @@ highlights quasi-quoted expressions.") (synopsis "Audio desktop interface for Emacs") (description "Emacspeak is a speech interface that allows visually impaired users to -interact independently and efficiently with the computer. Audio formatting ---a technique pioneered by AsTeR-- and full support for W3C's Aural CSS (ACSS) -allows Emacspeak to produce rich aural presentations of electronic information. -By seamlessly blending all aspects of the Internet such as Web-surfing and -messaging, Emacspeak speech-enables local and remote information via a -consistent and well-integrated user interface.") +interact independently and efficiently with the computer. Audio +formatting---a technique pioneered by AsTeR---and full support for W3C's Aural +CSS (ACSS) allows Emacspeak to produce rich aural presentations of electronic +information. By seamlessly blending all aspects of the Internet such as +Web-surfing and messaging, Emacspeak speech-enables local and remote +information via a consistent and well-integrated user interface.") (license license:gpl2+))) (define-public emacs-adaptive-wrap (package (name "emacs-adaptive-wrap") - (version "0.5.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/adaptive-wrap-" - version ".el")) - (sha256 - (base32 - "0qi7gjprcpywk2daivnlavwsx53hl5wcqvpxbwinvigg42vxh3ll")))) + (version "0.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "adaptive-wrap-" version ".el")) + (sha256 + (base32 "10fb8gzvkbnrgzv28n1rczs03dvapr7rvi0kd73j6yf1zg2iz6qp")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/adaptive-wrap.html") (synopsis "Smart line-wrapping with wrap-prefix") @@ -10102,25 +10223,25 @@ configuration of Chinese fonts.") (define-public emacs-php-mode (package (name "emacs-php-mode") - (version "1.22.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ejmr/php-mode.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1r4bpyavlndd4c78cv5cc97bc0gkd4cggiyz4kd2vg6zlyc1nld3")))) + (version "1.23.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ejmr/php-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wnkcxg6djy4jvxhshiy1iw6b5cf79pjwjhfd1a060cavhfm4v5c")))) (build-system emacs-build-system) (home-page "https://github.com/ejmr/php-mode") (synopsis "Major mode for editing PHP code") - (description "@code{php-mode} is a major mode for editing PHP source -code. It's an extension of C mode; thus it inherits all C mode's navigation -functionality. But it colors according to the PHP grammar and indents -according to the PEAR coding guidelines. It also includes a couple handy -IDE-type features such as documentation search and a source and class -browser.") + (description + "PHP mode is a major mode for editing PHP source code. It's an extension +of C mode; thus it inherits all C mode's navigation functionality. But it +colors according to the PHP grammar and indents according to the PEAR coding +guidelines. It also includes a couple handy IDE-type features such as +documentation search and a source and class browser.") (license license:gpl3+))) (define-public emacs-pos-tip @@ -10198,20 +10319,18 @@ and cangjie.") (define-public emacs-posframe (package (name "emacs-posframe") - (version "0.5.0") + (version "0.7.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tumashu/posframe") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "posframe-" version ".el")) (sha256 - (base32 - "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3")))) + (base32 "1kwl83jb5k1hnx0s2qw972v0gjqbbvk4sdcdb1qbdxsyw36sylc9")))) (build-system emacs-build-system) - ;; emacs-minimal does not include the function font-info - (arguments `(#:emacs ,emacs)) + ;; emacs-minimal does not include the function font-info. + (arguments + `(#:emacs ,emacs)) (home-page "https://github.com/tumashu/posframe") (synopsis "Pop a posframe (a child frame) at point") (description "@code{emacs-posframe} can pop a posframe at point. A @@ -10334,15 +10453,15 @@ It should enable you to implement low-level X11 applications.") (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.23") + (version "0.24") (synopsis "Emacs X window manager") - (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/exwm-" - version ".tar")) - (sha256 - (base32 - "05w1v3wrp1lzz20zd9lcvr5nhk809kgy6svvkbs15xhnr6x55ad5")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "exwm-" version ".tar")) + (sha256 + (base32 "0lj1a3cmbpf4h6x8k6x8cdm1qb51ca6filydnvi5zcda8zpl060s")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) @@ -10394,8 +10513,9 @@ It should enable you to implement low-level X11 applications.") (chmod exwm-executable #o555) #t)))))) (home-page "https://github.com/ch11ng/exwm") - (description "EXWM is a full-featured tiling X window manager for Emacs -built on top of XELB.") + (description + "EXWM is a full-featured tiling X window manager for Emacs built on top +of XELB.") (license license:gpl3+))) (define-public emacs-switch-window @@ -10600,7 +10720,7 @@ pressed simultaneously or a single key quickly pressed twice.") (define-public emacs-evil-surround (package (name "emacs-evil-surround") - (version "1.0.4") + (version "1.1.0") (source (origin (method git-fetch) @@ -10609,7 +10729,7 @@ pressed simultaneously or a single key quickly pressed twice.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q")))) + (base32 "15v2spg5rhddr97pxjfvxj36sh7knp753a9qpw8v5zjnp65kf2kn")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -10908,14 +11028,14 @@ highlighting.") (define-public emacs-jsonrpc (package (name "emacs-jsonrpc") - (version "1.0.11") + (version "1.0.12") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "jsonrpc-" version ".el")) (sha256 - (base32 "04cy1mqd6y8k5lcpg076szjk9av9345mmsnzzh6vgbcw3dcgbr23")))) + (base32 "0cqp05awikbrn88ifld3vwnv6cxgmr83wlnsvxw8bqb96djz70ad")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/jsonrpc.html") (synopsis "JSON-RPC library") @@ -11656,45 +11776,35 @@ database of references on life sciences.") (define-public emacs-websocket (package (name "emacs-websocket") - (version "1.10") + (version "1.12") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ahyatt/emacs-websocket.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "websocket-" version ".tar")) (sha256 - (base32 - "1dgrf7na6r6mmkknphzshlbd5fnzisg0qn0j7vfpa38wgsymaq52")))) + (base32 "0ap4z80c6pzpb69wrx0hsvwzignxmd2b9xy974by9gf5xm2wpa8w")))) (build-system emacs-build-system) - (arguments - `(#:tests? #t - ;; TODO: also enable websocket-functional-test.el - #:test-command '("emacs" "--batch" - "-l" "websocket-test.el" - "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://elpa.gnu.org/packages/websocket.html") (synopsis "Emacs WebSocket client and server") - (description "This is an Elisp library for WebSocket clients to talk to -WebSocket servers, and for WebSocket servers to accept connections from -WebSocket clients. This library is designed to be used by other library -writers, to write applications that use WebSockets, and is not useful by -itself.") + (description + "This is an Elisp library for WebSocket clients to talk to WebSocket +servers, and for WebSocket servers to accept connections from WebSocket +clients. This library is designed to be used by other library writers, to +write applications that use WebSockets, and is not useful by itself.") (license license:gpl3+))) (define-public emacs-oauth2 (package (name "emacs-oauth2") - (version "0.11") + (version "0.13") (source (origin (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/oauth2-" - version ".el")) + (uri (string-append "https://elpa.gnu.org/packages/" + "oauth2-" version ".el")) (sha256 - (base32 - "0ydkc9jazsnbbvfhd47mql52y7k06n3z7r0naqxkwb99j9blqsmp")))) + (base32 "0y5nbdwxz2hfr09xgsqgyv60vgx0rsaisibcpkz00klvgg26w33r")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/oauth2.html") (synopsis "OAuth 2.0 authorization protocol implementation") @@ -11764,8 +11874,8 @@ through them using @key{C-c C-SPC}.") (license license:gpl3+))) (define-public emacs-slack - (let ((commit "b7b9eada0bf62d40dfe764b00f55913a2d3d742e") - (revision "7")) + (let ((commit "a6d9f49bc6161f12c594d25254e77eedf4a67666") + (revision "8")) (package (name "emacs-slack") (version (git-version "0.0.2" revision commit)) @@ -11777,7 +11887,7 @@ through them using @key{C-c C-SPC}.") (file-name (git-file-name name commit)) (sha256 (base32 - "0cqr7jnfxzb0z2wy79pdwpv9cvmawjif1kin3zbp8q7zhwrq09v0")))) + "0crjjankqi4bqjk5pdz4r2ixf56n1nnq8ab1gz3sbl3v6as6262w")))) (build-system emacs-build-system) (arguments `(#:phases @@ -11856,14 +11966,14 @@ let users kill or mark things easily.") (define-public emacs-csv-mode (package (name "emacs-csv-mode") - (version "1.10") + (version "1.12") (source (origin (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/csv-mode-" - version ".el")) + (uri (string-append "https://elpa.gnu.org/packages/" + "csv-mode-" version ".tar")) (sha256 - (base32 "0q7j2cmj7vs6hz8cnf7j7lmlcjmig3jn2p6az345z96agl8a5xsq")))) + (base32 "0bya12smlrzwv4cbcmch4kg1fazp4k0ndrh1z17ix9p8c14d0v1j")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/csv-mode.html") (synopsis "Major mode for editing comma/char separated values") @@ -12113,7 +12223,7 @@ features and provides Vim-like key bindings.") (define-public emacs-bongo (package (name "emacs-bongo") - (version "1.0") + (version "1.1") (source (origin (method git-fetch) @@ -12122,7 +12232,7 @@ features and provides Vim-like key bindings.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1q3ws2vn062dh7ci6jn2k2bcn7szh3ap64sgwkzdd6f1pas37fnr")))) + (base32 "1nszph9mn98flyhn1jq3y6mdh6jymjkvj5ng36ql016dj92apvhv")))) (build-system emacs-build-system) (home-page "https://github.com/dbrock/bongo") (synopsis "Media player for Emacs") @@ -12291,36 +12401,39 @@ the format.") (license license:gpl3+))) (define-public emacs-nov-el - (package - (name "emacs-nov-el") - (version "0.2.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wasamasa/nov.el.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0v01l1p35mcigixs6j4c5bpc7n7bd51kxa0p3l1xl0gr92774yq3")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'embed-path-to-unzip - (lambda _ - (substitute* "nov.el" - (("\\(executable-find \"unzip\"\\)") - (string-append "\"" (which "unzip") "\""))) - #t))))) - (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-esxml" ,emacs-esxml))) - (inputs - `(("unzip" ,unzip))) - (home-page "https://github.com/wasamasa/nov.el/") - (synopsis "Major mode for reading EPUBs in Emacs") - (description "@code{nov.el} provides a major mode for reading EPUB + ;; Upstream does not tag releases. Specify raw commit hash matching the + ;; release. + (let ((commit "ea0c835c1b5e6e70293f4bd64e9c89bdc42f8596")) + (package + (name "emacs-nov-el") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://depp.brause.cc/nov.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04phmm14ywgicjsl2bsg6w9rapd71vdkxdp5wp0brj6px27y85jz")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'embed-path-to-unzip + (lambda _ + (substitute* "nov.el" + (("\\(executable-find \"unzip\"\\)") + (string-append "\"" (which "unzip") "\""))) + #t))))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-esxml" ,emacs-esxml))) + (inputs + `(("unzip" ,unzip))) + (home-page "https://depp.brause.cc/nov.el/") + (synopsis "Major mode for reading EPUBs in Emacs") + (description "@code{nov.el} provides a major mode for reading EPUB documents. Features: @@ -12337,7 +12450,7 @@ Features: @item Image rescaling @end itemize ") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public epipe (package @@ -12456,31 +12569,26 @@ the same values you get in a terminal.") (license license:gpl3+))) (define-public emacs-frog-menu - (let ((commit "740bbc88b8535d31f783f3b2043a2a6683afbf31") - (revision "1")) - (package - (name "emacs-frog-menu") - (version (git-version "0.2.9" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/clemera/frog-menu") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1g77424jwq62qj06rvld44s5hp0dw8rw2pwmmag6gd536zf65xrj")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-posframe" ,emacs-posframe) - ("emacs-avy" ,emacs-avy))) - (home-page "https://github.com/clemera/frog-menu") - (synopsis "Quickly pick items from ad hoc menus") - (description - "This package provides a popup offering a preview of a list of -candidates on which user-defined dispatch actions can act.") - (license license:gpl3+)))) + (package + (name "emacs-frog-menu") + (version "0.2.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "frog-menu-" version ".el")) + (sha256 + (base32 "06iw11z61fd0g4w3562k3smcmzaq3nivvvc6gzm8y8k5pcrqzdff")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-avy" ,emacs-avy) + ("emacs-posframe" ,emacs-posframe))) + (home-page "https://github.com/clemera/frog-menu") + (synopsis "Quickly pick items from ad hoc menus") + (description + "This package provides a popup offering a preview of a list of candidates +on which user-defined dispatch actions can act.") + (license license:gpl3+))) (define-public emacs-frog-jump-buffer (let ((commit "2d7b342785ae27d45f5d252272df6eb773c78e20") @@ -13244,67 +13352,67 @@ tables of contents.") (license license:gpl3+))) (define-public emacs-ts - (let ((commit "395649a2f2ba79028331bb1fa9ec08b218950ff6") - (revision "2")) - (package - (name "emacs-ts") - (version (git-version "0.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/ts.el") - (commit commit))) - (sha256 - (base32 - "02603wv66fplsigxd87jy23hrb5g9vigszcpdqrdv0ypaqaxlr3a")) - (file-name (git-file-name name version)))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-s" ,emacs-s) - ("emacs-dash" ,emacs-dash))) - (arguments - ;; XXX: Three tests are failing because of a timezone-related issue - ;; with how they're written. On my machine, all the failing test - ;; results are 18000 seconds (5 hours) off. + (package + (name "emacs-ts") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/ts.el") + (commit version))) + (sha256 + (base32 "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-dash" ,emacs-dash))) + (arguments + ;; XXX: Three tests are failing because of a timezone-related issue + ;; with how they're written. On my machine, all the failing test + ;; results are 18000 seconds (5 hours) off. - ;; The ts-parse-org function accepts a string without any timezone - ;; info, not assumed to be in Unix time, and converts it to a so-called - ;; ts struct. The ts-unix function (accessor) accepts a ts struct, - ;; then seems to assume the struct's corresponding time is in terms of - ;; the user's current time zone, before returning a Unix time in - ;; seconds. + ;; The ts-parse-org function accepts a string without any timezone + ;; info, not assumed to be in Unix time, and converts it to a so-called + ;; ts struct. The ts-unix function (accessor) accepts a ts struct, + ;; then seems to assume the struct's corresponding time is in terms of + ;; the user's current time zone, before returning a Unix time in + ;; seconds. - ;; The failing tests all have similar problems, but nothing else about - ;; the library seems particularly off. + ;; The failing tests all have similar problems, but nothing else about + ;; the library seems particularly off. - `(#:tests? #t - #:test-command '("emacs" "--batch" - "-l" "test/test.el" - "-f" "ert-run-tests-batch-and-exit") - #:phases - (modify-phases %standard-phases - (add-before 'check 'make-tests-writable - (lambda _ - (make-file-writable "test/test.el") - #t)) - (add-before 'check 'delete-failing-tests - (lambda _ - (emacs-batch-edit-file "test/test.el" - `(progn (progn - (goto-char (point-min)) - (dolist (test-regexp '("ert-deftest ts-format" - "ert-deftest ts-parse-org\\_>" - "ert-deftest ts-parse-org-element")) - (re-search-forward test-regexp) - (beginning-of-line) - (kill-sexp))) - (basic-save-buffer))) - #t))))) - (home-page "https://github.com/alphapapa/ts.el") - (synopsis "Timestamp and date/time library") - (description "This package facilitates manipulating dates, times, and + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "test/test.el" + "-f" "ert-run-tests-batch-and-exit") + #:phases + (modify-phases %standard-phases + (add-before 'check 'make-tests-writable + (lambda _ + (make-file-writable "test/test.el") + #t)) + (add-before 'check 'delete-failing-tests + (lambda _ + (emacs-batch-edit-file "test/test.el" + `(progn (progn + (goto-char (point-min)) + (dolist (test-regexp + '("ert-deftest ts-format" + "ert-deftest ts-parse-org\\_>" + "ert-deftest ts-parse-org-element" + "ert-deftest ts-update")) + (re-search-forward test-regexp) + (beginning-of-line) + (kill-sexp))) + (basic-save-buffer))) + #t))))) + (home-page "https://github.com/alphapapa/ts.el") + (synopsis "Timestamp and date/time library") + (description "This package facilitates manipulating dates, times, and timestamps by providing a @code{ts} struct.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-peg (package @@ -13990,7 +14098,7 @@ confused by comments or @code{foo-bar} matching @code{foo}.") (define-public emacs-edit-server (package (name "emacs-edit-server") - (version "1.13") + (version "1.15") (source (origin (method git-fetch) @@ -13999,7 +14107,7 @@ confused by comments or @code{foo-bar} matching @code{foo}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12dp1xj09jrp0kxp9xb6cak9dn6zkyis1wfn4fnhzmxxnrd8c5rn")))) + (base32 "0xxby3ghs38i1l7kag12rnzlzcg9297pm8k6kqq3aqzsg9d2950y")))) (build-system emacs-build-system) (arguments `(#:phases @@ -14272,7 +14380,7 @@ until the top-level form is no longer a macro call.") (define-public emacs-beginend (package (name "emacs-beginend") - (version "2.0.0") + (version "2.1.0") (source (origin (method git-fetch) @@ -14281,7 +14389,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 "1jbhg73g1rrkbwql5vi2b0ys9avfazmwzwgd90gkzwavw0ch9cvl")))) + (base32 "1ic5z3qb5sc3mjrjdlg0rqm2l59a43gwnakagns4cilln2a3xdg8")))) ;; TODO: Run tests. (build-system emacs-build-system) (inputs @@ -14918,6 +15026,29 @@ repository, @code{magit-org-todos} will create a section in your Magit status buffer with each of your todos.") (license license:gpl3+)))) +(define-public emacs-vcsh + (package + (name "emacs-vcsh") + (version "0.4.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/stepnem/vcsh-el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "183pffdiqb7qqmjq31wxl3fpv8qswqgg99gb716rddiyk15ysri7")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/stepnem/vcsh-el") + (synopsis "Emacs VCSH integration") + (description + "This library provides basic ``enter'' functionality and a few +convenience commands to initialize a @acronym{VCSH, Version Control System for +$HOME} repository and add files to it. It can be used in conjunction with +Magit.") + (license license:public-domain))) + (define-public emacs-f3 (package (name "emacs-f3") @@ -15057,14 +15188,14 @@ It s customizable: it's easy to add or redefine what exactly consitutes a (define-public emacs-darkroom (package (name "emacs-darkroom") - (version "0.2") - (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/darkroom-" - version ".el")) - (sha256 - (base32 - "1a528brhz4vckhp77n2c1phkyqdliykpj9kzk3f834f4rwnb5mp0")))) + (version "0.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "darkroom-" version ".el")) + (sha256 + (base32 "0l1xg5kqmjw22k78qnsln0ifx2dx74xxqj0qp8xxcpqvzzx0xh86")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/darkroom.html") (synopsis "Remove visual distractions and focus on writing") @@ -15390,8 +15521,8 @@ bookmarks and history.") (license license:gpl3+))) (define-public emacs-stumpwm-mode - (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") - (revision "2")) + (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d6") + (revision "3")) (package (name "emacs-stumpwm-mode") (version (git-version "0.0.1" revision commit)) @@ -15403,7 +15534,7 @@ bookmarks and history.") (file-name (git-file-name name version)) (sha256 (base32 - "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) + "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml")))) (build-system emacs-build-system) (arguments `(#:phases @@ -15497,12 +15628,12 @@ the previously visible buffer part after each scroll.") (license license:gpl3+))) (define-public emacs-highlight-escape-sequences + ;; No release upstream. Extract version from main file. (let ((commit "08d846a7aa748209d65fecead2b6a766c3e5cb41") - (revision "1")) + (revision "0")) (package (name "emacs-highlight-escape-sequences") - (version (string-append "0.0.1" "-" revision "." - (string-take commit 7))) + (version (git-version "0.4" revision commit)) (source (origin (method git-fetch) @@ -15511,8 +15642,7 @@ the previously visible buffer part after each scroll.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is")))) + (base32 "05mc3w1f8ykf80914a1yddw6j8cmh0h57llm07xh89s53821v2is")))) (build-system emacs-build-system) (home-page "https://github.com/dgutov/highlight-escape-sequences") (synopsis "Highlight escape sequences in Emacs") @@ -16024,8 +16154,8 @@ Org-mode file, and citations of Zotero items in Pandoc Markdown files.") (license license:gpl3+))) (define-public emacs-evil-magit - (let ((commit "4b66a1db8285457147a5436f209391016a819ea1") - (revision "3")) + (let ((commit "253c644807013fe92429acdef418748794b8f254") + (revision "4")) (package (name "emacs-evil-magit") (version (git-version "0.4.2" revision commit)) @@ -16038,7 +16168,7 @@ Org-mode file, and citations of Zotero items in Pandoc Markdown files.") (file-name (git-file-name name version)) (sha256 (base32 - "0kkmbswfh34k3amfl3v140vsnz1gq4n4mg9g4khjd9yjph3zms4h")))) + "08mh7phxsdb9w4dfs0pmr4l4fdzzr2rm88z2s8karfi5j5ik2ag5")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) @@ -16410,10 +16540,10 @@ you searched for and execute it, or view its documentation.") (license license:gpl3+)))) (define-public emacs-helm-emms - (let ((commit "b785cb845a98a643eba9d5d53c9c0b4e6810a3cd")) + (let ((commit "37e5aa029abfa5a5c48636314de8157142944fa2")) (package (name "emacs-helm-emms") - (version (git-version "1.3" "2" commit)) + (version (git-version "1.3" "3" commit)) (source (origin (method git-fetch) @@ -16423,7 +16553,7 @@ you searched for and execute it, or view its documentation.") (file-name (git-file-name name version)) (sha256 (base32 - "1595r09y3rmwd46nnhvjja3hb8j2ila295ijxv61cg52ws4wginh")))) + "0r1ai6xhzayyik30w2sx9n62bxxwm12vfmjspv0daqif9az8y3vg")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) @@ -18055,20 +18185,20 @@ advice to be recorded and displayed.") (license license:gpl3+)))) (define-public emacs-general - (let ((commit "f38fb2294bd29261374b772f765730f2fa168b3e") - (revision "3")) + (let ((commit "a0b17d207badf462311b2eef7c065b884462cb7c") + (revision "4")) (package (name "emacs-general") (version (git-version "0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/noctuid/general.el.git") - (commit commit))) - (sha256 - (base32 - "1aqi5axkwfng6rm52sblf738c7rffp10sqs69dvkh2fv3ps8q28i")) - (file-name (git-file-name name version)))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/noctuid/general.el.git") + (commit commit))) + (sha256 + (base32 "0wn5rk3gkimdklip392mnjrmkymgrb7q9skifi03cbpjam1anzvv")) + (file-name (git-file-name name version)))) (build-system emacs-build-system) (native-inputs `(("emacs-buttercup" ,emacs-buttercup) @@ -18076,15 +18206,8 @@ advice to be recorded and displayed.") ("emacs-which-key" ,emacs-which-key) ("emacs-use-package" ,emacs-use-package))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'fix-makefile - (lambda _ - (substitute* "Makefile" - (("cask exec ") "")) - #t))) - #:tests? #t - #:test-command '("make" "test"))) + `(#:tests? #t + #:test-command '("buttercup" "-L" "test/test-general.el"))) (home-page "https://github.com/noctuid/general.el") (synopsis "More convenient key definitions in emacs") (description "@code{general.el} provides a more convenient method for @@ -18886,7 +19009,7 @@ processes for Emacs") (define-public emacs-treemacs (package (name "emacs-treemacs") - (version "2.6") + (version "2.8") (source (origin (method git-fetch) (uri (git-reference @@ -18895,7 +19018,7 @@ processes for Emacs") (file-name (git-file-name name version)) (sha256 (base32 - "13gs8g05xj7np3i2q3bbxg6zgdiazzn1spxii4x0cyd4pg83c0i1")))) + "0m083g3pg0n4ymi1w0jx34awr7cqbm4r561adij9kklblxsz7sc2")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -18917,7 +19040,9 @@ processes for Emacs") (add-after 'unpack 'fix-makefile (lambda _ (substitute* "Makefile" - (("@\\$\\(CASK\\) exec ") "")) + (("@\\$\\(CASK\\) exec ") "") + ;; Guix does not need to prepare dependencies before testing. + (("test: prepare") "test:")) #t)) (add-after 'fix-makefile 'chdir-elisp ;; Elisp directory is not in root of the source. @@ -19164,11 +19289,11 @@ as Emacs Lisp.") (license license:gpl3+)))) (define-public emacs-transient - ;; 0.1.0 depends on lv.el but not later versions. - (let ((commit "7e45a57ec81185631fe763733f64c99021df2a06")) + (let ((revision "1") + (commit "a6e4cced303b3febd59412b24a97eaf1e855e6d7")) (package (name "emacs-transient") - (version (git-version "0.1.0" "1" commit)) + (version (git-version "0.2.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -19177,48 +19302,40 @@ as Emacs Lisp.") (file-name (git-file-name name version)) (sha256 (base32 - "0r6d4c1lga3bk0s7q7y4v4hbpxnd9h40cjxybqvax2z902931fz1")))) - (build-system gnu-build-system) - (native-inputs `(("texinfo" ,texinfo) - ("emacs" ,emacs-minimal))) - (propagated-inputs - `(("dash" ,emacs-dash))) + "01xsw9sxr50valc2q590ngy3ra2ll01p39l9cbzvqqz6mxyymxmd")))) + (build-system emacs-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26) - (guix build emacs-utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build emacs-utils)) - #:tests? #f ; tests are not included in the release - #:make-flags (list "lisp" "info") + `(#:tests? #f ;no test suite #:phases (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lisp (string-append out "/share/emacs/site-lisp")) - (info (string-append out "/share/info"))) - (for-each (cut install-file <> lisp) - (find-files "." "\\.elc*$")) - (install-file "docs/transient.info" (string-append info))) + (add-after 'unpack 'build-info-manual + (lambda _ + (invoke "make" "info") + ;; Move the info file to lisp so that it gets installed by the + ;; emacs-build-system. + (rename-file "docs/transient.info" "lisp/transient.info"))) + (add-after 'build-info-manual 'enter-lisp-directory + (lambda _ + (chdir "lisp") #t))))) + (native-inputs + `(("texinfo" ,texinfo))) + (propagated-inputs + `(("dash" ,emacs-dash))) (home-page "https://magit.vc/manual/transient") (synopsis "Transient commands in Emacs") - (description - "Taking inspiration from prefix keys and prefix arguments in Emacs, -Transient implements a similar abstraction involving a prefix command, infix -arguments and suffix commands. We could call this abstraction a \"transient -command\", but because it always involves at least two commands (a prefix and -a suffix) we prefer to call it just a \"transient\".") + (description "Taking inspiration from prefix keys and prefix arguments +in Emacs, Transient implements a similar abstraction involving a prefix +command, infix arguments and suffix commands. We could call this abstraction +a \"transient command\", but because it always involves at least two +commands (a prefix and a suffix) we prefer to call it just a \"transient\".") (license license:gpl3+)))) (define-public emacs-forge - (let ((commit "63cbf81f166fc71861d8e3d246df8e5ccedcb9bb")) + (let ((commit "09bf8adc9c9afb492632e612f51f39e1cc15fca0")) (package (name "emacs-forge") - (version (git-version "0.1.0" "3" commit)) + (version (git-version "0.1.0" "4" commit)) (source (origin (method git-fetch) @@ -19228,11 +19345,10 @@ a suffix) we prefer to call it just a \"transient\".") (file-name (git-file-name name version)) (sha256 (base32 - "1yf2xjx3459py6rji740jm8bmh2pv66ghnbjxsvjd4jf9kcdav83")))) + "148h1rvmfmxyrfy2q5l0vzblr7lpsyw1si30hfwhzsj8fvj21qcr")))) (build-system emacs-build-system) (native-inputs - `(("texinfo" ,texinfo) - ("emacs" ,emacs-minimal))) + `(("texinfo" ,texinfo))) (propagated-inputs `(("emacs-closql" ,emacs-closql) ("emacs-dash" ,emacs-dash) @@ -19739,40 +19855,22 @@ invoked.") (license license:gpl3+)))) (define-public emacs-web-server - (let ((commit "cafa5b7582c57252a0884b2c33da9b18fb678713") - (revision "1")) - (package - (name "emacs-web-server") - (version (git-version "0.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/eschulte/emacs-web-server/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1c0lfqmbs5hvz3fh3c8wgp6ipwmxrwx9xj264bjpj3phixd5419y")))) - (build-system emacs-build-system) - (native-inputs - `(("curl" ,curl))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-shell - ;; Setting the SHELL environment variable is required for the tests - ;; to find sh. - (lambda _ - (setenv "SHELL" (which "sh")) - #t))) - #:tests? #t - #:test-command '("make" "check"))) - (home-page "https://github.com/eschulte/emacs-web-server/") - (synopsis "Web server with handlers in Emacs Lisp") - (description "This package supports HTTP GET and POST requests with + (package + (name "emacs-web-server") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "web-server-" version ".tar")) + (sha256 + (base32 "10lcsl4dg2yr9zjd99gq9jz150wvvh6r5y9pd88l8y9vz16f2lim")))) + (build-system emacs-build-system) + (home-page "https://github.com/eschulte/emacs-web-server/") + (synopsis "Web server with handlers in Emacs Lisp") + (description "This package supports HTTP GET and POST requests with url-encoded parameters, as well as web sockets.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-markdown-preview-mode (package @@ -20225,14 +20323,14 @@ SSH servers.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.4.3.4") + (version "2.4.3.5") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "01il42xb6s38qnb7bhn9d7gscc5p5y4da5a4dp1i1cyi823sfp8f")))) + (base32 "14djizi4ivwv4ad4nymday86jbh45w14wdhlm96743ffwr45dd2m")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs ;need D-Bus @@ -20349,15 +20447,14 @@ as: (define-public emacs-nhexl-mode (package (name "emacs-nhexl-mode") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/nhexl-mode-" - version ".el")) + (uri (string-append "https://elpa.gnu.org/packages/" + "nhexl-mode-" version ".el")) (sha256 - (base32 "1c2q4w6hkvc7z4026hiqdcsm2scd6q35x7b0dk80h8qicsbi14c8")))) + (base32 "0qvxfg7sv4iqyjxzaim6b4v9k5hav36qd4vkf9jwzw6p5fri8w8d")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/nhexl-mode.html") (synopsis "Minor mode to edit files via hex-dump format") @@ -20381,7 +20478,7 @@ moving text. In this minor mode, not only self-inserting keys overwrite existing text, but commands like `yank' and @command{kill-region} as well. @item It overrides @code{C-u} to use hexadecimal, so you can do @code{C-u a 4 C-f} to advance by #xa4 characters. -@end itemize\n") +@end itemize") (license license:gpl3+))) (define-public emacs-helm-wikipedia @@ -20683,21 +20780,24 @@ acting like notes that are made @emph{in} the document.") (license license:gpl3+)))) (define-public emacs-multi-term - (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4")) + ;; No upstream release. Extract version from main file. + (let ((commit "017c77c550115936860e2ea71b88e585371475d5") + (revision "0")) (package (name "emacs-multi-term") - (version "1.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/manateelazycat/multi-term.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0apvidmvb7rv05qjnjhax42ma8wrimik5vxx620dlbv17svz7iyf")))) + (version (git-version "1.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/manateelazycat/multi-term.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "043dqd8i8h6hbcg11rzprxin2yq5lb902zlrb7mxah44vyp8wrdi")))) (build-system emacs-build-system) - (inputs `(("zsh" ,zsh))) + (inputs + `(("zsh" ,zsh))) (home-page "https://github.com/manateelazycat/multi-term") (synopsis "Manage multiple terminal buffers in Emacs") (description @@ -20717,17 +20817,17 @@ it forcibly (define-public emacs-elpher (package (name "emacs-elpher") - (version "1.4.6") + (version "2.7.9") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/tgvaughan/elpher") + (url "git://thelambdalab.xyz/elpher.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "07xansmhn4l0b9ghzf56vyx8cqg0q01aq3pz5ikx2i19v5f0rc66")))) + "1vikzia87z5x3wx2qjihv0r2f29b7s9xkm6i1j0y646dwnzn6wzr")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -20737,7 +20837,7 @@ it forcibly (add-before 'install 'build-doc (lambda _ (invoke "makeinfo" "elpher.texi")))))) - (home-page "https://github.com/tgvaughan/elpher") + (home-page "gopher://thelambdalab.xyz/1/projects/elpher/") (synopsis "Gopher client for Emacs") (description "Elpher is a full-featured gopher client for Emacs. Its features include intuitive keyboard and mouse-driven browsing, out-of-the-box @@ -20932,30 +21032,25 @@ time.") federated microblogging social network.") (license license:gpl3+))) -;; The last release tarball is for version 0.6. We pick a commit close to -;; version 0.6.10, which doesn't have a release tarball. (define-public emacs-ebdb - (let ((commit "2a87f5ed2a53e3a4e91e8c88ba5afc49f5e945df") - (revision "0")) - (package - (name "emacs-ebdb") - (version (git-version "0.6.10" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/girzel/ebdb.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0fidy7z0c86dpqiss97sg5s92fd3fj4bdl8pqqdgg2m00jx4mrjz")))) - (build-system emacs-build-system) - (home-page "https://github.com/girzel/ebdb") - (synopsis "EIEIO port of BBDB, Emacs's contact-management package") - (description "EBDB is a contact management/addressbook package for -Emacs. It's a re-write of the Insidious Big Brother Database (BBDB) using -Emacs Lisp's (relatively new) EIEIO object oriented libraries.") - (license license:gpl3+)))) + (package + (name "emacs-ebdb") + (version "0.6.18") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "ebdb-" version ".tar")) + (sha256 + (base32 "0znbv3c7wdgak1f1zb051vg4r29fksqh53k1j77jfmqcvwkpz2mw")))) + (build-system emacs-build-system) + (home-page "https://github.com/girzel/ebdb") + (synopsis "EIEIO port of BBDB, Emacs's contact-management package") + (description + "EBDB is a contact management/addressbook package for Emacs. It's +a re-write of the Insidious Big Brother Database (BBDB) using Emacs +Lisp's (relatively new) EIEIO object oriented libraries.") + (license license:gpl3+))) (define-public emacs-refactor (package @@ -21293,14 +21388,14 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-operandi-theme (package (name "emacs-modus-operandi-theme") - (version "0.8.1") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "modus-operandi-theme-" version ".el")) (sha256 - (base32 "0i8s6blkhx53m1jk1bblqs7fwlbn57xkxxhsp9famcj5m0xyfimb")))) + (base32 "0wzwhzpw5g719xxz58v5bjqb8gdz1xzqwxslgm9cng4y3hwy3igh")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") (synopsis "Accessible light theme (WCAG AAA)") @@ -21314,14 +21409,14 @@ standard. This is the highest standard of its kind.") (define-public emacs-modus-vivendi-theme (package (name "emacs-modus-vivendi-theme") - (version "0.8.1") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "modus-vivendi-theme-" version ".el")) (sha256 - (base32 "121nlr5w58j4q47rh9xjjf9wzb97yl2m1n2l6g58ck4vnarwndl1")))) + (base32 "0f6cd93q9vrxfmgg6ff85ixcmq6acvrirb3kwgkf7qv16w3ipcir")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") (synopsis "Accessible dark theme (WCAG AAA)") @@ -21591,7 +21686,7 @@ Google guidelines.") (define-public emacs-helm-fish-completion (package (name "emacs-helm-fish-completion") - (version "0.3") + (version "0.4") (home-page "https://github.com/emacs-helm/helm-fish-completion") (source (origin @@ -21601,7 +21696,7 @@ Google guidelines.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1iv0hwr74hzgrvrr31nlnswvi87lvpg24rd1rhkr5kjicr2295fq")))) + (base32 "0mh10qq3r16hjrayrbns51gmjpjnmpzy4i05rwn14rf2icvhs6x8")))) (build-system emacs-build-system) (propagated-inputs `(("helm" ,emacs-helm) @@ -22312,6 +22407,29 @@ text, such a marking style might be used to show externally included text or example code.") (license license:gpl3+)))) +(define-public emacs-buffer-move + (package + (name "emacs-buffer-move") + (version "0.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lukhas/buffer-move.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xdks4jfqyhkh34y48iq3gz8swp0f526kwnaai5mhgvazvs4za8c")))) + (build-system emacs-build-system) + (home-page "https://github.com/lukhas/buffer-move") + (synopsis "Functions for moving Emacs' buffers around") + (description + "This package define functions for swapping buffers between windows +contained in the same frame. An alternate behavior is to have the current +window switch to the previous buffer instead of swapping with the other +window.") + (license license:gpl3+))) + (define-public emacs-company-ebdb (package (name "emacs-company-ebdb") @@ -22494,6 +22612,28 @@ two user-defined directories, as well as using more descriptive names for files and subdirectories when appropriate.") (license license:gpl3+))) +(define-public emacs-meson-mode + (package + (name "emacs-meson-mode") + (version "0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wentasah/meson-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1720b3hpfqd989zrgcns51jbjrv4vzl9di9mccl55vkmkbqzfin0")))) + (build-system emacs-build-system) + (home-page "https://github.com/wentasah/meson-mode") + (synopsis "Major mode for Meson build system files") + (description + "This is an Emacs major mode for Meson build system files. Syntax +highlighting works reliably. Indentation works too, but there are probably +cases where it breaks.") + (license license:gpl3+))) + (define-public emacs-message-x ;; Use the latest commit, as there are no tagged releases. (let ((commit "5524de7bbfdd8749c110f48de5afb024d9f83133") @@ -22521,6 +22661,32 @@ sense in the @samp{To} and @samp{Cc} headers). When in the message body, this executes a different function (default: @code{indent-relative}).") (license license:gpl2+)))) +(define-public emacs-glsl-mode + ;; No tag, version grabbed from source .el file. + (let ((commit "b07112016436d9634cd4ef747f9af6b01366d136") + (revision "0")) + (package + (name "emacs-glsl-mode") + (version (git-version "2.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jimhourihan/glsl-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0bav9ipfm0vy26n74ngsmjzc7fsyqz6xmriadzx55s44h8p5dn1s")))) + (build-system emacs-build-system) + (home-page "https://github.com/jimhourihan/glsl-mode") + (synopsis "Major mode for Open GLSL shader files") + (description + "This package provides a major mode for editing OpenGLSL grammar files, +usually files ending with @file{.vert}, @file{.frag}, @file{.glsl} or +@file{.geom}. It is based on C mode plus some features and pre-specified +fontifications.") + (license license:gpl3+)))) + (define-public emacs-gnus-harvest (let ((commit "feda071a87b799bd5d23cacde3ee71f0b166e75d") (revision "0")) @@ -22942,3 +23108,76 @@ deleting them with @code{(setq delete-by-moving-to-trash t)}. This package provides a simple but convenient user interface to manage those trashed files.") (license license:gpl3+))) + +(define-public emacs-plantuml-mode + (package + (name "emacs-plantuml-mode") + (version "1.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skuro/plantuml-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yp41d2dmf3sx7qnl5x0zdjcr9y71b2wwc9m0q31v22xqn938ipc")))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-local-plantuml + (lambda* (#:key inputs #:allow-other-keys) + (let ((plantuml (assoc-ref inputs "plantuml")) + (file "plantuml-mode.el")) + (chmod file #o644) + (emacs-substitute-variables file + ("plantuml-jar-path" + (string-append plantuml "/share/java/plantuml.jar")) + ("plantuml-executable-path" + (string-append plantuml "/bin/plantuml")) + ("plantuml-server-url" 'nil) + ("plantuml-default-exec-mode" ''executable)) + (emacs-batch-edit-file file + `(progn (progn + (goto-char (point-min)) + (re-search-forward "(defun plantuml-download-jar") + (beginning-of-line) + (kill-sexp)) + (basic-save-buffer))) + #t)))))) + (inputs + `(("plantuml" ,plantuml))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (build-system emacs-build-system) + (home-page "https://github.com/skuro/plantuml-mode") + (synopsis "Major mode for editing PlantUML sources") + (description "This package provides a major mode for editing PlantUML +sources. It features syntax highlighting, autocompletion, preview of buffer +or region and use of locally installed binaries.") + (license license:gpl3+))) + +(define-public emacs-shell-pop + (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6") + (revision "0")) + (package + (name "emacs-shell-pop") + (version (git-version "0.64" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kyagi/shell-pop-el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s77n6b9iw1x3dv91ybkpgy3zvqd12si7zw3lg0m2b6j1akrawsg")))) + (build-system emacs-build-system) + (home-page "https://github.com/kyagi/shell-pop-el") + (synopsis "Utility which helps with pop up shell buffer") + (description + "This Emacs utility helps you pop up and pop out shell buffer window +easily. Four pre-set options are: @samp{shell}, @samp{terminal}, +@samp{ansi-term}, and @samp{eshell}. You can also set your custom shell if +you use some other configuration.") + (license license:gpl3+)))) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 8b40990ec1..9be1065de2 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -1040,7 +1040,7 @@ the Raspberry Pi chip.")))) (define-public python-libmpsse (package (name "python-libmpsse") - (version "1.4") + (version "1.4.1") (source (origin (method git-fetch) @@ -1050,7 +1050,7 @@ the Raspberry Pi chip.")))) (file-name "libmpsse-checkout") (sha256 (base32 - "14f1kiiia4kfd9mzwx4h63aa8bpz9aknbrrr7mychnsp3arw0z25")))) + "1rypfb96k2szqgygp3jnwg2zq9kwmfz0460dsahn3r2vkzml8wn7")))) (build-system gnu-build-system) (inputs `(("libftdi" ,libftdi) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 85e2016e49..59240f17c4 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -470,7 +470,7 @@ and Game Boy Color games.") (define-public sameboy (package (name "sameboy") - (version "0.12.3") + (version "0.13.2") (source (origin (method git-fetch) @@ -479,7 +479,7 @@ and Game Boy Color games.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0m5rv2x8qck1kr43xq186pp4kaiay7gd1x775n9qrljcd7z4x6fs")))) + (base32 "19qb1ib9sk5bjdv4arbwkv8l2afpll5axrif3wi7p2yhvpba10c0")))) (build-system gnu-build-system) (native-inputs `(("rgbds" ,rgbds) @@ -489,7 +489,7 @@ and Game Boy Color games.") `(("sdl2" ,sdl2))) (arguments `(#:tests? #f ; There are no tests - #:make-flags `("CC=gcc" "CONF=release" + #:make-flags `("CC=gcc" "NATIVE_CC=gcc" "CONF=release" ,(string-append "DATA_DIR=" (assoc-ref %outputs "out") "/share/sameboy/")) @@ -1274,7 +1274,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.220") + (version "0.221") (source (origin (method git-fetch) @@ -1283,7 +1283,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 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4")) + (base32 "07fl7alj9zlyb93i8lnn4706ndy3qiv0pjvwnwysk5rqa0r3463y")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 37b42ca3f5..fe3c87edd5 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -61,6 +61,7 @@ #:use-module (gnu packages commencement) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages digest) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) @@ -82,6 +83,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages image-processing) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libevent) #:use-module (gnu packages linux) ;FIXME: for pcb #:use-module (gnu packages m4) #:use-module (gnu packages maths) @@ -103,6 +105,7 @@ #:use-module (gnu packages version-control) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) + #:use-module (gnu packages openkinect) #:use-module (gnu packages xorg)) (define-public librecad @@ -535,7 +538,7 @@ featuring various improvements and bug fixes."))) (copy-recursively "doc" doc) (copy-recursively "examples" examples) #t)))))) - (home-page "http://www.rle.mit.edu/cpg/research_codes.htm") + (home-page "https://www.rle.mit.edu/cpg/research_codes.htm") (synopsis "Multipole-accelerated capacitance extraction program") (description "Fastcap is a capacitance extraction program based on a @@ -583,7 +586,7 @@ multipole-accelerated algorithm.") (copy-recursively "doc" doc) (copy-recursively "examples" examples) #t)))))) - (home-page "http://www.rle.mit.edu/cpg/research_codes.htm") + (home-page "https://www.rle.mit.edu/cpg/research_codes.htm") (synopsis "Multipole-accelerated inductance analysis program") (description "Fasthenry is an inductance extraction program based on a @@ -1334,7 +1337,7 @@ bindings for Python, Java, OCaml and more.") (define-public radare2 (package (name "radare2") - (version "4.2.1") + (version "4.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -1342,39 +1345,37 @@ bindings for Python, Java, OCaml and more.") (commit version))) (sha256 (base32 - "14b9433cgc2nabhz836zfgvgh2dwailcmvy05krsa0inmzbvx9fg")) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "libr/asm/p/Makefile" - (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) ")) - (substitute* "libr/parse/p/Makefile" - (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) ")) - (substitute* "libr/bin/p/Makefile" - (("LDFLAGS\\+=") "LDFLAGS+=-Wl,-rpath=$(LIBDIR) ")) - #t)))) + "0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments '(#:tests? #f ; tests require git and network access #:phases (modify-phases %standard-phases (add-before 'configure 'mklibdir - (lambda* (#:key inputs #:allow-other-keys) - (mkdir-p (string-append (assoc-ref %outputs "out") "/lib")) + (lambda* (#:key inputs outputs #:allow-other-keys) + (mkdir-p (string-append (assoc-ref outputs "out") "/lib")) #t))) #:configure-flags - (list "--with-sysmagic" "--with-syszip" "--with-openssl" - "--without-nonpic" "--with-rpath" "--with-syscapstone") + (list "--with-openssl" + "--with-rpath" + "--with-syscapstone" + "--with-sysmagic" + "--with-syszip" + "--with-sysxxhash") #:make-flags (list "CC=gcc"))) + ;; TODO: Add gmp and libzip and make the build system actually find them. (inputs - `(("openssl" ,openssl) - ("zip" ,zip) - ("gmp" ,gmp) - ("capstone" ,capstone))) + `(("capstone" ,capstone) + ("libuv" ,libuv) + ("openssl" ,openssl) + ("zip" ,zip))) (native-inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs + ;; In the Libs: section of r_hash.pc. + `(("xxhash" ,xxhash))) (home-page "https://radare.org/") (synopsis "Reverse engineering framework") (description @@ -2047,17 +2048,18 @@ simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.") (define-public librepcb (package (name "librepcb") - (version "0.1.3") + (version "0.1.4") (source (origin (method url-fetch) (uri (string-append "https://download.librepcb.org/releases/" version "/librepcb-" version "-source.zip")) (sha256 - (base32 "1ich849dsx2hmcwlwbry4mkg374n940l3hy6srh4qms2rm7vd7x0")))) + (base32 "1b5dkanz3q0y5ag80w0l85hn7axrachb5m9zvyv4zvzrfy09wa88")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) ("zlib" ,zlib))) (native-inputs `(("qttools" ,qttools) ; for lrelease @@ -2174,7 +2176,7 @@ simulation.") (define-public cutter (package (name "cutter") - (version "1.10.1") + (version "1.10.3") (source (origin (method git-fetch) @@ -2183,8 +2185,7 @@ simulation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1gvsrcskcdd1hxrjpkpc657anmfs25f174vxk4wzvn385rnmrxd3")))) + (base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2193,8 +2194,8 @@ simulation.") (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (radare2 (assoc-ref inputs "radare2"))) - ;; fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib - ;; override `qmake PREFIX=` + ;; Fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib + ;; override `qmake PREFIX=`. (substitute* "./src/lib_radare2.pri" (("PREFIX") "R2PREFIX") (("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2))) @@ -2263,7 +2264,9 @@ specification can be downloaded at @url{http://3mf.io/specification/}.") ".src.tar.gz")) (sha256 (base32 - "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha")))) + "0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha")) + (patches (search-patches + "openscad-parser-boost-1.72.patch")))) (build-system cmake-build-system) (inputs `(("boost" ,boost) @@ -2617,3 +2620,60 @@ accessible through a simple API") model files. Its main goal is to simplify the creation of 3DS import and export filters.") (license license:lgpl2.1+))) + +(define-public meshlab + (package + (name "meshlab") + (version "2020.05") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cnr-isti-vclab/meshlab") + (commit (string-append "Meshlab-" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m")))) + (build-system cmake-build-system) + (inputs + `(("qtbase" ,qtbase) + ("qtscript" ,qtscript) + ("qtxmlpatterns" ,qtxmlpatterns) + ("mesa" ,mesa) + ("glu" ,glu) + ("glew" ,glew) + ("muparser" ,muparser) + ("gmp" ,gmp) + ("eigen" ,eigen) + ("libfreenect" ,libfreenect) + ("lib3ds" ,lib3ds) + ("openctm" ,openctm) + ;; FIXME: Compilation fails with system qhull: + ;; https://github.com/cnr-isti-vclab/meshlab/issues/678 + ;; ("qhull" ,qhull) + )) + (arguments + `(#:tests? #f ; Has no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'go-to-source-dir + (lambda _ (chdir "src") #t)) + (add-after 'install 'move-files + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") + "/lib"))) + (rename-file + (string-append lib "/meshlab/libmeshlab-common.so") + (string-append lib "/libmeshlab-common.so")) + #t)))))) + (synopsis "3D triangular mesh processing and editing software") + (home-page "https://www.meshlab.net/") + (description "MeshLab is a system for the processing and +editing of unstructured large 3D triangular meshes. It is aimed to help the +processing of the typical not-so-small unstructured models arising in 3D +scanning, providing a set of tools for editing, cleaning, healing, inspecting, +rendering and converting this kind of meshes. These tools include MeshLab +proper, a versatile program with a graphical user interface, and meshlabserver, +a program that can perform mesh processing tasks in batch mode, without a +GUI.") + (license license:gpl3+))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 32d8ea9c0d..40f1191416 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz> ;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de> @@ -33,6 +33,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages avahi) #:use-module (gnu packages bash) + #:use-module (gnu packages bittorrent) #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages compression) @@ -69,7 +70,7 @@ (define-public efl (package (name "efl") - (version "1.23.3") + (version "1.24.2") (source (origin (method url-fetch) (uri (string-append @@ -77,7 +78,7 @@ version ".tar.xz")) (sha256 (base32 - "00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk")))) + "0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1")))) (build-system meson-build-system) (native-inputs `(("check" ,check) @@ -93,6 +94,7 @@ ("libraw" ,libraw) ("librsvg" ,librsvg) ("libspectre" ,libspectre) + ("libtiff" ,libtiff) ("libxau" ,libxau) ("libxcomposite" ,libxcomposite) ("libxcursor" ,libxcursor) @@ -102,18 +104,19 @@ ("libxi" ,libxi) ("libxfixes" ,libxfixes) ("libxinerama" ,libxinerama) - ("libxp" ,libxp) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) ("libxss" ,libxscrnsaver) ("libxtst" ,libxtst) + ("libwebp" ,libwebp) + ("openjpeg" ,openjpeg) ("poppler" ,poppler) + ("util-linux" ,util-linux "lib") ("wayland-protocols" ,wayland-protocols))) (propagated-inputs ;; All these inputs are in package config files in section ;; Requires.private. `(("avahi" ,avahi) - ("bullet" ,bullet) ("dbus" ,dbus) ("elogind" ,elogind) ("eudev" ,eudev) @@ -122,30 +125,32 @@ ("fribidi" ,fribidi) ("glib" ,glib) ("harfbuzz" ,harfbuzz) - ("luajit" ,luajit) ("libinput" ,libinput-minimal) ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) ("libsndfile" ,libsndfile) - ("libtiff" ,libtiff) - ("libwebp" ,libwebp) + ("libpng" ,libpng) ("libx11" ,libx11) ("libxkbcommon" ,libxkbcommon) + ("luajit" ,luajit) ("lz4" ,lz4) ("openssl" ,openssl) ("pulseaudio" ,pulseaudio) - ("util-linux" ,util-linux "lib") ("wayland" ,wayland) ("zlib" ,zlib))) (arguments `(#:configure-flags '("-Dsystemd=false" + "-Delogind=true" "-Dembedded-lz4=false" "-Devas-loaders-disabler=json" "-Dbuild-examples=false" + "-Decore-imf-loaders-disabler=scim" + "-Davahi=true" + "-Dglib=true" + "-Dmount-path=/run/setuid-programs/mount" + "-Dunmount-path=/run/setuid-programs/umount" ;(string-append "-Ddictionaries-hyphen-dir=" ; (assoc-ref %build-inputs "hyphen") ; "/share/hyphen") - "-Delogind=true" "-Dnetwork-backend=connman" ,@(match (%current-system) ("armhf-linux" @@ -153,22 +158,27 @@ (_ '("-Dopengl=full"))) ;; for wayland - "-Dwl-deprecated=true" ; ecore_wayland - "-Ddrm-deprecated=true" ; ecore_drm "-Dwl=true" "-Ddrm=true") #:tests? #f ; Many tests fail due to timeouts and network requests. #:phases (modify-phases %standard-phases - ;; If we don't hardcode the location of libcurl.so then we - ;; have to wrap the outputs of efl's dependencies in curl. - (add-after 'unpack 'hardcode-libcurl-location + ;; If we don't hardcode the location of libcurl.so and others then we + ;; have to wrap the outputs of efl's dependencies in those libraries. + (add-after 'unpack 'hardcode-dynamic-libraries (lambda* (#:key inputs #:allow-other-keys) - (let* ((curl (assoc-ref inputs "curl")) - (lib (string-append curl "/lib/"))) + (let ((curl (assoc-ref inputs "curl")) + (pulse (assoc-ref inputs "pulseaudio")) + (sndfile (assoc-ref inputs "libsndfile")) + (lib "/lib/")) (substitute* "src/lib/ecore_con/ecore_con_url_curl.c" (("libcurl.so.?" libcurl) ; libcurl.so.[45] - (string-append lib libcurl))) + (string-append curl lib libcurl))) + (substitute* "src/lib/ecore_audio/ecore_audio.c" + (("libpulse.so.0" libpulse) + (string-append pulse lib libpulse)) + (("libsndfile.so.1" libsnd) + (string-append sndfile lib libsnd))) #t))) (add-after 'unpack 'fix-install-paths (lambda _ @@ -283,7 +293,7 @@ Libraries with some extra bells and whistles.") (define-public enlightenment (package (name "enlightenment") - (version "0.23.1") + (version "0.24.1") (source (origin (method url-fetch) (uri @@ -291,27 +301,27 @@ Libraries with some extra bells and whistles.") "enlightenment/enlightenment-" version ".tar.xz")) (sha256 (base32 - "0d1cyl07w9pvi2pf029kablazks2q9aislzl46b6fq5m1465jc75")) + "02aadl5fqvpmpjnisrc4aw7ffwyp1109y4k1wvmp33ciihbvdqmf")) (patches (search-patches "enlightenment-fix-setuid-path.patch")))) (build-system meson-build-system) (arguments - `(#:configure-flags '("-Dsystemd=false") + `(#:configure-flags + (let ((efl (assoc-ref %build-inputs "efl"))) + (list "-Dsystemd=false" + "-Dpackagekit=false" + (string-append "-Dedje-cc=" efl "/bin/edje_cc") + (string-append "-Deldbus-codegen=" efl "/bin/eldbus-codegen") + (string-append "-Deet=" efl "/bin/eet"))) #:phases (modify-phases %standard-phases (delete 'bootstrap) ; We don't want to run the autogen script. - (add-after 'unpack 'fix-dot-desktop-creation - (lambda _ - (substitute* "data/session/meson.build" - (("HAVE_WAYLAND'.*") "HAVE_WAYLAND') == true\n")) - #t)) (add-before 'configure 'set-system-actions (lambda* (#:key inputs #:allow-other-keys) - (setenv "HOME" "/tmp") + (setenv "HOME" "/tmp") (let ((xkeyboard (assoc-ref inputs "xkeyboard-config")) (setxkbmap (assoc-ref inputs "setxkbmap")) (utils (assoc-ref inputs "util-linux")) (libc (assoc-ref inputs "libc")) - (bluez (assoc-ref inputs "bluez")) (bc (assoc-ref inputs "bc")) (efl (assoc-ref inputs "efl"))) ;; We need to patch the path to 'base.lst' to be able @@ -328,23 +338,22 @@ Libraries with some extra bells and whistles.") "src/modules/conf_intl/e_int_config_intl.c" "src/modules/wizard/page_010.c") (("locale -a") (string-append libc "/bin/locale -a"))) - (substitute* "src/bin/e_import_config_dialog.c" - (("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)") - (string-append efl "/bin/edje_cc -v %s %s %s\""))) (substitute* "src/modules/everything/evry_plug_apps.c" (("/usr/bin/") "")) + (substitute* '("src/bin/e_sys_main.c" + "src/bin/e_util_suid.h") + (("PATH=/bin:/usr/bin:/sbin:/usr/sbin") + (string-append "PATH=/run/setuid-programs:" + "/run/current-system/profile/bin:" + "/run/current-system/profile/sbin"))) (substitute* "src/modules/everything/evry_plug_calc.c" (("bc -l") (string-append bc "/bin/bc -l"))) (substitute* "data/etc/meson.build" (("/bin/mount") "/run/setuid-programs/mount") (("/bin/umount") "/run/setuid-programs/umount") - (("/usr/bin/eject") (string-append utils "/bin/eject")) - (("/usr/bin/l2ping") (string-append bluez "/bin/l2ling")) - (("/bin/rfkill") (string-append utils "/sbin/rfkill")) - (("SUSPEND = ''") "SUSPEND = '/run/current-system/profile/bin/loginctl suspend'") - (("HIBERNATE = ''") "HIBERNATE = '/run/current-system/profile/bin/loginctl hibernate'") - (("/sbin/shutdown -h now") "/run/current-system/profile/bin/loginctl poweroff now") - (("/sbin/shutdown -r now") "/run/current-system/profile/bin/loginctl reboot now")) + (("/usr/bin/eject") (string-append utils "/bin/eject"))) + (substitute* "src/bin/system/e_system_power.c" + (("systemctl") "loginctl")) #t)))))) (native-inputs `(("gettext" ,gettext-minimal) @@ -389,7 +398,7 @@ embedded systems.") (define-public python-efl (package (name "python-efl") - (version "1.23.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -397,7 +406,7 @@ embedded systems.") "python/python-efl-" version ".tar.xz")) (sha256 (base32 - "16yn6a1b9167nfmryyi44ma40m20ansfpwgrvqzfvwix7qaz9pib")) + "1vk1cdd959gia4a9qzyq56a9zw3lqf9ck66k8c9g3c631mp5cfpy")) (modules '((guix build utils))) ;; Remove files generated by Cython (snippet @@ -590,3 +599,42 @@ directories. "This is a process monitor and system monitor using the @dfn{Enlightenment Foundation Libraries} (EFL).") (license license:bsd-2))) + +(define-public epour + (package + (name "epour") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.enlightenment.org/rel/apps/epour" + "/epour-" version ".tar.xz")) + (sha256 + (base32 + "0g9f9p01hsq6dcf4cs1pwq95g6fpkyjgwqlvdjk1km1i5gj5ygqw")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no test target + #:use-setuptools? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-theme-dir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "epour/gui/__init__.py" + (("join\\(data_path") + (string-append "join(\"" out "/share/epour\""))) + #t)))))) + (native-inputs + `(("intltool" ,intltool) + ("python-distutils-extra" ,python-distutils-extra))) + (inputs + `(("libtorrent-rasterbar" ,libtorrent-rasterbar) + ("python-dbus" ,python-dbus) + ("python-efl" ,python-efl) + ("python-pyxdg" ,python-pyxdg))) + (home-page "https://www.enlightenment.org") + (synopsis "EFL Bittorrent client") + (description "Epour is a BitTorrent client based on the @dfn{Enlightenment +Foundation Libraries} (EFL) and rb-libtorrent.") + (license license:gpl3+))) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 293322c76b..dd72152c51 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -27,6 +27,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system linux-module) #:use-module (guix build-system trivial) @@ -53,7 +54,9 @@ #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages rsync) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) @@ -100,7 +103,7 @@ file permissions, timestamps, symbolic and hard links, and extended attributes. Each file in the archive is protected by a checksum. If part of the archive is corrupted you'll lose the affected file(s) but not the whole back-up.") - (home-page "http://www.fsarchiver.org/") + (home-page "https://www.fsarchiver.org/") (license license:gpl2))) (define-public gphotofs @@ -187,6 +190,38 @@ caching system, and lets you assign different roles to each device based on its performance and other characteristics.") (license license:gpl2+)))) +(define-public exfatprogs + (package + (name "exfatprogs") + (version "1.0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/exfatprogs/exfatprogs") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s47qvhr702z5c19wfqz8cwl9ammmincs7a8vjc6p974wnnjg77y")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-static"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/exfatprogs/exfatprogs") + (synopsis "Tools to create, check, and repair exFAT file systems") + (description + "These are command-line user space tools for the @acronym{exFAT, +Extensible File Allocation Table} file systems. Included are +@command{mkfs.exfat} to create (format) new exFAT file systems, and +@command{fsck.exfat} to check their consistency and repair them.") + (license license:gpl2+))) + (define-public httpfs2 (package (name "httpfs2") @@ -323,7 +358,7 @@ from the jfsutils package. It is meant to be used in initrds.") (define-public disorderfs (package (name "disorderfs") - (version "0.5.9") + (version "0.5.10") (source (origin (method git-fetch) @@ -333,7 +368,7 @@ from the jfsutils package. It is meant to be used in initrds.") (file-name (git-file-name name version)) (sha256 (base32 - "0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g")))) + "0lsisx5118k0qk0b5klbxl03rvhycnznyfx05yxmjawh85bfhmlh")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -491,8 +526,9 @@ network. LIBNFS offers three different APIs, for different use : )))) (define-public apfs-fuse - (let ((commit "c7036a3030d128bcecefc1eabc47c039ccfdcec9") - (revision "0")) + ;; Later versions require FUSE 3. + (let ((commit "7b89418e8dc27103d3c4f8fa348086ffcd634c17") + (revision "1")) (package (name "apfs-fuse") (version (git-version "0.0.0" revision commit)) @@ -504,11 +540,13 @@ network. LIBNFS offers three different APIs, for different use : (commit commit))) (sha256 (base32 - "1akd4cx1f9cyq6sfk9ybv4chhjwjlnqi8ic4z5ajnd5x0g76nz3r")) + "0x2siy3cmnm9wsdfazg3xc8r3kbg73gijmnn1vjw33pp71ckylxr")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test suite + #:configure-flags + '("-DUSE_FUSE3=OFF") ; FUSE 3 is not packaged yet. #:phases (modify-phases %standard-phases ;; No 'install' target in CMakeLists.txt @@ -523,6 +561,7 @@ network. LIBNFS offers three different APIs, for different use : (install-file "apfs-dump-quick" bin) (install-file "apfs-fuse" bin) (install-file "libapfs.a" lib) + (install-file "../source/README.md" doc) #t)))))) (inputs `(("bzip2" ,bzip2) @@ -646,3 +685,100 @@ APFS.") originally developed for Solaris and is now maintained by the OpenZFS community.") (license license:cddl1.0))) + +(define-public mergerfs + (package + (name "mergerfs") + (version "2.29.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/trapexit/mergerfs/releases/download/" + version "/mergerfs-" version ".tar.gz")) + (sha256 + (base32 + "17gizw4vgbqqjd2ykkfpp276942jb5qclp0lkiwkmq1yjgyjqfmk")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No tests exist. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "CC" "gcc") + ;; These were copied from the package libfuse. + (substitute* '("libfuse/lib/mount_util.c" "libfuse/util/mount_util.c") + (("/bin/(u?)mount" _ maybe-u) + (string-append (assoc-ref inputs "util-linux") + "/bin/" maybe-u "mount"))) + (substitute* '("libfuse/util/mount.mergerfs.c") + (("/bin/sh") + (which "sh"))) + ;; The Makefile does not allow overriding PREFIX via make variables. + (substitute* '("Makefile" "libfuse/Makefile") + (("= /usr/local") (string-append "= " (assoc-ref outputs "out"))) + ;; cannot chown as build user + (("chown root:root") "true")) + #t))))) + ;; mergerfs bundles a heavily modified copy of libfuse. + (inputs `(("util-linux" ,util-linux))) + (home-page "https://github.com/trapexit/mergerfs") + (synopsis "Featureful union filesystem") + (description "mergerfs is a union filesystem geared towards simplifying +storage and management of files across numerous commodity storage devices. It +is similar to mhddfs, unionfs, and aufs.") + (license (list + license:isc ; mergerfs + license:gpl2 license:lgpl2.0 ; Imported libfuse code. + )))) + +(define-public mergerfs-tools + (let ((commit "c926779d87458d103f3b674603bf97801ae2486d") + (revision "1")) + (package + (name "mergerfs-tools") + ;; No released version exists. + (version (git-version "0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trapexit/mergerfs-tools.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04hhwcib0xv4cf1mkj8zrp2aqpxkncml9iqg4m1mz6a5zhzsk0vm")))) + (build-system copy-build-system) + (inputs + `(("python" ,python) + ("python-xattr" ,python-xattr) + ("rsync" ,rsync))) + (arguments + '(#:install-plan + '(("src/" "bin/")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (find-files "src" "^mergerfs\\.") + (("'rsync'") + (string-append "'" (assoc-ref inputs "rsync") "/bin/rsync'")) + (("'rm'") + (string-append "'" (assoc-ref inputs "coreutils") "/bin/rm'"))) + (substitute* "src/mergerfs.mktrash" + (("xattr") + (string-append (assoc-ref inputs "python-xattr") "/bin/xattr")) + (("mkdir") + (string-append (assoc-ref inputs "coreutils") "/bin/mkdir"))) + #t))))) + (synopsis "Tools to help manage data in a mergerfs pool") + (description "mergerfs-tools is a suite of programs that can audit +permissions and ownership of files and directories on a mergerfs volume, +duplicates files and directories across branches in its pool, find and remove +duplicate files, balance pool drives, consolidate files in a single mergerfs +directory onto a single drive and create FreeDesktop.org Trash specification +compatible directories.") + (home-page "https://github.com/trapexit/mergerfs-tools") + (license license:isc)))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 92a00240f3..552c2abed3 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -19,6 +19,7 @@ ;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -172,23 +173,22 @@ line client and a client based on Qt.") (define-public homebank (package (name "homebank") - (version "5.2.8") + (version "5.4.2") (source (origin (method url-fetch) (uri (string-append "http://homebank.free.fr/public/homebank-" version ".tar.gz")) (sha256 (base32 - "13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y")))) + "0bkjvd819kw9cwmr3macggbg8yil3yc8v2za8pjrl6g746s89kn6")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) (inputs `(("gtk+" ,gtk+) + ("libofx" ,libofx) ("libsoup" ,libsoup))) - (arguments - `(#:configure-flags (list "-without-ofx"))) ; libofx is not available yet (home-page "http://homebank.free.fr/") (synopsis "Graphical personal accounting application") (description "HomeBank allows you to manage your personal accounts at @@ -475,7 +475,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.0.14") + (version "4.0.15") (source (origin (method git-fetch) @@ -484,7 +484,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1dp7cj1185h6xfz6jzh0iq58zvg3wq9hl96bkgxkf5h4ygni2vm6")))) + (base32 "0bvj64fdxpi0dbivhgv509kqq503zjp7r7xckl8q5c48j5h1zik2")))) (build-system python-build-system) (inputs `(("libevent" ,libevent) @@ -547,7 +547,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.15.0.5") + (version "0.16.0.0") (source (origin (method git-fetch) @@ -568,7 +568,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch #t)) (sha256 (base32 - "06zzwa0y8ic6x3y2fy501788r51p4klanyvmm76ywrwf087njlkv")))) + "0x74h5z0nxxxip97ibc854pqmrgd8r4d6w62m424f66i8gbzfskh")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -666,7 +666,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.15.0.4") + (version "0.16.0.0") (source (origin (method git-fetch) @@ -676,14 +676,16 @@ the Monero command line client and daemon.") (file-name (git-file-name name version)) (sha256 (base32 - "12m5fgnxkr11q2arx1m5ccpxqm5ljcvm6l547dwqn297zs5jim4z")))) + "06vdrsj5y9k0zn32hspyxc7sw1kkyrvi3chzkdbnxk9jvyj8k4ld")))) (build-system qt-build-system) (native-inputs - `(("pkg-config" ,pkg-config) + `(("monero-source" ,(package-source monero)) + ("pkg-config" ,pkg-config) ("qttools" ,qttools))) (inputs `(("boost" ,boost) ("hidapi" ,hidapi) + ("libgcrypt" ,libgcrypt) ("libsodium" ,libsodium) ("libunwind" ,libunwind) ("libusb" ,libusb) @@ -705,7 +707,16 @@ the Monero command line client and daemon.") `(#:tests? #f ; No tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-makefile-vars + (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. + (lambda* (#:key inputs #:allow-other-keys) + (invoke "tar" "-xv" "--wildcards" "--strip-components=1" + "-C" "monero" + "-f" (assoc-ref inputs "monero-source") + "*.asc" "*.h") + #t)) + (add-after 'get-monero-extra-files 'fix-makefile-vars (lambda _ (substitute* "src/zxcvbn-c/makefile" (("\\?=") "=")) @@ -1510,14 +1521,14 @@ like Flowee the Hub, which Fulcrum connects to over RPC.") (define-public flowee (package (name "flowee") - (version "2020.03.3") + (version "2020.04.1") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/" version "/thehub-" version ".tar.gz")) (sha256 - (base32 "0ksyh7ll3v9p8f5y15vcb2vkrpzb4h0ricag9j90ad4b4rfsnpjw")))) + (base32 "1vwvaxm3b71pfx8l4rrv06wqks6xdf2333w856b36s1bzvj53rhc")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF") @@ -1535,6 +1546,8 @@ like Flowee the Hub, which Fulcrum connects to over RPC.") (lambda _ (substitute* "testing/CMakeLists.txt" (("test_api") "")) + (substitute* "testing/CMakeLists.txt" + (("add_subdirectory\\(api\\)") "")) #t)) (add-after 'configure 'set-build-info ;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) . diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index f4071f456f..4ed0f9a037 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2020 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -196,7 +197,7 @@ itself.")))) (define-public font-cantarell (package (name "font-abattis-cantarell") - (version "0.111") + (version "0.201") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/cantarell-fonts/" @@ -204,11 +205,10 @@ itself.")))) "/cantarell-fonts-" version ".tar.xz")) (sha256 (base32 - "05hpnhihwm9sxlq1qn993g03pwkmpjbn0dvnba71r1gfjv0jp2w5")))) + "0qwqmkczqy09fdj8l11nr841ks0dwsydqg55qyms12m4yvjn87xn")))) (build-system meson-build-system) (native-inputs - `(("appstream-glib" ,appstream-glib) - ("gettext" ,gettext-minimal))) ;for msgfmt + `(("gettext" ,gettext-minimal))) ; for msgfmt (home-page "https://wiki.gnome.org/Projects/CantarellFonts") (synopsis "Cantarell sans-serif typeface") (description "The Cantarell font family is a contemporary Humanist @@ -310,14 +310,14 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over (define-public font-liberation (package (name "font-liberation") - (version "2.00.5") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/liberationfonts/liberation-fonts/" - "files/2926169/liberation-fonts-ttf-" version ".tar.gz")) + "files/4743886/liberation-fonts-ttf-" version ".tar.gz")) (sha256 - (base32 "0kdjsbf0y716k1kv0i0ixdpvg7b9b8xkcsg6favaxdc7pshg0kzi")))) + (base32 "1jkg8j8jx7ffj13z5ilw7dids99dyypljm1pv06ycmghw1pw3qlf")))) (build-system font-build-system) (home-page "https://github.com/liberationfonts") (synopsis "Fonts compatible with Arial, Times New Roman, and Courier New") @@ -678,7 +678,7 @@ for use at smaller text sizes"))) (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "13.0.01") + (version "13.0.02") (source (origin (method url-fetch) @@ -688,7 +688,7 @@ for use at smaller text sizes"))) (string-append "mirror://gnu/unifont/unifont-" version "/unifont-" version ".tar.gz"))) (sha256 - (base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b")))) + (base32 "1fg908qadh14kfbpzqfj3vgzlxgx68sdlwhl2prz7arq5r45dami")))) (build-system gnu-build-system) (outputs '("out" ; TrueType version "pcf" ; PCF (bitmap) version @@ -1068,7 +1068,7 @@ vector graphics.") (define-public font-tamzen (package (name "font-tamzen") - (version "1.11.4") + (version "1.11.5") (source (origin (method git-fetch) @@ -1077,8 +1077,7 @@ vector graphics.") (commit (string-append "Tamzen-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "17kgmvg6q32mqhx9g44hjvzv0si0mnpprga4z7na930g2zdd8846")))) + (base32 "00x5fipzqimglvshhqwycdhaqslbvn3rl06jnswhyxfvz16ymj7s")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -1122,16 +1121,14 @@ later hand-tweaked with the gbdfed(1) editor: (define-public font-comic-neue (package (name "font-comic-neue") - ;; The ‘v2.3’ and ‘v2.4’ releases at https://github.com/crozynski/comicneue - ;; are equivalent. The home page hosts 2.3, not 2.4, so we use that here. - (version "2.3") + (version "2.5") (source (origin (method url-fetch/zipbomb) (uri (string-append "http://www.comicneue.com/comic-neue-" version ".zip")) (sha256 (base32 - "1695hkpd8kqnr2a88p8xs496slgzxjjkzpa9aa33ml3pnh7519zk")))) + "1ng0m0zs7qr91qy5ff0l01l27npr76961c6zfkxnhxf68zpwz5k4")))) (build-system font-build-system) (arguments `(#:phases @@ -1250,6 +1247,34 @@ programming. Iosevka is completely generated from its source code.") (for-each make-file-writable (find-files "." ".*")) #t))))))) +(define-public font-sarasa-gothic + (package + (name "font-sarasa-gothic") + (version "0.12.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/be5invis/Sarasa-Gothic" + "/releases/download/v" version + "/sarasa-gothic-ttc-" version ".7z")) + (sha256 + (base32 "1g6k9d5lajchbhsh3g12fk5cgilyy6yw09fals9vc1f9wsqvac86")))) + (build-system font-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (mkdir "source") + (chdir "source") + (invoke "7z" "x" source)))))) + (native-inputs `(("p7zip" ,p7zip))) + (home-page "https://github.com/be5invis/Sarasa-Gothic") + (license license:silofl1.1) + (synopsis "Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック / 사라사 고딕") + (description + "Sarasa Gothic is a programming font based on Iosevka and Source Han Sans, +most CJK characters are same height, and double width as ASCII characters."))) + (define-public font-go (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc") (revision "1")) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 3e9343ecbc..09793f93de 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages autotools) + #:use-module (gnu packages fonts) #:use-module (gnu packages gettext) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -292,6 +293,12 @@ fonts to/from the WOFF2 format.") (define-public fontconfig (package (name "fontconfig") + + ;; This replacement is not security-related, but works around the fact + ;; that gs-fonts are not recognized by newer versions of Pango, causing + ;; many applications to fail to find fonts otherwise. + (replacement fontconfig/font-dejavu) + (version "2.13.1") (source (origin (method url-fetch) @@ -348,6 +355,13 @@ high quality, anti-aliased and subpixel rendered text on a display.") "See COPYING in the distribution.")) (home-page "https://www.freedesktop.org/wiki/Software/fontconfig"))) +(define fontconfig/font-dejavu + (package + (inherit fontconfig) + (inputs + ;; XXX: Reuse the name to avoid having to override the configure flags. + `(("gs-fonts" ,font-dejavu))))) + (define-public t1lib (package (name "t1lib") diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index ed5bc14e31..fda5de60c7 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -340,7 +340,7 @@ FOSS FPGA place and route tool.") (define-public gtkwave (package (name "gtkwave") - (version "3.3.103") + (version "3.3.104") (source (origin (method url-fetch) @@ -350,7 +350,7 @@ FOSS FPGA place and route tool.") (string-append "http://gtkwave.sourceforge.net/" "gtkwave-" version ".tar.gz"))) (sha256 - (base32 "1xzaxqbabj4sb4n10yki5acglx3736pwl3kwlq4k7i96rzvsn9f3")))) + (base32 "0kw9a33gx60kn069yhx5pyk39x1z3pwaj8l1qqwq943v62lx23fj")))) (build-system gnu-build-system) (native-inputs `(("gperf" ,gperf) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index f00cb1e076..f8c2ea298f 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -185,14 +185,14 @@ freedesktop.org project.") ;; Updating this will rebuild over 700 packages through libinput-minimal. (package (name "libinput") - (version "1.15.2") + (version "1.15.5") (source (origin (method url-fetch) (uri (string-append "https://freedesktop.org/software/libinput/" "libinput-" version ".tar.xz")) (sha256 (base32 - "0ivpb4sghl80cs7jg3xrs53kckif6wy81cny3a8mry94nszky74p")))) + "15ww4jl3lcxyi8m8idg8canklbqv729gnwpkz7r98c1w8a7zq3m9")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=false") @@ -1084,7 +1084,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") (define-public libqmi (package (name "libqmi") - (version "1.24.4") + (version "1.24.14") (source (origin (method url-fetch) (uri (string-append @@ -1092,7 +1092,7 @@ which speak the Mobile Interface Broadband Model (MBIM) protocol.") "libqmi-" version ".tar.xz")) (sha256 (base32 - "12licfsszr6qxpg9b2b04qm2glk8d42fcy32zr8jzwrgr7gbl5h3")))) + "0zshxqbm9ldybgrzh7pjmwmfjvvvfd0xh8qhgl8xiqdb9ply73r0")))) (build-system gnu-build-system) (inputs `(("libgudev" ,libgudev))) @@ -1115,7 +1115,7 @@ which speak the Qualcomm MSM Interface (QMI) protocol.") (define-public modem-manager (package (name "modem-manager") - (version "1.10.8") + (version "1.12.10") (source (origin (method url-fetch) (uri (string-append @@ -1123,15 +1123,11 @@ which speak the Qualcomm MSM Interface (QMI) protocol.") "ModemManager-" version ".tar.xz")) (sha256 (base32 - "16hnl0sdriqgv4v30mfs64mdl9rw7lsh802zlm3ggwxxil3p9qfb")))) + "1apq9camys2gaw6y6ic1ld20cncfwpmxnzvh4j5zkbbjpf5hbcxj")))) (build-system gnu-build-system) (arguments '(#:configure-flags - `(,(string-append "--with-udev-base-dir=" %output "/lib/udev") - ;; FIXME: Without this flag the build fails with "error: assignment - ;; from incompatible pointer type" whenever the return value of - ;; "g_object_ref" is assigned to "ctx->self". - "--disable-more-warnings"))) + `(,(string-append "--with-udev-base-dir=" %output "/lib/udev")))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums ("gobject-introspection" ,gobject-introspection) diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 57fe527cbe..78ab287c5b 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -28,15 +28,17 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.6.4") + (version "1.6.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5")))) + "1ncf1s84752xaq07h36wrxa5ww1167s2bizkww0igxv8djyddwk1")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (inputs `(("libgcrypt" ,libgcrypt))) (home-page "https://www.gnu.org/software/freeipmi/") diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 26aa4f714b..b899c2fe6c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -191,39 +191,39 @@ DeuTex has functions such as merging wads, etc.") (package (name "grfcodec") (version "6.0.6") - (source (origin - (method url-fetch) - (uri (string-append "http://binaries.openttd.org/extra/" - name "/" version "/" name "-" version - "-source.tar.xz")) - (sha256 - (base32 - "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://binaries.openttd.org/extra/" + name "/" version "/" name "-" version + "-source.tar.xz")) + (sha256 + (base32 "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; no check target + '(#:tests? #f ;no check target #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (replace 'install ; no install target - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (doc (string-append out "/share/doc")) - (man (string-append out "/share/man/man1"))) - (for-each (lambda (file) - (install-file file bin)) - '("grfcodec" "grfid" "grfstrip" "nforenum")) - (install-file "COPYING" doc) - (with-directory-excursion "docs" - (for-each (lambda (file) - (install-file (string-append file ".txt") doc)) - '("auto_correct" "commands" "grf" "grfcodec" "grftut" - "readme" "readme.rpn")) - (for-each (lambda (file) - (install-file file man)) - (find-files "." "\\.1")))) - #t))))) + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (replace 'install ;no install target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc")) + (man (string-append out "/share/man/man1"))) + (for-each (lambda (file) + (install-file file bin)) + '("grfcodec" "grfid" "grfstrip" "nforenum")) + (install-file "COPYING" doc) + (with-directory-excursion "docs" + (for-each (lambda (file) + (install-file (string-append file ".txt") doc)) + '("auto_correct" "commands" "grf" "grfcodec" "grftut" + "readme" "readme.rpn")) + (for-each (lambda (file) + (install-file file man)) + (find-files "." "\\.1")))) + #t))))) (inputs `(("boost" ,boost) ("libpng" ,libpng) @@ -240,7 +240,7 @@ with a specific task: @item @code{nforenum} checks NFO code for errors, making corrections when necessary. @end enumerate") - (home-page "http://dev.openttdcoop.org/projects/grfcodec") + (home-page "https://dev.openttdcoop.org/projects/grfcodec") ;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2. ;; NFORenum is under the GPL2+. ;; The MD5 implementation contained in GRFID is under the zlib license. @@ -256,15 +256,14 @@ necessary. (uri (string-append "https://binaries.openttd.org/extra/catcodec/" version "/catcodec-" version "-source.tar.xz")) (sha256 - (base32 - "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7")))) + (base32 "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests #:make-flags (list (string-append "prefix=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) - (home-page "http://dev.openttdcoop.org/projects/catcodec") + (home-page "https://dev.openttdcoop.org/projects/catcodec") (synopsis "Encode/decode OpenTTD sounds") (description "catcodec encodes and decodes sounds for OpenTTD. These sounds are not much more than some metadata (description and filename) and raw @@ -632,6 +631,7 @@ garbage collection and can be extended with plugins.") (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target + #:configure-flags '("-DPHYSFS_BUILD_STATIC=OFF") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-CMakeLists.txt (lambda _ @@ -681,7 +681,6 @@ archive on a per-file basis.") ("mesa" ,mesa) ("mpg123" ,mpg123) ("openal" ,openal) - ("physfs" ,physfs) ("sdl2" ,sdl2) ("zlib" ,zlib))) (synopsis "2D game framework for Lua") @@ -1157,7 +1156,7 @@ developed mainly for Ren'py.") (native-inputs `(("python2-cython" ,python2-cython) ("xdg-utils" ,xdg-utils))) - (home-page "http://www.renpy.org/") + (home-page "https://www.renpy.org/") (synopsis "Ren'py python module") (description "This package contains the shared libraries and Python modules of Ren'py.") @@ -1345,7 +1344,7 @@ if __name__ == \"__main__\": ("xorg-server" ,xorg-server))) (outputs (list "out" "tutorial" "the-question")) - (home-page "http://www.renpy.org/") + (home-page "https://www.renpy.org/") (synopsis "Visual Novel Engine") (description "Ren'Py is a visual novel engine that helps you use words, images, and sounds to tell interactive stories that run on computers and @@ -1585,11 +1584,7 @@ games.") (build-system scons-build-system) (arguments `(#:scons ,scons-python2 - #:scons-flags (list "platform=x11" - ,@(if (string-prefix? "aarch64" (or (%current-target-system) - (%current-system))) - `("CCFLAGS=-DNO_THREADS") - '()) + #:scons-flags (list "platform=x11" "target=release_debug" ;; Avoid using many of the bundled libs. ;; Note: These options can be found in the SConstruct file. "builtin_bullet=no" @@ -1608,7 +1603,7 @@ games.") "builtin_wslay=no" "builtin_zlib=no" "builtin_zstd=no") - #:tests? #f ; There are no tests + #:tests? #f ; There are no tests #:phases (modify-phases %standard-phases (add-after 'unpack 'scons-use-env @@ -1621,41 +1616,46 @@ games.") "env_base = Environment(tools=custom_tools)\n" "env_base = Environment(ENV=os.environ)"))) #t)) + ;; Build headless tools, used for packaging games without depending on X. + (add-after 'build 'build-headless + (lambda* (#:key scons-flags #:allow-other-keys) + (apply invoke "scons" + `(,(string-append "-j" (number->string (parallel-job-count))) + "platform=server" ,@(delete "platform=x11" scons-flags))))) (replace 'install - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) + (headless (assoc-ref outputs "headless")) + (zenity (assoc-ref inputs "zenity"))) + ;; Strip build info from filenames. (with-directory-excursion "bin" - (if (file-exists? "godot.x11.tools.64") - (rename-file "godot.x11.tools.64" "godot") - (rename-file "godot.x11.tools.32" "godot")) - (install-file "godot" bin)) - ;; Tell Godot where to find zenity for OS.alert(). - (wrap-program (string-append bin "/godot") - `("PATH" ":" prefix - (,(string-append (assoc-ref %build-inputs "zenity") "/bin")))) - #t))) + (for-each + (lambda (file) + (let ((dest (car (string-split (basename file) #\.)))) + (rename-file file dest))) + (find-files "." "godot.*\\.x11\\.opt\\.tools.*")) + (install-file "godot" (string-append out "/bin")) + (install-file "godot_server" (string-append headless "/bin"))) + ;; Tell the editor where to find zenity for OS.alert(). + (wrap-program (string-append out "/bin/godot") + `("PATH" ":" prefix (,(string-append zenity "/bin"))))) + #t)) (add-after 'install 'install-godot-desktop (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (desktop (string-append out "/share/applications")) - (icon-dir (string-append out "/share/pixmaps"))) - (rename-file "icon.png" "godot.png") - (install-file "godot.png" icon-dir) - (mkdir-p desktop) - (with-output-to-file - (string-append desktop "/godot.desktop") - (lambda _ - (format #t - "[Desktop Entry]~@ - Name=godot~@ - Comment=The godot game engine~@ - Exec=~a/bin/godot~@ - TryExec=~@*~a/bin/godot~@ - Icon=godot~@ - Type=Application~%" - out))) - #t)))))) + (applications (string-append out "/share/applications")) + (icons (string-append out "/share/icons/hicolor"))) + (mkdir-p applications) + (copy-file "misc/dist/linux/org.godotengine.Godot.desktop" + (string-append applications "/godot.desktop")) + (for-each (lambda (icon dest) + (mkdir-p (dirname dest)) + (copy-file icon dest)) + '("icon.png" "icon.svg") + `(,(string-append icons "/256x256/apps/godot.png") + ,(string-append icons "/scalable/apps/godot.svg")))) + #t))))) + (outputs '("out" "headless")) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("bullet" ,bullet) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 177436e6ec..32d7d8d478 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> -;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> @@ -450,7 +450,7 @@ possible, while battling many vicious aliens.") (define-public cataclysm-dda (package (name "cataclysm-dda") - (version "0.E") + (version "0.E-2") (source (origin (method git-fetch) @@ -458,7 +458,7 @@ possible, while battling many vicious aliens.") (url "https://github.com/CleverRaven/Cataclysm-DDA.git") (commit version))) (sha256 - (base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan")) + (base32 "15l6w6lxays7qmsv0ci2ry53asb9an9dh7l7fc13256k085qcg68")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -626,8 +626,9 @@ tired of cows, a variety of other ASCII-art messengers are available.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;; no check target - #:make-flags (list "CC=gcc") + `(#:tests? #f ; no check target + #:make-flags + (list ,(string-append "CC=" (cc-for-target))) #:phases (modify-phases %standard-phases (delete 'bootstrap) @@ -978,7 +979,7 @@ automata. The following features are available: (define-public julius (package (name "julius") - (version "1.4.0") + (version "1.4.1") (source (origin (method git-fetch) @@ -987,7 +988,7 @@ automata. The following features are available: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01rygr592ar530qv1flmaiq8icl0qdxgc8lhkcdyn1g09941z47v")) + (base32 "12hhnhdwgz7hd3hlndbnk15pxggm1375qs0764ija4nl1gbpb110")) ;; Remove unused bundled libraries. (modules '((guix build utils))) (snippet @@ -1157,15 +1158,15 @@ destroying an ancient book using a special wand.") (define-public gnome-chess (package (name "gnome-chess") - (version "3.36.0") + (version "3.36.1") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/gnome-chess/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "gnome-chess-" version ".tar.xz")) (sha256 (base32 - "1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0")))) + "165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -1314,15 +1315,14 @@ Chess). It is similar to standard chess but this variant is far more complicate (define-public ltris (package (name "ltris") - (version "1.0.19") + (version "1.0.20") (source (origin (method url-fetch) (uri (string-append "http://prdownloads.sourceforge.net/lgames/" "ltris-" version ".tar.gz")) (sha256 - (base32 - "1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg")))) + (base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in")))) (build-system gnu-build-system) (arguments '(;; The code in LTris uses traditional GNU semantics for inline functions @@ -1733,6 +1733,83 @@ can be explored and changed freely.") license:gpl3+ license:silofl1.1)))) +(define-public superstarfighter + (package + (name "superstarfighter") + (version "0.6.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/notapixelstudio/superstarfighter.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fly63yf5ls1xwm15if4lxwy67wi84k4gvjllljpykrl18vw2y0y")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;there are no tests + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (chdir "godot") + (setenv "HOME" (getcwd)) + (with-output-to-file "export_presets.cfg" + (lambda () + (display + "[preset.0] +name=\"Guix\" +platform=\"Linux/X11\" +runnable=true +[preset.0.options]"))) + #t)) + (replace 'build + (lambda _ + (let ((godot (assoc-ref %build-inputs "godot-headless"))) + (invoke (string-append godot "/bin/godot_server") + "--export-pack" "Guix" + "superstarfighter.pck" "project.godot")) + #t)) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share")) + (data (string-append share "/superstarfighter")) + (icons (string-append share "/icons/hicolor/256x256/apps"))) + (install-file "superstarfighter.pck" data) + (mkdir-p bin) + (call-with-output-file (string-append bin "/superstarfighter") + (lambda (port) + (format port + "#!/bin/sh~@ + exec ~a/bin/godot --main-pack ~a/superstarfighter.pck~%" + (assoc-ref inputs "godot") + data) + (chmod port #o755))) + (mkdir-p icons) + (copy-file "icon.png" (string-append icons "/" ,name ".png")) + (make-desktop-entry-file + (string-append share "/applications/" ,name ".desktop") + #:name "SuperStarfighter" + #:comment "Fast-paced arcade combat game" + #:exec ,name + #:icon ,name + #:categories '("Game" "ArcadeGame"))) + #t))))) + (native-inputs + `(("godot-headless" ,godot "headless"))) + (inputs + `(("godot" ,godot))) + (home-page "https://notapixel.itch.io/superstarfighter") + (synopsis "Fast-paced local multiplayer arcade game") + (description "In SuperStarfighter, up to four local players compete in a +2D arena with fast-moving ships and missiles. Different game types are +available, as well as a single-player mode with AI-controlled ships.") + (license (list license:expat ; game + license:silofl1.1)))) ; fonts + (define-public xshogi (package (name "xshogi") @@ -1814,16 +1891,15 @@ that beneath its ruins lay buried an ancient evil.") (define-public angband (package (name "angband") - (version "4.2.0") + (version "4.2.1") (source (origin (method url-fetch) - (uri (string-append "http://rephial.org/downloads/" + (uri (string-append "https://rephial.org/downloads/" (version-major+minor version) "/angband-" version ".tar.gz")) (sha256 - (base32 - "0vdm1ymm28wawp94nl1p5q3lhc0k7cnn2kkvvrkfx962gif4kqfk")) + (base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc")) (modules '((guix build utils))) (snippet ;; So, some of the sounds/graphics/tilesets are under different @@ -1856,7 +1932,7 @@ that beneath its ruins lay buried an ancient evil.") `(("autoconf" ,autoconf) ("automake" ,automake))) (inputs `(("ncurses" ,ncurses))) - (home-page "http://rephial.org/") + (home-page "https://rephial.org/") (synopsis "Dungeon exploration roguelike") (description "Angband is a Classic dungeon exploration roguelike. Explore the depths below Angband, seeking riches, fighting monsters, and preparing to @@ -1976,7 +2052,7 @@ asynchronously and at a user-defined speed.") (define-public chess (package (name "chess") - (version "6.2.6") + (version "6.2.7") (source (origin (method url-fetch) @@ -1984,7 +2060,7 @@ asynchronously and at a user-defined speed.") ".tar.gz")) (sha256 (base32 - "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) + "0ilq4bfl0lwyzf11q7n2skydjhalfn3bgxhrp5hjxs5bc5d6fdp5")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/chess/") (synopsis "Full chess implementation") @@ -2894,7 +2970,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.11") + (version "1.14.12") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -2903,7 +2979,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "1i8mz6gw3qar09bscczhki0g4scj8pl58v85rp0g55r4bcq41l5v")))) + "027bc1363hdgahw7dvd22fvvqd132byxnljfbq6lvlr5ci01q8mk")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no check target @@ -3904,7 +3980,7 @@ tactics.") (define-public starfighter (package (name "starfighter") - (version "2.0.0.3") + (version "2.2") (source (origin (method url-fetch) (uri (string-append @@ -3913,7 +3989,7 @@ tactics.") (version-major+minor version) "-src.tar.gz")) (sha256 (base32 - "13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b")))) + "1ldd9cbvl694ps4sapr8213m3zjrci7gii5x3kjjfalkikmndpd2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -4742,24 +4818,27 @@ emerges from a sewer hole and pulls her below ground.") (define-public cdogs-sdl (package (name "cdogs-sdl") - (version "0.6.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cxong/cdogs-sdl.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "13gyv2hzk43za1n3lsjnd5v64xlzfzq7n10scd1rcbsnk1n007zr")))) + (version "0.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cxong/cdogs-sdl.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vx37zb2iw7sfw5a2bs97ydlmb301nvy485ybdm8g46c5hn9s13c")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list (string-append "-DCDOGS_DATA_DIR=" (assoc-ref %outputs "out") "/share/cdogs-sdl/")))) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs - `(("mesa" ,mesa) + `(("gtk+" ,gtk+) + ("mesa" ,mesa) ("sdl2" ,sdl2) ("sdl2-image" ,sdl2-image) ("sdl2-mixer" ,sdl2-mixer))) @@ -5730,6 +5809,14 @@ some graphical niceities, and numerous bug-fixes and other improvements.") (string-append "LDFLAGS=-Wl,-rpath=" vulkanlib) "-CQuake")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-for-new-vulkan + (lambda _ + ;; Mimic upstream commit a869a22d9b51c68e for + ;; compatibility with newer vulkan-headers. + (substitute* "Quake/gl_rmisc.c" + (("VK_DYNAMIC_STATE_RANGE_SIZE") + "3")) + #t)) (delete 'configure) (add-after 'unpack 'fix-makefile-paths (lambda* (#:key outputs #:allow-other-keys) @@ -6299,7 +6386,7 @@ original.") (define-public fortune-mod (package (name "fortune-mod") - (version "2.12.0") + (version "2.28.0") (source (origin (method git-fetch) @@ -6308,8 +6395,7 @@ original.") (commit (string-append "fortune-mod-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0laxgqsdg7kvpvvm1f54b94ga9r0cr9g3ffii8avg8fy65x6pzc9")))) + (base32 "1ppzgnffgdcmq6fq4gmdq2ig10ip2bnfgklkb3i8nc6bdxm7pb89")))) (build-system cmake-build-system) (arguments `(#:test-target "check" @@ -6587,7 +6673,7 @@ quotation from a collection of quotes.") ("pkg-config" ,pkg-config) ("libtool" ,libtool) ("gmp" ,gmp))) - (home-page "http://xonotic.org") + (home-page "https://xonotic.org") (synopsis "Fast-paced first-person shooter game") (description "Xonotic is a free, fast-paced first-person shooter. @@ -6759,7 +6845,7 @@ when packaged in Blorb container files or optionally from individual files.") (define-public libmanette (package (name "libmanette") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/libmanette/" @@ -6767,7 +6853,7 @@ when packaged in Blorb container files or optionally from individual files.") "libmanette-" version ".tar.xz")) (sha256 (base32 - "1zxh7jn2zg7hivmal5zxam6fxvjsd1w6hlw0m2kysk76b8anbw60")))) + "1xrc6rh73v5w3kbkflzv1yg8sbxk4wf06hfk95raxhxlssza9q2g")))) (build-system meson-build-system) (native-inputs `(("glib" ,glib "bin") ; for glib-compile-resources @@ -7282,7 +7368,7 @@ where the player draws runes in real time to effect the desired spell.") (define-public edgar (package (name "edgar") - (version "1.32") + (version "1.33") (source (origin (method url-fetch) @@ -7290,7 +7376,7 @@ where the player draws runes in real time to effect the desired spell.") (string-append "https://github.com/riksweeney/edgar/releases/download/" version "/edgar-" version "-1.tar.gz")) (sha256 - (base32 "12lam6qcscc5ima1w2ksd1cvsvxbd17h6mqkgsqpzx8ap43p2r5p")))) + (base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; there are no tests #:make-flags diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index 3fa8e53884..b27426c84f 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,7 +94,6 @@ ("ncurses" ,ncurses) ("guile" ,guile-2.0) ("python-wrapper" ,python-wrapper) - ("dejagnu" ,dejagnu) ("source-highlight" ,source-highlight) ;; Allow use of XML-formatted syscall information. This enables 'catch @@ -101,6 +101,7 @@ ("libxml2" ,libxml2))) (native-inputs `(("texinfo" ,texinfo) + ("dejagnu" ,dejagnu) ("pkg-config" ,pkg-config))) (home-page "https://www.gnu.org/software/gdb/") (synopsis "The GNU debugger") @@ -130,3 +131,15 @@ written in C, C++, Ada, Objective-C, Pascal and more.") ;; This is the fixed version that packages depend on. Update it rarely ;; enough to avoid massive rebuilds. gdb-9.1) + +(define-public gdb-9.2 + (package + (inherit gdb) + (version "9.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gdb/gdb-" + version ".tar.xz")) + (sha256 + (base32 + "0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n")))))) diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm index 657f1a404f..666b2f3e7e 100644 --- a/gnu/packages/gettext.scm +++ b/gnu/packages/gettext.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Miguel <rosen644835@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -148,8 +148,14 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.") (define-public libtextstyle (package (name "libtextstyle") - (version (package-version gettext-minimal)) - (source (package-source gettext-minimal)) + (version "0.20.2") + (source (origin + (inherit (package-source gnu-gettext)) + (uri (string-append "mirror://gnu/gettext/gettext-" + version ".tar.gz")) + (sha256 + (base32 + "1wc9q3y8rsbd757v985vxqcyqsxs7cxk4x7rzsjmq7d4ij8d1fgc")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static") diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 2a0ca3ac25..c52dc7a4d1 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -51,7 +51,7 @@ (define-public babl (package (name "babl") - (version "0.1.74") + (version "0.1.78") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" @@ -65,7 +65,7 @@ "/babl-" version ".tar.xz"))) (sha256 (base32 - "03nfcvy3453xkfvsfcnsfcjf2vg2pin09qnr9jlssdysa1lhnwcs")))) + "0fjjfb0pbgimlqi7rk8cqz8pq595b7gw8nrpkxfmixdz6cv4km8p")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -90,7 +90,7 @@ provided, as well as a framework to add new color models and data types.") (define-public gegl (package (name "gegl") - (version "0.4.22") + (version "0.4.24") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/gegl/" @@ -104,7 +104,7 @@ provided, as well as a framework to add new color models and data types.") "/gegl-" version ".tar.xz"))) (sha256 (base32 - "0q9cckf90fb82qc5d496fjz459f1xw4j4p3rff1f57yivx0yr20q")))) + "0ji57s7cba94vzy49agn7x47ca61rccm6rif0cb0s6rl4ygljrbp")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -135,7 +135,7 @@ buffers.") (define-public gimp (package (name "gimp") - (version "2.10.18") + (version "2.10.20") (source (origin (method url-fetch) (uri (string-append "https://download.gimp.org/pub/gimp/v" @@ -143,7 +143,7 @@ buffers.") "/gimp-" version ".tar.bz2")) (sha256 (base32 - "05np26g61fyr72s7qjfrcck8v57r0yswq5ihvqyzvgzfx08y3gv5")))) + "0g3vzh1bjffqx94mfghmwvkhncv71cgah2mnfx17q00s9f3rybz1")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index e024dd2756..41fc8ae697 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -233,7 +233,14 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "19.3.4") + (version "20.0.7") + + ;; Mesa 20.0.5 through 20.0.7 has problems with some graphic drivers, so + ;; we need this newer version. + ;; https://gitlab.freedesktop.org/mesa/mesa/-/issues/2882 + ;; https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4861 + (replacement mesa-20.0.8) + (source (origin (method url-fetch) @@ -245,7 +252,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1r4giqq7q7zqbn23lbw7v5vswagxx8qj6ij2w8bsb697mvk6g90x")) + "0y517qpdg6v6dsdgzb365p03m30511sbyh8pq0mcvhvjwy7javpy")) (patches (search-patches "mesa-skip-disk-cache-test.patch")))) (build-system meson-build-system) @@ -270,10 +277,9 @@ also known as DXTn or DXTC) for Mesa.") ,@(match (%current-system) ((or "x86_64-linux" "i686-linux") ;; Note: update the 'clang' input of mesa-opencl when bumping this. - `(("llvm" ,llvm-9))) + `(("llvm" ,llvm-10))) (_ `())) - ("makedepend" ,makedepend) ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols))) (native-inputs @@ -289,6 +295,7 @@ also known as DXTn or DXTC) for Mesa.") ("python" ,python-wrapper) ("python-mako" ,python-mako) ("which" ,(@ (gnu packages base) which)))) + (outputs '("out" "bin")) (arguments `(#:configure-flags '(,@(match (%current-system) @@ -347,32 +354,26 @@ also known as DXTn or DXTC) for Mesa.") (guix build meson-build-system)) #:phases (modify-phases %standard-phases - (add-after - 'unpack 'patch-create_test_cases - (lambda _ - (substitute* "src/intel/genxml/gen_pack_header.py" - (("/usr/bin/env python2") (which "python"))) - #t)) ,@(if (string-prefix? "i686" (or (%current-target-system) (%current-system))) ;; Disable new test from Mesa 19 that fails on i686. Upstream ;; report: <https://bugs.freedesktop.org/show_bug.cgi?id=110612>. `((add-after 'unpack 'disable-failing-test (lambda _ - (substitute* "src/gallium/tests/unit/meson.build" + (substitute* "src/util/tests/format/meson.build" (("'u_format_test',") "")) #t))) '()) - (add-before - 'configure 'fix-dlopen-libnames + (add-before 'configure 'fix-dlopen-libnames (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) ;; Remain agnostic to .so.X.Y.Z versions while doing ;; the substitutions so we're future-safe. - (substitute* "src/glx/dri_common.c" - (("dlopen\\(\"libGL\\.so") - (string-append "dlopen(\"" out "/lib/libGL.so"))) - (substitute* "src/egl/drivers/dri2/egl_dri2.c" + (substitute* "src/glx/meson.build" + (("-DGL_LIB_NAME=\"lib@0@\\.so\\.@1@\"") + (string-append "-DGL_LIB_NAME=\"" out + "/lib/lib@0@.so.@1@\""))) + (substitute* "src/gbm/backends/dri/gbm_dri.c" (("\"libglapi\\.so") (string-append "\"" out "/lib/libglapi.so"))) (substitute* "src/gbm/main/backend.c" @@ -382,6 +383,26 @@ also known as DXTn or DXTC) for Mesa.") (("\"gbm_dri\\.so") (string-append "\"" out "/lib/dri/gbm_dri.so"))) #t))) + (add-after 'install 'split-outputs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (bin (assoc-ref outputs "bin"))) + ,@(match (%current-system) + ((or "i686-linux" "x86_64-linux") + ;; Install the Vulkan overlay control script to a separate + ;; output to prevent a reference on Python, saving ~70 MiB + ;; on the closure size. + '((copy-recursively (string-append out "/bin") + (string-append bin "/bin")) + (delete-file-recursively (string-append out "/bin")))) + (_ + ;; XXX: On architectures without the Vulkan overlay layer + ;; just create an empty file because outputs can not be + ;; added conditionally. + '((mkdir-p (string-append bin "/bin")) + (call-with-output-file (string-append bin "/bin/.empty") + (const #t))))) + #t))) (add-after 'install 'symlinks-instead-of-hard-links (lambda* (#:key outputs #:allow-other-keys) ;; All the drivers and gallium targets create hard links upon @@ -425,9 +446,23 @@ device drivers allows Mesa to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) -(define-public mesa-opencl +;; Replacement package to fix <https://gitlab.freedesktop.org/mesa/mesa/-/issues/2863>. +(define mesa-20.0.8 (package (inherit mesa) + (version "20.0.8") + (source (origin + (inherit (package-source mesa)) + (uri (list (string-append "https://mesa.freedesktop.org/archive/" + "mesa-" version ".tar.xz") + (string-append "ftp://ftp.freedesktop.org/pub/mesa/" + "mesa-" version ".tar.xz"))) + (sha256 + (base32 + "0v0bfh3ay07s6msxmklvwfaif0q02kq2yhy65fdhys49vw8c1w3c")))))) + +(define-public mesa-opencl + (package/inherit mesa (name "mesa-opencl") (arguments (substitute-keyword-arguments (package-arguments mesa) @@ -437,12 +472,11 @@ from software emulation to complete hardware acceleration for modern GPUs.") `(("libclc" ,libclc) ,@(package-inputs mesa))) (native-inputs - `(("clang" ,clang-9) + `(("clang" ,clang-10) ,@(package-native-inputs mesa))))) (define-public mesa-opencl-icd - (package - (inherit mesa-opencl) + (package/inherit mesa-opencl (name "mesa-opencl-icd") (arguments (substitute-keyword-arguments (package-arguments mesa) @@ -451,12 +485,12 @@ from software emulation to complete hardware acceleration for modern GPUs.") ,(delete "-Dgallium-opencl=standalone" flags))))))) (define-public mesa-headers - (package - (inherit mesa) + (package/inherit mesa (name "mesa-headers") (propagated-inputs '()) (inputs '()) (native-inputs '()) + (outputs '("out")) (arguments '(#:phases (modify-phases %standard-phases @@ -664,6 +698,53 @@ OpenGL graphics API.") "A library for handling OpenGL function pointer management.") (license license:x11))) +(define-public libglvnd + (package + (name "libglvnd") + (version "1.3.1") + (home-page "https://gitlab.freedesktop.org/glvnd/libglvnd") + (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 + "0mkzdzdxjxjl794rblq4mq33wmb8ikqmfswbqdbr8gw2kw4wlhdl")))) + (build-system meson-build-system) + (arguments + '(#:configure-flags '("-Dx11=enabled") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-glx-tests + (lambda _ + ;; This package is meant to be used alongside Mesa. + ;; To avoid a circular dependency, disable tests that + ;; require a running Xorg server. + (substitute* "tests/meson.build" + (("if with_glx") + "if false")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("xorgproto" ,xorgproto))) + (synopsis "Vendor-neutral OpenGL dispatch library") + (description + "libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL +API calls between multiple vendors. It allows multiple drivers from +different vendors to coexist on the same filesystem, and determines which +vendor to dispatch each API call to at runtime. + +Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES.") + ;; libglvnd is available under a custom X11-style license, and incorporates + ;; code with various other licenses. See README.md for details. + (license (list (license:x11-style "file://README.md") + license:x11 + license:expat)))) + (define-public soil (package (name "soil") @@ -775,7 +856,7 @@ and visualizations.") (define-public gl2ps (package (name "gl2ps") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) @@ -783,15 +864,14 @@ and visualizations.") "http://geuz.org/gl2ps/src/gl2ps-" version ".tgz")) (sha256 - (base32 - "1qpidkz8x3bxqf69hlhyz1m0jmfi9kq24fxsp7rq6wfqzinmxjq3")))) + (base32 "1sgzv547h7hrskb9qd0x5yp45kmhvibjwj2mfswv95lg070h074d")))) (build-system cmake-build-system) (inputs `(("libpng" ,libpng) ("mesa" ,mesa) ("zlib" ,zlib))) (arguments - `(#:tests? #f)) ;; no tests + `(#:tests? #f)) ; no tests (home-page "http://www.geuz.org/gl2ps/") (synopsis "OpenGL to PostScript printing library") (description "GL2PS is a C library providing high quality vector diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 12ba6e939b..94dc6adf6f 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -88,6 +88,7 @@ (package (name "dbus") (version "1.12.16") + (replacement dbus/fixed) (source (origin (method url-fetch) (uri (string-append @@ -164,6 +165,15 @@ or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 +;; Replacement package to fix CVE-2020-12049. +(define dbus/fixed + (package + (inherit dbus) + (source (origin + (inherit (package-source dbus)) + (patches (append (search-patches "dbus-CVE-2020-12049.patch") + (origin-patches (package-source dbus)))))))) + (define glib (package (name "glib") diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 83e37f97b0..21838ff0cd 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -585,3 +586,36 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (description "Papirus is a fork of the icon theme Paper with a lot of new icons and a few extra features.") (license license:gpl3)))) + +(define-public vala-language-server + (package + (name "vala-language-server") + ;; Note to maintainer: VLS must be built with a Vala toolchain the same + ;; version or newer. Therefore when you update this package you may need + ;; to update Vala too. + (version "0.48") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/benwaffle/vala-language-server.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0chgfpci247skrvsiq1l8cas8sj2z6z42dlarka3df3qwxmh0if0")))) + (build-system meson-build-system) + (arguments '(#:glib-or-gtk? #t)) + (inputs + `(("glib" ,glib) + ("json-glib" ,json-glib) + ("jsonrpc-glib" ,jsonrpc-glib) + ("libgee" ,libgee) + ("vala" ,vala-0.48))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/benwaffle/vala-language-server") + (synopsis "Language server for Vala") + (description "The Vala language server is an implementation of the Vala +language specification for the Language Server Protocol (LSP). This tool is +used in text editing environments to provide a complete and integrated +feature-set for programming Vala effectively.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index fe874100b2..098abc8f49 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -50,6 +50,10 @@ ;;; Copyright © 2020 raingloom <raingloom@riseup.net> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,6 +145,7 @@ #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages photo) + #:use-module (gnu packages php) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages popt) @@ -178,6 +183,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu artwork) + #:use-module ((guix build utils) #:select (modify-phases)) #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) @@ -283,15 +289,15 @@ freedesktop.org desktop notification specification.") (define-public mm-common (package (name "mm-common") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/mm-common/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "mm-common-" version ".tar.xz")) (sha256 (base32 - "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr")))) + "1jasx9a9g7nqf7jcv3mrg4qh5cp9sq724jxjaz4wa1dzmxsxg8i8")))) (build-system meson-build-system) (arguments `(#:phases @@ -642,9 +648,9 @@ extraction, and lookup for applications on the desktop.") ("json-glib" ,json-glib) ("krb5" ,mit-krb5) ("libgweather" ,libgweather) + ("libnma" ,libnma) ("libsecret" ,libsecret) ("network-manager" ,network-manager) - ("network-manager-applet" ,network-manager-applet) ("packagekit" ,packagekit) ("polkit" ,polkit) ("pwquality" ,libpwquality) @@ -805,41 +811,50 @@ client devices can handle.") (define-public libnma (package - (name "libnma") - (version "1.8.26") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1w9lld38risnk1krknfwln24kabdxnj274pyz4jhndphwigrshaf")))) - (build-system meson-build-system) - (arguments - `(#:glib-or-gtk? #t)) - (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("gtk-doc" ,gtk-doc) - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config))) - (inputs - `(("adwaita-icon-theme" ,adwaita-icon-theme) - ("gcr" ,gcr) - ("gtk+" ,gtk+) - ("iso-codes" ,iso-codes) - ("mobile-broadband-provider-info" ,mobile-broadband-provider-info) - ("network-manager" ,network-manager))) - (synopsis "Network Manager's applet library") - (description "Libnma is an applet library for Network Manager. It was + (name "libnma") + (version "1.8.28") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "09mp6k0hfam1vyyv9kcd8j4gb2r58i05ipx2nswb58ris599bxja")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook"))) + (substitute* "libnma-docs.xml" + (("http://.*/docbookx\\.dtd") + (string-append xmldoc "/docbookx.dtd"))) + #t)))))) + (native-inputs + `(("docbook-xml" ,docbook-xml-4.3) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gtk-doc" ,gtk-doc) + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("gcr" ,gcr) + ("gtk+" ,gtk+) + ("iso-codes" ,iso-codes) + ("mobile-broadband-provider-info" ,mobile-broadband-provider-info) + ("network-manager" ,network-manager))) + (synopsis "Network Manager's applet library") + (description "Libnma is an applet library for Network Manager. It was initially part of network-manager-applet and has now become a separate project.") - (home-page "https://gitlab.gnome.org/GNOME/libnma") - - ;; Some files carry the "GPL-2.0+" SPDX identifier while others say - ;; "LGPL-2.1+". - (license license:gpl2+))) + (home-page "https://gitlab.gnome.org/GNOME/libnma") + ;; Some files carry the "GPL-2.0+" SPDX identifier while others say + ;; "LGPL-2.1+". + (license license:gpl2+))) (define-public gnome-menus (package @@ -867,73 +882,72 @@ configuration files for the GNOME menu, as well as a simple menu editor.") (define-public deja-dup (package (name "deja-dup") - (version "34.3") + (version "40.6") (source (origin - (method url-fetch) - (uri "https://launchpadlibrarian.net/295170991/deja-dup-34.3.tar.xz") - (sha256 - (base32 - "1xqcr61hpbahbla7gdjn4ngjfz7w6f57y7f5pkb77yk05f60j2n9")) - (patches - (search-patches "deja-dup-use-ref-keyword-for-iter.patch")))) - (build-system glib-or-gtk-build-system) + (method url-fetch) + (uri (string-append "https://gitlab.gnome.org/World/deja-dup/-/archive/" + version "/deja-dup-" version ".tar.bz2")) + (sha256 + (base32 + "0lwazh6crby5wpy9fg6zvwy4plqbhs2f98bm5lbizjdlbh88n5q0")))) + (build-system meson-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - ((guix build cmake-build-system) #:prefix cmake:) - (guix build glib-or-gtk-build-system) - (guix build utils)) - #:imported-modules (,@%glib-or-gtk-build-system-modules - (guix build cmake-build-system)) - #:test-target "test" - #:configure-flags (list (string-append - "-DCMAKE_INSTALL_FULL_DATADIR=" %output) - (string-append - "-DCMAKE_INSTALL_LIBEXECDIR=" %output)) + `(#:glib-or-gtk? #t + #:configure-flags + (list + ;; Otherwise, the RUNPATH will lack the final path component. + (string-append "-Dc_link_args=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib/deja-dup")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-lockfile-deletion - (lambda rest - (substitute* "libdeja/tools/duplicity/DuplicityInstance.vala" - (("/bin/rm") - (which "rm"))))) - (replace 'configure - (assoc-ref cmake:%standard-phases 'configure)) - (delete 'check) ;; Fails due to issues with DBus - (add-after 'install 'wrap-deja-dup - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((python (assoc-ref inputs "python")) - (python-path (getenv "PYTHONPATH")) - (duplicity (assoc-ref inputs "duplicity")) - (out (assoc-ref outputs "out"))) - (for-each - (lambda (program) - (wrap-program program - `("PATH" ":" prefix (,(string-append python "/bin") - ,(string-append duplicity "/bin")))) - (wrap-program program - `("PYTHONPATH" ":" prefix (,python-path)))) - - (find-files (string-append out "/bin"))) - #t)))))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + (substitute* '("libdeja/tools/duplicity/DuplicityInstance.vala" + "libdeja/tests/scripts/instance-error.test") + (("/bin/rm") + (which "rm"))) + (substitute* "libdeja/tests/runner.vala" + (("/bin/sh") + (which "sh"))) + (substitute* "libdeja/tests/scripts/instance-error.test" + (("`which python3`") + (string-append python "/bin/python3")))))) + (add-after 'unpack 'patch-libgpg-error + (lambda* (#:key inputs #:allow-other-keys) + (let ((libgpg-error (assoc-ref inputs "libgpg-error"))) + (substitute* "meson.build" + (("(gpgerror_libs = ).*" _ var) + (format #f "~a '-L~a/lib -lgpg-error'\n" var libgpg-error)))) + #t)) + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "data/post-install.sh" + (("gtk-update-icon-cache") "true")) + #t))))) (inputs `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("gobject-introspection" ,gobject-introspection) ("duplicity" ,duplicity) - ("python" ,python-2) - ("python-pygobject" ,python2-pygobject) + ("python" ,python) + ("python-pygobject" ,python-pygobject) ("gtk+" ,gtk+) + ("json-glib" ,json-glib) ("libnotify" ,libnotify) - ("libpeas" ,libpeas) + ("libgpg-error" ,libgpg-error) ("libsecret" ,libsecret) + ("libsoup" ,libsoup) ("packagekit" ,packagekit))) (native-inputs - `(("pkg-config" ,pkg-config) - ("vala" ,vala) + `(("appstream-glib" ,appstream-glib) + ("desktop-file-utils" ,desktop-file-utils) ("gettext" ,gettext-minimal) + ("glib" ,glib "bin") ; for glib-compile-schemas. + ("gobject-introspection" ,gobject-introspection) ("itstool" ,itstool) - ("intltool" ,intltool) - ("cmake" ,cmake-minimal))) - (home-page "https://launchpad.net/deja-dup") + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://wiki.gnome.org/Apps/DejaDup") (synopsis "Simple backup tool, for regular encrypted backups") (description "Déjà Dup is a simple backup tool, for regular encrypted backups. It @@ -999,11 +1013,12 @@ useful as a tutorial and users' guide for new or less experienced users.") ;; This version from GNOME's repository includes fixes for compiling with ;; recent versions of the build tools. The latest activity on the ;; pre-GNOME version has been in 2014, while GNOME has continued applying - ;; fixes in 2016. - (let ((commit "fbc306168edab63db80b904956117cbbdc514ee4")) + ;; fixes since. + (let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5") + (revision "2")) (package (name "dia") - (version (git-version "0.97.3" "1" commit)) + (version (git-version "0.97.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -1012,24 +1027,23 @@ useful as a tutorial and users' guide for new or less experienced users.") (file-name (git-file-name name version)) (sha256 (base32 - "1b4bba0k8ph4cwgw8xjglss0p6n111bpd5app67lrq79mp0ad06l")))) - (build-system gnu-build-system) + "04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8")))) + (build-system meson-build-system) (inputs - `(("freetype" ,freetype) - ("gdk-pixbuf" ,gdk-pixbuf) + `(("graphene" ,graphene) ("gtk+" ,gtk+-2) - ("libart-lgpl" ,libart-lgpl) ("libxml2" ,libxml2) - ("pango" ,pango))) + ("libxslt" ,libxslt) + ("poppler" ,poppler) + ;; Without Python 2, build fails: plug-ins/python/meson.build:4:0: + ;; ERROR: Unknown method "dependency" in object. + ("python-2" ,python-2))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("intltool" ,intltool) + `(("appstream-glib" ,appstream-glib) + ("docbook-xsl" ,docbook-xsl) ("glib" ,glib "bin") - ("libtool" ,libtool) - ("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python-wrapper" ,python-wrapper))) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) (home-page "https://wiki.gnome.org/Apps/Dia") (synopsis "Diagram creation for GNOME") (description "Dia can be used to draw different types of diagrams, and @@ -1272,6 +1286,19 @@ offline sources, providing a centralized place for managing your contacts.") (("\"locale\"") (string-append "\"" libc "/bin/locale\""))) #t))) + (add-before 'configure 'patch-bubblewrap + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "libgnome-desktop/gnome-desktop-thumbnail-script.c" + (("\"bwrap\",") + (string-append "\"" (which "bwrap") "\",")) + (("\"--ro-bind\", \"/usr\", \"/usr\",") + (string-append "\"--ro-bind\", \"" + (%store-directory) + "\", \"" + (%store-directory) + "\",")) + (("\"--ro-bind\", \"/etc/ld.so.cache\", \"/etc/ld.so.cache\",") "")) + #t)) (add-before 'check 'pre-check (lambda* (#:key inputs #:allow-other-keys) ;; Tests require a running X server and locales. @@ -1301,6 +1328,7 @@ offline sources, providing a centralized place for managing your contacts.") (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) + ("bubblewrap" ,bubblewrap) ("libxext" ,libxext) ("libxkbfile" ,libxkbfile) ("libxrandr" ,libxrandr))) @@ -1487,6 +1515,63 @@ accessing key stores. It also provides the viewer for crypto files on the GNOME Desktop.") (license license:lgpl2.1+))) +(define-public gdl + (package + (name "gdl") + (version "3.34.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gdl.git") + (commit (string-append "GDL_" (string-map (match-lambda + (#\. #\_) + (c c)) + version))))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib" ,glib "bin") ; for glib-genmarshal, etc. + ("gnome-common" ,gnome-common) + ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ("which" ,which))) + (inputs + `(("libxml2" ,libxml2))) + (propagated-inputs + ;; The gdl-3.0.pc file 'Requires' GTK+. + `(("gtk+" ,gtk+))) + (home-page "https://gitlab.gnome.org/GNOME/gdl/") + (synopsis "GNOME docking library") + (description "This library provides docking features for gtk+.") + (license license:lgpl2.1+))) + +;;; A minimal variant used to break a cycle with Inkscape. +(define-public gdl-minimal + (package + (inherit gdl) + (name "gdl-minimal") + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-doc-generation + ;; XXX: There is no easy way to disable generating the + ;; documentation. + (lambda _ + (substitute* "configure.in" + (("GTK_DOC_CHECK.*") "") + (("docs/.*") "")) + (substitute* "Makefile.am" + (("gdl docs po") "gdl po")) + #t))))) + (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl))))) + (define-public libgnome-keyring (package (name "libgnome-keyring") @@ -1597,7 +1682,7 @@ forgotten when the session ends.") (define-public evince (package (name "evince") - (version "3.34.2") + (version "3.36.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/evince/" @@ -1605,7 +1690,7 @@ forgotten when the session ends.") "evince-" version ".tar.xz")) (sha256 (base32 - "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w")))) + "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--disable-nautilus" "--enable-introspection") @@ -1655,8 +1740,7 @@ forgotten when the session ends.") ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) ("xmllint" ,libxml2))) - (home-page - "https://www.gnome.org/projects/evince/") + (home-page "https://www.gnome.org/projects/evince/") (synopsis "GNOME's document viewer") (description "Evince is a document viewer for multiple document formats. It @@ -2079,7 +2163,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") (define-public glade3 (package (name "glade") - (version "3.22.1") + (version "3.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2087,7 +2171,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") name "-" version ".tar.xz")) (sha256 (base32 - "16p38xavpid51qfy0s26n0n21f9ws1w9k5s65bzh1w7ay8p9my6z")))) + "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; needs X, GL, and software rendering @@ -3225,10 +3309,23 @@ requirements and without using a different ABI compared to applications and libraries written in C.") (license license:lgpl2.1+))) +(define-public vala-0.48 + (package + (inherit vala) + (version "0.48.6") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/vala/" + (version-major+minor version) "/" + "vala-" version ".tar.xz")) + (sha256 + (base32 + "01wppzgacdmp8dgf8047myz1any2yffmrhgl8kqf1q0c0gnhi3fi")))))) + (define-public vte (package (name "vte") - (version "0.58.3") + (version "0.60.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vte/" @@ -3236,11 +3333,15 @@ libraries written in C.") "vte-" version ".tar.xz")) (sha256 (base32 - "0xa9ipwic4jnhhbzlnqbhssz10xkzv61cpkl1ammc6mdq95bbp12")))) + "19ccbw0yca78h5qcnm8claj4fg1pj68nj1fsjqqfpzhj7w72i81m")))) (build-system meson-build-system) + (arguments + `(#:configure-flags + '("-Dvapi=true" + "-D_systemd=false"))) (native-inputs `(("pkg-config" ,pkg-config) - ("intltool" ,intltool) + ("gettext" ,gettext-minimal) ("vala" ,vala) ("gobject-introspection" ,gobject-introspection) ("glib" ,glib "bin") ; for glib-genmarshal, etc. @@ -3421,7 +3522,7 @@ and RDP protocols.") ; or /etc/machine-id. #:glib-or-gtk? #t #:configure-flags '("-Denable-gtk-doc=true"))) - (home-page "https://developer.gnome.org/dconf") + (home-page "https://developer.gnome.org/dconf/") (synopsis "Low-level GNOME configuration system") (description "Dconf is a low-level configuration system. Its main purpose is to provide a backend to GSettings on platforms that don't already have @@ -3702,8 +3803,7 @@ libxml to ease remote use of the RESTful API.") ("pkg-config" ,pkg-config) ("python" ,python-wrapper) ("vala" ,vala) - ;; These are needed for the tests. - ;; FIXME: Add PHP once available. + ("php" ,php) ("curl" ,curl) ("gnutls" ,gnutls) ;for 'certtool' ("httpd" ,httpd))) @@ -3725,6 +3825,22 @@ libxml to ease remote use of the RESTful API.") and the GLib main loop, to integrate well with GNOME applications.") (license license:lgpl2.0+))) + +;;; A minimal version of libsoup used to prevent a cycle with Inkscape. +(define-public libsoup-minimal + (package + (inherit libsoup) + (name "libsoup-minimal") + (outputs (delete "doc" (package-outputs libsoup))) + (arguments + (substitute-keyword-arguments (package-arguments libsoup) + ((#:configure-flags configure-flags) + `(delete "-Dgtk_doc=true" ,configure-flags)) + ((#:phases phases) + `(modify-phases ,phases + (delete 'move-doc))))) + (native-inputs (alist-delete "gtk-doc" (package-native-inputs libsoup))))) + (define-public libsecret (package (name "libsecret") @@ -4035,7 +4151,7 @@ output devices.") (define-public geoclue (package (name "geoclue") - (version "2.5.5") + (version "2.5.6") (source (origin (method url-fetch) @@ -4043,8 +4159,7 @@ output devices.") (string-append "https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/" version "/geoclue-" version ".tar.bz2")) (sha256 - (base32 - "1b7jqrsn4x7mxjxj8hvb2dl2cmhrpb9vibs4rvkkanky5nsx3sai")) + (base32 "0a833x5apzabxj80ywvsh8crd635vni2i9v9c1p095f6hvmfc45k")) (patches (search-patches "geoclue-config.patch")))) (build-system meson-build-system) (arguments @@ -4143,10 +4258,14 @@ faster results and to avoid unnecessary server load.") #t)))) (build-system glib-or-gtk-build-system) (arguments - '( ;; The tests want to contact the system bus, which can't be done in the - ;; build environment. The integration test can run, but the last of - ;; the up-self-tests doesn't. Disable tests for now. - #:tests? #f + '(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + (let ((umockdev (string-append (assoc-ref inputs "umockdev") + "/lib"))) + (setenv "LD_LIBRARY_PATH" umockdev)) + #t))) #:configure-flags (list "--localstatedir=/var" (string-append "--with-udevrulesdir=" (assoc-ref %outputs "out") @@ -4157,6 +4276,12 @@ faster results and to avoid unnecessary server load.") ("intltool" ,intltool) ("python" ,python) + ;; For tests. + ("python-dbus" ,python-dbus) + ("python-dbusmock" ,python-dbusmock) + ("python-pygobject" ,python-pygobject) + ("umockdev" ,umockdev) + ;; For man pages. ("libxslt" ,libxslt) ;for 'xsltproc' ("libxml2" ,libxml2) ;for 'XML_CATALOG_FILES' @@ -4435,7 +4560,7 @@ throughout GNOME for API documentation).") (define-public cogl (package (name "cogl") - (version "1.22.4") + (version "1.22.8") (source (origin (method url-fetch) @@ -4443,14 +4568,14 @@ throughout GNOME for API documentation).") (version-major+minor version) "/" "cogl-" version ".tar.xz")) (sha256 - (base32 "1q0drs82a8f6glg1v29bb6g2nf15fw0rvdx3d0rgcgfarfaby5sj")))) + (base32 "0nfph4ai60ncdx7hy6hl1i1cmp761jgnyjfhagzi0iqq36qb41d8")))) ;; NOTE: mutter exports a bundled fork of cogl, so when making changes to ;; cogl, corresponding changes may be appropriate in mutter as well. (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums ("gobject-introspection" ,gobject-introspection) - ;;("xorg-server" ,xorg-server) ; for the test suite + ("xorg-server" ,xorg-server-for-tests) ("pkg-config" ,pkg-config))) (propagated-inputs `(("glib" ,glib) @@ -4469,7 +4594,8 @@ throughout GNOME for API documentation).") ("gst-plugins-base" ,gst-plugins-base) ("wayland" ,wayland))) (arguments - `(#:configure-flags (list "--enable-cogl-gst" + `(#:disallowed-references (,xorg-server-for-tests) + #:configure-flags (list "--enable-cogl-gst" "--enable-wayland-egl-platform" "--enable-wayland-egl-server" @@ -4478,19 +4604,29 @@ throughout GNOME for API documentation).") (string-append "--with-gl-libname=" (assoc-ref %build-inputs "mesa") "/lib/libGL.so")) - ;; XXX FIXME: All tests fail, with many warnings printed like this: - ;; _FontTransOpen: Unable to Parse address - ;; ${prefix}/share/fonts/X11/misc/ - #:tests? #f - #; #:phases - #; + #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build-with-mesa-20 + (lambda _ + ;; Work around a problem with Mesa 20 where some macros used by + ;; Cogl went missing from eglext.h. This can likely be removed + ;; for newer versions of Cogl or Mesa. + ;; https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/19 + (substitute* '("configure" + "cogl/winsys/cogl-winsys-egl-kms.c") + (("#include <EGL/eglext.h>" all) + (string-append all "\n#include <EGL/eglmesaext.h>\n"))) + #t)) (add-before 'check 'start-xorg-server - (lambda* (#:key inputs #:allow-other-keys) - ;; The test suite requires a running X server. - (system (format #f "~a/bin/Xvfb :1 &" - (assoc-ref inputs "xorg-server"))) - (setenv "DISPLAY" ":1") + (lambda* (#:key tests? inputs #:allow-other-keys) + (if tests? + (begin + ;; The test suite requires a running X server. + (system (format #f "~a/bin/Xvfb :1 +extension GLX &" + (assoc-ref inputs "xorg-server"))) + (setenv "DISPLAY" ":1") + #t) + (format #t "test suite not run~%")) #t))))) (home-page "https://www.cogl3d.org") (synopsis "Object oriented GL/GLES Abstraction/Utility Layer") @@ -4863,9 +4999,9 @@ discovery protocols.") (source (origin (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" + (uri (string-append "mirror://gnome/sources/totem/" (version-major+minor version) "/" - name "-" version ".tar.xz")) + "totem-" version ".tar.xz")) (sha256 (base32 "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b")))) @@ -4878,7 +5014,6 @@ discovery protocols.") ("intltool" ,intltool) ("itstool" ,itstool) ("xmllint" ,libxml2) - ("python-pylint" ,python-pylint) ("xorg-server" ,xorg-server-for-tests))) (propagated-inputs `(("dconf" ,dconf))) @@ -5290,7 +5425,7 @@ USB transfers with your high-level application or system daemon.") (define-public simple-scan (package (name "simple-scan") - (version "3.36.2.1") + (version "3.36.3") (source (origin (method url-fetch) @@ -5298,7 +5433,7 @@ USB transfers with your high-level application or system daemon.") (version-major+minor version) "/" "simple-scan-" version ".tar.xz")) (sha256 - (base32 "0aq1pf0wk536b91as54684xgmhl7lps0k2xcwha5wh6h1isyb35v")))) + (base32 "0gsz7jqk0fdj0mama3cnss9i1adw18cpdnlcjcjh4r5qijmvx0vh")))) (build-system meson-build-system) ;; TODO: Fix icons in home screen, About dialogue, and scan menu. (arguments @@ -5691,7 +5826,7 @@ metadata in photo and video files of various formats.") (define-public shotwell (package (name "shotwell") - (version "0.30.8") + (version "0.30.9") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/shotwell/" @@ -5699,7 +5834,7 @@ metadata in photo and video files of various formats.") "shotwell-" version ".tar.xz")) (sha256 (base32 - "1f7m007g6w1sz8s60w6x81ghp2rrjmik8phd958b2hy8zz92wbbj")))) + "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -6068,7 +6203,21 @@ to display dialog boxes from the commandline and shell scripts.") ;; the remaining flags are needed for the bundled cogl (string-append "-Dopengl_libname=" (assoc-ref %build-inputs "mesa") - "/lib/libGL.so")))) + "/lib/libGL.so")) + #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build-with-mesa-20 + (lambda _ + ;; Mimic upstream commit a444a4c5f58ea516ad for + ;; compatibility with Mesa 20. Remove for 3.36. + (substitute* '("src/backends/meta-egl-ext.h" + "src/backends/meta-egl.c" + "src/backends/meta-egl.h") + (("#include <EGL/eglext\\.h>" all) + (string-append all "\n#include <EGL/eglmesaext.h>"))) + (substitute* "cogl/cogl/meson.build" + (("#include <EGL/eglext\\.h>" all) + (string-append all "\\n#include <EGL/eglmesaext.h>"))) + #t))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. @@ -6344,56 +6493,58 @@ users.") (define-public network-manager (package (name "network-manager") - (version "1.18.4") + (version "1.24.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/NetworkManager/" (version-major+minor version) "/" "NetworkManager-" version ".tar.xz")) - (patches (search-patches "nm-plugin-path.patch")) + (patches (search-patches "network-manager-plugin-path.patch")) (sha256 (base32 - "0pnh1wr2p1fqa5pr945fr3lngfc5ccfrmgddqsg55lxnjpv0ggd3")) + "06044fl60bjlj7c6rqqfbm5795h61h6yzp7ch392hzcnm46wwhn3")) (modules '((guix build utils))) (snippet '(begin (substitute* "src/devices/wwan/nm-modem-manager.c" (("systemd") "elogind")) #t)))) - (build-system gnu-build-system) + (build-system meson-build-system) (outputs '("out" "doc")) ; 8 MiB of gtk-doc HTML (arguments - '(#:configure-flags + `(#:configure-flags (let ((out (assoc-ref %outputs "out")) - (doc (assoc-ref %outputs "doc")) (dhclient (string-append (assoc-ref %build-inputs "isc-dhcp") "/sbin/dhclient"))) - (list "--with-libnm-glib" ; needed by network-manager-applet - "--with-systemd-journal=no" - "--with-session-tracking=elogind" - "--with-suspend-resume=elogind" - "--with-consolekit=no" - "--with-crypto=gnutls" - "--disable-config-plugin-ibft" - "--sysconfdir=/etc" - "--localstatedir=/var" - (string-append "--with-udev-dir=" - out "/lib/udev") - (string-append "--with-dbus-sys-dir=" - out "/etc/dbus-1/system.d") - (string-append "--with-html-dir=" - doc "/share/gtk-doc/html") - (string-append "--with-dhclient=" dhclient))) + (list + ;; Otherwise, the RUNPATH will lack the final 'NetworkManager' path + ;; component. + (string-append "-Dc_link_args=-Wl,-rpath=" + out "/lib:" + out "/lib/NetworkManager/" ,version) + "-Dsystemd_journal=false" + "-Dsession_tracking=elogind" + "-Dsuspend_resume=elogind" + "-Dsystemdsystemunitdir=no" + "-Dsession_tracking_consolekit=false" + "-Ddhcpcd=no" + "-Ddhcpcanon=no" + "-Dcrypto=gnutls" + "-Diwd=true" + "-Dlibaudit=yes" + "-Dqt=false" + "-Ddocs=true" + "--sysconfdir=/etc" + "--localstatedir=/var" + (string-append "-Dudev_dir=" + out "/lib/udev") + (string-append "-Ddbus_conf_dir=" + out "/etc/dbus-1/system.d") + + (string-append "-Ddhclient=" dhclient))) #:phases (modify-phases %standard-phases - ;; This bare "ls" invocation breaks some tests. - (add-after 'unpack 'patch-ls-invocation - (lambda _ - (substitute* "build-aux/ltmain.sh" - (("`ls -") - (string-append "`" (which "ls") " -"))) - #t)) (add-before 'configure 'pre-configure (lambda _ ;; These tests try to test aspects of network-manager's @@ -6401,65 +6552,64 @@ users.") ;; cope with being already in the Guix build jail as that jail ;; lacks some features that they would like to proxy over (like ;; a /sys mount). - (substitute* '("Makefile.in") - (("src/platform/tests/test-address-linux") " ") - (("src/platform/tests/test-cleanup-linux") " ") - (("src/platform/tests/test-link-linux") " ") - (("src/platform/tests/test-route-linux") " ") - (("src/devices/tests/test-acd") "") - (("src/devices/tests/test-arping") " ") - (("src/devices/tests/test-lldp") " ") - (("src/tests/test-route-manager-linux") " ")) - #t)) - (add-after 'unpack 'delete-failing-tests - (lambda _ - ;; FIXME: These three tests fail for unknown reasons. - ;; ERROR:libnm-core/tests/test-general.c:5842: - ;; _json_config_check_valid: assertion failed (res == expected): (1 == 0) - ;; ERROR:libnm-core/tests/test-keyfile.c:647: - ;; test_team_conf_read_invalid: assertion failed: (nm_setting_team_get_config (s_team) == NULL) - ;; ERROR:libnm-core/tests/test-setting.c:907: - ;; _test_team_config_sync: assertion failed: (nm_streq0 (nm_setting_team_get_runner (s_team), runner)) - (substitute* "Makefile.in" - (("libnm-core/tests/test-general") " ") - (("libnm-core/tests/test-keyfile") " ") - (("libnm-core/tests/test-setting\\$\\(EXEEXT\\)") " ")) + (substitute* "src/platform/tests/meson.build" + ((".*test-address-linux.*") "") + ((".*test-cleanup-linux.*") "") + ((".*test-link-linux.*") "") + ((".*test-route-linux.*") "")) + (substitute* "src/devices/tests/meson.build" + ((".*test-acd.*") "") + ((".*test-lldp.*") "")) #t)) + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook"))) + (substitute* (find-files "." ".*\\.(xsl|xml)") + (("http://.*/docbookx\\.dtd") + (string-append xmldoc "/docbookx.dtd"))) + #t))) (add-before 'check 'pre-check (lambda _ ;; For the missing /etc/machine-id. (setenv "DBUS_FATAL_WARNINGS" "0") - - ;; XXX: Regenerate some of the tests that are dependent on Python version. - ;; Try removing this variable for newer versions of NetworkManager. - (setenv "NM_TEST_REGENERATE" "1") #t)) - (replace 'install + (add-before 'install 'no-polkit-magic + ;; Meson ‘magically’ invokes pkexec, which fails (not setuid). (lambda _ - (invoke "make" - "sysconfdir=/tmp" - "rundir=/tmp" - "statedir=/tmp" - "nmstatedir=/tmp/nm" - "install") - #t))))) + (setenv "PKEXEC_UID" "something") + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (for-each (lambda (directory) + (copy-recursively (string-append out directory) + (string-append doc directory)) + (delete-file-recursively + (string-append out directory))) + '("/share/doc" "/share/gtk-doc")) + #t)))))) (propagated-inputs `(("glib" ,glib))) (native-inputs - `(("glib:bin" ,glib "bin") ; for gdbus-codegen + `(("glib:bin" ,glib "bin") ; for gdbus-codegen + ("gtk-doc" ,gtk-doc) ("gobject-introspection" ,gobject-introspection) + ("docbook-xml" ,docbook-xml) ("docbook-xsl" ,docbook-xsl) ("intltool" ,intltool) ("libxslt" ,libxslt) ("libxml2" ,libxml2) ("pkg-config" ,pkg-config) + ("vala" ,vala) ;; For testing. ("python" ,python-wrapper) ("python-dbus" ,python-dbus) ("python-pygobject" ,python-pygobject))) (inputs - `(("coreutils" ,coreutils) ; for ls - ("curl" ,curl) + `(("curl" ,curl) ("cyrus-sasl" ,cyrus-sasl) ("dbus-glib" ,dbus-glib) ("dnsmasq" ,dnsmasq) @@ -6467,35 +6617,42 @@ users.") ("gnutls" ,gnutls) ("iptables" ,iptables) ("isc-dhcp" ,isc-dhcp) + ("iwd" ,iwd) ; wpa_supplicant alternative ("jansson" ,jansson) + ("libaudit" ,audit) ("libgcrypt" ,libgcrypt) ("libgudev" ,libgudev) ("libndp" ,libndp) ("libnl" ,libnl) ("libsoup" ,libsoup) + ("mobile-broadband-provider-info" ,mobile-broadband-provider-info) ("modem-manager" ,modem-manager) ("newt" ,newt) ;for the 'nmtui' console interface + ("openresolv" ,openresolv) ; alternative resolv.conf manager ("polkit" ,polkit) ("ppp" ,ppp) ("readline" ,readline) ("util-linux" ,util-linux) ("elogind" ,elogind))) (synopsis "Network connection manager") - (home-page "https://www.gnome.org/projects/NetworkManager/") + (home-page "https://wiki.gnome.org/Projects/NetworkManager") (description "NetworkManager is a system network service that manages your network devices and connections, attempting to keep active network connectivity when available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE devices, and provides VPN integration with a variety of different VPN services.") - (license license:gpl2+) + ;; “This NetworkManager project consists of the daemon, client tools, and + ;; libnm. libnm is licensed LGPL-2.1+, while the rest is licensed under + ;; GPL-2.0+.” + (license (list license:gpl2+ + license:lgpl2.1+)) (properties '((upstream-name . "NetworkManager"))))) (define-public network-manager-openvpn (package (name "network-manager-openvpn") - ;; Updating? Check whether network-manager-applet still needs libnm_gtk. - (version "1.8.10") + (version "1.8.12") (source (origin (method url-fetch) (uri (string-append @@ -6504,7 +6661,7 @@ services.") "/NetworkManager-openvpn-" version ".tar.xz")) (sha256 (base32 - "1vri49yff4lj13dnzkpq9nx3a4z1bmbrv807r151plj8m1mwhg5g")))) + "062kh4zj7jfbwy4zzcwpq2m457bzbpm3l18s0ysnw3mgia3siz8f")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var") @@ -6534,7 +6691,7 @@ services.") ("kmod" ,kmod) ("openvpn" ,openvpn) ("network-manager" ,network-manager) - ("network-manager-applet" ,network-manager-applet) ;for libnma + ("libnma" ,libnma) ("libsecret" ,libsecret))) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "OpenVPN plug-in for NetworkManager") @@ -6559,7 +6716,11 @@ to virtual private networks (VPNs) via OpenVPN.") "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--enable-absolute-paths" "--localstatedir=/var") + `(#:configure-flags '("--enable-absolute-paths" + "--localstatedir=/var" + ;; libnm-glib has been removed from network-manager + ;; 1de8383ad9fdfc8f552117e5d109bdfa7005634b + "--with-libnm-glib=no") #:phases (modify-phases %standard-phases (add-after 'configure 'patch-path @@ -6583,7 +6744,7 @@ to virtual private networks (VPNs) via OpenVPN.") ("kmod" ,kmod) ("vpnc" ,vpnc) ("network-manager" ,network-manager) - ("network-manager-applet" ,network-manager-applet) ;for libnma + ("libnma" ,libnma) ("libsecret" ,libsecret))) (home-page "https://wiki.gnome.org/Projects/NetworkManager/VPN") (synopsis "VPNC plug-in for NetworkManager") @@ -6625,7 +6786,7 @@ Compatible with Cisco VPN concentrators configured to use IPsec.") #t))))) (native-inputs `(("intltool" ,intltool) - ("network-manager-applet" ,network-manager-applet) ;for libnma + ("libnma" ,libnma) ("pkg-config" ,pkg-config))) (inputs `(("gcr" ,gcr) @@ -6674,7 +6835,7 @@ Cisco's AnyConnect SSL VPN.") (define-public network-manager-applet (package (name "network-manager-applet") - (version "1.8.24") + (version "1.16.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/network-manager-applet/" @@ -6682,13 +6843,10 @@ Cisco's AnyConnect SSL VPN.") "network-manager-applet-" version ".tar.xz")) (sha256 (base32 - "1gzvz4wfqfsfclqg56y954al8x6fmz71cnxlx1i4nqr7a25bp2qi")))) + "1rf3nm0hjcy9f8ajb4vmvwy503w8yj8d4daxkcb7w7i7b92qmyfn")))) (build-system meson-build-system) (arguments - '(#:configure-flags - ;; ‘Nobody should be using this’ but network-manager-openvpn 1.8.10 does. - (list "-Dlibnm_gtk=true") - #:glib-or-gtk? #t)) + '(#:glib-or-gtk? #t)) (native-inputs `(("intltool" ,intltool) ("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. @@ -6699,19 +6857,19 @@ Cisco's AnyConnect SSL VPN.") ;; libnm-gtk.pc refers to all these. `(("dbus-glib" ,dbus-glib) ("gtk+" ,gtk+) - ("network-manager" ,network-manager))) + ("network-manager" ,network-manager) + ;; nm-applet need by org.gnome.nm-applet.gschema.xml + ("libnma" ,libnma))) (inputs `(("gcr" ,gcr) - ("iso-codes" ,iso-codes) ("libgudev" ,libgudev) ("libnotify" ,libnotify) ("libsecret" ,libsecret) ("libselinux" ,libselinux) ("jansson" ,jansson) ; for team support - ("modem-manager" ,modem-manager) - ("mobile-broadband-provider-info" ,mobile-broadband-provider-info))) + ("modem-manager" ,modem-manager))) (synopsis "Applet for managing network connections") - (home-page "https://www.gnome.org/projects/NetworkManager/") + (home-page "https://wiki.gnome.org/Projects/NetworkManager") (description "This package contains a systray applet for NetworkManager. It displays the available networks and allows users to easily switch between them.") @@ -7100,6 +7258,7 @@ devices using the GNOME desktop.") ("libgnomekbd" ,libgnomekbd) ("libgudev" ,libgudev) ("libgtop" ,libgtop) + ("libnma" ,libnma) ("libpwquality" ,libpwquality) ("libsecret" ,libsecret) ("libsoup" ,libsoup) @@ -7263,6 +7422,7 @@ properties, screen resolution, and other GNOME parameters.") ("libcroco" ,libcroco) ("libgnomekbd" ,libgnomekbd) ;for gkbd-keyboard-display ("libgweather" ,libgweather) + ("libnma" ,libnma) ("libsoup" ,libsoup) ("mesa-headers" ,mesa-headers) ("mutter" ,mutter) @@ -7860,7 +8020,7 @@ world.") ("evince" ,evince) ("file-roller" ,file-roller) ("gedit" ,gedit) - ; TODO: ("gnome-boxes" ,gnome-boxes) + ("gnome-boxes" ,gnome-boxes) ("gnome-calculator" ,gnome-calculator) ("gnome-calendar" ,gnome-calendar) ("gnome-characters" ,gnome-characters) @@ -8814,8 +8974,9 @@ from gi.repository import Atspi")) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("python" ,python) - ("python-pygobject" ,python-pygobject))) + `(("python" ,python))) + (propagated-inputs + `(("python-pygobject" ,python-pygobject))) (synopsis "Python client bindings for D-Bus AT-SPI") (home-page "https://wiki.linuxfoundation.org/accessibility\ /atk/at-spi/at-spi_on_d-bus") @@ -8825,6 +8986,15 @@ accessibility infrastructure.") (license license:lgpl2.0) (properties '((upstream-name . "pyatspi"))))) +(define-public python2-pyatspi + (package + (inherit python-pyatspi) + (name "python2-pyatspi") + (inputs + `(("python" ,python-2))) + (propagated-inputs + `(("python-pygobject" ,python2-pygobject))))) + (define-public orca (package (name "orca") @@ -9866,7 +10036,7 @@ integrate seamlessly with the GNOME desktop.") (define-public gnome-boxes (package (name "gnome-boxes") - (version "3.35.91") + (version "3.36.5") (source (origin (method url-fetch) @@ -9874,8 +10044,7 @@ integrate seamlessly with the GNOME desktop.") (version-major+minor version) "/" "gnome-boxes-" version ".tar.xz")) (sha256 - (base32 - "0l96spz6pc8q4l5p9a58cc0kgvdr7pbc89hy6ixn72k5pl3s7fxj")))) + (base32 "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -10008,6 +10177,37 @@ to.") ;; snowball license:bsd-2)))) +(define-public glabels + (package + (name "glabels") + (version "3.4.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + "glabels-" version ".tar.xz")) + (sha256 + (base32 "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+) + ("librsvg" ,librsvg) + ("libxml2" ,libxml2))) + (home-page "https://glabels.org/") + (synopsis "Program for creating labels and business cards") + (description + "gLabels is a program for creating labels and business cards. It is +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+))) + (define-public libratbag (package (name "libratbag") @@ -10078,7 +10278,7 @@ your operating-system definition: (define-public piper (package (name "piper") - (version "0.4") + (version "0.5") (source (origin (method git-fetch) @@ -10086,7 +10286,8 @@ your operating-system definition: (url "https://github.com/libratbag/piper.git") (commit version))) (sha256 - (base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg")))) + (base32 "00vrcsbsv2477l1ncpyzc61lhxgac84dsgr3sjs8qxw3nh1gaasv")) + (file-name (git-file-name name version)))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index cf6f965b0d..daf4bc3b6e 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2018 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> @@ -473,7 +473,7 @@ gpgpme starting with version 1.7.") (define-public guile-gcrypt (package (name "guile-gcrypt") - (version "0.2.1") + (version "0.3.0") (home-page "https://notabug.org/cwebber/guile-gcrypt") (source (origin (method git-fetch) @@ -482,7 +482,7 @@ gpgpme starting with version 1.7.") (commit (string-append "v" version)))) (sha256 (base32 - "0n232iyayc46f7hywmjw0jr7pbmmz5h4b04jskhkzz9gxz0ci99c")) + "0m29fg4pdfifnqqsa437zc5c1bhbfh62mc69ba25ak4x2cla41ll")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -510,7 +510,7 @@ gpgpme starting with version 1.7.") ("libgcrypt" ,libgcrypt))) (synopsis "Cryptography library for Guile using Libgcrypt") (description - "Guile-Gcrypt provides a Guile 2.x interface to a subset of the + "Guile-Gcrypt provides a Guile interface to a subset of the GNU Libgcrypt crytographic library. It provides modules for cryptographic hash functions, message authentication codes (MAC), public-key cryptography, strong randomness, and more. It is implemented using the foreign function diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index ce68fc77ed..7a8a39eee3 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -158,7 +158,7 @@ interface. It is fast, feature rich, easy to configure, and easy to use.") (define-public wmbattery (package (name "wmbattery") - (version "2.51") + (version "2.54") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +166,7 @@ interface. It is fast, feature rich, easy to configure, and easy to use.") version ".orig.tar.gz")) (sha256 (base32 - "084a3irxbmgms4bqaga80mlx9wgvlkx6d2w0ns939yrpfzg87laj")))) + "1r4n58mwkm69y1pjs7l64hg8r1lpndrzyrfl2rdgd4zi6v0jhyyw")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no "check" target (inputs @@ -176,9 +176,7 @@ interface. It is fast, feature rich, easy to configure, and easy to use.") ("libxpm" ,libxpm) ("upower" ,upower))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config))) (home-page "https://www.dockapps.net/wmbattery") (synopsis "Display laptop battery info") (description diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 8a926681e0..0a8edcb1e4 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -556,8 +556,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "68.8.0-guix0-preview1") -(define %icecat-build-id "20200505000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "68.9.0-guix0-preview1") +(define %icecat-build-id "20200602000000") ;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 +579,11 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "0hp8cc7xk6qj4q1s8n97qv9sdrypkzvphik96m5qv1r5s9k24nzs")))) + "01s41p985g6v544lf08zch3myssn5c76jwmkzzd68zd9m3hhalck")))) - (upstream-icecat-base-version "68.8.0") ; maybe older than base-version + (upstream-icecat-base-version "68.9.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "5358ff2963a6136f8acafdc598cad540231ad23e") + (gnuzilla-commit "d7acf32ad905a3382cb2353577a96d29aa58f589") (gnuzilla-source (origin (method git-fetch) @@ -595,7 +595,7 @@ from forcing GEXP-PROMISE." (string-take gnuzilla-commit 8))) (sha256 (base32 - "1bq0qzgkxz9q61g48bc05i0zx1z8k0pklxnmn54ch136aqgsyli4")))) + "0m49zm05m3n95diij2zyvpm74q66zxjhv9rp8zvaab0h7v2s09n9")))) (makeicecat-patch (local-file (search-patch "icecat-makeicecat.patch"))) @@ -1112,11 +1112,13 @@ from forcing GEXP-PROMISE." (lib (string-append out "/lib")) (gtk (assoc-ref inputs "gtk+")) (gtk-share (string-append gtk "/share")) + (mesa (assoc-ref inputs "mesa")) + (mesa-lib (string-append mesa "/lib")) (pulseaudio (assoc-ref inputs "pulseaudio")) (pulseaudio-lib (string-append pulseaudio "/lib"))) (wrap-program (car (find-files lib "^icecat$")) `("XDG_DATA_DIRS" prefix (,gtk-share)) - `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib))) + `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib ,mesa-lib))) #t)))))) (home-page "https://www.gnu.org/software/gnuzilla/") (synopsis "Entirely free browser derived from Mozilla Firefox") @@ -1135,11 +1137,11 @@ standards of the IceCat project.") (cpe-version . ,(first (string-split version #\-))))))) ;; Update this together with icecat! -(define %icedove-build-id "20200505000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-build-id "20200602000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "68.8.0") + (version "68.9.0") (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) @@ -1344,6 +1346,32 @@ standards of the IceCat project.") (lambda _ (invoke "./mach" "build"))) (replace 'install (lambda _ (invoke "./mach" "install"))) + ;; Thunderbird doesn't provide any .desktop file. + ;; See https://bugzilla.mozilla.org/show_bug.cgi?id=1637575 + (add-after 'install 'install-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (apps (string-append out "/share/applications"))) + (mkdir-p apps) + (with-output-to-file (string-append apps "/icedove.desktop") + (lambda _ + (format #t + "[Desktop Entry]~@ + Name=Icedove~@ + Exec=~a/bin/icedove~@ + Icon=icedove~@ + GenericName=Mail/News Client~@ + Categories=Network;Email;~@ + Terminal=false~@ + StartupNotify=true~@ + MimeType=x-scheme-handler/mailto;~@ + Type=Application~@ + Actions=ComposeMessage;~@ + [Desktop Action ComposeMessage]~@ + Name=Write new message~@ + Exec=~@*~a/bin/icedove -compose~%" + out)))) + #t)) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1399,7 +1427,7 @@ 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 "4c022a34cd5dd776671721c44db89f693f59132c")) + ,(let ((changeset "787d887f43fcbfe254ff0c9650c5517710071b74")) (origin (method hg-fetch) (uri (hg-reference @@ -1408,7 +1436,7 @@ standards of the IceCat project.") (file-name (string-append "thunderbird-" version "-checkout")) (sha256 (base32 - "0k3653ic1g5pwcmf87a95lbzjah25l9qx0r49c4j04c21069fhad"))))) + "1z1k3r1jilwmsywiyp8gh49f61cl9n085k95x7ihyld3rvgcjm9f"))))) ("autoconf" ,autoconf-2.13) ("cargo" ,rust "cargo") ("clang" ,clang) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 69f46df743..a631ad4285 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -15,8 +15,9 @@ ;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu> ;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -623,8 +624,8 @@ Go programming language.") (license license:bsd-3)))) (define-public go-golang-org-x-crypto - (let ((commit "9756ffdc24725223350eb3266ffb92590d28f278") - (revision "4")) + (let ((commit "2aa609cf4a9d7d1126360de73b55b6002f9e052a") + (revision "5")) (package (name "go-golang-org-x-crypto") (version (git-version "0.0.0" revision commit)) @@ -637,7 +638,7 @@ Go programming language.") version "-checkout")) (sha256 (base32 - "0q7hxaaq6lp0v8qqzifvysl47z5rfdlrxkh3d29vsl3wyby3dxl8")))) + "1yvis6fqbsd7f356aqyi18f76vnwj3bry6mxqnkvshq4cwrf92il")))) (build-system go-build-system) (arguments '(#:import-path "golang.org/x/crypto" @@ -723,8 +724,8 @@ processing.") (license license:bsd-3)))) (define-public go-golang-org-x-sys - (let ((commit "749cb33beabd9aa6d3178e3de05bcc914f70b2bf") - (revision "5")) + (let ((commit "c709ea063b76879dc9915358f55d4d77c16ab6d5") + (revision "6")) (package (name "go-golang-org-x-sys") (version (git-version "0.0.0" revision commit)) @@ -736,7 +737,7 @@ processing.") (file-name (git-file-name name version)) (sha256 (base32 - "0dm3257q3rv2kyn5lmqqim2fqg634v6rhrqq4glvbk4wx4l3v337")))) + "15nq53a6kcqchng4j0d1pjw0m6hny6126nhjdwqw5n9dzh6a226d")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/sys" @@ -917,29 +918,54 @@ increment versions.") Go.") (license license:expat)))) +(define-public go-github-com-stretchr-objx + (package + (name "go-github-com-stretchr-objx") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stretchr/objx.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pcdvakxgddaiwcdj73ra4da05a3q4cgwbpm2w75ycq4kzv8ij8k")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/stretchr/objx")) + (home-page "https://github.com/stretchr/objx") + (synopsis "Go package for dealing with maps, slices, JSON and other data") + (description "This package provides a Go library for dealing with maps, +slices, JSON and other data.") + (license license:expat))) + (define-public go-github-com-stretchr-testify - (let ((commit - "b1f989447a57594c728884458a39abf3a73447f7") - (revision "0")) - (package - (name "go-github-com-stretchr-testify") - (version (git-version "1.1.4" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/stretchr/testify.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0p0gkqzh2p8r5g0rxm885ljl7ghih7h7hx9w562imx5ka0vdgixv")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/stretchr/testify")) - (home-page "https://github.com/stretchr/testify") - (synopsis "Go helper library for tests and invariant checking") - (description "This package provide many tools for testifying that your + (package + (name "go-github-com-stretchr-testify") + (version "1.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stretchr/testify.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09r89m1wy4cjv2nps1ykp00qjpi0531r07q3s34hr7m6njk4srkl")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/stretchr/testify")) + (propagated-inputs + `(("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew) + ("github.com/pmezard/go-difflib" ,go-github-com-pmezard-go-difflib) + ("github.com/stretchr/objx" ,go-github-com-stretchr-objx) + ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2))) + (home-page "https://github.com/stretchr/testify") + (synopsis "Go helper library for tests and invariant checking") + (description "This package provide many tools for testifying that your code will behave as you intend. Features include: @@ -949,7 +975,7 @@ Features include: @item HTTP response trapping @item Testing suite interfaces and functions. @end itemize") - (license license:expat)))) + (license license:expat))) (define-public go-github-com-tevino-abool (let ((commit @@ -1154,6 +1180,103 @@ incoming requests with their respective handler.") @code{clockwork.Clock} interface instead.") (license license:asl2.0)))) +(define-public go-github-com-spf13-afero + (package + (name "go-github-com-spf13-afero") + (version "1.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/afero") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/spf13/afero")) + (propagated-inputs + `(("golang.org/x/text" ,go-golang-org-x-text))) + (home-page "https://github.com/spf13/afero") + (synopsis "Filesystem abstraction for Go") + (description "Filesystem abstraction for Go") + (license license:asl2.0))) + +(define-public go-github-com-spf13-cast + (package + (name "go-github-com-spf13-cast") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/cast") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lb84788glr0qzrq2ifi36rgvp96qrgywvxrr3ggq5hrbr38hgn1")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/spf13/cast")) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (home-page "https://github.com/spf13/cast") + (synopsis "Safe and easy casting from one type to another in Go") + (description "Safe and easy casting from one type to another in Go") + (license license:expat))) + +(define-public go-github-com-spf13-cobra + (package + (name "go-github-com-spf13-cobra") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/cobra") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vbppqqhby302a5ayn0296jqr71qkcd4c9am7wzsk6z71fwdsa7h")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/spf13/cobra")) + (propagated-inputs + `(("github.com/spf13/pflag" ,go-github-com-spf13-pflag))) + (home-page "https://github.com/spf13/cobra") + (synopsis "Go library for creating CLI applications") + (description "Cobra is both a library for creating powerful modern CLI +applications as well as a program to generate applications and command files.") + (license license:asl2.0))) + +(define-public go-github-com-spf13-jwalterweatherman + (package + (name "go-github-com-spf13-jwalterweatherman") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/jwalterweatherman") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ywmkwci5zyd88ijym6f30fj5c0k2yayxarkmnazf5ybljv50q7b")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/spf13/jwalterweatherman")) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (home-page "https://github.com/spf13/jwalterweatherman") + (synopsis "Go logging library") + (description "Go logging library") + (license license:expat))) + (define-public go-github-com-spf13-pflag (package (name "go-github-com-spf13-pflag") @@ -1166,8 +1289,8 @@ incoming requests with their respective handler.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31")))) + (base32 + "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31")))) (build-system go-build-system) (arguments '(#:import-path "github.com/spf13/pflag")) @@ -1181,6 +1304,143 @@ with the GNU extensions} to the POSIX recommendations for command-line options.") (license license:bsd-3))) +(define-public go-github-com-spf13-viper + (package + (name "go-github-com-spf13-viper") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spf13/viper.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "099n2g7fg6r8hqyszqw2axr775qyhyvwhsykvgw0f0s16ql48h5c")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/spf13/viper")) + (propagated-inputs + `(("github.com/spf13/afero" ,go-github-com-spf13-afero) + ("github.com/spf13/cast" ,go-github-com-spf13-cast) + ("github.com/spf13/pflag" ,go-github-com-spf13-pflag) + ("github.com/spf13/jwalterweatherman" ,go-github-com-spf13-jwalterweatherman) + ("github.com/fsnotify/fsnotify" ,go-github-com-fsnotify-fsnotify) + ("github.com/hashicorp/hcl" ,go-github-com-hashicorp-hcl) + ("github.com/magiconair/properties" ,go-github-com-magiconair-properties) + ("github.com/mitchellh/mapstructure" ,go-github-com-mitchellh-mapstructure) + ("github.com/pelletier/go-toml" ,go-github-com-pelletier-go-toml) + ("github.com/subosito/gotenv" ,go-github-com-subosito-gotenv) + + ("gopkg.in/ini.v1" ,go-gopkg-in-ini-v1) + ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2))) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (home-page "https://github.com/spf13/viper") + (synopsis "Go configuration with fangs") + (description + "Viper is a complete configuration solution for Go applications including +12-Factor apps. It is designed to work within an application, and can handle +all types of configuration needs and formats.") + (license license:expat))) + +(define-public go-github-com-fsnotify-fsnotify + (package + (name "go-github-com-fsnotify-fsnotify") + (version "1.4.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fsnotify/fsnotify") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i1r72knpbfwwql9frn9bqc3nhfc2ai5m6qllcyr6wban62lr40x")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/fsnotify/fsnotify")) + (propagated-inputs + `(("golang.org/x/sys" ,go-golang-org-x-sys))) + (home-page "https://github.com/fsnotify/fsnotify") + (synopsis "File system notifications for Go") + (description "File system notifications for Go") + (license license:bsd-3))) + +(define-public go-github-com-magiconair-properties + (package + (name "go-github-com-magiconair-properties") + (version "1.8.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magiconair/properties") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19zqw1x0w0crh8zc84yy82nkcc5yjz72gviaf2xjgfm5a8np7nyb")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/magiconair/properties")) + (home-page "https://github.com/magiconair/properties") + (synopsis "Java properties scanner for Go") + (description "Java properties scanner for Go") + (license license:bsd-2))) + +(define-public go-github-com-pelletier-go-toml + (package + (name "go-github-com-pelletier-go-toml") + (version "1.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pelletier/go-toml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fxmjm85c9h43lvqz71wr93fcc63bhj82nwby80222xx8ja63g7y")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/pelletier/go-toml")) + (native-inputs + `(("github.com/BurntSushi/toml" ,go-github-com-burntsushi-toml) + ("github.com/davecgh/go-spew" ,go-github-com-davecgh-go-spew) + ("gopkg.in/yaml.v2" ,go-gopkg-in-yaml-v2))) + (home-page "https://github.com/pelletier/go-toml") + (synopsis "Go library for the TOML configuration language") + (description "Go library for the TOML configuration language") + (license license:expat))) + +(define-public go-github-com-subosito-gotenv + (package + (name "go-github-com-subosito-gotenv") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/subosito/gotenv") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mav91j7r4arjkpq5zcf9j74f6pww8ic53x43wy7kg3ibw31yjs5")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/subosito/gotenv")) + (native-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (home-page "https://github.com/subosito/gotenv") + (synopsis "Go library for loading environment variables from files") + (description "Go library for loading environment variables from files") + (license license:expat))) + (define-public go-github-com-sirupsen-logrus (package (name "go-github-com-sirupsen-logrus") @@ -1449,6 +1709,30 @@ which satisfies the cron expression.") (description "This package provides a test library for the Go language.") (license license:asl2.0)))) +(define-public go-gopkg-in-ini-v1 + (package + (name "go-gopkg-in-ini-v1") + (version "1.56.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-ini/ini") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j5z0cngg6mq2f9id083jcdi7k6r2h35714pashv6sdv2q7bmfc5")))) + (build-system go-build-system) + (arguments + '(#:import-path "gopkg.in/ini.v1" + ;; Requires large unpackaged test framework + #:tests? #f)) + (home-page "https://gopkg.in/ini.v1") + (synopsis "Go library for ini files") + (description "Go library for ini files") + (license license:asl2.0))) + (define-public go-gopkg-in-yaml-v2 (package (name "go-gopkg-in-yaml-v2") @@ -1908,28 +2192,26 @@ that's a lot faster (and only does simple bandwidth metrics).") (license license:expat)))) (define-public go-github-com-davecgh-go-spew - (let ((commit "d8f796af33cc11cb798c1aaeb27a4ebc5099927d") - (revision "0")) - (package - (name "go-github-com-davecgh-go-spew") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/davecgh/go-spew.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx")))) - (build-system go-build-system) - (arguments - '(#:unpack-path "github.com/davecgh/go-spew" - #:import-path "github.com/davecgh/go-spew/spew")) - (home-page "https://github.com/davecgh/go-spew") - (synopsis "Deep pretty printer for Go data structures to aid in debugging") - (description "Package @command{spew} implements a deep pretty printer + (package + (name "go-github-com-davecgh-go-spew") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davecgh/go-spew.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/davecgh/go-spew" + #:import-path "github.com/davecgh/go-spew/spew")) + (home-page "https://github.com/davecgh/go-spew") + (synopsis "Deep pretty printer for Go data structures to aid in debugging") + (description "Package @command{spew} implements a deep pretty printer for Go data structures to aid in debugging. A quick overview of the additional features spew provides over the built-in printing facilities for Go data types are as follows: @@ -1945,7 +2227,7 @@ pointer receiver are optionally invoked when passing non-pointer variables. includes offsets, byte values in hex, and ASCII output (only when using Dump style). @end itemize\n") - (license license:isc)))) + (license license:isc))) (define-public go-github-com-btcsuite-btclog (let ((commit "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a") @@ -2186,33 +2468,31 @@ Reference algorithm has been slightly hacked as to support the streaming mode required by Go's standard Hash interface.") (license license:bsd-3))) -(define-public go-github-com-calmh-murmur3 - (let ((commit "74e9af8f47ac56901c490d45546ca167b60c7066") - (revision "0")) - (package - (name "go-github-com-calmh-murmur3") - (version (git-version "1.1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/calmh/murmur3.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0k8345ivx228qdbkl8bisd2wxwsinkb44ghba6r09538fr3fbr5w")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/calmh/murmur3")) - (home-page "https://github.com/calmh/murmur3") - (synopsis "Native MurmurHash3 Go implementation") - (description "Native Go implementation of Austin Appleby's third +(define-public go-github-com-twmb-murmur3 + (package + (name "go-github-com-twmb-murmur3") + (version "1.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/twmb/murmur3.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00riapwkyf23l5wyis47mbr8rwr4yrjw491jfc30wpzs111c1gyy")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/twmb/murmur3")) + (home-page "https://github.com/twmb/murmur3") + (synopsis "Native MurmurHash3 Go implementation") + (description "Native Go implementation of Austin Appleby's third MurmurHash revision (aka MurmurHash3). Reference algorithm has been slightly hacked as to support the streaming mode required by Go's standard Hash interface.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public go-github-com-multiformats-go-multihash (let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6") @@ -2383,6 +2663,28 @@ the current user without cgo. This library does that, enabling cross-compilation.") (license license:expat)))) +(define-public go-github-com-mitchellh-mapstructure + (package + (name "go-github-com-mitchellh-mapstructure") + (version "1.1.2") ;; NOTE: Updating to 1.3.1 breaks tests on viper-1.7.0 + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/mapstructure") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03bpv28jz9zhn4947saqwi328ydj7f6g6pf1m2d4m5zdh5jlfkrr")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/mitchellh/mapstructure")) + (home-page "https://github.com/mitchellh/mapstructure") + (synopsis "Go library for decoding generic map values") + (description "Go library for decoding generic map values") + (license license:expat))) + (define-public go-github-com-multiformats-go-multiaddr (let ((commit "fe1c46f8be5af4aff4db286e08839295bd922efb") (revision "0")) @@ -2803,7 +3105,7 @@ format in Go.") (define-public go-github-com-kr-pretty (package (name "go-github-com-kr-pretty") - (version "0.1.0") + (version "0.2.0") (source (origin (method git-fetch) (uri (git-reference @@ -2812,7 +3114,7 @@ format in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp")))) + "1ywbfzz1h3a3qd8rpkiqwi1dm4w8ls9ijb4x1b7567grns9f0vnp")))) (build-system go-build-system) (propagated-inputs `(("go-github-com-kr-text" ,go-github-com-kr-text))) @@ -3044,7 +3346,7 @@ mutex, simply ignore the RLock/RUnlock functions.") (define-public go-github-com-marten-seemann-qtls (package (name "go-github-com-marten-seemann-qtls") - (version "0.3.2") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -3053,7 +3355,7 @@ mutex, simply ignore the RLock/RUnlock functions.") (file-name (git-file-name name version)) (sha256 (base32 - "1mdymj66qrqy80pfkwy9s9z9ifkg251whngw5lim09zm90wv2q7a")))) + "0dz60y98nm7l70hamq0v2vrs2dspyr5yqhnrds2dfh7hchxvq76j")))) (build-system go-build-system) (arguments '(#:import-path "github.com/marten-seemann/qtls" @@ -3067,6 +3369,28 @@ the Go standard library's TLS 1.3 implementation.") (home-page "https://github.com/marten-seemann/qtls") (license license:bsd-3))) +(define-public go-github-com-marten-seemann-chacha20 + (package + (name "go-github-com-marten-seemann-chacha20") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marten-seemann/chacha20") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x1j4cvbap45zk962qkjalc1h3axhzzdy9cdzhcjmprmm1ql4gjm")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/marten-seemann/chacha20")) + (synopsis "ChaCha20 in Go") + (description "This package is an external copy of the Go standard library's +internal ChaCha20 package.") + (home-page "https://github.com/marten-seemann/chacha20") + (license license:bsd-3))) + (define-public go-github-com-cheekybits-genny (package (name "go-github-com-cheekybits-genny") @@ -3094,7 +3418,7 @@ implementation of generics.") (define-public go-github-com-lucas-clemente-quic-go (package (name "go-github-com-lucas-clemente-quic-go") - (version "0.12.1") + (version "0.14.4") (source (origin (method git-fetch) (uri (git-reference @@ -3103,7 +3427,7 @@ implementation of generics.") (file-name (git-file-name name version)) (sha256 (base32 - "156nhq4dvw7mr08j952248v81q7702phbn4mp228319sahnbv65h")))) + "04l3gqbc3gh079n8vgnrsf8ypgv8sl63xjf28jqfrb45v2l73vyz")))) (build-system go-build-system) (arguments '(#:import-path "github.com/lucas-clemente/quic-go" @@ -3112,6 +3436,7 @@ implementation of generics.") (propagated-inputs `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto) ("go-github-com-cheekybits-genny" ,go-github-com-cheekybits-genny) + ("go-github-com-marten-seemann-chacha20" ,go-github-com-marten-seemann-chacha20) ("go-github-com-marten-seemann-qtls" ,go-github-com-marten-seemann-qtls) ("go-github-com-golang-protobuf-proto" ,go-github-com-golang-protobuf-proto))) (synopsis "QUIC in Go") @@ -3120,6 +3445,31 @@ network protocol.") (home-page "https://github.com/lucas-clemente/quic-go") (license license:expat))) +(define-public go-github-com-francoispqt-gojay + (package + (name "go-github-com-francoispqt-gojay") + (version "1.2.13") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/francoispqt/gojay") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ix95qdyajfmxhf9y52vjrih63f181pjs4v5as8905s4d5vmkd06")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/francoispqt/gojay")) + (propagated-inputs + `(("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify))) + (synopsis "JSON encoder/decoder with powerful stream API for Golang") + (description "GoJay is a performant JSON encoder/decoder for Golang. It has +a simple API and doesn't use reflection. It relies on small interfaces to +decode/encode structures and slices.") + (home-page "https://github.com/francoispqt/gojay") + (license license:expat))) + (define-public go-github-com-pkg-errors (package (name "go-github-com-pkg-errors") @@ -3168,7 +3518,7 @@ and aid debugging.") (define-public go-github-com-robfig-cron (package (name "go-github-com-robfig-cron") - (version "3.0.0") + (version "3.0.1") (source (origin (method git-fetch) @@ -3178,7 +3528,7 @@ and aid debugging.") (file-name (git-file-name name version)) (sha256 (base32 - "0bvq5gxkhyj21lq32nma23i4dpwp7bswnp2yks6372ilkcyisx2z")))) + "1agzbw2dfk2d1mpmddr85s5vh6ygm8kqrvfg87i9d2wqnlsnliqm")))) (build-system go-build-system) (arguments `(#:import-path "github.com/robfig/cron")) @@ -3496,14 +3846,14 @@ efficient space usage.") (modify-phases %standard-phases (add-after 'unpack 'patch-import-path (lambda _ - ;; See 'go.mod' in the source distribution of Syncthing 1.4.1 for + ;; See 'go.mod' in the source distribution of Syncthing 1.5.0 for ;; more information. ;; <https://github.com/spaolacci/murmur3/issues/29> (substitute* "src/github.com/willf/bloom/bloom.go" - (("spaolacci") "calmh")) + (("spaolacci") "twmb")) #t))))) (propagated-inputs - `(("go-github-com-calmh-murmur3" ,go-github-com-calmh-murmur3) + `(("go-github-com-twmb-murmur3" ,go-github-com-twmb-murmur3) ("go-github-com-willf-bitset" ,go-github-com-willf-bitset))) (synopsis "Bloom filters in Go") (description "This package provides a Go implementation of bloom filters, diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index bb3ec345ba..38fa6bea47 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> @@ -182,7 +182,7 @@ coordinates as well as partial support for adjustments in global coordinate syst (define-public gpxsee (package (name "gpxsee") - (version "7.25") + (version "7.30") (source (origin (method git-fetch) (uri (git-reference @@ -191,7 +191,7 @@ coordinates as well as partial support for adjustments in global coordinate syst (file-name (git-file-name name version)) (sha256 (base32 - "0lml3hz2zxljl9j5wnh7bn9bj8k9v3wf6bk3g77x9nnarsmw0fcx")))) + "09gajwqc30r9a2sn972qdx3gx0gki9n0zafq986hn6zsr3z43mfs")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index a999b1cdfa..dc8f2c64a2 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -181,14 +181,14 @@ model.") (define-public r-rgraphviz (package (name "r-rgraphviz") - (version "2.30.0") + (version "2.32.0") (source (origin (method url-fetch) (uri (bioconductor-uri "Rgraphviz" version)) (sha256 (base32 - "00lrkbgbb4payybckcmazsv8skysgdlglyqbl7yjb37vv3gnfc6c")))) + "1calpvzgcz6v7s4x6bf35kj83sga95zjp7x87p5d3qnbv7q2wz5y")))) (properties `((upstream-name . "Rgraphviz"))) (build-system r-build-system) ;; FIXME: Rgraphviz bundles the sources of an older variant of diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 664e3fab45..44d78c036b 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) @@ -51,6 +53,7 @@ #:use-module (gnu packages flex) #:use-module (gnu packages fonts) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) @@ -61,11 +64,13 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages jemalloc) + #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages photo) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages plotutils) #:use-module (gnu packages pth) #:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate #:use-module (gnu packages python) @@ -143,17 +148,72 @@ objects!") (home-page "http://www.fox-toolkit.org") (license license:lgpl2.1+))) +(define-public autotrace + (let ((commit "travis-20190624.59") + (version-base "0.40.0")) + (package + (name "autotrace") + (version (string-append version-base "-" + (if (string-prefix? "travis-" commit) + (string-drop commit 7) + commit))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/autotrace/autotrace.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mk4yavy42dj0pszr1ggnggpvmzs4ds46caa9wr55cqsypn7bq6s")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + ;; See: https://github.com/autotrace/autotrace/issues/27. + (add-after 'unpack 'include-spline.h-header + (lambda _ + (substitute* "Makefile.am" + ((".*src/types.h.*" all) + (string-append all "\t\tsrc/spline.h \\\n"))) + #t)) + ;; See: https://github.com/autotrace/autotrace/issues/26. + (replace 'check + (lambda _ + (invoke "sh" "tests/runtests.sh")))))) + (native-inputs + `(("which" ,which) + ("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("intltool" ,intltool) + ("libtool" ,libtool) + ("gettext" ,gettext-minimal))) + (inputs + `(("glib" ,glib) + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("imagemagick" ,imagemagick) + ("pstoedit" ,pstoedit))) + (home-page "https://github.com/autotrace/autotrace") + (synopsis "Bitmap to vector graphics converter") + (description "AutoTrace is a utility for converting bitmap into vector +graphics. It can trace outlines and midlines, effect color reduction or +despeckling and has support for many input and output formats. It can be used +with the @command{autotrace} utility or as a C library, @code{libautotrace}.") + (license (list license:gpl2+ ;for the utility itself + license:lgpl2.1+))))) ;for use as a library + (define-public blender (package (name "blender") - (version "2.82a") + (version "2.83.0") (source (origin (method url-fetch) (uri (string-append "https://download.blender.org/source/" "blender-" version ".tar.xz")) (sha256 (base32 - "18zbdgas6qf2kmvvlimxgnq7y9kj7hdxcgixrs6fj50x40q01q2d")))) + "07rzm4xaj94pjxy2vlqfhi1adsqpshfkrzrq8kljmcbnw22vrqhl")))) (build-system cmake-build-system) (arguments (let ((python-version (version-major+minor (package-version python)))) @@ -328,6 +388,120 @@ quaternions and other useful 2D and 3D math functions. Iex is an exception-handling library.") (license license:bsd-3))) +(define-public lib2geom + ;; Use the latest master commit, as the 1.0 release suffer build problems. + (let ((revision "1") + (commit "42e119d94934a9514c61571cfb6b4af503ece082")) + (package + (name "lib2geom") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/inkscape/lib2geom.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "195rs0kdbs8w62irha1nwy83bccz04wglmk578qrj1mky7fc4rjv")) + (patches + ;; Patch submitted to upstream (see: + ;; https://gitlab.com/inkscape/lib2geom/merge_requests/17). + (search-patches "lib2geom-enable-assertions.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix py2geom module initialization (see: + ;; https://gitlab.com/inkscape/lib2geom/merge_requests/18). + (substitute* "src/py2geom/__init__.py" + (("_py2geom") "py2geom._py2geom")) + #t)))) + (build-system cmake-build-system) + (arguments + `(#:imported-modules ((guix build python-build-system) + ,@%cmake-build-system-modules) + #:configure-flags '("-D2GEOM_BUILD_SHARED=ON" + "-D2GEOM_BOOST_PYTHON=ON" + ;; Compiling the Cython bindings fail (see: + ;; https://gitlab.com/inkscape/lib2geom/issues/21). + "-D2GEOM_CYTHON_BINDINGS=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-python-lib-install-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((python-version (@ (guix build python-build-system) + python-version)) + (python-maj-min-version (python-version + (assoc-ref inputs "python"))) + (site-package (string-append + (assoc-ref outputs "out") + "/lib/python" python-maj-min-version + "/site-packages"))) + (substitute* '("src/cython/CMakeLists.txt" + "src/py2geom/CMakeLists.txt") + (("PYTHON_LIB_INSTALL \"[^\"]*\"") + (format #f "PYTHON_LIB_INSTALL ~s" site-package)))) + #t))))) + (native-inputs `(("python" ,python-wrapper) + ("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (inputs `(("cairo" ,cairo) + ("pycairo" ,python-pycairo) + ("double-conversion" ,double-conversion) + ("glib" ,glib) + ("gsl" ,gsl))) + (propagated-inputs + `(("boost" ,boost))) ;referred to in 2geom/pathvector.h. + (home-page "https://gitlab.com/inkscape/lib2geom/") + (synopsis "C++ 2D graphics library") + (description "2geom is a C++ library of mathematics for paths, curves, +and other geometric calculations. Designed for vector graphics, it tackles +Bézier curves, conic sections, paths, intersections, transformations, and +basic geometries.") + ;; Because the library is linked with the GNU Scientific Library + ;; (GPLv3+), the combined work must be licensed as GPLv3+ (see: + ;; https://gitlab.com/inkscape/inkscape/issues/784). + (license license:gpl3+)))) + +(define-public pstoedit + (package + (name "pstoedit") + (version "3.75") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/pstoedit/pstoedit/" + version "/pstoedit-" version ".tar.gz")) + (sha256 + (base32 + "1kv46g2wsvsvcngkavxl5gnw3l6g5xqnh4kmyx4b39a01d8xiddp")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("ghostscript" ,ghostscript) + ("imagemagick" ,imagemagick) + ("libplot" ,plotutils) + ("libjpeg" ,libjpeg-turbo) + ("zlib" ,zlib))) ;else libp2edrvmagick++.so fails to link + (home-page "http://www.pstoedit.net/") + (synopsis "Converter for PostScript and PDF graphics") + (description "The @code{pstoedit} utility allows translating graphics +in the PostScript or PDF (Portable Document Format) formats to various +other vector formats such as: +@itemize +@item Tgif (.obj) +@item gnuplot +@item xfig (.fig) +@item Flattened PostScript +@item DXF, a CAD (Computed-Aided Design) exchange format +@item PIC (for troff/groff) +@item MetaPost (for usage with TeX/LaTeX) +@item LaTeX2e picture +@item GNU Metafile (for use with plotutils/libplot) +@item Any format supported by ImageMagick +@end itemize") + (license license:gpl2+))) + (define-public ogre (package (name "ogre") diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 6e91d45503..815a35a974 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,7 +98,6 @@ ("gts" ,gts) ("gd" ,gd) ; FIXME: Our GD is too old ("guile" ,guile-2.0) ;Guile bindings - ("swig" ,swig) ("pango" ,pango) ("fontconfig" ,fontconfig) ("freetype" ,freetype) @@ -108,6 +108,7 @@ ("libpng" ,libpng))) (native-inputs `(("bison" ,bison) + ("swig" ,swig) ("pkg-config" ,pkg-config))) (outputs '("out" "doc")) ; 5 MiB of html + pdfs (home-page "http://www.graphviz.org/") diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 7596796d68..69fb1d8ae4 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -104,6 +104,17 @@ arrays of data.") ;; under the 3-clause BSD license, the rest is under 2-clause BSD license. (license (list license:bsd-2 license:bsd-3)))) +;; Increase the test timeouts to accommodate slow or busy machines. +(define %common-gstreamer-phases + '((add-after 'unpack 'increase-test-timeout + (lambda _ + (substitute* "tests/check/meson.build" + (("'CK_DEFAULT_TIMEOUT', '20'") + "'CK_DEFAULT_TIMEOUT', '60'") + (("timeout ?: 3 \\* 60") + "timeout: 9 * 60")) + #t)))) + (define-public gstreamer (package (name "gstreamer") @@ -122,6 +133,7 @@ arrays of data.") (arguments `(#:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases ;; FIXME: Since switching to the meson-build-system, two tests ;; started failing on i686. See ;; <https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/499>. @@ -220,12 +232,13 @@ This package provides the core library and elements.") ("gobject-introspection" ,gobject-introspection) ("python-wrapper" ,python-wrapper))) (arguments - '(#:configure-flags '("-Dgl=disabled" + `(#:configure-flags '("-Dgl=disabled" ;; FIXME: Documentation fails to build without ;; enabling GL above, which causes other problems. "-Ddoc=false") #:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases (add-before 'configure 'patch (lambda _ (substitute* "tests/check/libs/pbutils.c" @@ -284,6 +297,7 @@ for the GStreamer multimedia library.") (arguments `(#:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases ,@(if (string-prefix? "arm" (or (%current-target-system) (%current-system))) ;; FIXME: These tests started failing on armhf after switching to Meson. @@ -332,6 +346,7 @@ developers consider to have good quality code and correct functionality.") (arguments `(#:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases ,@(if (string-prefix? "arm" (or (%current-target-system) (%current-system))) ;; Disable test that fails on ARMv7. @@ -421,6 +436,9 @@ par compared to the rest.") (base32 "1jpvc32x6q01zjkfgh6gmq6aaikiyfwwnhj7bmvn52syhrdl202m")))) (build-system meson-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases))) (inputs `(("gst-plugins-base" ,gst-plugins-base) ("liba52" ,liba52) @@ -492,7 +510,9 @@ compression formats through the use of the libav library.") (build-system meson-build-system) (arguments ;; FIXME: 16/22 failing tests. - `(#:tests? #f)) + `(#:tests? #f + #:phases (modify-phases %standard-phases + ,@%common-gstreamer-phases))) (inputs `(("gst-plugins-base" ,gst-plugins-base) ("libxml2" ,libxml2))) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 3e2cb30246..3cadccd25c 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -318,14 +319,14 @@ functions which were removed.") (define-public ganv (package (name "ganv") - (version "1.4.2") + (version "1.6.0") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/ganv-" version ".tar.bz2")) (sha256 (base32 - "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l")))) + "0pik2d3995z0rjcjhb4hsj5fsph3m8khg6j10k6mx4j2j727aq6l")))) (build-system waf-build-system) (arguments `(#:phases @@ -337,7 +338,6 @@ functions which were removed.") (string-append "-Wl,-rpath=" (assoc-ref outputs "out") "/lib")) #t))) - #:python ,python-2 ;XXX: The bundled waf fails with Python 3.7.0. #:tests? #f)) ; no check target (inputs `(("gtk" ,gtk+-2) @@ -353,24 +353,6 @@ graph-like environments, e.g. modular synths or finite state machine diagrams.") (license license:gpl3+))) -(define-public ganv-devel - (let ((commit "12f7d6b0438c94dd87f773a92eee3453d971846e") - (revision "1")) - (package - (inherit ganv) - (name "ganv") - (version (string-append "1.5.4-" revision "." - (string-take commit 9))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.drobilla.net/ganv.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1cr8w02lr6bk9mkxa12j3imq721b2an2yn4bj5wnwmpm91ddn2gi"))))))) - (define-public gtksourceview-2 (package (name "gtksourceview") @@ -650,6 +632,24 @@ is part of the GNOME accessibility project.") (license license:lgpl2.0+) (home-page "https://projects.gnome.org/accessibility/"))) +;;; A minimal variant used to prevent a cycle with Inkscape. +(define at-spi2-core-minimal + (package + (inherit at-spi2-core) + (name "at-spi2-core-minimal") + (outputs (delete "doc" (package-outputs at-spi2-core))) + (arguments + (substitute-keyword-arguments (package-arguments at-spi2-core) + ((#:configure-flags configure-flags) + `(delete "-Ddocs=true" ,configure-flags)) + ((#:phases phases) + `(modify-phases ,phases + (delete 'set-documentation-path) + (delete 'prepare-doc-directory) + (delete 'move-documentation))))) + (native-inputs + (alist-delete "gtk-doc" (package-native-inputs at-spi2-core))))) + (define-public at-spi2-atk (package (name "at-spi2-atk") @@ -672,6 +672,8 @@ is part of the GNOME accessibility project.") (setenv "DBUS_FATAL_WARNINGS" "0") (invoke "dbus-launch" "meson" "test")))))) (propagated-inputs + ;; TODO: Replace by at-spi2-core-minimal in the next staging window, or + ;; when Inkscape 0.92 is upgraded to 1.0 to avoid a cycle. `(("at-spi2-core" ,at-spi2-core))) ; required by atk-bridge-2.0.pc (inputs `(("atk" ,atk))) @@ -759,7 +761,7 @@ application suites.") (define-public gtk+ (package (inherit gtk+-2) (name "gtk+") - (version "3.24.14") + (version "3.24.20") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -767,7 +769,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "120yz5gxqbv7sgdbcy4i0b6ixm8jpjzialdrqs0gv15q7bwnjk8w")) + "1wqxkd3xnqwihcawncp9mkf9bv5a5fg5i4ahm6klpl782vvnkb1d")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (propagated-inputs @@ -923,13 +925,13 @@ exceptions, macros, and a dynamic programming environment.") (version (string-append "2.18.1-" revision "." (string-take commit 7))) (source (origin - (method url-fetch) - (uri (string-append "https://gitlab.com/wingo/guile-rsvg/" - "repository/archive.tar.gz?ref=" - commit)) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/wingo/guile-rsvg/") + (commit commit))) (sha256 (base32 - "0vdzjx8l5nc4y2xjqs0g1rqn1zrwfsm30brh5gz00r1x41a2pvv2")) + "0cnbl40df2sbhpc32cma6j6w312rfvcgbxxqaixgf0ymim3fb248")) (patches (search-patches "guile-rsvg-pkgconfig.patch")) (modules '((guix build utils))) (snippet @@ -1288,7 +1290,7 @@ printing and other features typical of a source code editor.") (define-public python-pycairo (package (name "python-pycairo") - (version "1.19.0") + (version "1.19.1") (source (origin (method url-fetch) @@ -1296,7 +1298,7 @@ printing and other features typical of a source code editor.") version "/pycairo-" version ".tar.gz")) (sha256 (base32 - "176i283glkpycka8wwyndwld0zp1yn9xj9rpvllqgja698vsjnsg")))) + "111fav9m1iagw3nh2ws2vzkjh34r97yl7rdlpvsngsqg521k251c")))) (build-system python-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1705,14 +1707,14 @@ glass artworks done by Venicians glass blowers.") (define-public gtkspell3 (package (name "gtkspell3") - (version "3.0.9") + (version "3.0.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gtkspell/" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "09jdicmpipmj4v84gnkqwbmj4lh8v0i6pn967rb9jx4zg2ia9x54")))) + "0cjp6xdcnzh6kka42w9g0w2ihqjlq8yl8hjm9wsfnixk6qwgch5h")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1723,7 +1725,7 @@ glass artworks done by Venicians glass blowers.") ("gtk+" ,gtk+) ("pango" ,pango))) (propagated-inputs - `(("enchant" ,enchant-1.6))) ;gtkspell3-3.0.pc refers to it + `(("enchant" ,enchant))) ; gtkspell3-3.0.pc refers to it (home-page "http://gtkspell.sourceforge.net") (synopsis "Spell-checking addon for GTK's TextView widget") (description diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index fb56fb25e5..0942e7cf74 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -25,6 +25,8 @@ ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com> +;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> +;;; Copyright © 2020 Julien Lepiler <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -464,10 +466,23 @@ you send to a FIFO file.") ("automake" ,automake) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) - (inputs `(("guile" ,guile-2.2))) - (propagated-inputs `(("guile2.2-lib" ,guile2.2-lib))) + (inputs `(("guile" ,guile-3.0))) + (propagated-inputs `(("guile-lib" ,guile-lib))) (arguments - '(#:phases (modify-phases %standard-phases + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:phases (modify-phases %standard-phases + ;; Support Guile 3.0 in configure from upstream commit + ;; 4c724577ccf19bb88580f72f2f6b166a0447ce3f + (add-before 'bootstrap 'configure-support-guile3.0 + (lambda _ + (substitute* "configure.ac" + (("GUILE_PKG.*") + "GUILE_PKG([3.0 2.0 2.2])")) + #t)) (add-before 'configure 'set-guilesitedir (lambda _ (substitute* "Makefile.in" @@ -482,6 +497,24 @@ $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n")) (("^guilesitedir =.*$") "guilesitedir = \ $(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n")) + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (guile-lib (assoc-ref inputs "guile-lib")) + (version (target-guile-effective-version)) + (scm (string-append "/share/guile/site/" + version)) + (go (string-append "/lib/guile/" + version "/site-ccache"))) + (wrap-program (string-append bin "/dsv") + `("GUILE_LOAD_PATH" prefix + (,(string-append out scm) + ,(string-append guile-lib scm))) + `("GUILE_LOAD_COMPILED_PATH" prefix + (,(string-append out go) + ,(string-append guile-lib go))))) #t))))) (home-page "https://github.com/artyom-poptsov/guile-dsv") (synopsis "DSV module for Guile") @@ -491,6 +524,13 @@ delimiter-separated values (DSV) data format. Guile-DSV supports the Unix-style DSV format and RFC 4180 format.") (license license:gpl3+))) +(define-public guile2.2-dsv + (package + (inherit guile-dsv) + (name "guile2.2-dsv") + (inputs `(("guile" ,guile-2.2))) + (propagated-inputs `(("guile-lib" ,guile2.2-lib))))) + (define-public guile-fibers (package (name "guile-fibers") @@ -523,7 +563,10 @@ Unix-style DSV format and RFC 4180 format.") (("#:use-module \\(fibers\\)") (string-append "#:use-module (fibers)\n" "#:use-module (ice-9 threads)\n"))) - #t)))) + #t)) + (patches + ;; fixes a resource leak that causes crashes in the tests + (search-patches "guile-fibers-destroy-peer-schedulers.patch")))) (build-system gnu-build-system) (arguments '(;; The code uses 'scm_t_uint64' et al., which are deprecated in 3.0. @@ -1353,16 +1396,16 @@ PostgreSQL.") (define-public guile-config (package (name "guile-config") - (version "0.3.1") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/a-sassmannshausen/guile-config") - (commit (string-append "v" version)))) + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "0gglsqwpw77gvrqcny8irpqfl7qdf2v8n9ggwrswanxalj4vcbvf")))) + "1c59ch96d5p4c7si8qp55fdc15375klf2hyh29y3ap8ahqx9pxqj")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -2375,67 +2418,69 @@ The picture values can directly be displayed in Geiser.") guile-picture-language)) (define-public guile-studio - (package - (name "guile-studio") - (version "0.0.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.elephly.net/software/guile-studio.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "10ls4ra148hd9ra7sin4kh9vv0am5pwk48p7dsjhrlg2l1hsh4hi")))) - (build-system gnu-build-system) - (arguments - `(#:modules - ((ice-9 match) - (srfi srfi-1) - ,@%gnu-build-system-modules) - #:tests? #f ; there are none - #:make-flags - (list (string-append "ICONS_DIR=" - (assoc-ref %build-inputs "adwaita-icon-theme") - "/share/icons/Adwaita/") - (string-append "PICT_DIR=" - (assoc-ref %build-inputs "guile-picture-language")) - (string-append "EMACS_DIR=" - (assoc-ref %build-inputs "emacs")) - (string-append "GUILE_DIR=" - (assoc-ref %build-inputs "guile")) - (string-join (cons "INPUTS=" - (filter-map - (lambda (input) - (match input - ((label . pkg) - (and (string-prefix? "emacs" label) pkg)))) - %build-inputs))) - (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'install)))) - (inputs - `(("guile" ,guile-2.2) - ("guile-picture-language" ,guile-picture-language) - ("emacs" ,emacs) - ("emacs-geiser" ,emacs-geiser) - ("emacs-company" ,emacs-company) - ("emacs-flycheck" ,emacs-flycheck) - ("emacs-smart-mode-line" ,emacs-smart-mode-line) - ("emacs-paren-face" ,emacs-paren-face) - ("adwaita-icon-theme" ,adwaita-icon-theme))) - (native-inputs - `(("texinfo" ,texinfo))) - (home-page "https://gnu.org/software/guile") - (synopsis "IDE for Guile") - (description - "This is Emacs with a few settings that make working with Guile easier + (let ((commit "d24d59a68e3f1fa9477e3430fc48a2efe97b805d") + (revision "1")) + (package + (name "guile-studio") + (version (git-version "0.0.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.elephly.net/software/guile-studio.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kqi0q8a7si65n21b7gn8vbninwcg0fqy5hmvy3l1bi6iync20zr")))) + (build-system gnu-build-system) + (arguments + `(#:modules + ((ice-9 match) + (srfi srfi-1) + ,@%gnu-build-system-modules) + #:tests? #f ; there are none + #:make-flags + (list (string-append "ICONS_DIR=" + (assoc-ref %build-inputs "adwaita-icon-theme") + "/share/icons/Adwaita/") + (string-append "PICT_DIR=" + (assoc-ref %build-inputs "guile-picture-language")) + (string-append "EMACS_DIR=" + (assoc-ref %build-inputs "emacs")) + (string-append "GUILE_DIR=" + (assoc-ref %build-inputs "guile")) + (string-join (cons "INPUTS=" + (filter-map + (lambda (input) + (match input + ((label . pkg) + (and (string-prefix? "emacs" label) pkg)))) + %build-inputs))) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'install)))) + (inputs + `(("guile" ,guile-3.0) + ("guile-picture-language" ,guile-picture-language) + ("emacs" ,emacs) + ("emacs-geiser" ,emacs-geiser) + ("emacs-company" ,emacs-company) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-smart-mode-line" ,emacs-smart-mode-line) + ("emacs-paren-face" ,emacs-paren-face) + ("adwaita-icon-theme" ,adwaita-icon-theme))) + (native-inputs + `(("texinfo" ,texinfo))) + (home-page "https://gnu.org/software/guile") + (synopsis "IDE for Guile") + (description + "This is Emacs with a few settings that make working with Guile easier for people new to Emacs. Features include: CUA mode, Geiser, tool bar icons to evaluate Guile buffers, support for Guile's very own picture language, code completion, a simple mode line, etc.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public guile-stis-parser (let ((commit "6e85d37ffc333b722f4413a6c648263701eb75bd") @@ -2828,11 +2873,11 @@ in C using Gtk+-3 and WebKitGtk.") (license license:gpl3+))) (define-public emacsy-minimal - (let ((commit "d459ca1d3d09e7624e662bc4cfc3596850796fc6")) + (let ((commit "v0.4.1-28-gd459ca1")) (package (inherit emacsy) (name "emacsy-minimal") - (version (git-version "v0.4.1" "28" commit)) + (version (string-drop commit 1)) (source (origin (method git-fetch) (uri (git-reference @@ -2845,8 +2890,8 @@ in C using Gtk+-3 and WebKitGtk.") (build-system gnu-build-system) (inputs `(("guile" ,guile-2.2) - ("guile-lib" ,guile-lib) - ("guile-readline" ,guile-readline))) + ("guile-lib" ,guile2.2-lib) + ("guile-readline" ,guile2.2-readline))) (propagated-inputs '()) (arguments `(#:configure-flags '("--without-examples") @@ -3564,3 +3609,77 @@ WebSocket protocol as defined by RFC 6455.") (define-public guile3.0-websocket (deprecated-package "guile3.0-websocket" guile-websocket)) + +(define-public guile-rdf + (package + (name "guile-rdf") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/tyreunom/guile-rdf") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dwn3app1fscbpmpgvjs5jy1y0gwy3j5gdx8br79af6a88zjlnqf")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)); tests require network + (inputs + `(("guile" ,guile-3.0))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (home-page "https://framagit.org/tyreunom/guile-rdf") + (synopsis "Guile implementation of the RDF abstract and concrete syntaxes") + (description "Guile RDF is an implementation of the RDF (Resource Description +Framework) format defined by the W3C for GNU Guile. RDF structures include +triples (facts with a subject, a predicate and an object), graphs which are +sets of triples, and datasets, which are collections of graphs. + +RDF specifications include the specification of concrete syntaxes and of +operations on graphs. This library implements some basic functionalities, +such as parsing and producing turtle and nquads syntax, as well as +manipulating graphs and datasets.") + (license license:gpl3+))) + +(define-public guile-jsonld + (package + (name "guile-jsonld") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/tyreunom/guile-jsonld") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zfn3nwlz6xzip1j8xbj768dc299r037cfc81bk6kwl9xhzkjbrg")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)); require network + (propagated-inputs + `(("guile-gnutls" ,gnutls) + ("guile-json" ,guile-json-3) + ("guile-rdf" ,guile-rdf))) + (inputs + `(("guile" ,guile-3.0))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("pkg-config" ,pkg-config) + ("texinfo" ,texinfo))) + (home-page "https://framagit.org/tyreunom/guile-jsonld") + (synopsis "Guile implementation of the JsonLD API specification") + (description "Guile JsonLD is an implementation of the JsonLD (Json for +Linked Data) API defined by the W3C for GNU Guile. It allows you to express links +between data, in a way that is very similar to WikiData or RDF for instance. +An object can have relations (in the form of an IRI) that relates it to one or +more objects or strings, represented by a Json object or an IRI.") + (license license:gpl3+))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index ef1e19c6b8..34d348c344 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -554,12 +554,25 @@ specification. These are the main features: ("guile" ,guile-3.0))) (inputs `(("guile" ,guile-3.0))))) -(define-public guile2.2-json - (package-for-guile-2.2 guile-json-3)) - (define-public guile3.0-json (deprecated-package "guile3.0-json" guile-json-3)) +(define-public guile-json-4 + (package + (inherit guile-json-3) + (name "guile-json") + (version "4.0.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/guile-json/guile-json-" + version ".tar.gz")) + (sha256 + (base32 + "0f25qak4i57c3x0q9hlrll911l57bb8nz57rjkd02mn2fc2h3730")))))) + +(define-public guile2.2-json + (package-for-guile-2.2 guile-json-4)) + ;; There are two guile-gdbm packages, one using the FFI and one with ;; direct C bindings, hence the verbose name. @@ -620,7 +633,7 @@ Guile's foreign function interface.") (define-public guile-sqlite3 (package (name "guile-sqlite3") - (version "0.1.0") + (version "0.1.2") (home-page "https://notabug.org/guile-sqlite3/guile-sqlite3.git") (source (origin (method git-fetch) @@ -629,18 +642,8 @@ Guile's foreign function interface.") (commit (string-append "v" version)))) (sha256 (base32 - "1nv8j7wk6b5n4p22szyi8lv8fs31rrzxhzz16gyj8r38c1fyp9qp")) - (file-name (string-append name "-" version "-checkout")) - (patches - (search-patches "guile-sqlite3-fix-cross-compilation.patch")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*") - "GUILE_PKG([3.0 2.2 2.0])\n")) - #t)))) + "1nryy9j3bk34i0alkmc9bmqsm0ayz92k1cdf752mvhyjjn8nr928")) + (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 7ca565e17f..6a2e2c695b 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -43,7 +43,8 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix utils)) ;; This is a module for packages related to physical hardware that don't (yet) ;; have a more specific home like gps.scm, security-token.scm, &c. @@ -203,7 +204,7 @@ Memtest86+ cannot currently be used on computers booted with UEFI.") (build-system gnu-build-system) (arguments `(#:make-flags - (list "CC=gcc") + (list ,(string-append "CC=" (cc-for-target))) #:phases (modify-phases %standard-phases (replace 'configure @@ -387,7 +388,7 @@ applications.") (define-public usbguard (package (name "usbguard") - (version "0.7.6") + (version "0.7.8") (source (origin (method url-fetch) (uri (string-append @@ -395,7 +396,7 @@ applications.") version "/usbguard-" version ".tar.gz")) (file-name (git-file-name name version)) (sha256 - (base32 "0gzhs8s4aka86mkcjib36z54si939ki4bmk46p6v8kln1fixad3j")))) + (base32 "1il5immqfxh2cj8wn1bfk7l42inflzgjf07yqprpz7r3lalbxc25")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index ecfe439c4b..3089c17145 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -37,7 +37,6 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system haskell) - #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages gl) @@ -342,15 +341,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20200501") + (version "8.20200522") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) - (patches (search-patches "git-annex-S3v4.patch")) (sha256 - (base32 "19rggaymvqy7r61n2rl2nigwdi2hzq5l1afcd5l0k1vbacwgq4jl")))) + (base32 "1v71k5k9mcj1nq4pb8apx99rgw2rmckr6yshhvjl1dr6j70d67x8")))) (build-system haskell-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index d571d46945..bb7f57b49d 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Tonton <tonton@riseup.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -996,3 +997,43 @@ values (similar to @code{toEnum} but for any algebraic data type). This can be used for SmallCheck-style systematic testing, QuickCheck-style random testing, and hybrids of the two.") (license license:bsd-3))) + +(define-public ghc-inspection-testing + (package + (name "ghc-inspection-testing") + (version "0.4.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/inspection-testing/" + "inspection-testing-" version ".tar.gz")) + (sha256 + (base32 + "1bppz99p6ix6hah8lbr9mapl2zxgmkg9i7h6hk8wq6zf54hwz3yp")))) + (build-system haskell-build-system) + (home-page + "https://github.com/nomeata/inspection-testing") + (synopsis "GHC plugin to do inspection testing") + (description + "Some carefully crafted libraries make promises to their users beyond +functionality and performance. + +Examples are: Fusion libraries promise intermediate data structures to be +eliminated. Generic programming libraries promise that the generic +implementation is identical to the hand-written one. Some libraries may +promise allocation-free or branch-free code. + +Conventionally, the modus operandi in all these cases is that the library +author manually inspects the (intermediate or final) code produced by the +compiler. This is not only tedious, but makes it very likely that some change, +either in the library itself or the surrounding eco-system, breaks the +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. + +See the documentation in \"Test.Inspection\" or the project webpage for more +examples and more information.") + (license license:expat))) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 29d3077755..815af82500 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2018, 2019 Gabriel Hondet <gabrielhondet@gmail.com> ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com> -;;; Copyright © 2019 John Soo <jsoo1@asu.edu> +;;; Copyright © 2019,2020 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> @@ -567,6 +567,21 @@ will destroy the permissions on the original file. This library preserves permissions while atomically writing to a file.") (license license:expat))) +(define-public ghc-atomic-write-0.2.0.7 + (package + (inherit ghc-atomic-write) + (version "0.2.0.7") + (source + (origin + (inherit (package-source ghc-atomic-write)) + (uri (string-append + "https://hackage.haskell.org/package/atomic-write/atomic-write-" + version + ".tar.gz")) + (sha256 + (base32 + "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm")))))) + (define-public ghc-attoparsec (package (name "ghc-attoparsec") @@ -1535,6 +1550,82 @@ constructor which can be parameterised by a string-like type like: the resulting type will be insensitive to cases.") (license license:bsd-3))) +(define-public ghc-cborg + (package + (name "ghc-cborg") + (version "0.2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/cborg/cborg-" + version + ".tar.gz")) + (sha256 + (base32 + "1rdnvy0w17s70ikmbyrnwax5rvqh19l95sh8i7ipgxi23z1r0bp1")))) + (build-system haskell-build-system) + (inputs + `(("ghc-half" ,ghc-half) + ("ghc-primitive" ,ghc-primitive))) + (native-inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-base16-bytestring" ,ghc-base16-bytestring) + ("ghc-fail" ,ghc-fail) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-scientific" ,ghc-scientific) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-vector" ,ghc-vector))) + (home-page "http://hackage.haskell.org/package/cborg") + (synopsis "Concise Binary Object Representation") + (description + "This package (formerly binary-serialise-cbor) provides an +efficient implementation of the Concise Binary Object +Representation (CBOR), as specified by RFC 7049 at +https://tools.ietf.org/html/rfc7049. + +If you are looking for a library for serialisation of Haskell values, have a +look at the @url{https://hackage.haskell.org/package/serialise} package, which +is built upon this library. + +An implementation of the standard bijection between CBOR and JSON is provided +by the @url{https://hackage.haskell.org/package/cborg-json} package. + +Also see @code{https://hackage.haskell.org/package/cbor-tool} for a convenient +command-line utility for working with CBOR data.") + (license license:bsd-3))) + +(define-public ghc-cborg-json + (package + (name "ghc-cborg-json") + (version "0.2.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/cborg-json/cborg-json-" + version + ".tar.gz")) + (sha256 + (base32 "0ysilz7rrjk94sqr3a61s98hr9qfi1xg13bskmlpc6mpgi2s4s5b")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-aeson-pretty" ,ghc-aeson-pretty) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-scientific" ,ghc-scientific) + ("ghc-vector" ,ghc-vector) + ("ghc-cborg" ,ghc-cborg))) + (home-page "https://github.com/well-typed/cborg") + (synopsis "A library for encoding JSON as CBOR") + (description + "This package implements the bijection between JSON and CBOR +defined in the CBOR specification, RFC 7049.") + (license license:bsd-3))) + (define-public ghc-cereal (package (name "ghc-cereal") @@ -2724,6 +2815,28 @@ package.") package.") (license license:bsd-3))) +(define-public ghc-data-fix + (package + (name "ghc-data-fix") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/data-fix/" + "data-fix-" version ".tar.gz")) + (sha256 + (base32 "14hk6hq5hdb3l5bhmzhw086jpzlvp9qbw9dzw30wlz5jbh2ihmvy")))) + (build-system haskell-build-system) + (home-page "https://github.com/spell-music/data-fix") + (synopsis "Fixpoint data types") + (description + "Fixpoint types and recursion schemes. If you define your AST as +fixpoint type, you get fold and unfold operations for free. + +Thanks for contribution to: Matej Kollar, Herbert Valerio Riedel") + (license license:bsd-3))) + (define-public ghc-data-hash (package (name "ghc-data-hash") @@ -3244,6 +3357,30 @@ It is modeled after doctest for Python, see @uref{https://docs.python.org/library/doctest.html, the Doctest website}.") (license license:expat))) +(define-public ghc-dotgen + (package + (name "ghc-dotgen") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/dotgen/dotgen-" + version + ".tar.gz")) + (sha256 + (base32 + "148q93qsmqgr5pzdwvpjqfd6bdm1pwzcp2rblfwswx2x8c5f43fg")))) + (build-system haskell-build-system) + (home-page "https://github.com/ku-fpg/dotgen") + (synopsis + "Simple interface for building .dot graph files") + (description + "This package provides a simple interface for building .dot graph +files, for input into the dot and graphviz tools. It includes a +monadic interface for building graphs.") + (license license:bsd-3))) + (define-public ghc-double-conversion (package (name "ghc-double-conversion") @@ -4359,6 +4496,60 @@ specific Windows, Mac, and Linux file system event notification.") deriving mechanism in Haskell to arbitrary classes.") (license license:bsd-3))) +(define-public ghc-generic-random + (package + (name "ghc-generic-random") + (version "1.2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/generic-random/" + "generic-random-" version ".tar.gz")) + (sha256 + (base32 "130lmblycxnpqbsl7vf6a90zccibnvcb5zaclfajcn3by39007lv")))) + (build-system haskell-build-system) + (inputs `(("ghc-quickcheck" ,ghc-quickcheck))) + (native-inputs + `(("ghc-inspection-testing" ,ghc-inspection-testing))) + (arguments + `(#:cabal-revision + ("1" "1d0hx41r7yq2a86ydnfh2fv540ah8cz05l071s2z4wxcjw0ymyn4"))) + (home-page + "https://github.com/lysxia/generic-random") + (synopsis + "Generic random generators for QuickCheck") + (description + "Derive instances of @code{Arbitrary} for QuickCheck, with various options +to customize implementations. + +Automating the arbitrary boilerplate also ensures that when a type changes to +have more or fewer constructors, then the generator either fixes itself to +generate that new case (when using the uniform distribution) or causes a +compilation error so you remember to fix it (when using an explicit +distribution). + +This package also offers a simple (optional) strategy to ensure termination +for recursive types: make @code{Test.QuickCheck.Gen}'s size parameter decrease +at every recursive call; when it reaches zero, sample directly from a +trivially terminating generator given explicitly (@code{genericArbitraryRec} +and @code{withBaseCase}) or implicitly (@code{genericArbitrary'}).") + (license license:expat))) + +(define-public ghc-generic-random-1.3.0.1 + (package + (inherit ghc-generic-random) + (version "1.3.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/generic-random/" + "generic-random-" version ".tar.gz")) + (sha256 + (base32 "0d9w7xcmsb31b95fr9d5jwbsajcl1yi4347dlbw4bybil2vjwd7k")))) + (arguments '()))) + (define-public ghc-generics-sop (package (name "ghc-generics-sop") @@ -5112,6 +5303,37 @@ monad, as well as a typeclass abstracting their common operations, and a set of wrappers to use the hash tables in the IO monad.") (license license:bsd-3))) +(define-public ghc-haskeline-0.8 + (package + (name "ghc-haskeline") + (version "0.8.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/haskeline/haskeline-" + version + ".tar.gz")) + (sha256 + (base32 + "0gqsa5s0drim9m42hv4wrq61mnvcdylxysfxfw3acncwilfrn9pb")))) + (build-system haskell-build-system) + (inputs `(("ghc-exceptions" ,ghc-exceptions))) + (native-inputs `(("ghc-hunit" ,ghc-hunit))) + ;; FIXME: Tests failing + (arguments `(#:tests? #f)) + (home-page "https://github.com/judah/haskeline") + (synopsis + "Command-line interface for user input, written in Haskell") + (description + "Haskeline provides a user interface for line input in command-line +programs. This library is similar in purpose to readline, but since it is +written in Haskell it is (hopefully) more easily used in other Haskell +programs. + +Haskeline runs both on POSIX-compatible systems and on Windows.") + (license license:bsd-3))) + (define-public ghc-haskell-lexer (package (name "ghc-haskell-lexer") @@ -6498,6 +6720,42 @@ of getters, folds, isomorphisms, traversals, setters and lenses and their indexed variants.") (license license:bsd-3))) +(define-public ghc-lens-family-core + (package + (name "ghc-lens-family-core") + (version "1.2.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/lens-family-core/lens-family-core-" + version + ".tar.gz")) + (sha256 + (base32 + "009rf10pj1cb50v44cc1pq7qvfrmkkk9dikahs9qmvbvgl3mykwi")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/lens-family-core") + (synopsis "Haskell 98 Lens Families") + (description + "This package provides first class functional references. In addition to +the usual operations of getting, setting and composition, plus integration +with the state monad, lens families provide some unique features: + +@itemize +@item Polymorphic updating +@item Traversals +@item Cast projection functions to read-only lenses +@item Cast @code{toList} functions to read-only traversals +@item Cast semantic editor combinators to modify-only traversals +@end itemize + +For optimal first-class support use the lens-family package with rank 2/rank N +polymorphism. @code{Lens.Family.Clone} allows for first-class support of +lenses and traversals for those who require Haskell 98.") + (license license:bsd-3))) + (define-public ghc-libffi (package (name "ghc-libffi") @@ -6975,6 +7233,42 @@ With it, you can determine the type of a file by examining its contents rather than its name.") (license license:bsd-3))) +(define-public ghc-managed + (package + (name "ghc-managed") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/managed/managed-" + version + ".tar.gz")) + (sha256 + (base32 + "1kbrw99yh5x5blykmx2n88mplbbi4ss1ij5j17b7asw6q0ihm9zi")))) + (build-system haskell-build-system) + (home-page "http://hackage.haskell.org/package/managed") + (synopsis "Monad for managed values") + (description + "In Haskell you very often acquire values using the with... idiom using +functions of type (a -> IO r) -> IO r. This idiom forms a Monad, which is a +special case of the ContT monad (from transformers) or the Codensity +monad (from kan-extensions). The main purpose behind this package is to +provide a restricted form of these monads specialized to this unusually common +case. + +The reason this package defines a specialized version of these types +is to: + +@itemize +@item be more beginner-friendly, +@item simplify inferred types and error messages, and: +@item provide some additional type class instances that would otherwise be +orphan instances +@end itemize") + (license license:bsd-3))) + (define-public ghc-markdown-unlit (package (name "ghc-markdown-unlit") @@ -8211,6 +8505,29 @@ replay capababilities, implementing fast parser monads, designing monadic DSLs, etc.") (license license:bsd-3))) +(define-public ghc-optional-args + (package + (name "ghc-optional-args") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/optional-args/optional-args-" + version + ".tar.gz")) + (sha256 + (base32 + "1r5hhn6xvc01grggxdyy48daibwzi0aikgidq0ahpa6bfynm8d1f")))) + (build-system haskell-build-system) + (home-page + "http://hackage.haskell.org/package/optional-args") + (synopsis "Optional function arguments") + (description + "This library provides a type for specifying @code{Optional} function +arguments.") + (license license:bsd-3))) + (define-public ghc-options (package (name "ghc-options") @@ -8999,6 +9316,45 @@ the persistent interface, not for users of the persistent suite of database libraries.") (license license:expat))) +(define-public ghc-pgp-wordlist + (package + (name "ghc-pgp-wordlist") + (version "0.1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/pgp-wordlist/pgp-wordlist-" + version + ".tar.gz")) + (sha256 + (base32 + "15g6qh0fb7kjj3l0w8cama7cxgnhnhybw760md9yy7cqfq15cfzg")))) + (build-system haskell-build-system) + (inputs + `(("ghc-vector" ,ghc-vector))) + (native-inputs + `(("ghc-hunit" ,ghc-hunit) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-doctest" ,ghc-doctest))) + (home-page + "https://github.com/quchen/pgp-wordlist") + (synopsis + "Translate between binary data and a human-readable collection of words") + (description + "The PGP Word List consists of two phonetic alphabets, each with one word +per possible byte value. A string of bytes is translated with these +alphabets, alternating between them at each byte. + +The PGP words corresponding to the bytes 5B 1D CA 6E are \"erase breakaway +spellbind headwaters\", for example. + +For further information, see +@url{http://en.wikipedia.org/wiki/PGP_word_list}.") + (license license:bsd-3))) + (define-public ghc-pipes (package (name "ghc-pipes") @@ -9160,6 +9516,76 @@ provides the pretty printing class and instances for the Prelude types.") (license license:bsd-3))) +(define-public ghc-prettyprinter + (package + (name "ghc-prettyprinter") + (version "1.2.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/prettyprinter/prettyprinter-" + version + ".tar.gz")) + (sha256 + (base32 "1p9c3q55hba4c0zyxc624g5df7wgsclpsmd8wqpdnmib882q9d1v")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-doctest" ,ghc-doctest) + ("ghc-pgp-wordlist" ,ghc-pgp-wordlist) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck))) + (home-page "https://github.com/quchen/prettyprinter") + (synopsis + "Modern, easy to use, well-documented, extensible pretty-printer") + (description + "A prettyprinter/text rendering engine. Easy to use, well-documented, +ANSI terminal backend exists, HTML backend is trivial to implement, no name +clashes, @code{Text}-based, extensible.") + (license license:bsd-2))) + +(define-public ghc-prettyprinter-1.6 + (package + (inherit ghc-prettyprinter) + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/prettyprinter/prettyprinter-" + version + ".tar.gz")) + (sha256 + (base32 "10fphxh8lvdaw7i8jyllwmj87w02db92mf99zfw5vddp9mv6b5rz")))) + (inputs + `(("ghc-quickckeck-instances" , ghc-quickcheck-instances) + ,@(package-inputs ghc-prettyprinter))))) + +(define-public ghc-prettyprinter-ansi-terminal + (package + (name "ghc-prettyprinter-ansi-terminal") + (version "1.1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/prettyprinter-ansi-terminal/" + "prettyprinter-ansi-terminal-" version ".tar.gz")) + (sha256 + (base32 "0ha6vz707qzb5ky7kdsnw2zgphg2dnxrpbrxy8gaw119vwhb9q6k")))) + (build-system haskell-build-system) + (inputs + `(("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-prettyprinter" ,ghc-prettyprinter-1.6))) + (native-inputs `(("ghc-doctest" ,ghc-doctest))) + (home-page + "https://github.com/quchen/prettyprinter") + (synopsis + "ANSI terminal backend for the prettyprinter package") + (description "ANSI terminal backend for the prettyprinter package.") + (license license:bsd-2))) + (define-public ghc-pretty-hex (package (name "ghc-pretty-hex") @@ -9208,6 +9634,33 @@ complex generic values into an interactive Html page, for easier examination.") (license license:expat))) +(define-public ghc-pretty-simple + (package + (name "ghc-pretty-simple") + (version "2.2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/pretty-simple/" + "pretty-simple-" version ".tar.gz")) + (sha256 + (base32 "0wsi9235ihm15s145lxi7325vv2k4bhighc5m88kn1lk0pl81aqq")))) + (build-system haskell-build-system) + (inputs + `(("ghc-ansi-terminal" ,ghc-ansi-terminal) + ("ghc-glob" ,ghc-glob) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-aeson" ,ghc-aeson))) + (native-inputs + `(("ghc-doctest" ,ghc-doctest))) + (home-page "https://github.com/cdepillabout/pretty-simple") + (synopsis "Pretty printer for data types with a 'Show' instance") + (description + "Pretty-simple is a pretty printer for Haskell data types that have a +Show instance.") + (license license:bsd-3))) + (define-public ghc-primitive (package (name "ghc-primitive") @@ -9811,7 +10264,7 @@ this problem.") (build-system haskell-build-system) (inputs `(("ghc-regex-base" ,ghc-regex-base))) - (home-page "https://hackage.haskell.org/package/regex-pcre") + (home-page "https://hackage.haskell.org/package/regex-pcre-builtin") (synopsis "Enhancement of the builtin Text.Regex library") (description "This package is an enhancement of the @code{Text.Regex} library, @@ -9890,6 +10343,46 @@ inspired by libtre.") "This provides an extra text interface for regex-tdfa.") (license license:bsd-3))) +(define-public ghc-repline + (package + (name "ghc-repline") + (version "0.2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/repline/repline-" + version + ".tar.gz")) + (sha256 + (base32 + "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc")))) + (build-system haskell-build-system) + (home-page "https://github.com/sdiehl/repline") + (synopsis "Haskeline wrapper for GHCi-like REPL interfaces") + (description + "Haskeline wrapper for GHCi-like REPL interfaces. Composable with +normal mtl transformers.") + (license license:expat))) + +(define-public ghc-repline-0.3 + (package + (inherit ghc-repline) + (version "0.3.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/repline/repline-" + version + ".tar.gz")) + (sha256 + (base32 + "0niihfyggg2qisadg7w49cr5k5qyyynia93iip0ng2bbmzwi88g8")))) + (inputs + `(("ghc-exceptions" ,ghc-exceptions) + ("ghc-haskeline" ,ghc-haskeline-0.8))))) + (define-public ghc-rerebase (package (name "ghc-rerebase") @@ -10642,6 +11135,56 @@ semigroup.") ("ghc-hashable" ,ghc-hashable-bootstrap))) (properties '((hidden? #t))))) +(define-public ghc-serialise + (package + (name "ghc-serialise") + (version "0.2.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/serialise/serialise-" + version + ".tar.gz")) + (sha256 + (base32 + "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4")))) + (build-system haskell-build-system) + (inputs + `(("ghc-cborg" ,ghc-cborg) + ("ghc-half" ,ghc-half) + ("ghc-hashable" ,ghc-hashable) + ("ghc-primitive" ,ghc-primitive) + ("ghc-unordered-containers" ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector))) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit) + ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck) + ("ghc-quickcheck-instances" ,ghc-quickcheck-instances))) + (arguments + `(#:cabal-revision + ("1" "1rknhad1i8bpknsnphmcmb6dnb48c2p2c13ia2qqch3hkhsvfpr6"))) + (home-page "https://github.com/well-typed/cborg") + (synopsis "Binary serialisation library for Haskell values") + (description + "This package (formerly binary-serialise-cbor) provides pure, +efficient serialization of Haskell values directly into ByteStrings for +storage or transmission purposes. By providing a set of type class instances, +you can also serialise any custom data type you have as well. + +The underlying binary format used is the 'Concise Binary Object +Representation', or CBOR, specified in RFC 7049. As a result, serialised +Haskell values have implicit structure outside of the Haskell program itself, +meaning they can be inspected or analyzed without custom tools. + +An implementation of the standard bijection between CBOR and JSON is +provided by the https://hackage.haskell.org/package/cborg-json +package. Also see https://hackage.haskell.org/package/cbor-tool for a +convenient command-line utility for working with CBOR data.") + (license license:bsd-3))) + (define-public ghc-setenv (package (name "ghc-setenv") @@ -10983,6 +11526,32 @@ core of @url{https://hackage.haskell.org/package/generics-sop, generics-sop}.") (license license:bsd-3))) +(define-public ghc-special-values + (package + (name "ghc-special-values") + (version "0.1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/special-values/" + "special-values-" version ".tar.gz")) + (sha256 + (base32 + "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w")))) + (build-system haskell-build-system) + (inputs + `(("ghc-scientific" ,ghc-scientific) + ("ghc-ieee754" ,ghc-ieee754) + ("ghc-nats" ,ghc-nats))) + (home-page + "https://github.com/minad/special-values#readme") + (synopsis "Typeclass providing special values") + (description + "Special values are provided by a SpecialValues typeclass. Those can be +used for example by QuickCheck, see quickcheck-special." ) + (license license:expat))) + (define-public ghc-split (package (name "ghc-split") @@ -11056,6 +11625,37 @@ internal state).") (native-inputs '()) (properties '((hidden? #t))))) +(define-public ghc-spoon + (package + (name "ghc-spoon") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/spoon/spoon-" + version + ".tar.gz")) + (sha256 + (base32 + "1m41k0mfy6fpfrv2ym4m5jsjaj9xdfl2iqpppd3c4d0fffv51cxr")))) + (build-system haskell-build-system) + (arguments + `(#:cabal-revision + ("1" + "09s5jjcsg4g4qxchq9g2l4i9d5zh3rixpkbiysqcgl69kj8mwv74"))) + (home-page + "http://hackage.haskell.org/package/spoon") + (synopsis + "Catch errors thrown from pure computations") + (description + "Takes an error-throwing expression and puts it back in the Maybe it +belongs in. + +Note that this suffers from the +@url{https://ghc.haskell.org/trac/ghc/ticket/5902}. Buyer beware.") + (license license:bsd-3))) + (define-public ghc-statevar (package (name "ghc-statevar") @@ -11867,6 +12467,44 @@ instances for strict and lazy text types for versions older than 1.2.1 of the text package.") (license license:bsd-2))) +(define-public ghc-text-manipulate + (package + (name "ghc-text-manipulate") + (version "0.2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/text-manipulate" + "/text-manipulate-" + version + ".tar.gz")) + (sha256 + (base32 + "0bwxyjj3ll45srxhsp2ihikgqglvjc6m02ixr8xpvyqwkcfwgsg0")))) + (build-system haskell-build-system) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-hunit" ,ghc-tasty-hunit))) + (home-page + "https://github.com/brendanhay/text-manipulate") + (synopsis + "Case conversion, word boundary manipulation, and textual subjugation") + (description + "Manipulate identifiers and structurally non-complex pieces of text by +delimiting word boundaries via a combination of whitespace, +control-characters, and case-sensitivity. + +Has support for common idioms like casing of programmatic variable names, +taking, dropping, and splitting by word, and modifying the first character of +a piece of text. + +Caution: this library makes heavy use of the text library's internal loop +optimisation framework. Since internal modules are not guaranteed to have a +stable API there is potential for build breakage when the text dependency is +upgraded. Consider yourself warned!") + (license license:mpl2.0))) + (define-public ghc-text-metrics (package (name "ghc-text-metrics") @@ -12537,6 +13175,69 @@ generating functions similar to those in @code{Data.List} for tuples of statically known size.") (license license:bsd-3))) +(define-public ghc-turtle + (package + (name "ghc-turtle") + (version "1.5.15") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://hackage/package/turtle/turtle-" + version + ".tar.gz")) + (sha256 + (base32 + "0yckgsc2a4g5x867gni80ldp226bsnhncfbil4ql6v2zwm4r8p7f")))) + (build-system haskell-build-system) + (inputs + `(("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint) + ("ghc-async" ,ghc-async) + ("ghc-clock" ,ghc-clock) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-foldl" ,ghc-foldl) + ("ghc-hostname" ,ghc-hostname) + ("ghc-managed" ,ghc-managed) + ("ghc-semigroups" ,ghc-semigroups) + ("ghc-system-filepath" ,ghc-system-filepath) + ("ghc-system-fileio" ,ghc-system-fileio) + ("ghc-streaming-commons" ,ghc-streaming-commons) + ("ghc-temporary" ,ghc-temporary) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-optional-args" ,ghc-optional-args) + ("ghc-unix-compat" ,ghc-unix-compat))) + (native-inputs + `(("ghc-doctest" ,ghc-doctest) + ("ghc-fail" ,ghc-fail))) + (arguments + `(#:cabal-revision + ("1" "02q1rv7zx31xz9wnmcqwd4w3iw7623p07iyi21zr0cqlignic5pg"))) + (home-page + "http://hackage.haskell.org/package/turtle") + (synopsis "Shell programming, Haskell-style") + (description + "Turtle is a reimplementation of the Unix command line environment in +Haskell so that you can use Haskell as both a shell and a scripting +language. Features include: + +@itemize +@item Batteries included: Command an extended suite of predefined utilities. +@item Interoperability: You can still run external shell commands. +@item Portability: Works on Windows, OS X, and Linux. +@item Exception safety: Safely acquire and release resources. +@item Streaming: Transform or fold command output in constant space. +@item Patterns: Use typed regular expressions that can parse structured values. +@item Formatting: Type-safe printf-style text formatting. +@item Modern: Supports text and system-filepath. +@end itemize + +Read \"Turtle.Tutorial\" for a detailed tutorial or \"Turtle.Prelude\" for a +quick-start guide. Turtle is designed to be beginner-friendly, but as a +result lacks certain features, like tracing commands. If you feel comfortable +using turtle then you should also check out the Shelly library which provides +similar functionality.") + (license license:bsd-3))) + (define-public ghc-typed-process (package (name "ghc-typed-process") diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index e9c8e7f82a..94671ee54d 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -178,11 +178,8 @@ top of CLISP.") #:modules ((guix build gnu-build-system) (guix build utils) - (guix build rpath) (srfi srfi-26) (srfi srfi-1)) - #:imported-modules (,@%gnu-build-system-modules - (guix build rpath)) #:configure-flags (list (string-append "--with-gmp-libraries=" @@ -209,7 +206,7 @@ top of CLISP.") (with-directory-excursion ".." (copy-file (assoc-ref inputs "ghc-testsuite") "ghc-testsuite.tar.xz") - (system* "tar" "xvf" "ghc-testsuite.tar.xz")) + (invoke "tar" "xvf" "ghc-testsuite.tar.xz")) (substitute* (list "testsuite/timeout/Makefile" "testsuite/timeout/timeout.py" @@ -228,7 +225,7 @@ top of CLISP.") (with-directory-excursion ghc-bootstrap-path (copy-file (assoc-ref inputs "ghc-binary") "ghc-bin.tar.xz") - (zero? (system* "tar" "xvf" "ghc-bin.tar.xz")))) + (invoke "tar" "xvf" "ghc-bin.tar.xz"))) (alist-cons-before 'install-bin 'configure-bin (lambda* (#:key inputs outputs #:allow-other-keys) @@ -260,7 +257,7 @@ top of CLISP.") (setenv "LD_LIBRARY_PATH" gmp-lib) ;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded. (for-each - (cut system* "patchelf" "--set-interpreter" ld-so <>) + (cut invoke "patchelf" "--set-interpreter" ld-so <>) binaries) ;; The binaries include a reference to libtinfo.so.5 which ;; is a subset of libncurses.so.5. We create a symlink in a @@ -279,7 +276,7 @@ top of CLISP.") (setenv "PATH" (string-append (getenv "PATH") ":" ghc-bootstrap-prefix "/bin")) - (system* + (invoke (string-append (getcwd) "/configure") (string-append "--prefix=" ghc-bootstrap-prefix) (string-append "--with-gmp-libraries=" gmp-lib) @@ -289,7 +286,7 @@ top of CLISP.") (lambda* (#:key inputs outputs #:allow-other-keys) (with-directory-excursion (string-append ghc-bootstrap-path "/ghc-7.8.4") - (zero? (system* "make" "install")))) + (invoke "make" "install"))) %standard-phases))))))) (native-search-paths (list (search-path-specification (variable "GHC_PACKAGE_PATH") diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 55c40710fa..dd2d0f1b95 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -31,6 +31,7 @@ #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) + #:use-module (gnu build hurd-boot) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages flex) @@ -309,56 +310,6 @@ Hurd-minimal package which are needed for both glibc and GCC.") (base32 "0p2vhnc18cnbmb39vq4m7hzv4mhnm2l0a2s7gx3ar277fwng3hys")))) -(define (hurd-rc-script) - "Return a script to be installed as /libexec/rc in the 'hurd' package. The -script takes care of installing the relevant passive translators on the first -boot, since this cannot be done from GNU/Linux." - (define translators - '(("/servers/crash-dump-core" ("/hurd/crash" "--dump-core")) - ("/servers/crash-kill" ("/hurd/crash" "--kill")) - ("/servers/crash-suspend" ("/hurd/crash" "--suspend")) - ("/servers/password" ("/hurd/password")) - ("/servers/socket/1" ("/hurd/pflocal")) - ("/servers/socket/2" ("/hurd/pfinet" "--interface" "eth0" - "--address" "10.0.2.15" ;the default QEMU guest IP - "--netmask" "255.255.255.0" - "--gateway" "10.0.2.2" - "--ipv6" "/servers/socket/16")))) - - (define rc - (with-imported-modules '((guix build utils)) - #~(begin - (use-modules (guix build utils) - (ice-9 match)) - - ;; "@HURD@" is a placeholder. - (setenv "PATH" "@HURD@/bin") - - (define (translated? node) - ;; Return true if a translator is installed on NODE. - (with-output-to-port (%make-void-port "w") - (lambda () - (with-error-to-port (%make-void-port "w") - (lambda () - (zero? (system* "showtrans" "-s" node))))))) - - (for-each (match-lambda - ((node command) - (unless (translated? node) - (mkdir-p (dirname node)) - (apply invoke "settrans" "-c" node command)))) - '#$translators) - - ;; Start the oh-so-fancy console client. - (mkdir-p "/var/run") ;for the PID file - (invoke "console" "--daemonize" "-c" "/dev/vcs" - "-d" "vga" "-d" "pc_kbd" "-d" "generic_speaker")))) - - ;; FIXME: We want the program to use the cross-compiled Guile when - ;; cross-compiling. But why do we need to be explicit here? - (with-parameters ((%current-target-system "i586-pc-gnu")) - (program-file "rc" rc))) - (define dde-sources ;; This is the current tip of the dde branch (let ((commit "ac1c7eb7a8b24b7469bed5365be38a968d59a136")) @@ -377,7 +328,8 @@ boot, since this cannot be done from GNU/Linux." (name "hurd") (version (package-version hurd-headers)) (source (origin (inherit (package-source hurd-headers)) - (patches (search-patches "hurd-cross.patch")))) + (patches (search-patches "hurd-cross.patch" + "hurd-xattr.patch")))) (arguments `(#:phases (modify-phases %standard-phases @@ -424,6 +376,36 @@ boot, since this cannot be done from GNU/Linux." (substitute* '("daemons/Makefile" "utils/Makefile") (("-o root -m 4755") "")) #t)) + (add-after 'unpack 'create-runsystem + (lambda _ + ;; XXX Work towards having startup.c invoke the Guile rc + (delete-file "daemons/runsystem.sh") + (with-output-to-file "daemons/runsystem.sh" + (lambda _ + (display "#! /bin/bash + +# XXX Guile needs pipe support for its finalizer thread, to start. +# Remove this script when Linux and the Hurd have xattr patches. +PATH=@PATH@ + +fsck --yes --force / +fsysopts / --writable + +# Note: this /hurd/ gets substituted +settrans --create /servers/socket/1 /hurd/pflocal + +# parse multiboot arguments +for i in \"$@\"; do + case $i in + (--system=*) + system=${i#--system=} + ;; + esac +done + +echo Starting ${system}/rc... +exec ${system}/rc \"$@\" +"))))) (add-before 'build 'set-file-names (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -436,45 +418,39 @@ boot, since this cannot be done from GNU/Linux." (("/bin/login") (string-append out "/bin/login")) (("/bin/bash") (string-append bash "/bin/bash"))) - (substitute* '("startup/startup.c" "init/init.c" "config/ttys") + (substitute* '("startup/startup.c" "config/ttys") (("/libexec/") (string-append out "/libexec/"))) (substitute* '("utils/uptime.sh") (("/bin/w") (string-append out "/bin/w"))) - (substitute* "daemons/console-run.c" + ;; Upon first boot the /hurd symlink does not exist; it is + ;; created during activation: Hard-code the .../hurd store file + ;; name. + (substitute* '("boot/boot.c" + "daemons/console-run.c" + "startup/startup.c") (("/hurd/") (string-append out "/hurd/"))) - + (substitute* '("libdiskfs/boot-start.c" + "libdiskfs/opts-std-startup.c") + (("_HURD_STARTUP") + (string-append "\"" out "/hurd/startup\""))) (substitute* '("daemons/runsystem.sh" - "daemons/runsystem.hurd.sh" - "sutils/MAKEDEV.sh") + "utils/fakeroot.sh" + "utils/remap.sh" + "sutils/MAKEDEV.sh" + "sutils/losetup.sh") (("^PATH=.*") - (string-append "PATH=" out "/bin:" out "/sbin:" - coreutils "/bin:" - sed "/bin:" grep "/bin:" - util-linux "/bin\n")) - (("^SHELL=.*") - (string-append "SHELL=" bash "/bin/bash\n")) + (string-append "PATH=" out "/bin" + ":" out "/sbin" + ":" coreutils "/bin" + ":" grep "/bin" + ":" sed "/bin" + ":" util-linux "/sbin\n")) (("/sbin/") (string-append out "/sbin/")) (("/libexec/") (string-append out "/libexec/")) (("/hurd/") (string-append out "/hurd/"))) - - (substitute* "daemons/runsystem.sh" - (("export PATH") - (string-append "export PATH\n" - "\ -fsysopts / --writable - -# MAKEDEV relies on pipes so this needs to be set up. -settrans -c /servers/socket/1 /hurd/pflocal - -(cd /dev; MAKEDEV -D /dev std vcs tty{1,2,3,4,5,6})\n"))) - - (substitute* "daemons/runsystem.hurd.sh" - (("export PATH") - "export PATH -fsysopts / --writable\n")) #t))) (add-after 'patch-shebangs 'patch-libexec-shebangs (lambda* (#:key inputs outputs #:allow-other-keys) @@ -505,16 +481,6 @@ fsysopts / --writable\n")) (mkdir-p datadir) (copy-file "unifont" (string-append datadir "/vga-system.bdf")) - #t))) - (add-after 'install 'install-rc-file - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (file (string-append out "/libexec/rc")) - (rc (assoc-ref inputs "hurd-rc"))) - (delete-file file) - (copy-file rc file) - (substitute* file - (("@HURD@") out)) #t)))) #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") @@ -529,7 +495,6 @@ fsysopts / --writable\n")) (build-system gnu-build-system) (inputs `(("glibc-hurd-headers" ,glibc/hurd-headers) - ("hurd-rc" ,(hurd-rc-script)) ("libgcrypt" ,libgcrypt) ;for /hurd/random ("libdaemon" ,libdaemon) ;for /bin/console --daemonize diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 12a8d6758f..0793635b7d 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@disroot.org> ;;; Copyright © 2020 kanichos <kanichos@yandex.ru> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -140,7 +141,6 @@ ("gconf" ,gconf) ("gtk2" ,gtk+-2) ("gtk+" ,gtk+) - ("gettext" ,gnu-gettext) ("json-glib" ,json-glib) ("libnotify" ,libnotify) ("libx11" ,libx11) @@ -152,6 +152,7 @@ ("python" ,python))) (native-inputs `(("glib" ,glib "bin") ; for glib-genmarshal + ("gettext" ,gettext-minimal) ("gobject-introspection" ,gobject-introspection) ; for g-ir-compiler ("ucd" ,ucd) ("unicode-emoji" ,unicode-emoji) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 28d3385e71..393ee7e08b 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,6 +75,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages sphinx) + #:use-module (gnu packages textutils) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xml) @@ -856,6 +858,55 @@ compose, and analyze GIF images.") (home-page "http://giflib.sourceforge.net/") (license license:x11))) +(define-public libuemf + (package + (name "libuemf") + (version "0.2.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/libuemf/libUEMF-" + version ".tar.gz")) + (sha256 + (base32 + "05djs99vqf067x81xfpskh7a66y5x7b4mmjavybcy7swnm0swg7v")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Overriding CMAKE_INSTALL_PREFIX is not a good idea. + (add-after 'unpack 'fix-CMakeLists.txt + (lambda _ + (substitute* "CMakeLists.txt" + ((".*SET\\(CMAKE_INSTALL_PREFIX.*") "")) + #t)) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (sources (string-append "../libUEMF-" ,version)) + (drm-tools (assoc-ref inputs "drm-tools")) + (extract (string-append drm-tools "/bin/extract")) + (execinput (string-append drm-tools "/bin/execinput"))) + (with-directory-excursion sources + (substitute* "testit.sh" + (("^EPATH=.*") + (format #f "EPATH=~a~%" bin)) + (("`which diff`") + "diff") + (("^EXTRACT=.*") + (format #f "EXTRACT=~a~%" extract)) + (("^EXECINPUT=.*") + (format #f "EXECINPUT=~a~%" execinput))) + (invoke "sh" "testit.sh")))))))) + (native-inputs `(("drm-tools" ,drm-tools))) ;for tests + (home-page "http://libuemf.sourceforge.net/") + (synopsis "Library for working with WFM, EMF and EMF+ images") + (description "The libUEMF library is a portable C99 implementation for +reading and writing @acronym{WFM, Windows Metafile}, @acronym{EMF, Enhanced +Metafile}, and @acronym{EMF+, Enhanced Metafile Plus} files.") + (license license:gpl2+))) + (define-public libungif (package (name "libungif") @@ -1986,7 +2037,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (define-public libavif (package (name "libavif") - (version "0.7.1") + (version "0.7.3") (source (origin (method git-fetch) (uri (git-reference @@ -1995,7 +2046,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (file-name (git-file-name name version)) (sha256 (base32 - "1xybjbbprvfsrwgysrn7grg6yp7v6ch5vci7zvdcdzcgyrbph172")))) + "17hagdngpc4xzrr0aa48nx399y5lawyyx9cpcdhpds1mqk6p77lp")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" @@ -2016,62 +2067,56 @@ This package can be used to create @code{favicon.ico} files for web sites.") `(("libaom" ,libaom) ("dav1d" ,dav1d))) (synopsis "Encode and decode AVIF files") - (description "Libavif is a C implementation of the AV1 Image File Format -(AVIF). It can encode and decode all YUV formats and bit depths supported by -AOM, including with alpha.") + (description "Libavif is a C implementation of @acronym{AVIF, the AV1 Image +File Format}. It can encode and decode all YUV formats and bit depths supported +by AOM, including with alpha.") (home-page "https://github.com/AOMediaCodec/libavif") (license (list license:bsd-2 ; libavif itself license:expat)))) ; cJSON in the test suite (define-public mtpaint - (let ((commit "03b1b0938067b88d86d9f1b1088730f1934d411e") - (revision "1")) - (package - (name "mtpaint") - ;; The author neither releases tarballs nor uses git version tags. - ;; Instead, author puts version in git commit title. - (version (git-version "3.49.25" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/wjaguar/mtPaint/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0izm2wvj26566fd8mqvypr7bmv7jnq8qhp4760m7z2wrc4y8pjn1")))) - (build-system gnu-build-system) - (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("which" ,which))) - (inputs - `(("imlib2" ,imlib2) - ("libtiff" ,libtiff) - ("libpng" ,libpng) - ("libungif", libungif) - ("libjpeg", libjpeg-turbo) - ("libwebp" ,libwebp) - ("openjpeg" ,openjpeg) - ("lcms" ,lcms) - ("zlib", zlib) - ("glib" ,glib) - ;; support for gtk3 is in testing stage - ("gtk+" ,gtk+-2))) - (arguments - `(#:configure-flags - (list - ;; internationalized version - "intl" - ;; install man page - "man") - ;; no check target - #:tests? #f)) - (home-page "http://mtpaint.sourceforge.net/") - (synopsis "Create pixel art and manipulate digital images") - (description - "Mtpaint is a graphic editing program which uses the GTK+ toolkit. + (package + (name "mtpaint") + ;; The author neither releases tarballs nor uses git version tags. + ;; Instead, author puts version in git commit title. + (version "3.49.27") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wjaguar/mtPaint") + (commit "26751cd0336414e2f16cbe25c9fe2702f34e7b5c"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12mzai9pqvyb342m21rjz0jxiy75q24sjw6ax147pzy8frzkgd54")))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("imlib2" ,imlib2) + ("libtiff" ,libtiff) + ("libpng" ,libpng) + ("libungif", libungif) + ("libjpeg", libjpeg-turbo) + ("libwebp" ,libwebp) + ("openjpeg" ,openjpeg) + ("lcms" ,lcms) + ("zlib", zlib) + ("glib" ,glib) + ;; Support for gtk3 is in the testing stage. + ("gtk+" ,gtk+-2))) + (arguments + `(#:configure-flags + (list "intl" ; build internationalized version + "man") ; build the man page + #:tests? #f)) ; no test suite + (home-page "http://mtpaint.sourceforge.net/") + (synopsis "Create pixel art and manipulate digital images") + (description + "Mtpaint is a graphic editing program which uses the GTK+ toolkit. It can create and edit indexed palette or 24bit RGB images, offers basic painting and palette manipulation tools. It also handles JPEG, JPEG2000, GIF, TIFF, WEBP, BMP, PNG, XPM formats.") - (license license:gpl3+)))) + (license license:gpl3+))) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 6fc7e6d201..ccc0cfb493 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -48,14 +48,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.10-95") + (version "6.9.11-11") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0fcbcad95wn0q0pdfl0qgycm30f3a7xhskc0r5icldq6v6l4b3is")))) + "1b67rrppvm04aqr76qky5h2a0j2d161h8kwa04fv611w5xwandr2")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch" diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 26d4642547..b0707d6eff 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,8 +31,13 @@ #:use-module (gnu packages aspell) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages graphics) #:use-module (gnu packages gtk) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages libreoffice) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) @@ -107,3 +113,170 @@ apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard, as the native format.") (license license:gpl2+))) + +(define-public inkscape-1.0 + (package + (name "inkscape") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://media.inkscape.org/dl/" + "resources/file/" + "inkscape-" version ".tar.xz")) + (sha256 + (base32 + "1fwl7yjkykqb86555k4fm24inhc40mrvxqwgl2v2vi9alv8j7hc9")) + (modules '((guix build utils) + (ice-9 format))) + (snippet + '(begin + (let-syntax + ;; XXX: The build system doesn't currently support using + ;; system libraries over bundled ones (see: + ;; https://gitlab.com/inkscape/inkscape/issues/876). + ((unbundle + (syntax-rules () + ((_ (name source-dir use-pkg-config?) ...) + (begin + ;; Delete bundled source directories. + (delete-file-recursively source-dir) ... + (substitute* '("src/CMakeLists.txt" + "src/3rdparty/CMakeLists.txt") + (((string-append ".*add_subdirectory\\(" + (basename source-dir) "\\).*")) + "") ...) + ;; Remove bundled entries from INKSCAPE_TARGET_LIBS. + (substitute* "src/CMakeLists.txt" + (((string-append name "_LIB.*")) "") ...) + ;; Register the external libraries, so that their + ;; headers are added to INKSCAPE_INCS_SYS and their + ;; shared libraries added to INKSCAPE_LIBS. + (if use-pkg-config? + (let* ((width (string-length "pkg_check_modules(")) + (indent (string-join (make-list width " ") ""))) + (substitute* "CMakeScripts/DefineDependsandFlags.cmake" + (("^pkg_check_modules\\(INKSCAPE_DEP REQUIRED.*" start) + (string-append start + (format #f "~a~a~%" indent name))))) + (substitute* "CMakeScripts/DefineDependsandFlags.cmake" + (("^find_package\\(Iconv REQUIRED\\).*" start) + (string-append (format #f " +find_path(~a_INCLUDE_DIR NAMES ~:*~a/~:*~a.h ~:*~a.h) +if(NOT ~:*~a_INCLUDE_DIR) + message(FATAL_ERROR \"~:*~a headers not found\") +else() + list(APPEND INKSCAPE_INCS_SYS ${~:*~a_INCLUDE_DIR}) +endif() + +find_library(~:*~a_LIB NAMES ~:*~a) +if(NOT ~:*~a_LIB) + message(FATAL_ERROR \"~:*~a library not found\") +else() + list(APPEND INKSCAPE_LIBS ~:*~a_LIB) +endif()~%~%" + name) + start)))) ... + ;; Fix the references to the headers of the + ;; unbundled libraries. + (substitute* (find-files "." "\\.h$|\\.cpp$") + (((string-append "#include (\"|<)3rdparty/" + (basename source-dir)) _ quote) + (string-append "#include " quote + (basename source-dir))) + ...)))))) + (unbundle ("2geom" "src/2geom" #t) + ;; libcroco cannot be unbundled as it is heavily + ;; modified (see: + ;; https://gitlab.com/inkscape/inkscape/issues/876#note_276114904). + ;; ("croco" "src/3rdparty/libcroco" #t) + ;; FIXME: Unbundle the following libraries once they + ;; have been packaged. + ;; ("cola" "src/3rdparty/adaptagrams/libcola") + ;; ("avoid" "src/3rdparty/adaptagrams/libavoid") + ;; ("vpsc" "src/3rdparty/adaptagrams/libvpsc") + ;; libuemf cannot be unbundled as it slightly modified + ;; from upstream (see: + ;; https://gitlab.com/inkscape/inkscape/issues/973). + ;; ("uemf" "src/3rdparty/libuemf" #f) + ;; FIXME: libdepixelize upstream is ancient and doesn't + ;; build with a recent lib2geom + ;; (see: https://bugs.launchpad.net/libdepixelize/+bug/1862458). + ;;("depixelize" "src/3rdparty/libdepixelize") + ("autotrace" "src/3rdparty/autotrace" #t))) + ;; Lift the requirement on the double-conversion library, as + ;; it is only needed by lib2geom, which is now unbundled. + (substitute* "CMakeScripts/DefineDependsandFlags.cmake" + ((".*find_package\\(DoubleConversion.*") "")) + #t)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #t + #:test-target "check" ;otherwise some test binaries are missing + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-icon-cache-generator + (lambda _ + (substitute* "share/icons/application/CMakeLists.txt" + (("gtk-update-icon-cache") "true")) + #t)) + (add-after 'unpack 'disable-latex-export-tests + ;; FIXME: For some reason the test.pdf_tex file generated by the + ;; "--export-latex" lacks "some text" in its content when run in + ;; the build environment. Skip the related tests. + (lambda _ + (substitute* "testfiles/cli_tests/CMakeLists.txt" + (("add_cli_test\\(export-latex") + "message(TEST_DISABLED: export-latex")) + #t)) + (add-after 'unpack 'set-home + ;; Mute Inkscape warnings during tests. + (lambda _ + (setenv "HOME" (getcwd)) + (format #t "ARGS is set to: ~a" (getenv "ARGS")) + #t)) + ;; Move the check phase after the install phase, as when run in the + ;; tests, Inkscape relies on files that are not yet installed, such + ;; as the "share/inkscape/ui/units.xml" file. + (delete 'check) + (add-after 'install 'check + (assoc-ref %standard-phases 'check))))) + (inputs + `(("aspell" ,aspell) + ("autotrace" ,autotrace) + ("gdl" ,gdl-minimal) + ("gtkmm" ,gtkmm) + ("gtk" ,gtk+) + ("gtkspell3" ,gtkspell3) + ("gsl" ,gsl) + ("poppler" ,poppler) + ("lib2geom" ,lib2geom) + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("libgc" ,libgc) + ("libsoup" ,libsoup-minimal) + ("libcdr" ,libcdr) + ("libvisio" ,libvisio) + ("libwpd" ,libwpd) + ("libwpg" ,libwpg) + ("freetype" ,freetype) + ("popt" ,popt) + ("potrace" ,potrace) + ("lcms" ,lcms) + ("boost" ,boost))) + (native-inputs + `(("imagemagick" ,imagemagick) ;for tests + ("intltool" ,intltool) + ("glib" ,glib "bin") + ("googletest" ,googletest) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper))) + (home-page "https://inkscape.org/") + (synopsis "Vector graphics editor") + (description "Inkscape is a vector graphics editor. What sets Inkscape +apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard, +as the native format.") + (license license:gpl3+))) ;see the file COPYING diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a4659240fc..d5bc713c70 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -276,7 +276,7 @@ JNI.") (version "1.8.4") (source (origin (method url-fetch) - (uri (string-append "http://archive.apache.org/dist/" + (uri (string-append "mirror://apache/" "ant/source/apache-ant-" version "-src.tar.bz2")) (sha256 @@ -2486,10 +2486,10 @@ new Date();")) (source (origin (method hg-fetch) (uri (hg-reference - (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") - (changeset (string-append - (string-join (string-split version #\.) "u") - "-ga")))) + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet @@ -2499,7 +2499,8 @@ new Date();")) #t)) (sha256 (base32 - "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) + "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")) + (patches (search-patches "java-openjfx-build-jdk_version.patch")))) (build-system ant-build-system) (arguments `(#:jar-name "java-openjfx.jar" @@ -10523,14 +10524,14 @@ classes prior to Java SE 8.") (define-public java-xerces (package (name "java-xerces") - (version "2.11.0") + (version "2.12.1") (source (origin (method url-fetch) (uri (string-append "mirror://apache/xerces/j/source/" "Xerces-J-src." version ".tar.gz")) (sha256 - (base32 "1006igwy2lqrmjvdk64v8dg6qbk9c29pm8xxx7r87n0vnpvmx6pm")) + (base32 "0494kq36gw3nah19ifb720vwxbpg4ww0k6m3zq6wyanw6a083p6s")) (patches (search-patches "java-xerces-xjavac_taskdef.patch" "java-xerces-build_dont_unzip.patch" @@ -10831,7 +10832,7 @@ graphs, and pie charts.") (version "3.1") (source (origin (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/httpcomponents/" + (uri (string-append "mirror://apache/httpcomponents/" "commons-httpclient/source/commons-httpclient-" version "-src.tar.gz")) (sha256 @@ -10927,7 +10928,7 @@ inside a Zip archive.") (version "2.0.8") (source (origin (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/jakarta/oro/" + (uri (string-append "mirror://apache/jakarta/oro/" "jakarta-oro-" version ".tar.gz")) (sha256 (base32 diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index c636fa756b..8db5e66131 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -416,7 +416,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (assoc-ref %build-inputs "utf8proc") "/include") "USE_SYSTEM_LLVM=1" - "LLVM_VER=6.0.1" + "LLVM_VER=8.0.0" "USE_LLVM_SHLIB=1" "USE_SYSTEM_LIBUNWIND=1" diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 0c31709329..a1abd7d46c 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,6 +66,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -80,7 +82,7 @@ (define-public extra-cmake-modules (package (name "extra-cmake-modules") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -89,7 +91,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "14h7519bfkwzh58lxgxrj5jlfhfnrakhjcm6lmhafnkg5h56m4kr")))) + "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3")))) (build-system cmake-build-system) (native-inputs `(("qtbase" ,qtbase))) ; For tests (needs qmake) @@ -224,7 +226,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.") (define-public attica (package (name "attica") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -233,7 +235,7 @@ Phonon-GStreamer is a backend based on the GStreamer multimedia library.") name "-" version ".tar.xz")) (sha256 (base32 - "0dvsjwl2c3liiicv2m8p1m7hlc3fcapsj5pfirmdm1l38wcayr60")))) + "1njw1sifykyqldb5idaywdzi3xg7a6bvzkrvazwmyixd0npq12dx")))) (build-system cmake-build-system) (arguments `(#:phases @@ -264,7 +266,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") (define-public bluez-qt (package (name "bluez-qt") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -273,7 +275,7 @@ http://freedesktop.org/wiki/Specifications/open-collaboration-services/") name "-" version ".tar.xz")) (sha256 (base32 - "179am9czhb9mcirmja5bxjmqil3qg81v56n8rmkkp5q50qpln4dh")))) + "1kqhps4qyvqm0qmk7fb3w41bib898amipchf8csdzacw4bzpri9k")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -297,7 +299,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") (define-public breeze-icons (package (name "breeze-icons") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -306,7 +308,7 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.") name "-" version ".tar.xz")) (sha256 (base32 - "17kil9dlh8w5r29arrjbv47b7jxz45kqzpg06zw3vz70bdgbb995")))) + "0lqglrjgjb4ralgmr7lb9k7acmn8q4jm18s4p3gbgd9iswyqgsbm")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -326,7 +328,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.") (define-public kapidox (package (name "kapidox") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -335,7 +337,7 @@ It is the default icon theme for the KDE Plasma 5 desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0cwprhpz731bqqhr6vra6lc76k5i4pm3m9j0q21km9wm2djfmk19")))) + "1irl25pf60frzrmm1ksgjq6y8kn3rd5snliq69l4c42yznl9qv1j")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; has no test target @@ -368,7 +370,7 @@ documentation.") (define-public karchive (package (name "karchive") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -377,7 +379,7 @@ documentation.") name "-" version ".tar.xz")) (sha256 (base32 - "0ypykybxl9dz57rgsfihx4rfhzhphidypb2f5nwrw1f6vlqkawzs")))) + "0z8asn357pdbv4g9g0x18p72wskca1qanxljyix7wzc5rsi63wzm")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -402,7 +404,7 @@ GZip format, via a subclass of QIODevice.") (define-public kcalendarcore (package (name "kcalendarcore") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -411,7 +413,7 @@ GZip format, via a subclass of QIODevice.") name "-" version ".tar.xz")) (sha256 (base32 - "1cqqwpd6faz7sd6jrda564xxvwr231b175h2w3ilxx6hvz9yrps3")))) + "1y1f8gc1g9yn9kgmn53f1zvkizasfs667dfin3fyci657r5qwpw2")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -463,7 +465,7 @@ and the older vCalendar.") (define-public kcodecs (package (name "kcodecs") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -472,7 +474,7 @@ and the older vCalendar.") name "-" version ".tar.xz")) (sha256 (base32 - "0w5q37lqdzyl84723kg9sh9xxn2g2wv0xfxpy3218hmc9364s89h")))) + "0y9n2a5n18pasdmrp0xb84hla9l27yj2x3k4p1c041sd9nkwixpk")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -499,7 +501,7 @@ Internet).") (define-public kconfig (package (name "kconfig") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -508,7 +510,7 @@ Internet).") name "-" version ".tar.xz")) (sha256 (base32 - "1ya0fvrrfiw4a5wkydcjpnkkyq3ampxy5h210dm04qim6a9x8rb1")))) + "1s3h4hfpw7c0894cifj66bj1yhx8g94ckvl71jm7qqsb5x5h6y9n")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -564,7 +566,7 @@ propagate their changes to their respective configuration files.") (define-public kcoreaddons (package (name "kcoreaddons") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -573,7 +575,7 @@ propagate their changes to their respective configuration files.") name "-" version ".tar.xz")) (sha256 (base32 - "1w658wfksxglr0fjpa2p8gmjbvpd2knzhk3byk2s9dwil7i7cvjd")))) + "10a7zys3limsawl7lk9ggymk3msk2bp0y8hp0jmsvk3l405pd1ps")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -621,7 +623,7 @@ many more.") (define-public kdbusaddons (package (name "kdbusaddons") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -630,7 +632,7 @@ many more.") name "-" version ".tar.xz")) (sha256 (base32 - "11zwr89v0k4m1235rzr39z4cbfdwn5zg34abs62nfnr8vmba62qv")) + "1vz2hg5p8wvfk0pi8v25zqzcn8yj7ykakxjyipmadvi02c1h8gic")) (patches (search-patches "kdbusaddons-kinit-file-name.patch")))) (build-system cmake-build-system) (native-inputs @@ -666,7 +668,7 @@ as well as an API to create KDED modules.") (define-public kdnssd (package (name "kdnssd") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -675,7 +677,7 @@ as well as an API to create KDED modules.") name "-" version ".tar.xz")) (sha256 (base32 - "1bn9c6ii1n6ns478i3lp7yzga7dbcqvdb43rfzmz7gndnmh853gm")))) + "0wadknnf472rqg2xnqzs5v23qzqfr336wj6d96yg2ayqm0chbppy")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -694,7 +696,7 @@ infrastructure.") (define-public kguiaddons (package (name "kguiaddons") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -703,7 +705,7 @@ infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "0k22kargqxf0j09wzk1x90b526npj8a0210ilk0n1k6spc8xa6mr")))) + "1yndjdhb9zzlhh74xccpys38balm5dma56sx6bwwfrga1phq0g5l")))) (build-system qt-build-system) ;; TODO: Build packages for the Python bindings. Ideally this will be ;; done for all versions of python guix supports. Requires python, @@ -724,7 +726,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") (define-public kholidays (package (name "kholidays") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -732,7 +734,7 @@ interfaces in the areas of colors, fonts, text, images, keyboard input.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1035kh0na4hwp4pnsi8p1nd7r114d4bgdnjr0g2hwmy868vx0a67")))) + (base32 "1rifx51yk24sk578h08s1bwpqb61rnyyks33zpl82lcdnl1ljp26")))) (build-system cmake-build-system) (arguments `(#:phases @@ -759,7 +761,7 @@ other special events for a geographical region.") (define-public ki18n (package (name "ki18n") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -768,7 +770,7 @@ other special events for a geographical region.") name "-" version ".tar.xz")) (sha256 (base32 - "1fdp0bdvqbqzbxynbg3bcdridr8j3qnm9spyrrdg5q95sz99a4s9")))) + "1f952488492sm904i1iwgjp2gc7z07312mlshw4ckh2801y0qclc")))) (build-system cmake-build-system) (propagated-inputs `(("gettext" ,gettext-minimal) @@ -802,7 +804,7 @@ translation scripting.") (define-public kidletime (package (name "kidletime") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -811,7 +813,7 @@ translation scripting.") name "-" version ".tar.xz")) (sha256 (base32 - "0zd51lsz23rqwk4lnzs5653sanprgr80p33yk8gmgsihgyfbjv0r")))) + "0vbxs80a8kh2xbxclx8zwl7acynsasa7i0cs171fxr26d0dmmhm5")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -833,7 +835,7 @@ or user activity.") ;; plasma-framework which is tier 3. (package (name "kirigami") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -842,7 +844,7 @@ or user activity.") "kirigami2-" version ".tar.xz")) (sha256 (base32 - "1v76d1xgmi9kkxiwq4y6rzaxs1hwwm95pw490m09rgqhli7180yv")))) + "0akkyif6n9l7hw4cj6nkf1zwgnd7vqi1gyiqmn588rspgl91zf1w")))) (properties `((upstream-name . "kirigami2"))) (build-system cmake-build-system) (native-inputs @@ -869,7 +871,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") (define-public kitemmodels (package (name "kitemmodels") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -878,7 +880,7 @@ of applications that follow the Kirigami Human Interface Guidelines.") name "-" version ".tar.xz")) (sha256 (base32 - "10bhg0db9gdg2hlc02ngg1i2q7a99862d5973hxqzf620d28p5rd")))) + "0x7y5shg2pp490hvmkz81b8j01cha9j1001q34m7pnyf0n3zknzc")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -920,7 +922,7 @@ model to observers (define-public kitemviews (package (name "kitemviews") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -929,7 +931,7 @@ model to observers name "-" version ".tar.xz")) (sha256 (base32 - "15h0w16wgj94kxz4vgjb34i3pyx5w1f2npj86j4d2sa0mxxpmqyz")))) + "04vlmkvc3y5h7cpb6kdv9gha5axxkimhqh44mdg2ncyn4sas6j68")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -946,7 +948,7 @@ to flat and hierarchical lists.") (define-public kplotting (package (name "kplotting") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -955,7 +957,7 @@ to flat and hierarchical lists.") name "-" version ".tar.xz")) (sha256 (base32 - "11kpq34j37c1gsvj5nxhkc31bw8gw2n7nkqsfx87jw9f4v2vhmr9")))) + "1wj4n2a8iz9ml1y0012xkpsx3dfp5gl2dn80sifrzvkxjxrhwach")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -974,7 +976,7 @@ pixel units.") (define-public ksyntaxhighlighting (package (name "ksyntaxhighlighting") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -983,7 +985,7 @@ pixel units.") "syntax-highlighting-" version ".tar.xz")) (sha256 (base32 - "08y0m4wcq1sbxvlga3w72waj5xckh5jra5x7rvnp87dl38qxhacs")))) + "12jn7lqsp86329spai7n1n8i65nwhxh8gp33wkq543h7w3i2a3jb")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1023,7 +1025,7 @@ integration with a custom editor as well as a ready-to-use (define-public kwayland (package (name "kwayland") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1032,13 +1034,14 @@ integration with a custom editor as well as a ready-to-use name "-" version ".tar.xz")) (sha256 (base32 - "03z8hiw0mrhl3f0y7ypc46ic0w5vlp56prbqbk448jin5hakkkdg")))) + "0hrpbfzixjpnfy9q5x66q1fff0p7n80rrs127zzdv68pyi6456ry")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) (inputs `(("qtbase" ,qtbase) + ("qtwayland" ,qtwayland) ("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols))) (arguments @@ -1063,7 +1066,7 @@ represented by a QPoint or a QSize.") (define-public kwidgetsaddons (package (name "kwidgetsaddons") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1072,7 +1075,7 @@ represented by a QPoint or a QSize.") name "-" version ".tar.xz")) (sha256 (base32 - "1nzgv3v3kyq5jm2b9xri6qjawspr9ycxhskfvj8kkgr46dr35qyc")))) + "03l37lh219np7pqfa56r2v7n5s5xg4rjq005qng4b5izd95ri56j")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1104,7 +1107,7 @@ configuration pages, message boxes, and password requests.") (define-public kwindowsystem (package (name "kwindowsystem") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1113,7 +1116,7 @@ configuration pages, message boxes, and password requests.") name "-" version ".tar.xz")) (sha256 (base32 - "0nbkb8pkrbbp1s892ndzhakzri3qxpw48kibgb0rqz6i0azfxrz8")))) + "0a68cj0bsl5a9sxfd969khznycrn9p6grp2b08hqacxqdknzs0wh")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1167,7 +1170,7 @@ lower level classes for interaction with the X Windowing System.") (define-public modemmanager-qt (package (name "modemmanager-qt") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1176,7 +1179,7 @@ lower level classes for interaction with the X Windowing System.") name "-" version ".tar.xz")) (sha256 (base32 - "0yv5q71cyyy04051ny5lr7n35pw391gxr6l324n6c0z7kgc560ad")))) + "0ydq1l823jgp0yrrpqi1zdk5dsg65ydk1x082qwsa9a0vzs0np3x")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1205,7 +1208,7 @@ messages.") (define-public networkmanager-qt (package (name "networkmanager-qt") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1214,7 +1217,7 @@ messages.") name "-" version ".tar.xz")) (sha256 (base32 - "0ydfz6ikya1h8gg9c716y8lmy45iqnx0gaghkm0vz3c3ckx99l9g")))) + "1h2kdw5vs7mn3n7bvqwm36a48ra9iap6384kanz14zjbankj04c1")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1244,7 +1247,7 @@ which are used in DBus communication.") (define-public oxygen-icons (package (name "oxygen-icons") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1253,7 +1256,7 @@ which are used in DBus communication.") name "5" "-" version ".tar.xz")) (sha256 (base32 - "0rh9bysiisnpz3c92hyba98f58dlmwf9zhbbb4vmab0qvm5d3q9g")))) + "1rjsnz0g7zyzgii26sk370adb6jcyvr2lm8qi23fvqimifngqm2c")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1269,7 +1272,7 @@ which are used in DBus communication.") (define-public prison (package (name "prison") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) @@ -1277,7 +1280,7 @@ which are used in DBus communication.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0spkm5j2qmwl374xrbm054rjv4rcqwsz0wl5v2nyrfq2ma4bzzw5")))) + (base32 "1qflivvb593d2npc218xkdn3w5zvl7x8v1b52ydnggsxzbgkqvb4")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1291,10 +1294,41 @@ which are used in DBus communication.") provides uniform access to generation of barcodes with data.") (license license:lgpl2.1+))) +(define-public pulseaudio-qt + (package + (name "pulseaudio-qt") + (version "1.2") + (source (origin + (method url-fetch) + (uri (string-append "https://download.kde.org/stable/pulseaudio-qt" + "/pulseaudio-qt-" version ".tar.xz")) + (sha256 + (base32 + "1i0ql68kxv9jxs24rsd3s7jhjid3f2fq56fj4wbp16zb4wd14099")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("pulseaudio" ,pulseaudio) + ("qtdeclarative" ,qtdeclarative) + ("qtbase" ,qtbase))) + (home-page "https://invent.kde.org/libraries/pulseaudio-qt/") + (synopsis "Qt bindings for PulseAudio") + (description + "pulseaudio-qt is a Qt-style wrapper for libpulse. It allows querying +and manipulation of various PulseAudio objects such as @code{Sinks}, +@code{Sources} and @code{Streams}. It does not wrap the full feature set of +libpulse.") + ;; User can choose between LGPL version 2.1 or 3.0; or + ;; "any later version accepted by the membership of KDE e.V". + (license (list license:lgpl2.1 license:lgpl3)))) + (define-public qqc2-desktop-style (package (name "qqc2-desktop-style") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1303,7 +1337,7 @@ provides uniform access to generation of barcodes with data.") name "-" version ".tar.xz")) (sha256 (base32 - "1sz2735fn5665pyb5v70y2fmw2mkziq83di4h06pwday9vf2r6l5")))) + "1n47cl082zqdw6ykil04rw6bws4fn1m8wfx4vxv1aqj9warbdks3")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1328,7 +1362,7 @@ feel.") (define-public solid (package (name "solid") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1337,7 +1371,7 @@ feel.") name "-" version ".tar.xz")) (sha256 (base32 - "0i124kyhd1hfnajp0hnqma35ycr3bh60z39gc6byhxb75p59swnl")))) + "0alng7ciw6xji0s2zrk8dsx1p0p9shrrfzl8wnkwygc5chnhysz7")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1367,7 +1401,7 @@ system.") (define-public sonnet (package (name "sonnet") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1376,7 +1410,7 @@ system.") name "-" version ".tar.xz")) (sha256 (base32 - "0gqxmyxmwn2rs9f8x2z8pfmbx0mvkyh7nalnsmfqkph8f0fja9ig")))) + "0b88h5fw1n8zyrg0vq3lj2jbjjyh0mk64lj6ab3643kxzqxbn30w")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1396,7 +1430,7 @@ ASpell and HUNSPELL.") (define-public threadweaver (package (name "threadweaver") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1405,7 +1439,7 @@ ASpell and HUNSPELL.") name "-" version ".tar.xz")) (sha256 (base32 - "0z2906nmamvcg85jip98wq834rjs3nc1qlv3q182gw1cnh4nbdag")))) + "0y1q0wy073lf11g4jrp4bdw4kpj4ibqfscsxj6zlh8ban9zlf389")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1426,7 +1460,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way." (define-public kactivities (package (name "kactivities") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1435,7 +1469,7 @@ uses a job-based interface to queue tasks and execute them in an efficient way." name "-" version ".tar.xz")) (sha256 (base32 - "03h5r7z2a449hfvaj3zk1n7dhpj49liy5q60fb4nxz4yjkgca27s")))) + "1whsp0f87lrcn61s9rfhy0aj68hm6zgfa38mq6frlkcjksi0z1vn")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1471,7 +1505,7 @@ with other frameworks.") (define-public kauth (package (name "kauth") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1480,7 +1514,7 @@ with other frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "08gkgmxaxqpavsqdmcgs4i8j63pg5qld7agd58irpw29pgq1fj9c")))) + "0nmdz7ra3hpg0air4lfkzilv7cwx3zxs29k7sh8l3i1fs3qpjwxm")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -1518,7 +1552,7 @@ utilities.") (define-public kcompletion (package (name "kcompletion") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1527,7 +1561,7 @@ utilities.") name "-" version ".tar.xz")) (sha256 (base32 - "10ggypg09acc19gkvxsigfsaq8s5vqv64ada307blpzy8j74bisb")))) + "1pjgya8wi28jx63hcdi9v5f5487gzbkw2j1iganhd7bhcb8s7zpy")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1546,7 +1580,7 @@ integrated it into your application's other widgets.") (define-public kcontacts (package (name "kcontacts") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1555,17 +1589,19 @@ integrated it into your application's other widgets.") name "-" version ".tar.xz")) (sha256 (base32 - "0xs5c5l4vck5i6879jax1nf93if02f9hyfkn60l36cxbphnbpw0h")))) + "182ma11z3kqxq3cwy7kwprfqkb9bcmn44w7k9vixbid4pv5wa0lb")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("xorg-server" ,xorg-server))) ; for the tests (inputs - `(("kcodecs" ,kcodecs) + `(("qtbase" ,qtbase))) + (propagated-inputs + `(;; As required by KF5ContactsConfig.cmake. + ("kcodecs" ,kcodecs) ("kconfig" ,kconfig) ("kcoreaddons" ,kcoreaddons) - ("ki18n" ,ki18n) - ("qtbase" ,qtbase))) + ("ki18n" ,ki18n))) (arguments `(#:phases (modify-phases %standard-phases @@ -1590,7 +1626,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca. (define-public kcrash (package (name "kcrash") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1599,7 +1635,7 @@ localized country name to ISO 3166-1 alpha 2 code mapping and vice verca. name "-" version ".tar.xz")) (sha256 (base32 - "1xl3bzxfchfafcplil3g07gq1a3fnwx1i40bxp4jfsgb8d8slfwc")))) + "11sy9hrjpvybqi53qjrnncy9mzifrb3vqxi2d12ldjzqyqd8pirp")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1617,7 +1653,7 @@ application crashes.") (define-public kdoctools (package (name "kdoctools") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1626,7 +1662,7 @@ application crashes.") name "-" version ".tar.xz")) (sha256 (base32 - "1zna9szii2r9agwfqbglk904zzpr3fyrz6x5v2rxrm3c9m110sm4")))) + "0g0k83np2xaxk05spf14h5fvzy0n7kbcwx1sa9wjh570f6jx87am")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1674,7 +1710,7 @@ from DocBook files.") (define-public kfilemetadata (package (name "kfilemetadata") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1683,7 +1719,7 @@ from DocBook files.") name "-" version ".tar.xz")) (sha256 (base32 - "11wvddb7nqdyi5rin3xa0p32lmvc62yw47hwcdzc01lkfbxdn050")))) + "18n1a5857090a1c1rxzd07sxs652gl6wr3n99sp8rxmvkghn9zsj")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1728,7 +1764,7 @@ by applications to write metadata.") (define-public kimageformats (package (name "kimageformats") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1737,7 +1773,7 @@ by applications to write metadata.") name "-" version ".tar.xz")) (sha256 (base32 - "15y339by7jvsbmfqb33s3ain7sfhx3789xy2xjpkh5f2f9v29r2b")))) + "0pk4b725wapzdxv1mm6ddqcl6z8ffcpr32i5vrhrin8awi5gx13s")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1782,7 +1818,7 @@ formats.") (define-public kjobwidgets (package (name "kjobwidgets") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1791,7 +1827,7 @@ formats.") name "-" version ".tar.xz")) (sha256 (base32 - "0pg055ampm69yr1vn03s1ys3p18raj8f5pcg0hg9hb4sjkyrr3pn")))) + "13kdczzyyh17hf6vlhh4li5bn4yq5bab5xa8mm63r9rynxihgclf")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1810,7 +1846,7 @@ asynchronous jobs.") (define-public knotifications (package (name "knotifications") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1819,7 +1855,7 @@ asynchronous jobs.") name "-" version ".tar.xz")) (sha256 (base32 - "1rknfn50kq6ng7gclgg0n4qyhv2grc7xcf3gcax3bbyy46gajsl8")))) + "01bn23xw2n53h9nl99lm3cjnqs8s66bmwkzf6fkpg9rzkykizbyc")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1856,7 +1892,7 @@ covers feedback and persistent events.") (define-public kpackage (package (name "kpackage") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1865,7 +1901,7 @@ covers feedback and persistent events.") name "-" version ".tar.xz")) (sha256 (base32 - "1h57kicsjkisysd2mmd5q9q5m421xqcv3p8vkjlqxkph5sa7y2q5")) + "03rp7p7i8ihz5wg58gjs638jk7xbszknfiy2j3r979snc57g95mv")) ;; Default to: external paths/symlinks can be followed by a ;; package (patches (search-patches "kpackage-allow-external-paths.patch")))) @@ -1917,7 +1953,7 @@ were traditional plugins.") (define-public kpty (package (name "kpty") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1926,7 +1962,7 @@ were traditional plugins.") name "-" version ".tar.xz")) (sha256 (base32 - "10v61016kd1q41n4dwac1nsiixji64i5y501nx0hphpjkjbaklkr")))) + "1hp6iilr2asf2269linfazjv4yjg7rsi8wydxx53yyr99r0bgmah")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1954,7 +1990,7 @@ and communicating with them using a pty.") (define-public kunitconversion (package (name "kunitconversion") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -1963,7 +1999,7 @@ and communicating with them using a pty.") name "-" version ".tar.xz")) (sha256 (base32 - "0yzq2jxja9wnhz91cyli2mnw32xynnzbf1lr0hk6vi8a1w2mkrzz")))) + "0sp4gfzpf40cdi0xnff9sn7b75z88j0589svz4rv77q5m137cgnn")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1991,7 +2027,7 @@ gallons).") (define-public syndication (package (name "syndication") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2000,7 +2036,7 @@ gallons).") name "-" version ".tar.xz")) (sha256 (base32 - "1d0k6x11giylfkr183sm307n4v6rjpwkqp7y9wfhimjrcprwf2g6")))) + "1n3x8s1z4kd30xirfr07hi87vwhk4rilb5kslcjcgp5n9c0imcpv")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2024,7 +2060,7 @@ between feed formats.") (define-public baloo (package (name "baloo") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2033,7 +2069,7 @@ between feed formats.") name "-" version ".tar.xz")) (sha256 (base32 - "1qhqv19glg98146cyc7ykq02b5b9m936xcml1w1p8fx32cp2zbch")))) + "1cf5pp9hn3pqypwyzh63ksasap3n7qz6n3y2xgb83ss3fra90pjf")))) (build-system cmake-build-system) (propagated-inputs `(("kcoreaddons" ,kcoreaddons) @@ -2074,11 +2110,15 @@ between feed formats.") (display "[testMoveFile]\n*\n"))) #t)) (add-after 'unpack 'remove-failing-test - ;; This test fails on i686 and aarch64 (lambda _ + ;; FIXME: kinotifytest broke in 5.70.0 with commit 73183acf00 and + ;; seems like an oversight. Reverting the commit makes it pass, + ;; but causes other problems. Since just the test file names are + ;; broken, disabling it should be safe. Try enabling for > 5.70.0. (substitute* "autotests/unit/file/CMakeLists.txt" - (("^\\s*ecm_add_test\\(.* TEST_NAME metadatamovertest .*" line) - (string-append "# " line))) + ;; The test only runs on GNU/Linux, piggy-back on the check. + (("CMAKE_SYSTEM_NAME MATCHES \"Linux\"" all) + (string-append all " AND NOT TRUE"))) #t)) (replace 'check (lambda _ @@ -2094,7 +2134,7 @@ maintaining an index of the contents of your files.") (define-public kactivities-stats (package (name "kactivities-stats") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2103,7 +2143,7 @@ maintaining an index of the contents of your files.") name "-" version ".tar.xz")) (sha256 (base32 - "187fyl92pnkn317pi1pkmf7bv5z6aqdhqa6b8531xgl06gyigy45")))) + "1cnfdnxkw9hwbqdzdygp2vzwxqwqhxyipzwdcgar0clgnf7zi7wx")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2124,7 +2164,7 @@ by which applications, and what documents have been linked to which activity.") (define-public kbookmarks (package (name "kbookmarks") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2133,7 +2173,7 @@ by which applications, and what documents have been linked to which activity.") name "-" version ".tar.xz")) (sha256 (base32 - "011r2ms57ycz5kma0q35cji4isj0lskrxrambk11jibs1xjdis2v")))) + "1i5vcyvyc9whmflbcg2kc562ch93yscfic1c1n9z347g26jmgras")))) (build-system cmake-build-system) (propagated-inputs `(("kwidgetsaddons" ,kwidgetsaddons))) @@ -2167,7 +2207,7 @@ using the XBEL format.") (define-public kcmutils (package (name "kcmutils") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2176,7 +2216,7 @@ using the XBEL format.") name "-" version ".tar.xz")) (sha256 (base32 - "1q12n9sfgrm2f8bspsl5i9gbv4jwl25w5id9m9rnnr87hck35g68")))) + "08f4yr546brl1dppp0khvsw9ihmh9a7rp505913pdhi0sklaiimz")))) (build-system cmake-build-system) (propagated-inputs `(("kconfigwidgets" ,kconfigwidgets) @@ -2203,6 +2243,7 @@ using the XBEL format.") ("kconfig" ,kconfig) ("kcoreaddons" ,kcoreaddons) ("kdeclarative" ,kdeclarative) + ("kguiaddons" ,kguiaddons) ("kiconthemes" ,kiconthemes) ("kitemviews" ,kitemviews) ("ki18n" ,ki18n) @@ -2220,7 +2261,7 @@ KCModules can be created with the KConfigWidgets framework.") (define-public kconfigwidgets (package (name "kconfigwidgets") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2229,7 +2270,7 @@ KCModules can be created with the KConfigWidgets framework.") name "-" version ".tar.xz")) (sha256 (base32 - "098xdfvnyz9bdkc6iyq5r2s4vkfdhbrri4015yzbs73j4f2wcxz5")))) + "195dw7nyr3fp78y3vfnyjh0hwgwk46f80wdcm8dck5rkscl3v9xz")))) (build-system qt-build-system) (propagated-inputs `(("kauth" ,kauth) @@ -2267,7 +2308,7 @@ their settings.") (define-public kdeclarative (package (name "kdeclarative") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2276,7 +2317,7 @@ their settings.") name "-" version ".tar.xz")) (sha256 (base32 - "027wnrmr79fxkf4jpdpfhp7smdai2wn9y71l1h4kgqgwfq8anwy8")))) + "1vq9pkrb0zsphi2sfx7cyy1kb6pklzjkmqdf5202z8vydlkc4549")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -2330,7 +2371,7 @@ that offer bindings to some of the Frameworks.") (define-public kded (package (name "kded") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2339,7 +2380,7 @@ that offer bindings to some of the Frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "0kjr6ff1g6xyas5si9b7zilcqcx4mgfkzfpq2c59fz1wd8q8fl05")))) + "0zqd33vy4ny7g9as3bhd75qi1chz1nlqq133pgw8kjanvghwwnk9")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2363,7 +2404,7 @@ started on demand.") (define-public kdesignerplugin (package (name "kdesignerplugin") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2372,7 +2413,7 @@ started on demand.") name "-" version ".tar.xz")) (sha256 (base32 - "1w7glszd82iyw6kxzmp0568rm3qfadi7vw7gfxg4c15w5ikkvxn9")))) + "0dr6gcag2yzx8fvxis4x403jrcisywds95cywmiyz3pb5727cak2")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2406,7 +2447,7 @@ ini-style description files.") (define-public kdesu (package (name "kdesu") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2415,7 +2456,7 @@ ini-style description files.") name "-" version ".tar.xz")) (sha256 (base32 - "038m0sdpnsy50m3g78sfg7wk26933rh3578qsnapw2cyimx8ypxx")))) + "17k29g7jwgqj5xdmr509438b9sq65zx8khdr4viybjf5xpi0cf5m")))) (build-system cmake-build-system) (propagated-inputs `(("kpty" ,kpty))) @@ -2437,7 +2478,7 @@ with su and ssh respectively.") (define-public kdewebkit (package (name "kdewebkit") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2446,7 +2487,7 @@ with su and ssh respectively.") name "-" version ".tar.xz")) (sha256 (base32 - "1s3bmn1ck7xvc7a6gv7ywv9161hdahiiw20aq88s4qkm2s5wyy6v")))) + "0y9ja3znkvzdbjfs91dwr4cmvl9fk97zpz2lkf0f9zhm2nw6q008")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2470,7 +2511,7 @@ engine WebKit via QtWebKit.") (define-public kemoticons (package (name "kemoticons") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2479,7 +2520,7 @@ engine WebKit via QtWebKit.") name "-" version ".tar.xz")) (sha256 (base32 - "0li1lz5kqlczvgq6b2x3nkr0hl96a337ab83fq9wxp5sx440d6sd")))) + "11v1srn3nii4j7cn4f19qvdw96pczwxhanzxlg4a9gf8kmnp5gxr")))) (build-system cmake-build-system) (propagated-inputs `(("kservice" ,kservice))) @@ -2510,7 +2551,7 @@ emoticons coming from different providers.") (define-public kglobalaccel (package (name "kglobalaccel") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2519,7 +2560,7 @@ emoticons coming from different providers.") name "-" version ".tar.xz")) (sha256 (base32 - "1xpfvwnrj81mk3di02n37b469gxzmnk89icmcz6wwyk54m86fw76")))) + "0hmqigc8myiwwh7m6y2cm4vn0d3kmrhia179hyb84vpvvn3lm93z")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2546,7 +2587,7 @@ window does not need focus for them to be activated.") (define-public kiconthemes (package (name "kiconthemes") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2555,7 +2596,7 @@ window does not need focus for them to be activated.") name "-" version ".tar.xz")) (sha256 (base32 - "18p4np4chykpy2ck8c76999nh8gdj75hjfakg1pakdqhlash9q6w")))) + "09bqpf3drqyfc81vgab9bsh1wm5qbzdwqjlczhax38660nnvh0r9")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -2594,7 +2635,7 @@ in applications using the KDE Frameworks.") (define-public kinit (package (name "kinit") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2603,7 +2644,7 @@ in applications using the KDE Frameworks.") name "-" version ".tar.xz")) (sha256 (base32 - "06p0i9674nzam0f4ac2jrl9pgkycz0lc0kdn24ds2rlh85cqvjwx")) + "1x4whs8p1daxjfp4ksf70rxrv7fx3w17s5wh6446039wzz9bv6ki")) ;; Use the store paths for other packages and dynamically loaded ;; libs (patches (search-patches "kinit-kdeinit-extra_libs.patch" @@ -2636,6 +2677,7 @@ in applications using the KDE Frameworks.") ("kconfigwidgets" ,kconfigwidgets) ("kcoreaddons" ,kcoreaddons) ("kcrash" ,kcrash) + ("kdbusaddons" ,kdbusaddons) ("kdoctools" ,kdoctools) ("kio" ,kio) ("kitemviews" ,kitemviews) @@ -2663,7 +2705,7 @@ consumption.") (define-public kio (package (name "kio") - (version "5.63.0") + (version "5.70.1") (source (origin (method url-fetch) (uri (string-append @@ -2672,7 +2714,7 @@ consumption.") name "-" version ".tar.xz")) (sha256 (base32 - "048gq6j8di6nzsacpr8j40kw6y5607zgwqr21ahcnnb0gd2sly4l")) + "1f33jdjjx6k1d5fab35x8xakc4ny9fyfrgkbib60xncc82lz2h5l")) (patches (search-patches "kio-search-smbd-on-PATH.patch")))) (build-system cmake-build-system) (propagated-inputs @@ -2683,6 +2725,7 @@ consumption.") ("kitemviews" ,kitemviews) ("kjobwidgets" ,kjobwidgets) ("kservice" ,kservice) + ("kwindowsystem" ,kwindowsystem) ("kxmlgui" ,kxmlgui) ("solid" ,solid))) (native-inputs @@ -2705,7 +2748,6 @@ consumption.") ("ktextwidgets" ,ktextwidgets) ("kwallet" ,kwallet) ("kwidgetsaddons" ,kwidgetsaddons) - ("kwindowsystem" ,kwindowsystem) ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("qtbase" ,qtbase) @@ -2757,7 +2799,7 @@ KIO enabled infrastructure.") (define-public knewstuff (package (name "knewstuff") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2766,7 +2808,7 @@ KIO enabled infrastructure.") name "-" version ".tar.xz")) (sha256 (base32 - "0pkm7qapkd9xypmhsjfwlgq0l4nfgya5b23lv3zkci8lrbssaqsv")))) + "1hpxj4nawh57w8l64gjplb5mk5fpxiffm4x49kg75m637rxy19fq")))) (build-system cmake-build-system) (propagated-inputs `(("attica" ,attica) @@ -2813,7 +2855,7 @@ specification.") (define-public knotifyconfig (package (name "knotifyconfig") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2822,7 +2864,7 @@ specification.") name "-" version ".tar.xz")) (sha256 (base32 - "1d90gsnxy3kqd6f1bkhflrdwwx3w65sw4c7nfpkdxxhlqhzc9zr4")))) + "1d483qrgyamwsqvcl70klv1g8744hn8z1h2j3qfydcvlwz8jy0gj")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2855,7 +2897,7 @@ notifications which can be embedded in your application.") (define-public kparts (package (name "kparts") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2864,8 +2906,18 @@ notifications which can be embedded in your application.") name "-" version ".tar.xz")) (sha256 (base32 - "0md0349r4mdm2r04p5s3pgm17v4w40r3kz58lzp6qfcw25b969nw")))) + "1gfaxr856zrsjxzdxw1sj12s6aib6r703jgf7yvsl8kilg8l2gsk")))) (build-system qt-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-partloader-test + (lambda _ + (substitute* "autotests/CMakeLists.txt" + ;; XXX: PartLoaderTest wants to create a .desktop file + ;; in the common locations and test that MIME types work. + ;; The setup required for this is extensive, skip for now. + (("partloadertest\\.cpp") "")) + #t))))) (propagated-inputs `(("kio" ,kio) ("ktextwidgets" ,ktextwidgets) @@ -2899,7 +2951,7 @@ widgets with a user-interface defined in terms of actions.") (define-public kpeople (package (name "kpeople") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2908,7 +2960,7 @@ widgets with a user-interface defined in terms of actions.") name "-" version ".tar.xz")) (sha256 (base32 - "1q2hh2i8hd638p907g0srdxmxm9h2ay91dmhslqzcgwnlhln4gfl")))) + "1dhvly19pj9lx78g7mc89scibzmra1vhv4zz33222zidkbrf9ryl")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -2935,7 +2987,7 @@ to easily extend the contacts collection.") (define-public krunner (package (name "krunner") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -2944,12 +2996,15 @@ to easily extend the contacts collection.") name "-" version ".tar.xz")) (sha256 (base32 - "0gjqwzsg865gha8k7hda28hsrbfzhw9jz610lkqff5713lqbcn5a")))) + "0fhb26vi9z1mky79kq12qq4g4ghz3530cx84n5l3sdgkd6nfsyqf")))) (build-system cmake-build-system) (propagated-inputs `(("plasma-framework" ,plasma-framework))) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + + ;; For tests. + ("dbus" ,dbus))) (inputs `(("kauth" ,kauth) ("kbookmarks" ,kbookmarks) @@ -2993,7 +3048,10 @@ to easily extend the contacts collection.") (lambda _ (display "[testMatch]\n*\n") (display "[testMulti]\n*\n"))) - #t))))) + #t)) + (replace 'check + (lambda _ + (invoke "dbus-launch" "ctest" ".")))))) (home-page "https://community.kde.org/Frameworks") (synopsis "Framework for Plasma runners") (description "The Plasma workspace provides an application called KRunner @@ -3005,7 +3063,7 @@ typed.") (define-public kservice (package (name "kservice") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -3014,7 +3072,7 @@ typed.") name "-" version ".tar.xz")) (sha256 (base32 - "1rdapw9wirfq6pyaza0k7sg6q21rv3cfyalpzrwfrk5gkgpqxzwk")))) + "0g49p5331f7dl46rvi43akmjm1jx70w9797j6d17jy7z9s9sqikw")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -3064,7 +3122,7 @@ types or handled by application specific code.") (define-public ktexteditor (package (name "ktexteditor") - (version "5.63.0") + (version "5.70.1") (source (origin (method url-fetch) (uri (string-append @@ -3073,7 +3131,7 @@ types or handled by application specific code.") "ktexteditor-" version ".tar.xz")) (sha256 (base32 - "0vfl6rr3624n8v29z07z5c0nh5af5kfg28cnp5ksfvfnssxfzfqa")))) + "0k10yj1ia1w1mznj4g5nvp65p226zcvgwxc85ycn2w8lbkknidf7")))) (build-system cmake-build-system) (propagated-inputs `(("kparts" ,kparts))) @@ -3145,7 +3203,7 @@ library.") (define-public ktextwidgets (package (name "ktextwidgets") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -3154,7 +3212,7 @@ library.") name "-" version ".tar.xz")) (sha256 (base32 - "1qb1mad5bg19xwykzpwk2b3s505ka4jkg0fsi56ri57wq8gv4qha")))) + "1609rlwba674kr9whawk93vb1b14b5ly7wvir7kjyjp4j715f47w")))) (build-system qt-build-system) (propagated-inputs `(("ki18n" ,ki18n) @@ -3185,7 +3243,7 @@ It supports rich text as well as plain text.") (define-public kwallet (package (name "kwallet") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -3194,7 +3252,7 @@ It supports rich text as well as plain text.") name "-" version ".tar.xz")) (sha256 (base32 - "1dp3mrgl0h6wqp4wcqpvnvkacwkrrn5lrv6bdl008kx1y594s28g")))) + "1ps6ywcirv7xcisvwfcpvk53wm7m8y5lrz4nhkm36rizrdglw19r")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -3227,7 +3285,7 @@ the passwords on KDE work spaces.") (define-public kxmlgui (package (name "kxmlgui") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -3236,7 +3294,7 @@ the passwords on KDE work spaces.") name "-" version ".tar.xz")) (sha256 (base32 - "0x0mfapgl8w4xal8lamh3v27a9kdb7qyaxdn48gja4x85pkvi87i")))) + "0cvzcq2dcz89c0ffhvfb820hfmqa87mfdbjvrqjwdysc9lr8zx8f")))) (build-system cmake-build-system) (propagated-inputs `(("kconfig" ,kconfig) @@ -3280,7 +3338,7 @@ descriptions for integrating actions from plugins.") (define-public kxmlrpcclient (package (name "kxmlrpcclient") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -3289,7 +3347,7 @@ descriptions for integrating actions from plugins.") name "-" version ".tar.xz")) (sha256 (base32 - "0k82cyxjipqpky7gs0zb5s1bc6jf22d5vwpwyiqjy32da63mc89c")))) + "1cmfv2w9yfi8jhj5nawfz7kw8jbr1k5cr3n5xv3z59pg2vazsx8b")))) (build-system cmake-build-system) (propagated-inputs `(("kio" ,kio))) @@ -3323,7 +3381,7 @@ setUrl, setUserAgent and call.") (define-public plasma-framework (package (name "plasma-framework") - (version "5.63.0") + (version "5.70.1") (source (origin (method url-fetch) (uri (string-append @@ -3332,7 +3390,7 @@ setUrl, setUserAgent and call.") name "-" version ".tar.xz")) (sha256 (base32 - "0p0ziqw70lklx59d0nij3p9yi1vdacdfyrrp7zf74iwxd7598hci")))) + "06cxajsxj62g3c37ssrrcaxb9a12zbyp2kvrjqym329k5vd89272")))) (build-system cmake-build-system) (propagated-inputs `(("kpackage" ,kpackage) @@ -3393,7 +3451,7 @@ script engines.") (define-public purpose (package (name "purpose") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -3402,7 +3460,7 @@ script engines.") name "-" version ".tar.xz")) (sha256 (base32 - "1mc5z131z9da6qjhlxqz64ys4fgq38iryna58f8l04x8f9igjn8f")))) + "1pxlx2hgj42zsisws8f486n8sg0vn5a5mhb85prifwkaw0rqzgah")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -3459,7 +3517,7 @@ need.") (define-public kde-frameworkintegration (package (name "kde-frameworkintegration") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) (uri (string-append @@ -3468,7 +3526,7 @@ need.") "frameworkintegration-" version ".tar.xz")) (sha256 (base32 - "0n8n6lnzswi2q848qy2b4rcvkd0y1dywlk6hdmcnn8dfbxy6b050")))) + "1lvccvhhkzdv1hw627kw3ds18gfq4bxdhlvh959piqxq5gh9d2n0")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -3516,7 +3574,7 @@ workspace.") (define-public kdelibs4support (package (name "kdelibs4support") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) @@ -3525,7 +3583,7 @@ workspace.") (version-major+minor version) "/portingAids/" name "-" version ".tar.xz")) (sha256 - (base32 "17mywcmgp1yzdipwwaypbkxiyybk1w0sps50jv1bl0f23ya19mlc")))) + (base32 "0imkibjlfc0jshdzr05fz5dy2xmfhvgsfan9b1r35spwsn5qkawx")))) (build-system cmake-build-system) (native-inputs `(("dbus" ,dbus) @@ -3632,7 +3690,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.") (define-public khtml (package (name "khtml") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) @@ -3641,7 +3699,7 @@ http://community.kde.org/Frameworks/Porting_Notes should help with this.") (version-major+minor version) "/portingAids/" name "-" version ".tar.xz")) (sha256 - (base32 "15f77r6dxkkvi2vxvxlwa7qz3whmz229g79bgadiwffmzxja0ywd")))) + (base32 "1jh0g6xv57hyclnh54x0f72lby1gvlisan23y7mzlqf67aky52s5")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -3683,7 +3741,7 @@ technology and using KJS for JavaScript support.") (define-public kjs (package (name "kjs") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) @@ -3692,7 +3750,7 @@ technology and using KJS for JavaScript support.") (version-major+minor version) "/portingAids/" name "-" version ".tar.xz")) (sha256 - (base32 "16zsan9c8kba5m70h34y544id7gig2bcbcs4s90s27pckijkkarp")))) + (base32 "0s3n0pdz59p5v967zrxcas3lb94k5bv9vi8058fi0l20nwwlcgh5")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -3716,7 +3774,7 @@ support.") (define-public kjsembed (package (name "kjsembed") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) @@ -3725,7 +3783,7 @@ support.") (version-major+minor version) "/portingAids/" name "-" version ".tar.xz")) (sha256 - (base32 "00sr6lv1nai2y6aawvqwnx4pbx8pw9b1jrpa0klc014gc42l6i7b")))) + (base32 "0976faazhxhhi1wpvpcs8hwb2knz0z7j44v3ay3hw73rq4p3bipm")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -3745,7 +3803,7 @@ QObjects, so you can script your applications.") (define-public kmediaplayer (package (name "kmediaplayer") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) @@ -3754,7 +3812,7 @@ QObjects, so you can script your applications.") (version-major+minor version) "/portingAids/" name "-" version ".tar.xz")) (sha256 - (base32 "19v53h3lkys3ryrjacrdng9ak91g03b9s986xhnw1r84zy242kdm")))) + (base32 "0lrm4y727nhwaivl37zpmnrwx048gfhyjw19m6q5z9p37lk43jja")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -3783,7 +3841,7 @@ KParts instead.") (define-public kross (package (name "kross") - (version "5.63.0") + (version "5.70.0") (source (origin (method url-fetch) @@ -3792,7 +3850,7 @@ KParts instead.") (version-major+minor version) "/portingAids/" name "-" version ".tar.xz")) (sha256 - (base32 "0paipgkxbm6vwgqj38rlr37vgmf1rx0cl2mka8zdbndl76ng5hgc")))) + (base32 "12b527l12rcf421p613ydbacilp9v9iy90ma35w21sdf9a15k675")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm index 5eb90cfb7c..f9cd29e9b8 100644 --- a/gnu/packages/kde-internet.scm +++ b/gnu/packages/kde-internet.scm @@ -116,14 +116,14 @@ Other notable features include: (define-public kget (package (name "kget") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kget-" version ".tar.xz")) (sha256 - (base32 "004qqq93iqidh2m9q2p2cwlbc2kfrz0g8a2mgd712c9p66l7s42s")))) + (base32 "1swx58wcig8zq8ibhczhcw7l8mqjm7pq8zca9gmny9kda5q04f5m")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -249,14 +249,14 @@ Features are: (define-public kopete (package (name "kopete") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kopete-" version ".tar.xz")) (sha256 - (base32 "088jya4v04l7r38pph1hxkr6ln4023s3ji3y8ipzdkalcx8hgr6l")))) + (base32 "149gi9hkyl825kf046iqkam3gkzfwdc2sihbf8gs6njachzvb81y")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -327,14 +327,14 @@ This package is part of the KDE networking module.") (define-public krdc (package (name "krdc") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/krdc-" version ".tar.xz")) (sha256 - (base32 "1p6g994whzjz9aarzrblh70xzs3jvygd1898qxgfymndlfxaxjyl")))) + (base32 "1hp23k3nsrcxpv2qiynjgm71zn3l6ds00cpd4frc68szgiblrw9r")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -429,14 +429,14 @@ a full-featured client for BitTorrent.") (define-public libgravatar (package (name "libgravatar") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libgravatar-" version ".tar.xz")) (sha256 - (base32 "1yzq9d0hzqh1hdfpnh7fp44fyjk169gvm4pqgwg24ra00z8j2d3z")))) + (base32 "0981ci2kr20v4fk11h57rqya0brgslfazpgq1yk5yqiwyqqm49r2")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 639d74d894..938251a532 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -46,14 +46,14 @@ (define-public audiocd-kio (package (name "audiocd-kio") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/audiocd-kio-" version ".tar.xz")) (sha256 - (base32 "1924w7li16qkmqsvbgfihjd7id6mb00m9k3acfwkkf32yzg3dn4q")))) + (base32 "0qlnxxbayqhz25jbvzis27jw2zbw1pmacp8rv7v5wa7zfqn3kmyk")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -86,14 +86,14 @@ This package is part of the KDE multimedia module.") (define-public dragon (package (name "dragon") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/dragon-" version ".tar.xz")) (sha256 - (base32 "02l16k4sgrxbczxp8rlnxbylb5fmjh4zhl4xw55qxkvmvxnjy5zr")))) + (base32 "1sssg20a1vpwk816lp5jgwahilaswb9f3hgfqvc73il4g11ky1xj")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -201,14 +201,14 @@ its own database. You can build and play your own playlist.") (define-public ffmpegthumbs (package (name "ffmpegthumbs") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/ffmpegthumbs-" version ".tar.xz")) (sha256 - (base32 "1w6070ng40nf99wpl6p5s8nx0icfx2c26vvnz4f9fx7l7pldh6n9")))) + (base32 "17l50z33a1h5zkrrfkb261yi2hms66qj36l1mndq7mvs97y2ggmc")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -232,14 +232,14 @@ This package is part of the KDE multimedia module.") (define-public juk (package (name "juk") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/juk-" version ".tar.xz")) (sha256 - (base32 "0c1hrd1n4ah7qm8xr7bfswgbcmbvnnhai4bfawx6v6ab3frl7wvf")))) + (base32 "06vsh7knyhcbcbf632jhldbqpzfkdyils2l8dbcdw5nj5hhgzzmr")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -287,14 +287,14 @@ This package is part of the KDE multimedia module.") (define-public k3b (package (name "k3b") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/k3b-" version ".tar.xz")) (sha256 - (base32 "08rbiy1hz650srdksr7ciq8dpcz20wczs22613pghrpgm5zsczhr")))) + (base32 "0r01ninrrmqk7pl5jg0g51fcky1ammw0yyq572wyhibw7q8y7ly7")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -400,14 +400,14 @@ autoloading of subtitle files for use while playing video.") (define-public kamoso (package (name "kamoso") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kamoso-" version ".tar.xz")) (sha256 - (base32 "0j0lr2gwaxwchgfp54dashm1b39gsaw4ly9p8ybavwwzhjkdqza3")))) + (base32 "0c47j315kjfikd3b6x18786k3gqymicjjslpm0a58zdxl3wpqfay")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -447,14 +447,14 @@ camera. Use it to take pictures and make videos to share.") (define-public kmix (package (name "kmix") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmix-" version ".tar.xz")) (sha256 - (base32 "1g42hlmpdf0rrgqapps6v47z9cnwpkfzpwgavaq26m5k3bpanwfg")))) + (base32 "1na52ypp57wqrc6pl1khinx9i6fidv1k97nnxcy8zb4l7d5sh1nd")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -560,14 +560,14 @@ Some features: (define-public kwave (package (name "kwave") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kwave-" version ".tar.xz")) (sha256 - (base32 "1vv3m3h9mvjr9sxajccqnvcgvz901n3qxhki0g7vsljvh31x5s5x")))) + (base32 "0ysa873pc2gip95cxr8yv7ifd9qql5zg6h67i9n9q3iqa6v58iyw")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -637,14 +637,14 @@ Its features include: (define-public libkcddb (package (name "libkcddb") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkcddb-" version ".tar.xz")) (sha256 - (base32 "1rla9sfzpdfiki0p265ga6d1axqpq37825maaw85hm84mg7hkzjn")))) + (base32 "1fwryaj8ldmsqhl5qxjda8by9i7xlb97r8p9rqzckw697hkfhs0h")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -668,14 +668,14 @@ Its features include: (define-public libkcompactdisc (package (name "libkcompactdisc") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkcompactdisc-" version ".tar.xz")) (sha256 - (base32 "09gl2dww5i50rpj92ryw4vq5ryy96cv9kflg6yqgdbznmmdqhawi")))) + (base32 "0iy4i0hxqsrnndd4iqkww7v1rqry7kvi5paxdw5qjfffwn8kcsbx")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index cb24f0efbf..b7b779c7d5 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.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 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,14 +43,14 @@ (define-public akonadi (package (name "akonadi") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/akonadi-" version ".tar.xz")) (sha256 - (base32 "0v7f1049wjnqxhwxr1443wc2cfbdqmf15xcwjz3j1m0vgdva9pyg")) + (base32 "0kkn7lh3akkk9cdi8qdk9kqzs1cgv916mkl440x4ykqd1v8brzqb")) (patches (search-patches "akonadi-paths.patch" "akonadi-timestamps.patch" @@ -65,8 +66,6 @@ ("kconfigwidgets" ,kconfigwidgets) ("kcoreaddons" ,kcoreaddons) ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("kdesignerplugin" ,kdesignerplugin) ("ki18n" ,ki18n) ("kiconthemes" ,kiconthemes) ("kio" ,kio) @@ -121,14 +120,14 @@ programs.") (define-public akonadi-calendar (package (name "akonadi-calendar") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/akonadi-calendar-" version ".tar.xz")) (sha256 - (base32 "1550h08i8rjnbd9yrnhd9v3v68ingrag2bdxrbid62qvam0n5ihy")))) + (base32 "1mq76qyd3jcngb2yfanpn7qvklzllza399fxwii0mqppp1vmnb2b")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -141,7 +140,6 @@ programs.") ("kcalutils" ,kcalutils) ("kcodecs" ,kcodecs) ("kcontacts" ,kcontacts) - ("kdbusaddons" ,kdbusaddons) ("ki18n" ,ki18n) ("kiconthemes" ,kiconthemes) ("kidentitymanagement" ,kidentitymanagement) @@ -165,14 +163,14 @@ collection and item views.") (define-public akonadi-contacts (package (name "akonadi-contacts") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/akonadi-contacts-" version ".tar.xz")) (sha256 - (base32 "1pw1s8c6dlcb103cw46p1ikvas3y8cwiwnfdny2jd3hr3rig4px9")))) + (base32 "0igggarnl99s5pl73dgrpha4lf7vnr000iy69vcwmqs5lxb7cyli")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -216,14 +214,14 @@ to list and filter contacts.") (define-public akonadi-mime (package (name "akonadi-mime") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/akonadi-mime-" version ".tar.xz")) (sha256 - (base32 "03q3dnhzcgmgcqvijnwi4ikg0m1zad2l679bqnp051v27fvs4yg7")))) + (base32 "1wd776ia3z22a79biq04y4m83n8xpvfmyg8bcsslr7lmc3avdg8w")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -269,14 +267,14 @@ with emails through Akonadi easier.") (define-public akonadi-notes (package (name "akonadi-notes") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/akonadi-notes-" version ".tar.xz")) (sha256 - (base32 "0r8vh11bfjzhspb5kp2d0kcgwqd2m5qpxpamiajzjq910f51sw3w")))) + (base32 "04y293kjrmjjcbb7fkjl7hl4vrks4cjjxnvc6ibzyv81rn6cdhh2")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -298,17 +296,20 @@ wrapping notes into KMime::Message objects.") (define-public akonadi-search (package (name "akonadi-search") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/akonadi-search-" version ".tar.xz")) (sha256 - (base32 "16qzs2cs4nxwrpwcdgwry95qn6wmg8s1p4w3qajx1ahkgwmsh11s")))) + (base32 "1h5p44y244gzf7ndzw7afrvq9c76ybp8ddvg82p3lzjh02rrvd50")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + + ;; For tests. + ("dbus" ,dbus))) (inputs `(("akonadi" ,akonadi) ("akonadi-mime" ,akonadi-mime) @@ -327,7 +328,19 @@ wrapping notes into KMime::Message objects.") ("qtbase" ,qtbase) ("xapian" ,xapian))) (arguments - `(#:tests? #f)) ;; TODO: needs dbus + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-test + (lambda _ + ;; FIXME: This test fails because it fails to establish + ;; a socket connection, seemingly due to failure during + ;; DBus communication. See also 'korganizer'. + (substitute* "agent/autotests/CMakeLists.txt" + ((".*schedulertest\\.cpp.*") + "")) + #t)) + (replace 'check + (lambda _ + (invoke "dbus-launch" "ctest")))))) (home-page "https://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/") (synopsis "Akonadi search library") (description "This package provides a library used to search in the @@ -338,14 +351,14 @@ Akonadi PIM data server. It uses Xapian for indexing and querying.") (define-public kincidenceeditor (package (name "kincidenceeditor") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/incidenceeditor-" version ".tar.xz")) (sha256 - (base32 "0v962v2ihawndg39ypkfawa449vpbdyg00ib7avb19a153y3wxg6")))) + (base32 "1xpp5lw60mvpjsjsxmicfa5y2d68wnb9vm4yb1krwkihm852ziny")))) (properties `((upstream-name . "incidenceeditor"))) (build-system qt-build-system) (native-inputs @@ -387,14 +400,14 @@ Akonadi PIM data server. It uses Xapian for indexing and querying.") (define-public kaddressbook (package (name "kaddressbook") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kaddressbook-" version ".tar.xz")) (sha256 - (base32 "1bpl9cqjv7s6pnsaa266jqmny2s6ldkylxviri162jxg51v1hhz3")))) + (base32 "1vpdhdj87ai2sxjn2jk3mh6bzfr1n3yzydnkgv7nc8v1m2fdawap")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -444,14 +457,14 @@ CalDAV server.") (define-public kalarmcal (package (name "kalarmcal") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kalarmcal-" version ".tar.xz")) (sha256 - (base32 "0w9qsx2gqwny2v4fsj4awn814s9b7yrxvqrawlick3r2kp4x1sgn")))) + (base32 "0g0bm4zzzcpl2pqqf609349zagwrgj6a4ibxpgg4zf21aacdq8bi")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -485,14 +498,14 @@ calendar data.") (define-public kblog (package (name "kblog") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kblog-" version ".tar.xz")) (sha256 - (base32 "0r3ik3df444kzg2mnzckkh4kk6v08zil1f26dwmxsslsqw9hl0vv")))) + (base32 "0pi3axs58wsz5vq6vyisz73s24q739zplwrblyvkcm16nll4mvhk")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -519,14 +532,14 @@ one of the APIs mentioned above.") (define-public kcalendarsupport (package (name "kcalendarsupport") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/calendarsupport-" version ".tar.xz")) (sha256 - (base32 "1hwfh5njq4614ypwdilna33hdcn11kshpwg6n27cag1qhwrxs1i4")))) + (base32 "1yv3hs7qw481cxw4kzbx5l8vv18bgzm1b0vj3zrlqqxwl5ac6xvy")))) (properties `((upstream-name . "calendarsupport"))) (build-system qt-build-system) (native-inputs @@ -565,14 +578,14 @@ calendaring applications.") (define-public kcalutils (package (name "kcalutils") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kcalutils-" version ".tar.xz")) (sha256 - (base32 "1nlkik4qiciyh1slgpis3n5h9pks2ygdba9yq4s16nnmip4l45w2")))) + (base32 "0v268w8vhgqxq1nwv9b9cy4h7zqgjrv19r44g3zc9w5j76ivix86")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -604,14 +617,14 @@ functions for accessing calendar data using the kcalcore API.") (define-public kdav (package (name "kdav") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kdav-" version ".tar.xz")) (sha256 - (base32 "1w59n17lridglphnm4mnmmzq1ijpbp269qxfmz01vk6wry6hlnp8")))) + (base32 "10syhwdlx36yip07yylzir8ig8arm1i868f2j6xpkwhxblrprlxk")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -632,14 +645,14 @@ supported using GroupDAV or CardDAV.") (define-public kdepim-apps-libs (package (name "kdepim-apps-libs") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kdepim-apps-libs-" version ".tar.xz")) (sha256 - (base32 "10xbzvp9cm5fpy4nxp38qm4vf0bycpq94bm4z2j4lw7ll1aq8irw")))) + (base32 "0m9qrfjs97anh9h6ibggx23ddlm1zkxjap2iyf3gf672ip01fvci")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -654,9 +667,7 @@ supported using GroupDAV or CardDAV.") ("kconfigwidgets" ,kconfigwidgets) ("kcontacts" ,kcontacts) ("kcoreaddons" ,kcoreaddons) - ("kdbusaddons" ,kdbusaddons) ("ki18n" ,ki18n) - ("kiconthemes" ,kiconthemes) ("kimap" ,kimap) ("kio" ,kio) ("kitemmodels" ,kitemmodels) @@ -678,16 +689,14 @@ for KDE PIM.") (define-public kdepim-runtime (package (name "kdepim-runtime") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kdepim-runtime-" version ".tar.xz")) (sha256 - (base32 "1skid9v6viw379mwhmb4xjh6bylv8wg7cy56kkbcpsmpars9cwr6")) - (patches (search-patches - "kdepim-runtime-Fix-missing-link-libraries.patch")))) + (base32 "1in4x4wvgclkni72cfkw9jx35d0qd0jmfwybm3ksx5qx5sbki9gg")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -711,9 +720,7 @@ for KDE PIM.") ("kconfigwidgets" ,kconfigwidgets) ("kcontacts" ,kcontacts) ("kdav" ,kdav) - ("kdbusaddons" ,kdbusaddons) ("kholidays" ,kholidays) - ("kiconthemes" ,kiconthemes) ("kidentitymanagement" ,kidentitymanagement) ("kimap" ,kimap) ("kio" ,kio) @@ -742,7 +749,18 @@ for KDE PIM.") (arguments ;; TODO: 5/45 tests fail for quite different reasons, even with ;; "offscreen" and dbus - `(#:tests? #f)) + `(#:tests? #f + #:phases (modify-phases %standard-phases + (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: <Akonadi/KMime/SpecialMailCollections> is not + ;; found during one of the compilation steps without + ;; this hack. + (setenv "CPLUS_INCLUDE_PATH" + (string-append (assoc-ref inputs "akonadi-mime") + "/include/KF5:" + (or (getenv "CPLUS_INCLUDE_PATH") ""))) + #t))))) (home-page "https://cgit.kde.org/kdepim-runtime.git") (synopsis "Runtime components for Akonadi KDE") (description "This package contains Akonadi agents written using KDE @@ -757,14 +775,14 @@ package.") (define-public keventviews (package (name "keventviews") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/eventviews-" version ".tar.xz")) (sha256 - (base32 "190vx074ligzysc9w5pf2b51dfy0i4v9mc53m9jdcw8y02shy49w")))) + (base32 "0si9p95rgp7mgkzhzwyy10zrwzy1kipbhm1y96yjlc9rxi3jrc73")))) (properties `((upstream-name . "eventviews"))) (build-system qt-build-system) (native-inputs @@ -807,14 +825,14 @@ package.") (define-public kgpg (package (name "kgpg") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kgpg-" version ".tar.xz")) (sha256 - (base32 "1dis7zv51a4lhx5l3wlwnhym8f79h8sibhhk97fkn8d7szdrmfw5")))) + (base32 "03d3gsbara7ga2cyrhafkw11qq9cj804h9vpvxl4wd2a9c90snkh")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -855,14 +873,14 @@ cryptography to the contents of the clipboard.") (define-public kidentitymanagement (package (name "kidentitymanagement") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kidentitymanagement-" version ".tar.xz")) (sha256 - (base32 "0dqz49sp5hq44590rrxav8688aqlzsww4q4n55ksfy13nk9i5mbf")))) + (base32 "0flp9p9hlr1zfgvsy5i1nq55p7bvnhqxkxbif1lyw0cq6iblxhgr")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -894,14 +912,14 @@ cryptography to the contents of the clipboard.") (define-public kimap (package (name "kimap") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kimap-" version ".tar.xz")) (sha256 - (base32 "0l8hb2z82jzbwr12lw5fismwk1a3ca4dk966p1fxg4bibck8vjj6")))) + (base32 "1x22wfzqp92mn1fy2xl89k9yjfk2vgcva0fd30i9rrqj4aw2rsma")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -925,14 +943,14 @@ easier to do so.") (define-public kldap (package (name "kldap") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kldap-" version ".tar.xz")) (sha256 - (base32 "1blbnj8av6h168g14gyphyd9sz87af773b1qglmbkv5pzbzaanxn")))) + (base32 "0whlp586ycsx0qf0nr81avwscpq62w5js46z7vayy0dxkhrhfayr")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -955,14 +973,14 @@ protocol for querying and modifying directory services running over TCP/IP. ") (define-public kleopatra (package (name "kleopatra") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kleopatra-" version ".tar.xz")) (sha256 - (base32 "1bqwxdl91s2nai871vvhkmcc3simbnvr2i5m6dnl327bplzqgfa4")))) + (base32 "1m50nzb2m27fkb8z3k34cv4zi2akr0fx8zn7lk5swhg49sgrip6n")))) (build-system qt-build-system) (native-inputs `(("dbus" ,dbus) @@ -1011,14 +1029,14 @@ and retrieving certificates from LDAP servers.") (define-public kmail (package (name "kmail") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmail-" version ".tar.xz")) (sha256 - (base32 "0gsdpv9pf4h031zcawc4qv78a5kl9hxp2amd0spjhs7wc7nl17fk")) + (base32 "06qfxzi5pasm6p5ck44sjca96dz8xzd1nndq5lqcyvcxmmnvvz3p")) (patches (search-patches "kmail-Fix-missing-link-libraries.patch")))) (build-system qt-build-system) (native-inputs @@ -1105,14 +1123,14 @@ manager from KDE.") (define-public kmailcommon (package (name "kmailcommon") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/mailcommon-" version ".tar.xz")) (sha256 - (base32 "1gsj89kgq4457mnfjlys4wiixpzwlbwhj4zpd7r4fdhbyihz3k2m")))) + (base32 "0q1k57zx1l7bnzrk1hadjxjn6r4yzz833mgsvaai9sd8qg022x2l")))) (properties `((upstream-name . "mailcommon"))) (build-system qt-build-system) (native-inputs @@ -1172,14 +1190,14 @@ dealing with email.") (define-public kmailimporter (package (name "kmailimporter") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/mailimporter-" version ".tar.xz")) (sha256 - (base32 "0vmrgjz47f96crrbv0bhaz0abh2am4whhb294rfz02mvjghbzpzv")))) + (base32 "1929pw0shdzi0yvjnqhak680hjjibg8f8hqy3svyxxhiqbhfjm26")))) (properties `((upstream-name . "mailimporter"))) (build-system qt-build-system) (native-inputs @@ -1211,14 +1229,14 @@ e-mail client programs into KMail and KDE PIM.") (define-public kmailtransport (package (name "kmailtransport") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmailtransport-" version ".tar.xz")) (sha256 - (base32 "04jdnqxbp4382vjxh06rrvsigbrygqfkw0fvbbjnjymp585mgkr4")))) + (base32 "1swqlgzxzlqffm119sbhszy9lr93m8lzwygr0q4raa660b6yiavm")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1253,14 +1271,14 @@ mail transport.") (define-public kmbox (package (name "kmbox") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmbox-" version ".tar.xz")) (sha256 - (base32 "13b5v1nx46k5ais3cms7yxrfi8p6xbljpkpg3f7v1asb6kshv7g2")))) + (base32 "03cny38v4y1lmcrs6d34hbj9assqgf51rqryf5rdzkiaq79c1krc")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1277,14 +1295,14 @@ using a Qt/KMime C++ API.") (define-public kmessagelib (package (name "kmessagelib") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/messagelib-" version ".tar.xz")) (sha256 - (base32 "0a378aqkdjzyzlxxha2qxa6vzrj92l1fplzb6fajz4l7ipj4hbnv")))) + (base32 "03vq4962bhps2j9c9i52majlbkmvg2gmr197igv8xamja1vs8hk1")))) (properties `((upstream-name . "messagelib"))) (build-system qt-build-system) (native-inputs @@ -1335,6 +1353,7 @@ using a Qt/KMime C++ API.") ("libgravatar" ,libgravatar) ("libkdepim" ,libkdepim) ("libkleo" ,libkleo) + ("qca" ,qca) ("qgpgme" ,qgpgme) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) @@ -1343,7 +1362,17 @@ using a Qt/KMime C++ API.") ("qtwebkit" ,qtwebkit) ("sonnet" ,sonnet))) (arguments - `(#:tests? #f)) ;; TODO many test fail for quite different reasons + `(#:tests? #f ;TODO many test fail for quite different reasons + #:phases (modify-phases %standard-phases + (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: One of the compilation steps fail to find + ;; <Libkdepim/MultiplyingLine> without this hack. + (setenv "CPLUS_INCLUDE_PATH" + (string-append (assoc-ref inputs "libkdepim") + "/include/KF5:" + (or (getenv "CPLUS_INCLUDE_PATH") ""))) + #t))))) (home-page "https://cgit.kde.org/messagelib.git") (synopsis "KDE PIM messaging libraries") (description "This package provides several libraries for messages, @@ -1355,14 +1384,14 @@ kwebengineviewer.") (define-public kmime (package (name "kmime") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmime-" version ".tar.xz")) (sha256 - (base32 "1pc00pwwrngsyr7ppvqwfgvcgy2wiqdbqxhv9xidn4dw9way2ng6")))) + (base32 "1dkdxfr1ry10qyql5sp1ai4li11f0ncf9hipg27j59y70mlyrl2r")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1393,14 +1422,14 @@ information in non-ASCII character sets.") (define-public knotes (package (name "knotes") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/knotes-" version ".tar.xz")) (sha256 - (base32 "128qpfqjn5zwl5550srmbjyxns242q6a3b0jy70jjx2yixy3rb87")))) + (base32 "13h4n7fb5p6g1f5kmw6pblpd76j904psm30s3a5d3kykni57dijx")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1423,7 +1452,6 @@ information in non-ASCII character sets.") ("kcontacts" ,kcontacts) ("kcoreaddons" ,kcoreaddons) ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) ("kdnssd" ,kdnssd) ("kdoctools" ,kdoctools) ("kglobalaccel" ,kglobalaccel) @@ -1467,14 +1495,14 @@ Features: (define-public kontactinterface (package (name "kontactinterface") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kontactinterface-" version ".tar.xz")) (sha256 - (base32 "1p0iw9i8cxh3jn7094wvxhlpc2sw52q8csfdgch1lf3dwhkpp0k7")))) + (base32 "0s1qm1wjkvbb1film94r7g88d8vgh26bm0hm6gpyqv5bazw5qx3j")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1495,14 +1523,14 @@ application \"Parts\" to be embedded as a Kontact component (or plugin).") (define-public korganizer (package (name "korganizer") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/korganizer-" version ".tar.xz")) (sha256 - (base32 "1ixdmmczccvwr7a6vvzv0kyjay0mjnbwcwkq6yym32m2lb3vcxdn")))) + (base32 "04lz3ldrr0lpy9zpsg9ja1i9gxzlcjpqcwn3g7l4jjdky4frcr2r")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1560,6 +1588,15 @@ application \"Parts\" to be embedded as a Kontact component (or plugin).") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-test + (lambda _ + ;; FIXME: This test started failing after the 20.04 update + ;; seemingly due to DBus communication issues. + ;; See also 'akonadi-search' for a similar test failure. + (substitute* "src/autotests/CMakeLists.txt" + ((".*test_advanced\\(koeventpopupmenutest\\.cpp.*") + "")) + #t)) (replace 'check (lambda _ (invoke "dbus-launch" "ctest" ".") @@ -1579,17 +1616,48 @@ and exchanging calendar data, vCalendar and iCalendar.") (license ;; GPL for programs, LGPL for libraries, FDL for documentation (list license:gpl2+ license:lgpl2.0+ license:fdl1.2+)))) +(define-public kpeoplevcard + (package + (name "kpeoplevcard") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://download.kde.org/stable/kpeoplevcard/" + version "/kpeoplevcard-" version ".tar.xz")) + (sha256 + (base32 + "1hv3fq5k0pps1wdvq9r1zjnr0nxf8qc3vwsnzh9jpvdy79ddzrcd")))) + (build-system qt-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check-setup + (lambda _ + (setenv "HOME" "/tmp") + #t))))) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules))) + (inputs + `(("kcontacts" ,kcontacts) + ("kpeople" ,kpeople) + ("qtbase" ,qtbase))) + (home-page "https://invent.kde.org/pim/kpeoplevcard") + (synopsis "Expose vCard contacts to KPeople") + (description + "This plugins adds support for vCard (also known as @acronym{VCF, +Virtual Contact File}) files to the KPeople contact management library.") + (license license:lgpl2.1+))) + (define-public kpimcommon (package (name "kpimcommon") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/pimcommon-" version ".tar.xz")) (sha256 - (base32 "1jl40ymq46yjn9va78hklgg91ikrfahf3w4jl5ziiqbivcl7r9kn")))) + (base32 "15lfqv5w4iwyjlvf4idykpkjgppl0ic59r4dw95qkbbjkps0nr7j")))) (properties `((upstream-name . "pimcommon"))) (build-system qt-build-system) (native-inputs @@ -1604,12 +1672,10 @@ and exchanging calendar data, vCalendar and iCalendar.") ("grantlee" ,grantlee) ;; TODO: ("kaccounts" ,kaccounts) ("kcodecs" ,kcodecs) - ("kcompletion" ,kcompletion) ("kconfig" ,kconfig) ("kconfigwidgets" ,kconfigwidgets) ("kcontacts" ,kcontacts) ("kcoreaddons" ,kcoreaddons) - ("kdbusaddons" ,kdbusaddons) ("kdesignerplugin" ,kdesignerplugin) ("ki18n" ,ki18n) ("kiconthemes" ,kiconthemes) @@ -1644,14 +1710,14 @@ and exchanging calendar data, vCalendar and iCalendar.") (define-public kpimtextedit (package (name "kpimtextedit") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kpimtextedit-" version ".tar.xz")) (sha256 - (base32 "1as48j5qfpj9pqjck1615nlpk4a850m7xxcyl41gx8biww027zvm")))) + (base32 "0j6d4sv405c3x0ww75qsww94apidsb8aaqf59akhv96zmv0vx5wy")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1686,14 +1752,14 @@ text in the text edit to all kinds of markup, like HTML or BBCODE.") (define-public ksmtp (package (name "ksmtp") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/ksmtp-" version ".tar.xz")) (sha256 - (base32 "1pd8mma3xbq83jkn76gqinn6xh9imaji0jrg3qzysf5rvjl8kcqn")))) + (base32 "1xyaahibm0dc3qdwiak5yqa66szxaxnylvqxi6k21ayvzn2vxbhx")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1726,14 +1792,14 @@ standard protocols for e-mail transmission.") (define-public ktnef (package (name "ktnef") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/ktnef-" version ".tar.xz")) (sha256 - (base32 "0kgfhh46130hg1xq8km5gjzxa3b620j1zdrg54qivxa782smgbl6")))) + (base32 "0cn5p32w2kas56yyc15c22kll4hd02lvvxz2n6cz1wda8alspj19")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -1758,14 +1824,14 @@ and allows one to view/extract message formatted text in Rich Text Format.") (define-public libkdepim (package (name "libkdepim") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkdepim-" version ".tar.xz")) (sha256 - (base32 "0ndh97w1bfii4snx9yc0qazqk5jhx22s810kj656967xd1w4bj9n")))) + (base32 "0bask561laxgkgm3rxfpyxqs6jx1l9xjk058lhycq0pik6vwhdha")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1806,14 +1872,14 @@ and allows one to view/extract message formatted text in Rich Text Format.") (define-public libkgapi (package (name "libkgapi") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkgapi-" version ".tar.xz")) (sha256 - (base32 "0z76b745n4hhjndrhv1w5acibia8x1frh78jx7bvxa72d8wphn08")))) + (base32 "0nvd5fqrvyb7c3g7rf1lxbbv38q9sqnhd6irgx7awwgw92inxky4")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1842,14 +1908,14 @@ various Google services.") (define-public libkleo (package (name "libkleo") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkleo-" version ".tar.xz")) (sha256 - (base32 "0vjp07j102mi20c4q2fdvkjc0skb9q7msxp64n76wy3cciv346jz")))) + (base32 "0rijpmqyx4mrr7csik3vkfcra7kfywk6yz548fmq3ha8wa9ax8fv")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -1880,14 +1946,14 @@ KDE using certificate-based crypto.") (define-public libksieve (package (name "libksieve") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libksieve-" version ".tar.xz")) (sha256 - (base32 "0q6f6lc4yvlq0vsfml10lz844z6zxxf7yivk7l3vglap58ci20x1")) + (base32 "04k2nkwg5vlgbr5wpvsq02wi54ljsy4ka7y3ns5x3d2gb06wp03c")) (patches (search-patches "libksieve-Fix-missing-link-libraries.patch")))) (build-system qt-build-system) (native-inputs @@ -1927,6 +1993,11 @@ KDE using certificate-based crypto.") "src/ksieveui/editor/webengine/autotests/CMakeLists.txt" (("^\\s*(add_test|ecm_mark_as_test)\\W" line) (string-append "# " line))) + ;; FIXME: This test fails due to time zone problems. + (substitute* + "src/ksieveui/autocreatescripts/autotests/CMakeLists.txt" + ((".*sieveeditorgraphicalmodewidgettest\\.cpp.*") + "")) #t))))) (home-page "https://cgit.kde.org/libksieve.git") (synopsis "KDE Sieve library") diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm index a04b2f0279..ce6abb3a65 100644 --- a/gnu/packages/kde-plasma.scm +++ b/gnu/packages/kde-plasma.scm @@ -38,14 +38,14 @@ (define-public kdecoration (package (name "kdecoration") - (version "5.17.0") + (version "5.18.5") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/kdecoration-" version ".tar.xz")) (sha256 (base32 - "0rljpywpaqmar13jijphkpc9k1crma476j9my0d00hfrjil5xlnn")))) + "1j59axgpdbj7nlg06h5gb0pix3s3nll32k6s2f88vc1cbwj5d67h")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -62,14 +62,14 @@ manager which re-parents a Client window to a window decoration frame.") (define-public kscreenlocker (package (name "kscreenlocker") - (version "5.17.0") + (version "5.18.5") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/kscreenlocker-" version ".tar.xz")) (sha256 (base32 - "1jzkq5m0hvcpsl7clai33ndiil8gls7ndir3mfcc5l8gv7df2ir0")))) + "1lhq9rxafbbxwpwzq8m25xi9hgcdfdfwl8hafqhygzp14z89q9ml")))) (build-system cmake-build-system) (arguments `(#:phases @@ -125,14 +125,14 @@ manager which re-parents a Client window to a window decoration frame.") (define-public libkscreen (package (name "libkscreen") - (version "5.17.0") + (version "5.18.5") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/plasma/" version "/" name "-" version ".tar.xz")) (sha256 - (base32 "0znxfqqyyij6i4dp95gf5g4vrhg4jsshgh2k13ldy294kby2mxw0")))) + (base32 "0z18djlfrj510dz3r2n8qx6fswdbp2qmhg5y3bn00hij02832qm9")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -155,7 +155,7 @@ basic needs and easy to configure for those who want special setups.") (define-public libksysguard (package (name "libksysguard") - (version "5.17.0") + (version "5.18.5") (source (origin (method url-fetch) @@ -163,7 +163,7 @@ basic needs and easy to configure for those who want special setups.") "/libksysguard-" version ".tar.xz")) (sha256 (base32 - "1b79qxg6j9lqgyq8i677f00f7cbplqak1r9riyc9wj5s2r60ydw7")))) + "02s40ahqp4r9amjshdf0dhw9hdggvica2jl426i4d9b950507myl")))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm index d51566341d..0fbf6e3373 100644 --- a/gnu/packages/kde-systemtools.scm +++ b/gnu/packages/kde-systemtools.scm @@ -38,14 +38,14 @@ (define-public dolphin (package (name "dolphin") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/dolphin-" version ".tar.xz")) (sha256 - (base32 "0klxyvcj1bmzpsyahj9kq3smvwzww30pjk5c90j6jpf14hizawfy")))) + (base32 "0xr5s0s40i2bsfjfapvpa7dxh9s4604cxirg97xcaacd6fdvhpds")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -97,14 +97,14 @@ The main features of Dolphin are: (define-public dolphin-plugins (package (name "dolphin-plugins") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/dolphin-plugins-" version ".tar.xz")) (sha256 - (base32 "0m9sl5fybk60h7r91a5qfxvwzksg2kxn1bc2ygrr8klm2pv0x1l2")))) + (base32 "12g44s6g7ma6avp15l45l42qyzbglswvahm2wji79zdls5vjnz7r")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -125,14 +125,14 @@ Dolphin with the version control systems: Bzr, Git, Mercurial, Subversion.") (define-public khelpcenter (package (name "khelpcenter") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/khelpcenter-" version ".tar.xz")) (sha256 - (base32 "0ympq1qm5h14mw18wry7l02ndg1f5kddwkf5bliip6vk2vxiff50")))) + (base32 "0wxzjragvjcfc7c4qja8wzpshhaywficj7f7wkmppzybcsxwn9qb")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -175,14 +175,14 @@ document meta data file.") (define-public konsole (package (name "konsole") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/konsole-" version ".tar.xz")) (sha256 - (base32 "09bhgqjnqlpxkkgdpn35pvj747ab7waz10zalvpwdpgqkw811iic")))) + (base32 "0ckr7bjkyaw0gr5kx569jfnhkhwmlk4lqk41ng61qwxlb4bsdbdm")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -230,14 +230,14 @@ This package is part of the KDE base applications module.") (define-public krfb (package (name "krfb") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/krfb-" version ".tar.xz")) (sha256 - (base32 "079f4jlmd69a5nppmn7khsxrnswlfbdzjni0cbixwlcij05y2267")))) + (base32 "092ijn88jpmgk2zwz37vzf35jisl234mc3krc9jl7bd955akx51k")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -282,14 +282,14 @@ This package is part of the KDE networking module.") (define-public ksystemlog (package (name "ksystemlog") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/ksystemlog-" version ".tar.xz")) (sha256 - (base32 "079r2xnj168y9kz37rhxr3rcwh6fksljsj1ihmi7f7a8wmdabz4p")))) + (base32 "1826h89ynvlxdwzyqil2d79cvynglww6fax7qp41wxasgarxhsni")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/kde-utils.scm b/gnu/packages/kde-utils.scm index 38bdfbfaba..3c0eb09745 100644 --- a/gnu/packages/kde-utils.scm +++ b/gnu/packages/kde-utils.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,14 +34,14 @@ (define-public kate (package (name "kate") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kate-" version ".tar.xz")) (sha256 - (base32 "0wgcw10c4grkmsyp79ashwgpy59lgrinwdib4mjclpw2grp0g7xb")))) + (base32 "0nrby307syrqlxrf9lwdzc9c15ifw47418qwszqwg345ma2pww7i")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -100,14 +101,14 @@ Kate's features include: (define-public kmag (package (name "kmag") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmag-" version ".tar.xz")) (sha256 - (base32 "0l69mgnh2mmkxawwibqdx9n7myl6qqnr2fd3mpsg2bzpcfvmsvi1")))) + (base32 "18lk8i2r90gvw8q5j179xgpniih92mwk06krk7w4jv98yinqf6m5")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -131,14 +132,14 @@ artists to web-designers to people with low vision.") (define-public kmousetool (package (name "kmousetool") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmousetool-" version ".tar.xz")) (sha256 - (base32 "169kk20mkm29nycg2vs1k5cs22gzchqs9hbfd661cy2l7n4d8d04")))) + (base32 "01j6bx8zihns4ip8maj0gb3w3bhx1ha2ljhfmsm6lcyay531ay98")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -170,14 +171,14 @@ whom pressing buttons hurts.") (define-public kmouth (package (name "kmouth") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kmouth-" version ".tar.xz")) (sha256 - (base32 "1agjxf1jfi967hj1iz788n6cna6fr7qg80zsx6s119hg7b0xwqmr")))) + (base32 "1afgxlys9mvmc3rd33g7gchfb0ylx83x3x0a0qf3dra6cpgsgcg7")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -403,14 +404,14 @@ remind you to take a break now and then.") (define-public smb4k (package (name "smb4k") - (version "3.0.2") + (version "3.0.6") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/smb4k/files/" version "/smb4k-" version ".tar.xz/download")) (sha256 - (base32 "1daajaj8qhxkzz8dsaracwi49z4i57466h6qnqnh2ir2l54q00ir")))) + (base32 "0hz6nfd845bykf78s4g2qs77szl96gy6g8rpg44pqd39a0k0xbh7")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -475,14 +476,14 @@ Features: (define-public sweeper (package (name "sweeper") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/sweeper-" version ".tar.xz")) (sha256 - (base32 "1gn87yxmhi7rs82jq7y89bvlx33xbl9wq8kr96pcz423khqvjl84")))) + (base32 "1az3c2khnh51bbmqpamj4p26d3a0ff4l5rd3vcrylg94mk7wgh59")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index a93e776bf0..cba00b2882 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,6 +50,7 @@ #:use-module (gnu packages graphics) #:use-module (gnu packages image) #:use-module (gnu packages kde-frameworks) + #:use-module (gnu packages kde-pim) #:use-module (gnu packages kde-plasma) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -70,14 +72,14 @@ (define-public baloo-widgets (package (name "baloo-widgets") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/baloo-widgets-" version ".tar.xz")) (sha256 - (base32 "0bba8dgxd7rcjji809kwnw78hl1nb5ssh2ir4k4b0wvx395jifgd")))) + (base32 "1x4v79vhvc5ixkbsf3jyjz5ig1lf78rfw3r7g3llpb4j1kcp3wh0")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -103,14 +105,14 @@ This package contains GUI widgets for baloo.") (define-public grantleetheme (package (name "grantleetheme") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/grantleetheme-" version ".tar.xz")) (sha256 - (base32 "0j77q1yyfmggzgkqgcw2xr0v9xg3h5cdhh8jry8h2llw75ahy6xb")) + (base32 "0gabc5cb0sf00s7m5v2jnq55qsrdbrq6nqd15y1i15p788zifsjx")) (patches (search-patches "grantlee-merge-theme-dirs.patch")))) (build-system qt-build-system) (native-inputs @@ -118,6 +120,7 @@ This package contains GUI widgets for baloo.") ("libxml2" ,libxml2))) ;; xmllint required for tests (inputs `(("grantlee" ,grantlee) + ("kguiaddons" ,kguiaddons) ("ki18n" ,ki18n) ("kiconthemes" ,kiconthemes) ("knewstuff" ,knewstuff) @@ -126,7 +129,7 @@ This package contains GUI widgets for baloo.") (synopsis "Library providing Grantlee theme support") (description "This library provides Grantlee theme support.") (license ;; LGPL for libraries, FDL for documentation - (list license:lgpl2.0+ license:fdl1.2+)))) + (list license:lgpl2.1+ license:fdl1.2+)))) (define-public kdenlive (let ((version "18.08.1")) @@ -209,7 +212,7 @@ projects.") (define-public kdevelop (package (name "kdevelop") - (version "5.5.1") + (version "5.5.2") (source (origin (method url-fetch) @@ -217,7 +220,7 @@ projects.") "/" version "/src/kdevelop-" version ".tar.xz")) (sha256 - (base32 "18hxwkdbfw0qs3p19jv6d8wwwdzb9m087891i8w2bzkn21fd5pmy")))) + (base32 "1nkl3z1n1l7ly2zvmbx2sdhx5q72wcvpwhzsz3qgw1474qd9i3i2")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -329,14 +332,14 @@ for some KDevelop language plugins (Ruby, PHP, CSS...).") (define-public kdiagram (package (name "kdiagram") - (version "2.6.1") + (version "2.7.0") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/kdiagram/" version "/kdiagram-" version ".tar.xz")) (sha256 - (base32 "1c6dbp9gssjrx59z8yxzq1ay56pnw7h28symjrv0gcvhxyjirrxx")) + (base32 "1pgvf2q8b59hw0jg5ajmj5nrn4q8cgnifpvdd0fynk2ml6zym8k3")) (patches (search-patches "kdiagram-Fix-missing-link-libraries.patch")))) (build-system qt-build-system) @@ -360,7 +363,7 @@ illustrate project schedules.") (define-public krita (package (name "krita") - (version "4.2.7.1") + (version "4.2.9") (source (origin (method url-fetch) (uri (string-append @@ -368,14 +371,14 @@ illustrate project schedules.") "/krita-" version ".tar.gz")) (sha256 (base32 - "0gcwq1w09gmx53i2fir73l222p41299wagvhbvsxwrz0v3crzliy")))) + "1a3djmjhnvlp8dpiz68s0lwg71nv3ypq592jfgsnm5zlxa0vp1cz")))) (build-system cmake-build-system) (arguments `(#:tests? #f #:configure-flags (list "-DBUILD_TESTING=OFF" (string-append "-DCMAKE_CXX_FLAGS=-I" - (assoc-ref %build-inputs "ilmbase") + (assoc-ref %build-inputs "openexr") "/include/OpenEXR")) #:phases (modify-phases %standard-phases @@ -449,14 +452,14 @@ features include brush stabilizers, brush engines and wrap-around mode.") (define-public libkomparediff2 (package (name "libkomparediff2") - (version "19.08.2") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkomparediff2-" version ".tar.xz")) (sha256 - (base32 "1mvihd0xpkl8kryf5dvsfgpbgs9af8c9bzq8mmr74gfsvfb8ywy5")))) + (base32 "0m8m7sgpf2f4nxpaaymyvihlk0pcyblyd99mcbibrnyr5kzkzzdc")))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config))) @@ -481,7 +484,7 @@ used in KDE development tools Kompare and KDevelop.") (define-public qca (package (name "qca") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) @@ -489,7 +492,7 @@ used in KDE development tools Kompare and KDevelop.") "/qca-" version ".tar.xz")) (sha256 (base32 - "00kv1vsrc8fp556hm8s6yw3240vx3l4067q6vfxrb3gdwgcd45np")))) + "1mrj748yz1grgzmfbmffgjkpcqiaj1l3m4pbddwcj7dnl50yys0x")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -507,7 +510,7 @@ cards.") (define-public kpmcore (package (name "kpmcore") - (version "4.0.1") + (version "4.1.0") (source (origin (method url-fetch) (uri (string-append @@ -516,9 +519,7 @@ cards.") name "-" version ".tar.xz")) (sha256 (base32 - "1sslkwcj2cyrn7bpjdjdwikp1q8wrsxpsg2sxxd8hsairgy7ygh3")) - (patches (search-patches "kpmcore-fix-tests.patch" - "kpmcore-remove-broken-test.patch")))) + "0jsig7algmab9h0fb09my0axjqzw83zgscamhzl8931lribs6idm")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -566,20 +567,31 @@ different notification systems.") (define-public kdeconnect (package (name "kdeconnect") - (version "1.3.5") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/kdeconnect/" - version "/kdeconnect-kde-" + (uri (string-append "mirror://kde/stable/release-service/" + version "/src/kdeconnect-kde-" version ".tar.xz")) (sha256 (base32 - "02lr3xx5s2mgddac4n3lkgr7ppf1z5m6ajs90rjix0vs8a271kp5")))) + "1knhpjdbffw858dfd9kml91a02fkc0rcjydfavcyr79j9x8mv3bq")))) (build-system qt-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTING=ON" - "-DLIBEXEC_INSTALL_DIR=libexec") + "-DKDE_INSTALL_LIBEXECDIR=libexec") + #:phases (modify-phases %standard-phases + (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: <kcmutils_version.h> is not found during one + ;; of the compilation steps without this hack. + (setenv "CPLUS_INCLUDE_PATH" + (string-append (assoc-ref inputs "kcmutils") + "/include/KF5:" + (or (getenv "CPLUS_INCLUDE_PATH") + ""))) + #t))) #:tests? #f)) ; tests fail hard in our build environment (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -594,12 +606,17 @@ different notification systems.") ("ki18n" ,ki18n) ("kiconthemes" ,kiconthemes) ("kio" ,kio) + ("kirigami" ,kirigami) ("knotifications" ,knotifications) + ("kpeople" ,kpeople) + ("kpeoplevcard" ,kpeoplevcard) ("kwayland" ,kwayland) ("libfakekey" ,libfakekey) + ("pulseaudio-qt" ,pulseaudio-qt) ("qca" ,qca) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) + ("qtmultimedia" ,qtmultimedia) ("qtx11extras" ,qtx11extras))) (home-page "https://community.kde.org/KDEConnect") (synopsis "Enable your devices to communicate with each other") @@ -622,15 +639,15 @@ communicate with each other. Here's a few things KDE Connect can do: (define-public kqtquickcharts (package (name "kqtquickcharts") - (version "19.08.2") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kqtquickcharts-" version ".tar.xz")) (sha256 (base32 - "1yy9fyd8y4g25ljdsbil19qdf4j3mzmzl489sx7rqpm3lfdzjh9k")))) + "1wxp35mf9zlpgzi4msdl86b2krdq2ipqw371gyx23r7j84vdyxi3")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -647,14 +664,14 @@ charts.") (define-public kcachegrind (package (name "kcachegrind") - (version "19.04.1") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/kcachegrind-" version ".tar.xz")) (sha256 (base32 - "1hhsk64yp6q2xh8j269j4wp9y24ggmii861r6gf02mj1mbn2p1jb")))) + "0fx17s6fj1pxl1mgfrqhchk8sihkbji1x8y3nhb1r0971wzd1nsc")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -689,14 +706,14 @@ Python, PHP, and Perl.") (define-public libkdegames (package (name "libkdegames") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/libkdegames-" version ".tar.xz")) (sha256 - (base32 "12dvkmjgbi8dp9y55zmx1pw3zr2i374c4vn3mfn9r31bf06dr701")))) + (base32 "1xsrrvhwjwi5aajcaxydmzc69i4yx6shs8ly8vr85njc188ycg13")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) @@ -735,14 +752,14 @@ Python, PHP, and Perl.") (define-public zeroconf-ioslave (package (name "zeroconf-ioslave") - (version "19.08.3") + (version "20.04.1") (source (origin (method url-fetch) - (uri (string-append "mirror://kde/stable/applications/" version + (uri (string-append "mirror://kde/stable/release-service/" version "/src/zeroconf-ioslave-" version ".tar.xz")) (sha256 - (base32 "1vbi4kpyrk530q2dj8ql2i0gxjybdbmkqpl8vkhrihl7r7f0xc5p")))) + (base32 "1qck5jyc4psslpibhki8sz8aj0hsnx8z791vzyn10lmdzn71vx8c")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules))) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 81294f4859..c81a4bc487 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -269,7 +269,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (define-public kodi (package (name "kodi") - (version "18.6") + (version "18.7") (source (origin (method git-fetch) (uri (git-reference @@ -278,7 +278,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (file-name (git-file-name name version)) (sha256 (base32 - "0rwymipn5hljy5xrslzmrljmj6f9wb191wi7gjw20wl6sv44d0bk")) + "082cpih84j7v29w55qhj0rdia7hdjpwi81qywiwawd4vlyimpv2h")) (patches (search-patches "kodi-skip-test-449.patch" "kodi-increase-test-timeout.patch" "kodi-set-libcurl-ssl-parameters.patch")) diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index e058692c99..97a3bebeba 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2019 Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> ;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -28,6 +28,7 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (gnu packages check) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -77,13 +78,13 @@ conversions for values passed between the two languages.") (define-public python-cffi (package (name "python-cffi") - (version "1.13.2") + (version "1.14.0") (source (origin (method url-fetch) (uri (pypi-uri "cffi" version)) (sha256 - (base32 "0iikq5rn9a405n94c7s2j6kq3jv5qs9q4xyik8657b2py27ix6jr")))) + (base32 "1dn279gw5ql8i5n3s5v4rnv96rhhjjfn7xq729qbl5bs2954yf1d")))) (build-system python-build-system) (inputs `(("libffi" ,libffi))) @@ -183,17 +184,60 @@ project.") (define-public ruby-ffi (package (name "ruby-ffi") - (version "1.10.0") + (version "1.12.2") (source (origin - (method url-fetch) - (uri (rubygems-uri "ffi" version)) + ;; Pull from git because the RubyGems release bundles LibFFI, + ;; and comes with a gemspec that makes it difficult to unbundle. + (method git-fetch) + (uri (git-reference + (url "https://github.com/ffi/ffi") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p")))) + "1cvqsbjr2gfjgqggq9kdx90qhhzr7qkyr9wmxdsfsik6cnxnnpmd")))) (build-system ruby-build-system) - ;; FIXME: Before running tests the build system attempts to build libffi - ;; from sources. - (arguments `(#:tests? #f)) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'do-not-depend-on-ccache + (lambda _ + (substitute* "spec/ffi/fixtures/GNUmakefile" + (("^CCACHE := .*") + "")) + #t)) + (replace 'replace-git-ls-files + (lambda _ + ;; Do not try to execute git, or include the (un)bundled LibFFI. + (substitute* "ffi.gemspec" + (("git ls-files -z") + "find * -type f -print0 | sort -z") + (("lfs \\+?= .*") + "lfs = []\n")) + (substitute* "Rakefile" + (("LIBFFI_GIT_FILES = .*") + "LIBFFI_GIT_FILES = []\n")) + #t)) + (replace 'build + (lambda _ + ;; Tests depend on the native extensions, so we build it + ;; beforehand without going through the gem machinery. + (invoke "rake" "compile") + + ;; XXX: Ideally we'd use "rake native gem" here to prevent the + ;; install phase from needlessly rebuilding everything, but that + ;; requires the bundled LibFFI, and the install phase can not + ;; deal with such gems anyway. + (invoke "gem" "build" "ffi.gemspec"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "MAKE" "make") + (setenv "CC" "gcc") + (invoke "rspec" "spec")) + (format #t "test suite not run~%")) + #t))))) (native-inputs `(("ruby-rake-compiler" ,ruby-rake-compiler) ("ruby-rspec" ,ruby-rspec) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index a3a6ea5d1a..a98ae152f6 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> @@ -12,6 +12,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> +;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> ;;; ;;; This file is part of GNU Guix. ;;; @@ -598,7 +599,7 @@ Microsoft Publisher documents of all versions.") (define-public libnumbertext (package (name "libnumbertext") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) @@ -606,7 +607,7 @@ Microsoft Publisher documents of all versions.") "releases/download/" version "/libnumbertext-" version ".tar.xz")) (sha256 - (base32 "1xzlwhwwhvr76kfdsw5gvfjfdayz803z65h331gv5dpc9imhijg1")))) + (base32 "0mxf22gpbr818ib4av17zmyx6i6nf4br5qlxq0qvfz5z6h5j57vk")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-static"))) @@ -920,6 +921,56 @@ library.") "toutesvariantes" (synopsis "Hunspell dictionary for all variants of French")) +(define-public hunspell-dict-pl + (package + (name "hunspell-dict-pl") + (version "20200327") + (source + (origin + (method url-fetch) + ;; Since creators of dictionary host only the latest daily release, + ;; we're using version mirrored by Arch Linux, which seems good + ;; enough. They're mirroring hunspell-pl releases since 2011. + (uri (string-append "https://sources.archlinux.org/other/community/" + "hunspell-pl/sjp-myspell-pl-" + version ".zip")) + (sha256 (base32 + "14mzf8glxkp2775dcqisb1zv6r8ncm3bvzl46q352rwyl2dg1c59")))) + + (build-system trivial-build-system) + (native-inputs `(("unzip" ,unzip))) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils) + (srfi srfi-26)) + + (let* ((out (assoc-ref %outputs "out")) + (hunspell (string-append out "/share/hunspell")) + (myspell (string-append out "/share/myspell")) + (doc (string-append out "/share/doc/" + ,name)) + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip"))) + (invoke unzip "-j" "-o" (assoc-ref %build-inputs "source")) + (invoke unzip "-j" "-o" "pl_PL.zip") + (for-each (cut install-file <> hunspell) + (find-files "." + ,(string-append "pl_PL" + "\\.(dic|aff)$"))) + (mkdir-p myspell) + (symlink hunspell (string-append myspell "/dicts")) + (for-each (cut install-file <> doc) + (find-files "." "\\.(txt|org|md)$")) + #t)))) + (synopsis "Hunspell dictionary for Polish") + (description + "This package provides a dictionary for the Hunspell spell-checking +library.") + (home-page "https://sjp.pl/slownik/ort/") + (license + (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0)))) + (define-public hyphen (package (name "hyphen") @@ -998,7 +1049,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (define-public libreoffice (package (name "libreoffice") - (version "6.4.2.2") + (version "6.4.4.2") (source (origin (method url-fetch) @@ -1009,7 +1060,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (patches (search-patches "libreoffice-poppler-compat.patch")) (sha256 (base32 - "06acm41q9nda8r30b13cn9zafsw1gszjdphh6lx90s09d2sf7f23")))) + "0y6026h374787yy2f3as1q7clxmgywsfdrj62kw3577wvybqaf2l")))) (build-system glib-or-gtk-build-system) (native-inputs `(("bison" ,bison) @@ -1205,7 +1256,6 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") ;; patching the build scripts to work with GCC5. Try enabling this ;; when our default compiler is >=GCC 6. "--disable-pdfium" - "--disable-gtk" ; disable use of GTK+ 2 "--without-doxygen" "--enable-build-opensymbol"))) (home-page "https://www.libreoffice.org/") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index aa52068794..f2b35e33c5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -43,6 +43,8 @@ ;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -192,11 +194,11 @@ defconfig. Return the appropriate make target if applicable, otherwise return "deblob-check")) (sha256 deblob-check-hash)))) -(define deblob-scripts-5.6 +(define deblob-scripts-5.7 (linux-libre-deblob-scripts - "5.6.7" - (base32 "196fdbfy1f8zbmnv0ik720snig2bacsh7hfyvgbmlsfk3cil2zgv") - (base32 "1g0bi3c8xzy1vz6w1xbpkb3a26bqn9d1yphcqz2ki4aikra81wid"))) + "5.7.1" + (base32 "1c0n39wg6xij4x63ppg0m80kfcffkn3iilm3chyiix09n9g7vb78") + (base32 "02is246xaql1br3kizqicrkp982nw4gdwpn7nlzjazvsmyd1hcv2"))) (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -369,50 +371,50 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (sha256 hash))) -(define-public linux-libre-5.6-version "5.6.13") -(define-public linux-libre-5.6-pristine-source - (let ((version linux-libre-5.6-version) - (hash (base32 "11zriz0jwqizv0pq0laql0svsnspdfnxqykq70v22x39iyfdf9gi"))) +(define-public linux-libre-5.7-version "5.7.2") +(define-public linux-libre-5.7-pristine-source + (let ((version linux-libre-5.7-version) + (hash (base32 "02brxm78n0kg4mh48acvjsr7mpvaqd279ycyaixaflid1s1awrb0"))) (make-linux-libre-source version (%upstream-linux-source version hash) - deblob-scripts-5.6))) + deblob-scripts-5.7))) -(define-public linux-libre-5.4-version "5.4.41") +(define-public linux-libre-5.4-version "5.4.46") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0mxhz3f0ayz0nggndbikp44kx307yxf16qzsv46hni6p8z1ffr0y"))) + (hash (base32 "13hvnfdcbcb9a21zizq8d90mc8maxz03zmzsj6iqsjd2y7r4y1rh"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.123") +(define-public linux-libre-4.19-version "4.19.128") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0gwrkbbfy85ajxpg7q6j9mn8mzhmsr1v3wmh5c76p34d3b9i96d7"))) + (hash (base32 "0g31ad3wziy4xqna0yvwjcnza3jhd93syjpfvmwh0b4pkj2adar9"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.180") +(define-public linux-libre-4.14-version "4.14.184") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "03pd4wpg526n391jwc0kbmbxi059mvq8d42a9qbym9mnv5rzjkj4"))) + (hash (base32 "0h6r06c1d7amkfglsr66ic89p0zxpmk7jkq1ylcbknmkiwkixx9g"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.223") +(define-public linux-libre-4.9-version "4.9.227") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1r9ag1fhy0g429q44qlqh0qkf42qkhzxa04gxlmnrinqypk00lyg"))) + (hash (base32 "0pqc0wld4s4zjas95xm54mrkk00l9zkc59b6i9gq4km126s8bi1q"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.223") +(define-public linux-libre-4.4-version "4.4.227") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "09fln0sdfif2zv2jifp24yiqi0vcyj8fqx2jz91g21zvsxk3x5nd"))) + (hash (base32 "196x57w740firg8zchypq4vq6a83ymmwn9amqrscym9zr0pcgm40"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -445,14 +447,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (patches (append (origin-patches source) patches)))) -(define-public linux-libre-5.6-source - (source-with-patches linux-libre-5.6-pristine-source +(define-public linux-libre-5.7-source + (source-with-patches linux-libre-5.7-pristine-source (list %boot-logo-patch - %linux-libre-arm-export-__sync_icache_dcache-patch - ;; Pinebook Pro patch from linux-next, - ;; can be dropped for linux-libre 5.7 - (search-patch - "linux-libre-support-for-Pinebook-Pro.patch")))) + %linux-libre-arm-export-__sync_icache_dcache-patch))) (define-public linux-libre-5.4-source (source-with-patches linux-libre-5.4-pristine-source @@ -553,9 +551,9 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (description "Headers of the Linux-Libre kernel.") (license license:gpl2))) -(define-public linux-libre-headers-5.6 - (make-linux-libre-headers* linux-libre-5.6-version - linux-libre-5.6-source)) +(define-public linux-libre-headers-5.7 + (make-linux-libre-headers* linux-libre-5.7-version + linux-libre-5.7-source)) (define-public linux-libre-headers-5.4 (make-linux-libre-headers* linux-libre-5.4-version @@ -858,9 +856,9 @@ It has been modified to remove all non-free binary blobs.") ("CONFIG_RTC_DRV_RK808" . #t)) %default-extra-linux-options))) -(define-public linux-libre-arm-generic-5.6 - (make-linux-libre* linux-libre-5.6-version - linux-libre-5.6-source +(define-public linux-libre-arm-generic-5.7 + (make-linux-libre* linux-libre-5.7-version + linux-libre-5.7-source '("armhf-linux") #:defconfig "multi_v7_defconfig" #:extra-version "arm-generic" @@ -920,9 +918,9 @@ It has been modified to remove all non-free binary blobs.") ("CONFIG_RTC_DRV_RK808" . #t)) %default-extra-linux-options))) -(define-public linux-libre-arm64-generic-5.6 - (make-linux-libre* linux-libre-5.6-version - linux-libre-5.6-source +(define-public linux-libre-arm64-generic-5.7 + (make-linux-libre* linux-libre-5.7-version + linux-libre-5.7-source '("aarch64-linux") #:defconfig "defconfig" #:extra-version "arm64-generic" @@ -987,8 +985,8 @@ and should be used with caution, especially on untested models.") (license license:gpl3+)))) ; see README.md (no licence headers) (define-public rtl8812au-aircrack-ng-linux-module - (let ((commit "945d6ed6505c32f0993b1dba576388e92e78101b") - (revision "0")) + (let ((commit "df2b8dfd8cb7d9f6cfeb55abaeab8a5372011fc9") + (revision "1")) (package (name "rtl8812au-aircrack-ng-linux-module") (version (git-version "5.6.4.2" revision commit)) @@ -1000,7 +998,7 @@ and should be used with caution, especially on untested models.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1pjws7qb5l4z9k80vgz4zdxmqhbwxjjrmkpf0hijf821byyddvi7")) + (base32 "1qcr0j8yhg8l9l0f5y55zcsk1mgf3qd46yh9xfqgg91szxa3yvca")) (modules '((guix build utils))) (snippet '(begin @@ -1012,15 +1010,15 @@ and should be used with caution, especially on untested models.") #t)))) (build-system linux-module-build-system) (arguments - `(#:phases + `(#:make-flags + (list (string-append "KSRC=" + (assoc-ref %build-inputs "linux-module-builder") + "/lib/modules/build")) + #:phases (modify-phases %standard-phases (replace 'build - (lambda* (#:key inputs make-flags #:allow-other-keys) - (apply invoke "make" - (string-append "KSRC=" - (assoc-ref inputs "linux-module-builder") - "/lib/modules/build") - (or make-flags '()))))) + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (apply invoke "make" make-flags)))) #:tests? #f)) ; no test suite (supported-systems '("x86_64-linux" "i686-linux")) (home-page "https://github.com/aircrack-ng/rtl8812au") @@ -1050,16 +1048,17 @@ RTL8812AU, RTL8821AU, and RTL8814AU chips.") "17jiw25k74kv5lnvgycvj2g1n06hbrpjz6p4znk4a62g136rhn4s")))) (build-system linux-module-build-system) (arguments - `(#:phases + `(#:make-flags + (list "CC=gcc" + (string-append "KSRC=" + (assoc-ref %build-inputs "linux-module-builder") + "/lib/modules/build")) + #:phases (modify-phases %standard-phases (replace 'build - (lambda* (#:key (make-flags '()) inputs #:allow-other-keys) - (setenv "CC" "gcc") - (invoke "make" - (string-append "KSRC=" - (assoc-ref inputs "linux-module-builder") - "/lib/modules/build"))))) - #:tests? #f)) + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (apply invoke "make" make-flags)))) + #:tests? #f)) ; no test suite (home-page "https://github.com/tomaspinho/rtl8821ce") (synopsis "Linux driver for Realtek RTL8821CE wireless network adapters") (description "This is Realtek's RTL8821CE Linux driver for wireless @@ -1088,6 +1087,29 @@ network adapters.") 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 +graphics card on Optimus laptops.") + (license license:gpl2))) + (define-public ddcci-driver-linux (package (name "ddcci-driver-linux") @@ -1134,6 +1156,35 @@ module allows the control of the backlight level or luminance property when supported under @file{/sys/class/backlight/}.") (license license:gpl2+))) +(define-public v4l2loopback-linux-module + (package + (name "v4l2loopback-linux-module") + (version "0.12.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/umlaeute/v4l2loopback.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qi4l6yam8nrlmc3zwkrz9vph0xsj1cgmkqci4652mbpbzigg7vn")))) + (build-system linux-module-build-system) + (arguments + `(#:tests? #f)) ; no test suite + (home-page "https://github.com/umlaeute/v4l2loopback") + (synopsis "Linux kernel module to create virtual V4L2 video devices") + (description + "This Linux module creates virtual video devices. @acronym{V4L2, Video +for Linux 2} applications will treat these as ordinary video devices but read +video data generated by another application, instead of a hardware device such +as a capture card. + +This lets you apply nifty effects to your Jitsi video, for example, but also +allows some more serious things like adding streaming capabilities to an +application by hooking GStreamer into the loopback device.") + (license license:gpl2+))) + ;;; ;;; Pluggable authentication modules (PAM). @@ -1222,11 +1273,8 @@ at login. Local and dynamic reconfiguration are its key features.") (build-system gnu-build-system) (arguments `(#:make-flags - (let* ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "prefix=" (assoc-ref %outputs "out")))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" (assoc-ref %outputs "out"))) #:tests? #f ; no test suite #:phases (modify-phases %standard-phases @@ -1791,7 +1839,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "5.5") + (version "5.7") (home-page "https://strace.io") (source (origin (method url-fetch) @@ -1799,7 +1847,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") "/strace-" version ".tar.xz")) (sha256 (base32 - "1zrhpzjlgfwfl8dd53llswmmharm5rbi0zch7lln5sjris69an4z")))) + "1n6cfz3i2krkyvxpdp3kmxhf7sy5xp0danzaiirbk5fdkfgvb15j")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1808,6 +1856,12 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (lambda _ (substitute* "strace.c" (("/bin/sh") (which "sh"))) + #t)) + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; XXX These hang forever even if the test time-out is extended. + (substitute* "tests/Makefile.in" + (("^\tstrace-DD?D?\\.test \\\\.*") "")) #t))) ;; Don't fail if the architecture doesn't support different personalities. #:configure-flags '("--enable-mpers=check") @@ -1992,15 +2046,17 @@ external rate conversion.") (define-public iptables (package (name "iptables") - (version "1.8.4") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://netfilter.org/iptables/iptables-" - version ".tar.bz2")) - (sha256 - (base32 - "0z0mgs1ghvn3slc868mgbf2g26njgrzcy5ggyb5w4i55j1a3lflr")))) + ;; XXX When updating, remove the ‘install-missing-script’ phase. + (version "1.8.5") + (source + (origin + (method url-fetch) + (uri (list (string-append "mirror://netfilter.org/iptables/iptables-" + version ".tar.bz2") + (string-append "https://www.netfilter.org/projects/iptables/" + "files/iptables-" version ".tar.bz2"))) + (sha256 + (base32 "02a3575ypdpg6a2x752mhk3f7h1381ymkq1n0gss6fp6292xfmyl")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -2012,7 +2068,19 @@ external rate conversion.") (arguments '(#:tests? #f ; no test suite #:configure-flags ; add $libdir to the RUNPATH of executables - (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))) + (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-missing-script + ;; A typo prevents installation of /sbin/iptables-apply. It's been + ;; fixed upstream (d4ed0c741fc789bb09d977d74d30875fdd50d08b), but + ;; a patch would require bootstrapping and more inputs. Simply copy + ;; the file ourselves. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sbin (string-append out "/sbin"))) + (install-file "iptables/iptables-apply" sbin) + #t)))))) (home-page "https://www.netfilter.org/projects/iptables/index.html") (synopsis "Programs to configure Linux IP packet filtering rules") (description @@ -2075,7 +2143,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") (define-public iproute (package (name "iproute2") - (version "5.5.0") + (version "5.7.0") (source (origin (method url-fetch) (uri (string-append @@ -2083,7 +2151,7 @@ that the Ethernet protocol is much simpler than the IP protocol.") version ".tar.xz")) (sha256 (base32 - "0ywg70f98wgfai35jl47xzpjp45a6n7crja4vc8ql85cbi1l7ids")))) + "088gs56iqhdlpw1iqjwrss4zxd4zbl2wl8s2implrrdajjxcfpbj")))) (build-system gnu-build-system) (arguments `( ;; There is a test suite, but it wants network namespaces and sudo. @@ -2153,7 +2221,7 @@ inadequately in modern network environments, and both should be deprecated.") (home-page "http://net-tools.sourceforge.net/") (build-system gnu-build-system) (arguments - '(#:modules ((guix build gnu-build-system) + `(#:modules ((guix build gnu-build-system) (guix build utils) (srfi srfi-1) (srfi srfi-26)) @@ -2193,7 +2261,7 @@ inadequately in modern network environments, and both should be deprecated.") #:tests? #f ; no test suite #:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "CC=gcc" + (list ,(string-append "CC=" (cc-for-target)) (string-append "BASEDIR=" out) (string-append "INSTALLNLSDIR=" out "/share/locale") (string-append "mandir=/share/man"))))) @@ -2417,12 +2485,11 @@ configuration and monitoring interfaces.") (arguments `(#:make-flags (let* ((target ,(%current-target-system)) - (gcc (if target (string-append target "-gcc") "gcc")) (pkg-config (if target (string-append target "-pkg-config") "pkg-config"))) (list - (string-append "CC=" gcc) + ,(string-append "CC=" (cc-for-target)) (string-append "PKG_CONFIG=" (assoc-ref %build-inputs "pkg-config") "/bin/" pkg-config) @@ -2937,7 +3004,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.") (define-public kmod (package (name "kmod") - (version "26") + (version "27") (source (origin (method url-fetch) (uri @@ -2945,7 +3012,7 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.") "kmod-" version ".tar.xz")) (sha256 (base32 - "17dvrls70nr3b3x1wm8pwbqy4r8a5c20m0dhys8mjhsnpg425fsp")) + "035wzfzjx4nwidk747p8n085mgkvy531ppn16krrajx2dkqzply1")) (patches (search-patches "kmod-module-directory.patch")))) (build-system gnu-build-system) (native-inputs @@ -2954,10 +3021,18 @@ to use Linux' inotify mechanism, which allows file accesses to be monitored.") `(("xz" ,xz) ("zlib" ,zlib))) (arguments - `(#:tests? #f ; FIXME: Investigate test failures - #:configure-flags '("--with-xz" "--with-zlib") + `(#:configure-flags '("--with-xz" "--with-zlib" + "--disable-test-modules") #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-tests + (lambda _ + ;; XXX: These tests need '--sysconfdir=/etc' to pass. + (substitute* "Makefile.in" + (("testsuite/test-modprobe") "") + (("testsuite/test-depmod") "") + (("testsuite/test-blacklist") "")) + #t)) (add-after 'install 'install-modprobe&co (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3010,7 +3085,7 @@ from the module-init-tools project.") (install-file "contrib/notify_all_users.py" contrib) #t)))) #:make-flags (let* ((prefix (assoc-ref %outputs "out"))) - (list "CC=gcc" + (list ,(string-append "CC=" (cc-for-target)) (string-append "VERSION=v" ,version) (string-append "PREFIX=" prefix) (string-append "SYSCONFDIR=" prefix "/etc"))) @@ -3377,12 +3452,9 @@ interface.") #t)))) #:test-target "verify" #:make-flags (let ((out (assoc-ref %outputs "out")) - (regdb (assoc-ref %build-inputs "wireless-regdb")) - (target ,(%current-target-system))) + (regdb (assoc-ref %build-inputs "wireless-regdb"))) (list - (string-append - "CC=" (if target - (string-append target "-gcc") "gcc")) + (string-append "CC=" ,(cc-for-target)) "V=1" ;; Disable signature-checking on 'regulatory.bin'. @@ -3541,9 +3613,9 @@ country-specific regulations for the wireless spectrum.") (("cat ") (string-append (assoc-ref inputs "coreutils") "/bin/cat ")) - (("grep ") + (("e?grep " match) (string-append (assoc-ref inputs "grep") - "/bin/grep ")) + "/bin/" match)) (("sed -e") (string-append (assoc-ref inputs "sed") "/bin/sed -e")) @@ -3601,10 +3673,10 @@ create a firmware image suitable for the Linux kernel, and more.") "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no 'check' target + `(#:tests? #f ; no 'check' target #:make-flags (list (string-append "prefix=" %output) - "CC=gcc") - ;; no configure script + ,(string-append "CC=" (cc-for-target))) + ;; No configure script. #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("perl" ,perl))) @@ -3671,11 +3743,7 @@ in a digital read-out.") #t))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) - ;; Make sure the kernel headers are treated as system - ;; headers to suppress warnings from those. - (string-append "C_INCLUDE_PATH=" - (assoc-ref %build-inputs "kernel-headers") - "/include") + "CC=gcc" "WERROR=0" ;; By default, 'config/Makefile' uses lib64 on @@ -3827,10 +3895,13 @@ isolation or root privileges.") "03z1qm8zbgpxagk3994lvp24yqsshjibkwg05v9p3q1w7y48xrws")))) (build-system gnu-build-system) (arguments - `(#:make-flags (let ((out (assoc-ref %outputs "out"))) - (list (string-append "binprefix=" out) - (string-append "manprefix=" out) - "CC=gcc")) + `(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "binprefix=" out) + (string-append "manprefix=" out) + ,(string-append "CC=" (cc-for-target)) + ;; Let Guix strip the binaries and not break cross-compilation. + "STRIP=true")) #:phases (modify-phases %standard-phases (delete 'configure)) ; no configure script @@ -3853,7 +3924,7 @@ Translation (@dfn{SAT}) are also supported.") (define-public nvme-cli (package (name "nvme-cli") - (version "1.10.1") + (version "1.11.2") (home-page "https://github.com/linux-nvme/nvme-cli") (source (origin (method git-fetch) @@ -3861,19 +3932,21 @@ Translation (@dfn{SAT}) are also supported.") (url home-page) (commit (string-append "v" version)))) (sha256 - (base32 "12wp2wxmsw2v8m9bhvwvdbhdgx1md8iilhbl19sfzz2araiwi2x8")) + (base32 "0ngh7zffjf6ac8b22hdi4ry7hjlafih172hrbpw8j17r7c0wjy9i")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc") + `(#:make-flags + (list ,(string-append "CC=" (cc-for-target))) #:phases (modify-phases %standard-phases - (delete 'configure) ; No ./configure script + (delete 'configure) ; no ./configure script (replace 'install (lambda _ (invoke "make" "install-spec" "PREFIX=" (string-append "DESTDIR=" %output))))) - #:tests? #f)) ; The tests require sysfs, which is not accessible from - ; the build environment + ;; The tests require sysfs, which is not accessible from from the build + ;; environment + #:tests? #f)) (synopsis "NVM-Express user space tooling for Linux") (description "Nvme-cli is a utility to provide standards compliant tooling for NVM-Express drives. It was made specifically for Linux as it relies on the @@ -4113,7 +4186,7 @@ MPEG-2 and audio over Linux IEEE 1394.") `(("udev" ,eudev))) (arguments `(#:make-flags (let ((out (assoc-ref %outputs "out"))) - (list "CC=gcc" + (list ,(string-append "CC=" (cc-for-target)) "INSTALL=install" "CHECK_RUN_DIR=0" ;; TODO: tell it where to find 'sendmail' @@ -4259,7 +4332,7 @@ arrays when needed.") ;; For tests. ("cmocka" ,cmocka))) (inputs - `(("json-c" ,json-c) + `(("json-c" ,json-c-0.13) ("libaio" ,libaio) ("liburcu" ,liburcu) ("lvm2" ,lvm2) @@ -4332,12 +4405,13 @@ applications.") (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - '(#:make-flags - (list "CC=gcc" (string-append "prefix=" %output)) - #:tests? #f ; no tests + `(#:make-flags + (list ,(string-append "CC=" (cc-for-target)) + (string-append "prefix=" %output)) + #:tests? #f ; no tests #:phases (modify-phases %standard-phases - (delete 'configure) ; no configure script + (delete 'configure) ; no configure script (add-after 'unpack 'fix-gnuplot-path (lambda* (#:key inputs #:allow-other-keys) (let ((gnuplot (assoc-ref inputs "gnuplot"))) @@ -4381,16 +4455,15 @@ Bluetooth audio output devices like headphones or loudspeakers.") (define-public bluez (package (name "bluez") - (version "5.53") + (version "5.54") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/bluetooth/bluez-" version ".tar.xz")) - (patches (search-patches "bluez-CVE-2020-0556.patch")) (sha256 (base32 - "1g1qg6dz6hl3csrmz75ixr12lwv836hq3ckb259svvrg62l2vaiq")))) + "1p2ncvjz6alr9n3l5wvq2arqgc7xjs6dqyar1l9jp0z8cfgapkb8")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4504,8 +4577,8 @@ Ridge, Joliet, and zisofs.") (source (origin (method url-fetch) (uri (string-append - "http://www.nico.schottelius.org/software/gpm/archives/gpm-" - version ".tar.bz2")) + "https://www.nico.schottelius.org/software/gpm/archives/" + "gpm-" version ".tar.bz2")) (patches (search-patches "gpm-glibc-2.26.patch")) (sha256 (base32 @@ -4534,7 +4607,7 @@ Ridge, Joliet, and zisofs.") ("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool))) - (home-page "http://www.nico.schottelius.org/software/gpm/") + (home-page "https://www.nico.schottelius.org/software/gpm/") (synopsis "Mouse support for the Linux console") (description "The GPM (general-purpose mouse) daemon is a mouse server for @@ -4891,7 +4964,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (define-public thinkfan (package (name "thinkfan") - (version "1.1") + (version "1.2") (source (origin (method git-fetch) @@ -4900,7 +4973,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1fxd1w3z65glw6y04myn7ihgswkx6sqnkky159mik4n96pfrsvr5")))) + (base32 "0vmkpj575a1w52zx1jn6kdrk8rc9vp0f1bldi1bajicpgbs6rjd3")))) (build-system cmake-build-system) (arguments `(#:modules ((guix build cmake-build-system) @@ -4936,7 +5009,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (inputs `(("libatasmart" ,libatasmart) ("yaml-cpp" ,yaml-cpp))) - (home-page "http://thinkfan.sourceforge.net/") + (home-page "https://github.com/vmatare/thinkfan") (synopsis "Simple fan control program") (description "Thinkfan is a simple fan control program. It reads temperatures, @@ -5467,14 +5540,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") (define-public mcelog (package (name "mcelog") - (version "168") + (version "170") (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 - "1c4faayg1gcm3002b2fdrfnv76z92mvfzccvx8w9crjp0d17sp24")) + "1m11v1y7cvpm7hwsghj23z77ps1w5jzn8000iwiyxpb939h2km5l")) (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (snippet @@ -5491,7 +5564,8 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") #:make-flags (let ((out (assoc-ref %outputs "out"))) (list "CC=gcc" (string-append "prefix=" out) - (string-append "DOCDIR=" out "/share/doc/mcelog") + (string-append "DOCDIR=" out "/share/doc/" + ,name "-" ,version) "etcprefix=$(DOCDIR)/examples")) ;; The tests will only run as root on certain supported CPU models. #:tests? #f)) @@ -5499,10 +5573,10 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.") (home-page "https://mcelog.org/") (synopsis "Machine check monitor for x86 Linux systems") (description - "The mcelog daemon is required by the Linux kernel to log memory, I/O, CPU, -and other hardware errors on x86 systems. It can also perform user-defined -tasks, such as bringing bad pages off-line, when configurable error thresholds -are exceeded.") + "The mcelog daemon logs memory, I/O, CPU, and other hardware errors on x86 +systems running the kernel Linux. It can also perform user-defined tasks, such +as bringing bad pages off-line, when configurable error thresholds are +exceeded.") (license license:gpl2))) (define-public mtd-utils @@ -5984,16 +6058,14 @@ re-use code and to avoid re-inventing the wheel.") (define-public libnftnl (package (name "libnftnl") - (version "1.1.5") + (version "1.1.7") (source (origin (method url-fetch) (uri (string-append "mirror://netfilter.org/libnftnl/" "libnftnl-" version ".tar.bz2")) (sha256 - (base32 "1wqlxf76bkqf3qhka9sw32qhb2ni20q1k6rn3iril2kw482lvpk6")) - (patches - (search-patches "libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch")))) + (base32 "13zd90bfrr0q3j0l0cbc8kiizccw6n8gp727kqnfljh024zw3nr0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -6010,7 +6082,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "0.9.3") + (version "0.9.5") (source (origin (method url-fetch) @@ -6019,7 +6091,7 @@ used by nftables.") (string-append "https://www.nftables.org/projects/nftables" "/files/nftables-" version ".tar.bz2"))) (sha256 - (base32 "0y6vbqp6x8w165q65h4n9sba1406gaz0d4744gqszbm7w9f92swm")))) + (base32 "05kyri19q776mymkbcxq3786l6nrf4xg7f3n8my0aw63mdz9bhgj")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-man-doc"))) ; FIXME: Needs docbook2x. @@ -6496,10 +6568,10 @@ interface to this kernel feature.") (base32 "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; tests ask to be run as root + `(#:tests? #f ; tests ask to be run as root #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "DESTDIR=" out) - "CC=gcc")) + ,(string-append "CC=" (cc-for-target)))) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-paths @@ -7042,12 +7114,8 @@ system boot process.") `(#:tests? #f ; there are no tests #:make-flags (let ((prefix-dir (lambda (var dir) - (string-append var "=" %output "/" dir))) - (target ,(%current-target-system))) - (list (string-append "CC=" - (if target - (string-append target "-gcc") - "gcc")) + (string-append var "=" %output "/" dir)))) + (list (string-append "CC=" ,(cc-for-target)) (prefix-dir "SBINDIR" "sbin/") (prefix-dir "ETCDIR" "etc/") (prefix-dir "MANDIR" "share/man/"))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 60fb4b0487..025d1bc9ef 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -2876,7 +2876,41 @@ Lisp implementations.") (inputs `(("iterate" ,sbcl-iterate) ("cffi" ,sbcl-cffi) - ("trivial-features" ,sbcl-trivial-features))) + ("trivial-features" ,sbcl-trivial-features) + ("glib" ,glib) + ("cairo" ,cairo) + ("pango" ,pango) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtk" ,gtk+))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "glib/glib.init.lisp" + (("libglib|libgthread" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "gobject/gobject.init.lisp" + (("libgobject" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "gio/gio.init.lisp" + (("libgio" all) + (string-append (assoc-ref inputs "glib") "/lib/" all))) + (substitute* "cairo/cairo.init.lisp" + (("libcairo" all) + (string-append (assoc-ref inputs "cairo") "/lib/" all))) + (substitute* "pango/pango.init.lisp" + (("libpango" all) + (string-append (assoc-ref inputs "pango") "/lib/" all))) + (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" + (("libgdk_pixbuf" all) + (string-append (assoc-ref inputs "gdk-pixbuf") "/lib/" all))) + (substitute* "gdk/gdk.init.lisp" + (("libgdk" all) + (string-append (assoc-ref inputs "gtk") "/lib/" all))) + (substitute* "gdk/gdk.package.lisp" + (("libgtk" all) + (string-append (assoc-ref inputs "gtk") "/lib/" all)))))))) (home-page "https://github.com/Ferada/cl-cffi-gtk/") (synopsis "Common Lisp binding for GTK+3") (description @@ -2889,192 +2923,155 @@ is a library for creating graphical user interfaces.") (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-glib") (inputs - `(("glib" ,glib) - ("bordeaux-threads" ,sbcl-bordeaux-threads) + `(("bordeaux-threads" ,sbcl-bordeaux-threads) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "glib/cl-cffi-gtk-glib.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "glib/glib.init.lisp" - (("libglib|libgthread" all) - (string-append (assoc-ref inputs "glib") "/lib/" all)))))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "glib/cl-cffi-gtk-glib.asd"))))) (define-public sbcl-cl-cffi-gtk-gobject (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gobject") (inputs - `(("glib" ,glib) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("trivial-garbage" ,sbcl-trivial-garbage) ("bordeaux-threads" ,sbcl-bordeaux-threads) ("closer-mop" ,sbcl-closer-mop) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gobject/cl-cffi-gtk-gobject.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gobject/gobject.init.lisp" - (("libgobject" all) (string-append - (assoc-ref inputs "glib") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gobject"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gobject/cl-cffi-gtk-gobject.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gobject"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gio (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gio") (inputs - `(("glib" ,glib) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gio/cl-cffi-gtk-gio.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gio/gio.init.lisp" - (("libgio" all) - (string-append - (assoc-ref inputs "glib") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gio"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gio/cl-cffi-gtk-gio.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gio"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-cairo (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-cairo") (inputs - `(("cairo" ,cairo) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "cairo/cl-cffi-gtk-cairo.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "cairo/cairo.init.lisp" - (("libcairo" all) - (string-append - (assoc-ref inputs "cairo") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-cairo"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "cairo/cl-cffi-gtk-cairo.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-cairo"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-pango (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-pango") (inputs - `(("pango" ,pango) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-cairo" ,sbcl-cl-cffi-gtk-cairo) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "pango/cl-cffi-gtk-pango.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "pango/pango.init.lisp" - (("libpango" all) - (string-append - (assoc-ref inputs "pango") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-pango"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "pango/cl-cffi-gtk-pango.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-pango"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gdk-pixbuf (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gdk-pixbuf") (inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) + `(("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" - (("libgdk_pixbuf" all) - (string-append - (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk-pixbuf"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk-pixbuf"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk-gdk (package (inherit sbcl-cl-cffi-gtk-boot0) (name "sbcl-cl-cffi-gtk-gdk") (inputs - `(("gtk" ,gtk+) - ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) + `(("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf) @@ -3082,32 +3079,23 @@ is a library for creating graphical user interfaces.") ("cl-cffi-gtk-pango" ,sbcl-cl-cffi-gtk-pango) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments - `(#:asd-file "gdk/cl-cffi-gtk-gdk.asd" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "gdk/gdk.init.lisp" - (("libgdk" all) - (string-append - (assoc-ref inputs "gtk") "/lib/" all))) - (substitute* "gdk/gdk.package.lisp" - (("libgtk" all) - (string-append - (assoc-ref inputs "gtk") "/lib/" all))))) - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-gdk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gdk/cl-cffi-gtk-gdk.asd") + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public sbcl-cl-cffi-gtk (package @@ -3122,26 +3110,27 @@ is a library for creating graphical user interfaces.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (arguments - `(#:asd-file "gtk/cl-cffi-gtk.asd" - #:test-asd-file "test/cl-cffi-gtk-test.asd" + (substitute-keyword-arguments (package-arguments sbcl-cl-cffi-gtk-boot0) + ((#:asd-file _ "") "gtk/cl-cffi-gtk.asd") + ((#:test-asd-file _ "") "test/cl-cffi-gtk-test.asd") ;; TODO: Tests fail with memory fault. ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'install 'link-source - ;; Since source is particularly heavy (16MiB+), let's reuse it - ;; across the different components of cl-ffi-gtk. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk-glib")) - (out-source (string-append (assoc-ref outputs "out") - "/share/common-lisp/sbcl-source/" - "cl-cffi-gtk"))) - (delete-file-recursively out-source) - (symlink glib-source out-source) - #t)))))))) + ((#:tests? _ #f) #f) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t))))))))) (define-public cl-cffi-gtk (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) @@ -3208,6 +3197,17 @@ WebKit browsing engine.") `(("alexandria" ,sbcl-alexandria) ("bordeaux-threads" ,sbcl-bordeaux-threads) ("trivial-garbage" ,sbcl-trivial-garbage))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-dependency + ;; lparallel loads a SBCL specific system in its asd file. This is + ;; not carried over into the fasl which is generated. In order for + ;; it to be carried over, it needs to be listed as a dependency. + (lambda _ + (substitute* "lparallel.asd" + ((":depends-on \\(:alexandria" all) + (string-append all " #+sbcl :sb-cltl2")))))))) (home-page "https://lparallel.org/") (synopsis "Parallelism for Common Lisp") (description @@ -5568,7 +5568,13 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") ((#:asd-system-name _) "iolib"))))) (define-public cl-iolib - (sbcl-package->cl-source-package sbcl-iolib)) + (let ((parent (sbcl-package->cl-source-package sbcl-iolib))) + (package + (inherit parent) + (propagated-inputs + ;; Need header to compile. + `(("libfixposix" ,libfixposix) + ,@(package-propagated-inputs parent)))))) (define-public sbcl-ieee-floats (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d") @@ -5867,8 +5873,8 @@ neat APIs and connection-pooling. It is meant to supersede Drakma.") ;; asdf-build-system/source has its own phases and does not inherit ;; from asdf-build-system/sbcl phases. (modify-phases %standard-phases/source - (add-after 'unpack 'fix-permissions - (lambda _ (make-file-writable "t/data/test.gz") #t))))))) + ;; Already done in SBCL package. + (delete 'reset-gzip-timestamps)))))) (define-public ecl-dexador (sbcl-package->ecl-package sbcl-dexador)) @@ -11560,3 +11566,455 @@ accompaniment to the standard ANSI facilities.") (define-public cl-osicat (sbcl-package->cl-source-package sbcl-osicat)) + +(define-public sbcl-clx-xembed + (let ((commit "a5c4b844d31ee68ffa58c933cc1cdddde6990743") + (revision "1")) + (package + (name "sbcl-clx-xembed") + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/laynor/clx-xembed") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/laynor/clx-xembed.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1abx4v36ycmfjdwpjk4hh8058ya8whwia7ds9vd96q2qsrs57f12")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-system-name "xembed")) + (inputs + `(("sbcl-clx" ,sbcl-clx))) + (synopsis "CL(x) xembed protocol implementation ") + (description "CL(x) xembed protocol implementation") + ;; MIT License + (license license:expat)))) + +(define-public cl-clx-xembed + (sbcl-package->cl-source-package sbcl-clx-xembed)) + +(define-public ecl-clx-xembed + (sbcl-package->ecl-package sbcl-clx-xembed)) + +(define-public sbcl-quantile-estimator + (package + (name "sbcl-quantile-estimator") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/deadtrickster/quantile-estimator.cl") + (commit "84d0ea405d793f5e808c68c4ddaf25417b0ff8e5"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rlswkf0siaabsvvch3dgxmg45fw5w8pd9b7ri2w7a298aya52z9")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-system-name "quantile-estimator")) + (inputs + `(("alexandria" ,sbcl-alexandria))) + (home-page "https://github.com/deadtrickster/quantile-estimator.cl") + (synopsis + "Effective computation of biased quantiles over data streams") + (description + "Common Lisp implementation of Graham Cormode and S. +Muthukrishnan's Effective Computation of Biased Quantiles over Data +Streams in ICDE’05.") + (license license:expat))) + +(define-public cl-quantile-estimator + (sbcl-package->cl-source-package sbcl-quantile-estimator)) + +(define-public ecl-quantile-estimator + (sbcl-package->ecl-package sbcl-quantile-estimator)) + +(define-public sbcl-prometheus + (package + (name "sbcl-prometheus") + (version "0.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/deadtrickster/prometheus.cl.git") + (commit "7352b92296996ff383503e19bdd3bcea30409a15"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fzczls2kfgdx18pja4lqxjrz72i583185d8nq0pb3s331hhzh0z")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("local-time" ,sbcl-local-time) + ("quantile-estimator" ,sbcl-quantile-estimator))) + (home-page "https://github.com/deadtrickster/prometheus.cl") + (synopsis "Prometheus.io Common Lisp client") + (description "Prometheus.io Common Lisp client.") + (license license:expat))) + +(define-public cl-prometheus + (sbcl-package->cl-source-package sbcl-prometheus)) + +(define-public ecl-prometheus + (sbcl-package->ecl-package sbcl-prometheus)) + +(define-public sbcl-prometheus.collectors.sbcl + (package + (inherit sbcl-prometheus) + (name "sbcl-prometheus.collectors.sbcl") + (inputs `(("prometheus" ,sbcl-prometheus))) + (synopsis "Prometheus collector for SBCL metrics") + (description "Prometheus collector for SBCL metrics."))) + +(define-public cl-prometheus.collectors.sbcl + (sbcl-package->cl-source-package sbcl-prometheus.collectors.sbcl)) + +(define-public sbcl-prometheus.collectors.process + (package + (inherit sbcl-prometheus) + (name "sbcl-prometheus.collectors.process") + (inputs + `(("cffi" ,sbcl-cffi) + ("cffi-grovel" ,sbcl-cffi-grovel) + ("cl-fad" ,sbcl-cl-fad) + ("prometheus" ,sbcl-prometheus) + ("split-sequence" ,sbcl-split-sequence))) + (synopsis "Prometheus collector for process metrics") + (description "Prometheus collector for process metrics."))) + +(define-public cl-prometheus.collectors.process + (sbcl-package->cl-source-package sbcl-prometheus.collectors.process)) + +(define-public ecl-prometheus.collectors.process + (sbcl-package->ecl-package sbcl-prometheus.collectors.process)) + +(define-public sbcl-prometheus.formats.text + (package + (inherit sbcl-prometheus) + (name "sbcl-prometheus.formats.text") + (inputs + `(("alexandria" ,sbcl-alexandria) + ("prometheus" ,sbcl-prometheus))) + (synopsis "Prometheus client text format") + (description "Prometheus client text format."))) + +(define-public cl-prometheus.formats.text + (sbcl-package->cl-source-package sbcl-prometheus.formats.text)) + +(define-public ecl-prometheus.formats.text + (sbcl-package->ecl-package sbcl-prometheus.formats.text)) + +(define-public sbcl-prometheus.exposers.hunchentoot + (package + (inherit sbcl-prometheus) + (name "sbcl-prometheus.exposers.hunchentoot") + (inputs + `(("hunchentoot" ,sbcl-hunchentoot) + ("prometheus" ,sbcl-prometheus) + ("prometheus.formats.text" ,sbcl-prometheus.formats.text) + ("salza2" ,sbcl-salza2) + ("trivial-utf-8" ,sbcl-trivial-utf-8))) + (synopsis "Prometheus collector for Hunchentoot metrics") + (description "Prometheus collector for Hunchentoot metrics"))) + +(define-public cl-prometheus.exposers.hunchentoot + (sbcl-package->cl-source-package sbcl-prometheus.exposers.hunchentoot)) + +(define-public sbcl-prometheus.pushgateway + (package + (inherit sbcl-prometheus) + (name "sbcl-prometheus.pushgateway") + (inputs + `(("drakma" ,sbcl-drakma) + ("prometheus" ,sbcl-prometheus) + ("prometheus.formats.text" ,sbcl-prometheus.formats.text))) + (synopsis "Prometheus Pushgateway client") + (description "Prometheus Pushgateway client."))) + +(define-public cl-prometheus.pushgateway + (sbcl-package->cl-source-package sbcl-prometheus.pushgateway)) + +(define-public ecl-prometheus.pushgateway + (sbcl-package->ecl-package sbcl-prometheus.pushgateway)) + +(define-public sbcl-uuid + (let ((commit "e7d6680c3138385c0708f7aaf0c96622eeb140e8")) + (package + (name "sbcl-uuid") + (version (git-version "2012.12.26" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dardoria/uuid.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jnyp2kibcf5cwi60l6grjrj8wws9chasjvsw7xzwyym2lyid46f")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("ironclad" ,sbcl-ironclad) + ("trivial-utf-8" ,sbcl-trivial-utf-8))) + (home-page "https://github.com/dardoria/uuid") + (synopsis + "Common Lisp implementation of UUIDs according to RFC4122") + (description + "Common Lisp implementation of UUIDs according to RFC4122.") + (license license:llgpl)))) + +(define-public cl-uuid + (sbcl-package->cl-source-package sbcl-uuid)) + +(define-public ecl-uuid + (sbcl-package->ecl-package sbcl-uuid)) + +(define-public sbcl-dissect + (let ((commit "cffd38479f0e64e805f167bbdb240b783ecc8d45")) + (package + (name "sbcl-dissect") + (version (git-version "1.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/dissect.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rmsjkgjl90gl6ssvgd60hb0d5diyhsiyypvw9hbc0ripvbmk5r5")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cl-ppcre" ,sbcl-cl-ppcre))) + (home-page "https://shinmera.github.io/dissect/") + (synopsis + "Introspection library for the call stack and restarts") + (description + "Dissect is a small Common Lisp library for introspecting the call stack +and active restarts.") + (license license:zlib)))) + +(define-public cl-dissect + (sbcl-package->cl-source-package sbcl-dissect)) + +(define-public ecl-dissect + (sbcl-package->ecl-package sbcl-dissect)) + +;; TODO: Uses ASDF's package-inferred-system which is not supported by +;; asdf-build-system/sbcl as of 2020-05-21. We should fix +;; asdf-build-system/sbcl. +(define-public sbcl-rove + (package + (name "sbcl-rove") + (version "0.9.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/rove.git") + (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("dissect" ,sbcl-dissect) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (home-page "https://github.com/fukamachi/rove") + (synopsis + "Yet another common lisp testing library") + (description + "Rove is a unit testing framework for Common Lisp applications. +This is intended to be a successor of Prove.") + (license license:bsd-3))) + +(define-public cl-rove + (sbcl-package->cl-source-package sbcl-rove)) + +(define-public ecl-rove + (sbcl-package->ecl-package sbcl-rove)) + +(define-public sbcl-exponential-backoff + (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f")) + (package + (name "sbcl-exponential-backoff") + (version (git-version "0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/death/exponential-backoff.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1389hm9hxv85s0125ja4js1bvh8ay4dsy9q1gaynjv27ynik6gmv")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/death/exponential-backoff") + (synopsis "Exponential backoff algorithm in Common Lisp") + (description + "An implementation of the exponential backoff algorithm in Common Lisp. +Inspired by the implementation found in Chromium. Read the header file to +learn about each of the parameters.") + (license license:expat)))) + +(define-public cl-exponential-backoff + (sbcl-package->cl-source-package sbcl-exponential-backoff)) + +(define-public ecl-exponential-backoff + (sbcl-package->ecl-package sbcl-exponential-backoff)) + +(define-public sbcl-sxql + (let ((commit "5aa8b739492c5829e8623432b5d46482263990e8")) + (package + (name "sbcl-sxql") + (version (git-version "0.1.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fukamachi/sxql.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k25p6w2ld9cn8q8s20lda6yjfyp4q89219sviayfgixnj27avnj")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:test-asd-file "sxql-test.asd")) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cl-syntax-annot" ,sbcl-cl-syntax-annot) + ("iterate" ,sbcl-iterate) + ("optima" ,sbcl-optima) + ("split-sequence" ,sbcl-split-sequence) + ("trivial-types" ,sbcl-trivial-types))) + (native-inputs + `(("prove" ,sbcl-prove) + ("prove-asdf" ,sbcl-prove-asdf))) + (home-page "https://github.com/fukamachi/sxql") + (synopsis "SQL generator for Common Lisp") + (description "SQL generator for Common Lisp.") + (license license:bsd-3)))) + +(define-public cl-sxql + (sbcl-package->cl-source-package sbcl-sxql)) + +(define-public ecl-sxql + (sbcl-package->ecl-package sbcl-sxql)) + +(define-public sbcl-1am + (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5")) + (package + (name "sbcl-1am") + (version (git-version "0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lmj/1am.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-system-name "1am")) + (home-page "https://github.com/lmj/1am") + (synopsis "Minimal testing framework for Common Lisp") + (description "A minimal testing framework for Common Lisp.") + (license license:expat)))) + +(define-public cl-1am + (sbcl-package->cl-source-package sbcl-1am)) + +(define-public ecl-1am + (sbcl-package->ecl-package sbcl-1am)) + +(define-public sbcl-cl-ascii-table + (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2") + (revision "1")) + (package + (name "sbcl-cl-ascii-table") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/telephil/cl-ascii-table.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "125fdif9sgl7k0ngjhxv0wjas2q27d075025hvj2rx1b1x948z4s")))) + (build-system asdf-build-system/sbcl) + (synopsis "Library to make ascii-art tables") + (description + "This is a Common Lisp library to present tabular data in ascii-art +tables.") + (home-page "https://github.com/telephil/cl-ascii-table") + (license license:expat)))) + +(define-public cl-ascii-table + (sbcl-package->cl-source-package sbcl-cl-ascii-table)) + +(define-public ecl-cl-ascii-table + (sbcl-package->ecl-package sbcl-cl-ascii-table)) + +(define-public sbcl-cl-rdkafka + (package + (name "sbcl-cl-rdkafka") + (version "1.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/SahilKang/cl-rdkafka.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qcgfd4h7syilzmrmd4z2vknbvawda3q3ykw7xm8n381syry4g82")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:tests? #f ; Attempts to connect to locally running Kafka + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/low-level/librdkafka-bindings.lisp" + (("librdkafka" all) + (string-append (assoc-ref inputs "librdkafka") "/lib/" + all))))) + (add-before 'cleanup 'move-bundle + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (actual (string-append out "/lib/sbcl/src/cl-rdkafka.fasl")) + (expected (string-append + out "/lib/sbcl/cl-rdkafka--system.fasl"))) + (copy-file actual expected) + #t)))))) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("cffi" ,sbcl-cffi) + ("cffi-grovel" ,sbcl-cffi-grovel) + ("librdkafka" ,librdkafka) + ("lparallel" ,sbcl-lparallel) + ("trivial-garbage" ,sbcl-trivial-garbage))) + (home-page "https://github.com/SahilKang/cl-rdkafka") + (synopsis "Common Lisp client library for Apache Kafka") + (description "A Common Lisp client library for Apache Kafka.") + (license license:gpl3))) + +(define-public cl-rdkafka + (sbcl-package->cl-source-package sbcl-cl-rdkafka)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 3ae8dab141..a2e0f0724d 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -372,14 +372,14 @@ an interpreter, a compiler, a debugger, and much more.") (define-public sbcl (package (name "sbcl") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "1lc2i4qq1kfdybmxnj2zq2hn3hfx0vvlqim4gvlgvs3bfr0lcaqj")))) + (base32 "1jz26w1i3riv032aa35vww4cv7cjk2ww7dp70c7wk4r8s66zhl00")))) (build-system gnu-build-system) (outputs '("out" "doc")) (native-inputs @@ -592,25 +592,24 @@ statistical profiler, a code coverage tool, and many other extensions.") (uri (string-append "https://github.com/Clozure/ccl/releases/download/v" version "/" (match (%current-system) - ((or "i686-linux" "x86_64-linux") "linuxx86") ("armhf-linux" "linuxarm") - ;; Prevent errors when querying this package on unsupported - ;; platforms, e.g. when running "guix package --search=" - (_ "UNSUPPORTED")) + ;; XXX: This source only works on x86, but provide it as a + ;; catch-all to prevent errors when querying this package + ;; on unsupported platforms. + (_ "linuxx86")) ".tar.gz")) (sha256 (base32 (match (%current-system) - ((or "i686-linux" "x86_64-linux") - "15l7cfa4a7jkfwdzsfm4q3n22jnb57imxahpql3h77xin57v1gbz") ("armhf-linux" "0x4bjx6cxsjvxyagijhlvmc7jkyxifdvz5q5zvz37028va65243c") - (_ "")))))))) + (_ "15l7cfa4a7jkfwdzsfm4q3n22jnb57imxahpql3h77xin57v1gbz")))))))) (native-inputs `(("m4" ,m4))) (arguments `(#:tests? #f ;no 'check' target - #:modules ((srfi srfi-26) + #:modules ((ice-9 match) + (srfi srfi-26) (guix build utils) (guix build gnu-build-system)) #:phases @@ -622,19 +621,16 @@ statistical profiler, a code coverage tool, and many other extensions.") (add-before 'build 'pre-build ;; Enter the source directory for the current platform's lisp ;; kernel, and run 'make clean' to remove the precompiled one. - (lambda _ + (lambda* (#:key system #:allow-other-keys) (substitute* "lisp-kernel/m4macros.m4" (("/bin/pwd") (which "pwd"))) (chdir (string-append "lisp-kernel/" - ,(match (or (%current-target-system) (%current-system)) - ("i686-linux" "linuxx8632") - ("x86_64-linux" "linuxx8664") - ("armhf-linux" "linuxarm") - ;; Prevent errors when querying this package - ;; on unsupported platforms, e.g. when running - ;; "guix package --search=" - (_ "UNSUPPORTED")))) + (match system + ("i686-linux" "linuxx8632") + ("x86_64-linux" "linuxx8664") + ("armhf-linux" "linuxarm") + (_ (string-append "unknown system: " system))))) (substitute* '("Makefile") (("/bin/rm") "rm")) (setenv "CC" "gcc") @@ -642,7 +638,7 @@ statistical profiler, a code coverage tool, and many other extensions.") ;; XXX Do we need to recompile the heap image as well for Guix? ;; For now just use the one we already got in the tarball. (replace 'install - (lambda* (#:key outputs inputs #:allow-other-keys) + (lambda* (#:key outputs inputs system #:allow-other-keys) ;; The lisp kernel built by running 'make' in lisp-kernel/$system ;; is put back into the original directory, so go back. The heap ;; image is there as well. @@ -653,20 +649,18 @@ statistical profiler, a code coverage tool, and many other extensions.") (wrapper (string-append bindir "ccl")) (bash (assoc-ref inputs "bash")) (kernel - ,(match (or (%current-target-system) (%current-system)) - ("i686-linux" "lx86cl") - ("x86_64-linux" "lx86cl64") - ("armhf-linux" "armcl") - ;; Prevent errors when querying this package - ;; on unsupported platforms, e.g. when running - ;; "guix package --search=" - (_ "UNSUPPORTED"))) + (match system + ("i686-linux" "lx86cl") + ("x86_64-linux" "lx86cl64") + ("armhf-linux" "armcl") + ;; Unlikely to work, but try it anyway... + (_ system))) (heap (string-append kernel ".image"))) (install-file kernel libdir) (install-file heap libdir) - (let ((dirs '("lib" "library" "examples" "tools" "objc-bridge" - ,@(match (%current-system) + (let ((dirs `("lib" "library" "examples" "tools" "objc-bridge" + ,@(match system ("x86_64-linux" '("x86-headers64")) ("i686-linux" @@ -806,7 +800,7 @@ enough to play the original mainframe Zork all the way through.") (define-public txr (package (name "txr") - (version "235") + (version "239") (source (origin (method git-fetch) @@ -815,11 +809,11 @@ enough to play the original mainframe Zork all the way through.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kpqk2x0sz7sqxsrhasq0xnljjlnxwhh4xjx2nii0zy2jkv4vsbn")))) + (base32 "1jldpkd5f855m3z4zjpd1ha64f405pcdwwrnr8jnk66v22dsvdwx")))) (build-system gnu-build-system) (arguments - '(#:configure-flags - (list "cc=gcc" + `(#:configure-flags + (list ,(string-append "cc=" (cc-for-target)) (string-append "--prefix=" (assoc-ref %outputs "out"))) #:test-target "tests" #:phases diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 15e15281a7..11e4cfbe4c 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -201,7 +201,11 @@ compiler. In LLVM this library is called \"compiler-rt\".") (supported-systems (delete "mips64el-linux" %supported-systems)))) (define* (clang-from-llvm llvm clang-runtime hash - #:key (patches '())) + #:key (patches '()) tools-extra) + "Produce Clang with dependencies on LLVM and CLANG-RUNTIME, and applying the +given PATCHES. When TOOLS-EXTRA is given, it must point to the +'clang-tools-extra' tarball, which contains code for 'clang-tidy', 'pp-trace', +'modularize', and other tools." (package (name "clang") (version (package-version llvm)) @@ -218,11 +222,15 @@ compiler. In LLVM this library is called \"compiler-rt\".") ;; doesn't seem to be any way to do this with clang's autotools-based ;; build system. (build-system cmake-build-system) + (outputs (if tools-extra '("out" "extra") '("out"))) (native-inputs (package-native-inputs llvm)) (inputs `(("libxml2" ,libxml2) ("gcc-lib" ,gcc "lib") - ,@(package-inputs llvm))) + ,@(package-inputs llvm) + ,@(if tools-extra + `(("clang-tools-extra" ,tools-extra)) + '()))) (propagated-inputs `(("llvm" ,llvm) ("clang-runtime" ,clang-runtime))) @@ -243,6 +251,71 @@ compiler. In LLVM this library is called \"compiler-rt\".") #:build-type "Release" #:phases (modify-phases %standard-phases + ,@(if tools-extra + `((add-after 'unpack 'add-tools-extra + (lambda* (#:key inputs #:allow-other-keys) + ;; Unpack the 'clang-tools-extra' tarball under + ;; tools/. + (let ((extra (assoc-ref inputs + "clang-tools-extra"))) + (invoke "tar" "xf" extra) + (rename-file ,(string-append + "clang-tools-extra-" + (package-version llvm) + ".src") + "tools/extra") + #t))) + (add-after 'install 'move-extra-tools + (lambda* (#:key outputs #:allow-other-keys) + ;; Move the extra tools to the "extra" output. + ;; These programs alone weigh in at 296 MiB, + ;; because they statically-link a whole bunch of + ;; Clang libraries. + (let* ((out (assoc-ref outputs "out")) + (extra (assoc-ref outputs "extra")) + (bin (string-append out "/bin")) + (bin* (string-append extra "/bin")) + (lib (string-append out "/lib"))) + (define (move program) + (rename-file (string-append bin "/" program) + (string-append bin* "/" + program))) + + (mkdir-p bin*) + (for-each move + '("clang-apply-replacements" + "clang-change-namespace" + "clangd" + "clang-doc" + "clang-include-fixer" + "clang-move" + "clang-query" + "clang-reorder-fields" + "clang-tidy" + "find-all-symbols" + "modularize" + "pp-trace")) + + ;; Remove MiBs of .a files coming from + ;; 'clang-tools-extra'. + (for-each (lambda (component) + (delete-file + (string-append lib "/libclang" + component ".a"))) + '("ApplyReplacements" + "ChangeNamespace" + "Daemon" + "DaemonTweaks" + "Doc" + "IncludeFixer" + "IncludeFixerPlugin" + "Move")) + (for-each delete-file + (find-files + lib + "^(libfindAllSymbols|libclangTidy)")) + #t)))) + '()) (add-after 'unpack 'add-missing-triplets (lambda _ ;; Clang iterates through known triplets to search for @@ -414,7 +487,15 @@ output), and Binutils.") (define-public clang-10 (clang-from-llvm llvm-10 clang-runtime-10 "08fbxa2a0kr3ni35ckppj0kyvlcyaywrhpqwcdrdy0z900mhcnw8" - #:patches '("clang-10.0-libc-search-path.patch"))) + #:patches '("clang-10.0-libc-search-path.patch") + #:tools-extra + (origin + (method url-fetch) + (uri (llvm-download-uri "clang-tools-extra" + (package-version llvm-10))) + (sha256 + (base32 + "074ija5s2jsdn0k035r2dzmryjmqxdnyg4xwvaqych2bazv8rpxc"))))) (define-public clang-toolchain-10 (make-clang-toolchain clang-10)) @@ -866,35 +947,6 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") "This package provides a Python binding to LLVM for use in Numba.") (license license:bsd-3))) -(define (package-elisp-from-package source-package package-name - source-files) - "Return a package definition named PACKAGE-NAME that packages the Emacs Lisp -SOURCE-FILES found in SOURCE-PACKAGE." - (let ((orig (package-source source-package))) - (package - (inherit source-package) - (name package-name) - (build-system emacs-build-system) - (source (origin - (method (origin-method orig)) - (uri (origin-uri orig)) - (sha256 (origin-sha256 orig)) - (file-name (string-append package-name "-" - (package-version source-package))) - (modules '((guix build utils) - (srfi srfi-1) - (ice-9 ftw))) - (snippet - `(let* ((source-files (quote ,source-files)) - (basenames (map basename source-files))) - (map copy-file - source-files basenames) - (map delete-file-recursively - (fold delete - (scandir ".") - (append '("." "..") basenames))) - #t))))))) - (define-public emacs-clang-format (package (inherit clang) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 14c4120d05..fbf32bf337 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 ison <ison@airmail.cc> ;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> @@ -31,6 +31,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages curl) #:use-module (gnu packages disk) #:use-module (gnu packages docbook) #:use-module (gnu packages file-systems) @@ -104,14 +105,14 @@ libFM file management library."))) (define-public lxappearance (package (name "lxappearance") - (version "0.6.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/lxde/" - "LXAppearance/" name "-" version ".tar.xz")) - (sha256 - (base32 - "07r0xbi6504zjnbpan7zrn7gi4j0kbsqqfpj8v2x94gr05p16qj4")))) + (version "0.6.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/lxde/" + "LXAppearance/lxappearance-" version ".tar.xz")) + (sha256 + (base32 "0f4bjaamfxxdr9civvy55pa6vv9dx1hjs522gjbbgx7yp1cdh8kj")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+-2))) (native-inputs `(("intltool" ,intltool) @@ -125,16 +126,16 @@ able to change themes, icons, and fonts used by GTK+ applications.") (define-public lxrandr (package (name "lxrandr") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lxde/LXRandR" "%20%28monitor%20config%20tool%29/LXRandR%20" (version-major+minor version) ".x/" - name "-" version ".tar.xz")) + "lxrandr-" version ".tar.xz")) (sha256 (base32 - "0khqi42paqg82jllb2kza4arf3fafzgq90fhyr3rw3d9hn23763d")))) + "04n3vgh3ix12p8jfs4w0dyfq3anbjy33h7g53wbbqqc0f74xyplb")))) (build-system gnu-build-system) (inputs `(("gtk+" ,gtk+-2))) (native-inputs `(("intltool" ,intltool) @@ -518,16 +519,14 @@ in LXDE.") (define-public lxsession (package (name "lxsession") - (version "0.5.3") + (version "0.5.5") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/lxde/" - name "-" version ".tar.xz")) - (patches (search-patches "lxsession-use-gapplication.patch")) + "lxsession-" version ".tar.xz")) (sha256 - (base32 - "1a0zmyywwzdh59nc0l94cir18vhp633z4q2xfhn5zx11ajj45gwh")) + (base32 "0imv9nysip1j9lrb2z96kl05isjgp312323wnnd5b59h0ff0sgp4")) (modules '((guix build utils))) (snippet ;; Remove C files generated by Vala so we can build from source. @@ -560,6 +559,8 @@ in LXDE.") ("intltool" ,intltool) ("docbook-xsl" ,docbook-xsl) ("vala" ,vala) + + ;; For bootstrapping. ("autoconf" ,autoconf) ("automake" ,automake))) (synopsis "Lightweight X11 session manager") @@ -571,15 +572,14 @@ in LXDE.") (define-public lxpanel (package (name "lxpanel") - (version "0.9.3") + (version "0.10.0") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/lxde/" - name "-" version ".tar.xz")) + "lxpanel-" version ".tar.xz")) (sha256 - (base32 - "1ccgv7jgl3y865cpb6w7baaz7468fxncm83bqxlwyni5bwhglb1l")))) + (base32 "0zis3b815p375s6mymhf5sn1a0c1xv0ixxzb0mh3fqhrby6cqy26")))) (build-system gnu-build-system) (arguments `(#:phases @@ -594,7 +594,8 @@ in LXDE.") #t)))))) (inputs ;; TODO: libindicator-0.3.0 - `(("gtk+-2" ,gtk+-2) + `(("curl" ,curl) + ("gtk+-2" ,gtk+-2) ("alsa-lib" ,alsa-lib) ("libwnck-2" ,libwnck-2) ("keybinder" ,keybinder) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 6552d171bf..0e11da41ca 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Mark Meyer <mark@ofosos.org> ;;; Copyright © 2018 Ben Woodcroft <donttrustben@gmail.com> @@ -11,9 +11,10 @@ ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> +;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -714,14 +715,14 @@ than 8 bits, and at the end only some significant 8 bits are kept.") (define-public dlib (package (name "dlib") - (version "19.7") + (version "19.20") (source (origin (method url-fetch) (uri (string-append "http://dlib.net/files/dlib-" version ".tar.bz2")) (sha256 (base32 - "1mljz02kwkrbggyncxv5fpnyjdybw2qihaacb3js8yfkw12vwpc2")) + "139jyi19qz37wwmmy48gil9d1kkh2r3w3bwdzabha6ayxmba96nz")) (modules '((guix build utils))) (snippet '(begin @@ -1403,7 +1404,11 @@ Python.") (list "CC=gcc") #:modules ((ice-9 ftw) (guix build utils) - (guix build cmake-build-system)) + (guix build cmake-build-system) + ((guix build python-build-system) + #:select (python-version))) + #:imported-modules (,@%cmake-build-system-modules + (guix build python-build-system)) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-source-file-times-to-1980 @@ -1428,6 +1433,12 @@ Python.") ;; optional package. (substitute* "tensorflow/tools/pip_package/setup.py" ((".*'tensorboard >.*") "")) + + ;; Fix the build with python-3.8, taken from rejected upstream patch: + ;; https://github.com/tensorflow/tensorflow/issues/34197 + (substitute* (find-files "tensorflow/python" ".*\\.cc$") + (("(nullptr,)(\\ +/. tp_print)" _ _ tp_print) + (string-append "NULL, " tp_print))) #t)) (add-after 'python3.7-compatibility 'chdir (lambda _ (chdir "tensorflow/contrib/cmake") #t)) @@ -1617,16 +1628,19 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n"))) (invoke "make" "tf_python_build_pip_package") #t)) (add-after 'build-pip-package 'install-python - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) - (wheel (car (find-files "../build/tf_python/dist/" "\\.whl$")))) + (wheel (car (find-files "../build/tf_python/dist/" "\\.whl$"))) + (python-version (python-version + (assoc-ref inputs "python")))) (invoke "python" "-m" "pip" "install" wheel (string-append "--prefix=" out)) ;; XXX: broken RUNPATH, see fix-python-build phase. (delete-file (string-append - out "/lib/python3.7/site-packages/tensorflow/contrib/" + out "/lib/python" python-version + "/site-packages/tensorflow/contrib/" "seq2seq/python/ops/lib_beam_search_ops.so")) #t)))))) (native-inputs @@ -1803,12 +1817,14 @@ advanced research.") "1k8szlpm19rcwcxdny9qdm3gmaqq8akb4xlvrzyz8c2d679aak6l")))) (build-system python-build-system) (propagated-inputs - `(("ipython" ,python-ipython) - ("nose" ,python-nose) + `(("ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit + python-ipython)) ("numpy" ,python-numpy) ("pandas" ,python-pandas) ("scipy" ,python-scipy))) - (home-page "http://github.com/interpretable-ml/iml") + (native-inputs + `(("nose" ,python-nose))) + (home-page "https://github.com/interpretable-ml/iml") (synopsis "Interpretable Machine Learning (iML) package") (description "Interpretable ML (iML) is a set of data type objects, visualizations, and interfaces that can be used by any method designed to @@ -2051,18 +2067,7 @@ online linear classification written in Common Lisp.") ("cl-online-learning" ,sbcl-cl-online-learning) ("lparallel" ,sbcl-lparallel))) (arguments - `(;; The tests download data from the Internet - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'add-sb-cltl2-dependency - (lambda _ - ;; sb-cltl2 is required by lparallel when using sbcl, but it is - ;; not loaded automatically. - (substitute* "cl-random-forest.asd" - (("\\(in-package :cl-user\\)") - "(in-package :cl-user) #+sbcl (require :sb-cltl2)")) - #t))))) + `(#:tests? #f)) ; The tests download data from the Internet (synopsis "Random Forest and Global Refinement for Common Lisp") (description "CL-random-forest is an implementation of Random Forest for multiclass diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e6728aae94..ec1233f83b 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is> ;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -347,7 +347,7 @@ to run without any changes.") (define-public fetchmail (package (name "fetchmail") - (version "6.4.1") + (version "6.4.6") (source (origin (method url-fetch) @@ -355,21 +355,14 @@ to run without any changes.") (version-major+minor version) "/" "fetchmail-" version ".tar.xz")) (sha256 - (base32 "1859wvfc9fq72mwp4njdiy0x89hnddlfr3nix71qqglcs0fz2crz")))) + (base32 "04b0sq1xad6gs1bfhkbmhsn1kq6y4gsx9l9ywjvd5d0rc15yrvqn")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) (arguments `(#:configure-flags (list (string-append "--with-ssl=" - (assoc-ref %build-inputs "openssl"))) - #:phases - (modify-phases %standard-phases - (add-before 'check 'create-test-environment - (lambda _ - ;; Fix ‘Cannot find absolute path for user's home directory’. - (setenv "HOME" "/tmp") - #t))))) + (assoc-ref %build-inputs "openssl"))))) (home-page "https://www.fetchmail.info/") (synopsis "Remote-mail retrieval and forwarding utility") (description @@ -389,7 +382,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.13.5") + (version "1.14.2") (source (origin (method url-fetch) (uri (list @@ -399,7 +392,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "0lx65a44b03rbvcrz0y9syrik67fx3hvblxyyvz5l9bb7rdipmvc")) + "0cdcls0x6f2w99hkjz48hxhnx86w3bnyxzibchdc9yspih770bz2")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -423,8 +416,8 @@ aliasing facilities to work just as they would on normal mail.") "--with-sasl" "--with-sqlite3" ; required for Autocrypt "--with-idn2" ; recommended for Autocrypt - ;; so that mutt does not check whether the path - ;; exists, which it does not in the chroot + ;; So that mutt does not check whether the path + ;; exists, which it does not in the chroot. "--with-mailpath=/var/mail"))) (home-page "http://www.mutt.org/") (synopsis "Mail client") @@ -718,15 +711,15 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.4.4") + (version "1.4.10") (source (origin (method url-fetch) (uri (string-append "https://github.com/djcb/mu/releases/" - "download/" version "/" + "download/" version "/" "mu-" version ".tar.xz")) (sha256 (base32 - "0pmx8zh5fsfhkdl0cr7ydcv6cywhxbgavnjrfr5p2ibz9gx3q3vf")))) + "0vbyrmv3d2bja4vx86za93gq46vxg18j12g0lca3x1dl8d5g2xa6")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1216,14 +1209,14 @@ which can add many functionalities to the base client.") (define-public msmtp (package (name "msmtp") - (version "1.8.10") + (version "1.8.11") (source (origin (method url-fetch) (uri (string-append "https://marlam.de/msmtp/releases/" "/msmtp-" version ".tar.xz")) (sha256 - (base32 "041g921rdjiv8bapp61gp4rylq8cckfkcwzyh8bs7xwxs4wpzfna")))) + (base32 "0q0fg235qk448l1xjcwyxr7vcpzk6w57jzhjbkb0m7nffyhhypzj")))) (build-system gnu-build-system) (inputs `(("libsecret" ,libsecret) @@ -1266,7 +1259,7 @@ delivery.") (define-public exim (package (name "exim") - (version "4.93.0.4") + (version "4.94") (source (origin (method url-fetch) @@ -1280,7 +1273,7 @@ delivery.") (string-append "https://ftp.exim.org/pub/exim/exim4/old/" file-name)))) (sha256 - (base32 "01g4sfycv13glnmfrapwhjbdw6z1z7w5bwjldxjmglwfw5p3czak")))) + (base32 "1nsb2i5mqxfz1sl1bmbxmpb2qiaf3wffhfiw4j9vfpagy3xfhzpp")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ; ‘#error Version 6 and later BDB API is not supported’ @@ -1372,7 +1365,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.3.10") + (version "2.3.10.1") (source (origin (method url-fetch) @@ -1380,7 +1373,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "1ibiz3k2flablkcqbkvfzsjnq5b5kxximhcrplflsjl57mr88ca7")))) + (base32 "035idr2j81s5mngnhd58rih79dhwwak7q01mqbx3rcmi4cpychk6")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2166,14 +2159,14 @@ converts them to maildir format directories.") (define-public mpop (package (name "mpop") - (version "1.4.7") + (version "1.4.10") (source (origin (method url-fetch) (uri (string-append "https://marlam.de/mpop/releases/" "mpop-" version ".tar.xz")) (sha256 - (base32 "0c6n5afn9pr4p7gxkv462lysrw52w9fhvavzm99c78dcp9dj5xnk")))) + (base32 "1243hazpiwgvz2m3p48cdh0yw1019i6xjxgc7qyhmxcdy0inb6wy")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls))) @@ -2298,14 +2291,14 @@ transfer protocols.") (define-public opensmtpd (package (name "opensmtpd") - (version "6.6.4p1") + (version "6.7.1p1") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "1kyph9ycq0j21dl9n1sq5fns9p4gckdi0fmnf8awrcwrdcm9dyg2")))) + (base32 "1jh8vxfajm1mvp1v5yh6llrhjzv0n9fgab88mlwllwqynhcfjy3l")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb) @@ -2329,6 +2322,13 @@ transfer protocols.") "--with-table-db") #:phases (modify-phases %standard-phases + ;; See: https://github.com/OpenSMTPD/OpenSMTPD/issues/1069. + (add-after 'unpack 'fix-smtpctl-encrypt-bug + (lambda _ + (substitute* "smtpd/smtpctl.c" + (("\"encrypt\", \"--\",") + "\"encrypt\",")) + #t)) ;; Fix some incorrectly hard-coded external tool file names. (add-after 'unpack 'patch-FHS-file-names (lambda _ @@ -2629,7 +2629,7 @@ on the fly. Both programs are written in C and are very fast.") (define-public swaks (package (name "swaks") - (version "20181104.0") + (version "20190914.0") (source (origin (method url-fetch) @@ -2638,7 +2638,7 @@ on the fly. Both programs are written in C and are very fast.") version ".tar.gz")) (sha256 (base32 - "0n1yd27xcyb1ylp5gln3yv5gzi9r377hjy1j32367kgb3247ygq2")))) + "12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp")))) (build-system perl-build-system) (inputs `(("perl-net-dns" ,perl-net-dns) @@ -2704,10 +2704,7 @@ operators and scripters.") (build-system gnu-build-system) (arguments `(#:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")))) + (list (string-append "CC=" ,(cc-for-target))) #:configure-flags (list (string-append "--with-ssl-include-dir=" (assoc-ref %build-inputs "openssl") "/include/openssl") @@ -2762,14 +2759,14 @@ tools and applications: (define-public balsa (package (name "balsa") - (version "2.6.0") + (version "2.6.1") (source (origin (method url-fetch) (uri (string-append "https://pawsa.fedorapeople.org/balsa/" - name "-" version ".tar.bz2")) + "balsa-" version ".tar.bz2")) (sha256 - (base32 "0ycidvgy9npd6avxk88sf2ca609m7zb0hzrk1yajrgwb1rfqx68a")))) + (base32 "1xkxx801p7sbfkn0bh3cz85wra4xf1z1zhjqqc80z1z1nln7fhb4")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index fe86f810bf..b2d3e2a326 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -706,7 +706,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; When `configure' checks for ltdl availability, it ;; doesn't try to link using libtool, and thus fails ;; because of a missing -ldl. Work around that. - ''("LDFLAGS=-ldl")) + + ;; XXX: On ARMv7, disable JIT: it causes crashes with 3.0.2, + ;; possibly related to <https://bugs.gnu.org/40737>. + (if (target-arm32?) + ''("LDFLAGS=-ldl" "--disable-jit") + ''("LDFLAGS=-ldl"))) ((#:phases phases '%standard-phases) `(modify-phases ,phases diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 4dfac4f87b..2d059baddc 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -62,14 +62,14 @@ a flexible and convenient way.") (define-public man-db (package (name "man-db") - (version "2.9.1") + (version "2.9.2") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/man-db/man-db-" version ".tar.xz")) (sha256 (base32 - "0ky7aq8313xa1y0zdwdbz5yvjfjb3xy0xymbimd2d9q9bky8lgds")))) + "0z04kwv5ymmd0pzadpaag696jfckg6rbz8x4jrgj09bmqqk3yf3v")))) (build-system gnu-build-system) (arguments `(#:phases @@ -164,7 +164,7 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "5.06") + (version "5.07") (source (origin (method url-fetch) @@ -174,7 +174,7 @@ the traditional flat-text whatis databases.") (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/" "man-pages-" version ".tar.xz"))) (sha256 - (base32 "0l7ypgl36jswa077qvdh1rcsvnwr64vja6cc32bab86sm41akf3h")))) + (base32 "13b3q7c67r0wkla4pdihl1qh09k67ms2z5jgzfqgpdqqy6mgziwd")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 3cd7fb559c..7ae73da8a5 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -228,7 +228,7 @@ CommonMark to an abstract syntax tree (@dfn{AST}) and rendering the document as HTML, groff man, LaTeX, CommonMark, or an XML representation of the AST. The package also provides the command-line program @command{cmark} for parsing and rendering CommonMark.") - (home-page "http://commonmark.org") + (home-page "https://commonmark.org") ;; cmark is distributed with a BSD-2 license, but some components are Expat ;; licensed. The CommonMark specification is Creative Commons CC-BY-SA 4.0 ;; licensed. See 'COPYING' in the source distribution for more information. diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1821b2b1c7..45d699e39c 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2018, 2020 Kei Kebreau <kkebreau@posteo.net> @@ -227,15 +227,15 @@ programming languages.") (define-public qhull (package (name "qhull") - (version "2015.2") + (version "2019.1") (source (origin (method url-fetch) (uri (string-append "http://www.qhull.org/download/qhull-" (car (string-split version #\.)) - "-src-7.2.0.tgz")) + "-src-7.3.2.tgz")) (sha256 (base32 - "0dm4b2xr3asy6w74khq2zg4gf26zsy3qf9sq7pf7lmrvbj911c3q")))) + "1ys3vh3qq0v9lh452xb932vp63advds1pxk42lk7cc1niiar0y9b")))) (build-system cmake-build-system) (synopsis "Calculate convex hulls and related structures") (description @@ -472,8 +472,9 @@ precision floating point numbers.") (arguments (let ((system (%current-system))) (cond - ((string-prefix? "aarch64" system) - ;; Some sparse matrix tests are failing on AArch64: + ((or (string-prefix? "aarch64" system) + (string-prefix? "powerpc" system)) + ;; Some sparse matrix tests are failing on AArch64 and PowerPC: ;; https://lists.gnu.org/archive/html/bug-gsl/2020-04/msg00001.html '(#:phases (modify-phases %standard-phases (add-before 'check 'disable-failing-tests @@ -919,7 +920,17 @@ computations.") (("(/gnu/store/)([a-Z0-9]*)" all prefix hash) (string-append prefix (string-take hash 10) "..."))) #t)) - ))) + (add-after 'install 'provide-absolute-libjpeg-reference + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libjpeg (assoc-ref inputs "libjpeg"))) + ;; libjpeg-turbo does not provide a .la file, so libtool is + ;; unable to add an absolute reference for -ljpeg in the .la + ;; files. Fix it manually to avoid having to propagate it. + (substitute* (find-files (string-append out "/lib") "\\.la$") + (("-ljpeg") + (string-append "-L" libjpeg "/lib -ljpeg"))) + #t)))))) (home-page "https://www.hdfgroup.org/products/hdf4/") (synopsis "Library and multi-object file format for storing and managing data") @@ -1556,7 +1567,7 @@ online as well as original implementations of various other algorithms.") (source (origin (method url-fetch) (uri (string-append - "http://www.coin-or.org/download/source/Ipopt/Ipopt-" + "https://www.coin-or.org/download/source/Ipopt/Ipopt-" version".tgz")) (sha256 (base32 @@ -1590,7 +1601,7 @@ online as well as original implementations of various other algorithms.") (inputs ;; TODO: Maybe add dependency on COIN-MUMPS, ASL, and HSL. `(("lapack" ,lapack))) ;for both libblas and liblapack - (home-page "http://www.coin-or.org") + (home-page "https://www.coin-or.org") (synopsis "Large-scale nonlinear optimizer") (description "The Interior Point Optimizer (IPOPT) is a software package for @@ -1601,14 +1612,14 @@ interfaces.") (define-public clp (package (name "clp") - (version "1.17.1") + (version "1.17.6") (source (origin (method url-fetch) (uri (string-append "https://www.coin-or.org/download/source/" "Clp/Clp-" version ".tgz")) (sha256 (base32 - "1wdg820g3iikf9344ijwsc8sy6c0m6im42bzzizm6rlmkvnmxhk9")) + "0ap1f0lxppa6pnbc4bg7ih7a96avwaki482nig8w5fr3vg9wvkzr")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -3182,7 +3193,7 @@ point numbers.") (define-public wxmaxima (package (name "wxmaxima") - (version "20.03.1") + (version "20.04.0") (source (origin (method git-fetch) @@ -3191,7 +3202,7 @@ point numbers.") (commit (string-append "Version-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "09ciip0wkahps5jdsqqr72bwjrd15bacw38zp23v3hm71xfk8hky")))) + (base32 "0vrjxzfgmjdzm1rgl0crz4b4badl14jwh032y3xkcdvjl5j67lp3")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -4035,30 +4046,69 @@ evaluates expressions using the standard order of operations.") (define-public xaos (package (name "xaos") - (version "3.6") + (version "4.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/xaos/XaoS/" version - "/xaos-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/xaos-project/XaoS") + (commit (string-append "release-" version)))) (sha256 (base32 - "15cd1cx1dyygw6g2nhjqq3bsfdj8sj8m4va9n75i0f3ryww3x7wq")))) + "00110p5xscjsmn7avfqgydn656zbmdj3l3y2fpv9b4ihzpid8n7a")))) (build-system gnu-build-system) - (native-inputs `(("gettext" ,gettext-minimal))) + (native-inputs `(("gettext" ,gettext-minimal) + ("qtbase" ,qtbase) + ("qttools" ,qttools))) (inputs `(("libx11" ,libx11) ("zlib" ,zlib) ("libpng" ,libpng) ("gsl" ,gsl))) + ;; The upstream project file ("XaoS.pro") and the Makefile it generates are + ;; not enough for this package to install properly. These phases fix that. (arguments `(#:tests? #f ;no "check" target - #:make-flags '("LOCALEDIR=$DATAROOTDIR/locale"))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'make-qt-deterministic + (lambda _ + ;; Make Qt deterministic. + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; The DESTDIR is originally set to install the xaos binary to + ;; the "bin" folder inside the build directory. Setting make + ;; flags doesn't seem to change this. + (substitute* "XaoS.pro" + (("DESTDIR.*$") + (string-append "DESTDIR=" out "/bin"))) + (substitute* "src/include/config.h" + (("/usr/share/XaoS") + (string-append out "/share/XaoS"))) + (invoke "qmake")))) + (add-after 'install 'install-data + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share"))) + (mkdir-p share) + (for-each + (lambda (folder) + (copy-recursively folder + (string-append share "/XaoS/" folder))) + '("catalogs" "examples" "tutorial")) + (install-file "xdg/xaos.png" + (string-append share "/pixmaps")) + (install-file "xdg/xaos.desktop" + (string-append share "/applications"))) + #t))))) (synopsis "Real-time fractal zoomer") (description "GNU XaoS is a graphical program that generates fractal patterns and allows you to zoom in and out of them infinitely in a fluid, continuous manner. It also includes tutorials that help to explain how fractals are built. It can generate many different fractal types such as the Mandelbrot set.") - (home-page "https://www.gnu.org/software/xaos/") + (home-page "https://xaos-project.github.io/") (license license:gpl2+))) (define-public hypre @@ -5348,20 +5398,20 @@ management via the GIMPS project's Primenet server.") (define-public nauty (package (name "nauty") - (version "2.6r12") - (source (origin - (method url-fetch) - (uri (string-append - "https://pallini.di.uniroma1.it/" - "nauty" (string-join (string-split version #\.) "") - ".tar.gz")) - (sha256 - (base32 - "1p4mxf8q5wm47nxyskxbqwa5p1vvkycv1zgswvnk9nsn6vff0al6")))) + (version "2.7r1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pallini.di.uniroma1.it/" + "nauty" (string-join (string-split version #\.) "") ".tar.gz")) + (sha256 + (base32 "0xsfqfcknbd6g6wzpa5l7crmmk3bf3zjh37rhylq6b20dqcmvjkn")))) (build-system gnu-build-system) (outputs '("out" "lib")) (arguments `(#:test-target "checks" + #:configure-flags '("--enable-generic") ;prevent -march-native #:phases (modify-phases %standard-phases ;; Default make target does not build all available @@ -5381,15 +5431,16 @@ management via the GIMPS project's Primenet server.") (include (string-append lib-output "/include/nauty")) (lib (string-append lib-output "/lib/nauty"))) (for-each (lambda (f) (install-file f bin)) - '("dreadnaut" "NRswitchg" "addedgeg" "amtog" "biplabg" - "blisstog" "bliss2dre" "catg" "checks6" "complg" - "converseg" "copyg" "countg" "cubhamg" "deledgeg" - "delptg" "directg" "dretodot" "dretog" "genbg" + '("addedgeg" "amtog" "assembleg" "biplabg" "blisstog" + "bliss2dre" "catg" "checks6" "complg" "converseg" + "copyg" "countg" "cubhamg" "deledgeg" "delptg" + "directg" "dreadnaut" "dretodot" "dretog" "genbg" "genbgL" "geng" "genquarticg" "genrang" "genspecialg" "gentourng" "gentreeg" "hamheuristic" "labelg" "linegraphg" "listg" "multig" "newedgeg" "pickg" "planarg" "ranlabg" "shortg" "showg" "subdivideg" - "sumlines" "twohamg" "vcolg" "watercluster2")) + "sumlines" "twohamg" "underlyingg" "vcolg" + "watercluster2" "NRswitchg")) (for-each (lambda (f) (install-file f include)) (find-files "." "\\.h$")) (for-each (lambda (f) (install-file f lib)) diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm index 7bbdc09688..002c1b530d 100644 --- a/gnu/packages/matrix.scm +++ b/gnu/packages/matrix.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,15 +60,15 @@ an LDAP server.") (define-public synapse (package (name "synapse") - (version "1.11.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (pypi-uri "matrix-synapse" version)) (sha256 (base32 - "0cqbwcz0fi4w413s1kcxvf696qi4n46n1k4ggnygqri5yq26qlfy")))) + "09drdqcjvpk9s3hq5rx9yxsxq0wak5fg5gfaiqfnbnxav2c2v7kq")))) (build-system python-build-system) - ;; TODO I think there are custom tests + ;; TODO Run tests with ‘PYTHONPATH=. trial3 tests’. (propagated-inputs `(("python-simplejson" ,python-simplejson) ; not attested but required ;; requirements (synapse/python_dependencies.py) @@ -100,6 +101,7 @@ an LDAP server.") ("python-bleach" ,python-bleach) ("python-typing-extensions" ,python-typing-extensions) ;; conditional requirements (synapse/python_dependencies.py) + ;;("python-hiredis" ,python-hiredis) ("python-matrix-synapse-ldap3" ,python-matrix-synapse-ldap3) ("python-psycopg2" ,python-psycopg2) ("python-jinja2" ,python-jinja2) diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index c18850bb26..66c6e3adfa 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -339,7 +340,7 @@ Maven Wagon, for use in Maven."))) (version "3.2.1") (source (origin (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/maven/shared/" + (uri (string-append "mirror://apache/maven/shared/" "maven-shared-utils-" version "-source-release.zip")) (sha256 (base32 @@ -379,7 +380,7 @@ replacement with improvements.") (version "3.5") (source (origin (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/maven/" + (uri (string-append "mirror://apache/maven/" "plugin-tools/maven-plugin-tools-" version "-source-release.zip")) (sha256 (base32 "1ryqhs62j5pas93brhf5dsnvp99hxbvssf681yj5rk3r9h24hqm2")))) @@ -403,7 +404,7 @@ replacement with improvements.") (version "3.1.0") (source (origin (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/maven/wagon/" + (uri (string-append "mirror://apache/maven/wagon/" "wagon-" version "-source-release.zip")) (sha256 (base32 "0r07j6xdzdnrvqnv8ida7dx1m05pznh5qgmcfcfpyvg9nxbj3l1n")))) (build-system ant-build-system) @@ -690,7 +691,7 @@ gets and puts artifacts through HTTP(S) using Apache HttpClient-4.x."))) (version "3.6.1") (source (origin (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/maven/" + (uri (string-append "mirror://apache/maven/" "maven-3/" version "/source/" "apache-maven-" version "-src.tar.gz")) (sha256 (base32 "0grw9zp166ci53rd7qkyy2qmwmik37xhiz1z84jpm0msyvzj2n82")) diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm index 8ff4759127..56e563a132 100644 --- a/gnu/packages/mc.scm +++ b/gnu/packages/mc.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,14 +37,14 @@ (define-public mc (package (name "mc") - (version "4.8.23") + (version "4.8.24") (source (origin (method url-fetch) - (uri (string-append "http://ftp.midnight-commander.org/mc-" + (uri (string-append "https://ftp.midnight-commander.org/mc-" version ".tar.xz")) (sha256 - (base32 "077z7phzq3m1sxyz7li77lyzv4rjmmh3wp2vy86pnc4387kpqzyx")))) + (base32 "0ikd2yql44p7nagmb08dmjqdwadclnvgr7ri9pmzc2s5f301r7w5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 57ff0835d1..c20e48cb6d 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org> @@ -21,6 +21,7 @@ ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -440,7 +441,16 @@ authentication.") version "/pidgin-" version ".tar.bz2")) (sha256 (base32 "13vdqj70315p9rzgnbxjp9c51mdzf1l4jg1kvnylc4bidw61air7")) - (patches (search-patches "pidgin-add-search-path.patch")))) + (patches (search-patches "pidgin-add-search-path.patch" + ;; Remove the snippet and bootstrapping + ;; native-inputs together with this patch. + "pidgin-libnm.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove stale generated file after applying pidgin-libnm.patch. + (delete-file "configure") + #t)))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -448,7 +458,12 @@ authentication.") ("intltool" ,intltool) ("gconf" ,gconf) ("python" ,python-2) - ("doxygen" ,doxygen))) + ("doxygen" ,doxygen) + + ;; For bootstrapping after applying pidgin-libnm.patch. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("gtk+" ,gtk+-2) ("libgcrypt" ,libgcrypt) @@ -551,14 +566,14 @@ compromised.") (define-public znc (package (name "znc") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) (uri (string-append "http://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 - "0m5xf60r40pgbg9lyk56dafxj2hj149pn2wf8vzsp8xgq4kv5zcl")))) + "0hb1v167aa6gv5bcwz352l6b8gnd74ymjw92y4x882l099hzg59i")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -741,7 +756,7 @@ end-to-end encryption support; XML console.") (define-public gajim-omemo (package (name "gajim-omemo") - (version "2.6.29") + (version "2.7.4") (source (origin (method url-fetch/zipbomb) (uri (string-append @@ -749,7 +764,7 @@ end-to-end encryption support; XML console.") version ".zip")) (sha256 (base32 - "1mif5qkrvxclqbqmq6njini4laznbs5nn82w2f1hkl8c1284dvgi")))) + "00zrj57n86c2m99n0swmmaws4f8zccbgbi8fknv6f9b1vif9jc8p")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -765,7 +780,7 @@ end-to-end encryption support; XML console.") (propagated-inputs `(("python-axolotl" ,python-axolotl))) (home-page - "https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin") + "https://dev.gajim.org/gajim/gajim-plugins/-/wikis/OmemoGajimPlugin") (synopsis "Gajim OMEMO plugin") (description "This package provides the Gajim OMEMO plugin. OMEMO is an XMPP @@ -1017,7 +1032,7 @@ and prevent message loss.") (define-public c-toxcore (package (name "c-toxcore") - (version "0.2.9") + (version "0.2.12") (source (origin (method git-fetch) @@ -1027,7 +1042,7 @@ and prevent message loss.") (file-name (git-file-name name version)) (sha256 (base32 - "0aljr9hqybla6p61af6fdkv0x8gph7c2wacqqa9hq2z9w0p4fs5j")))) + "0a6sqpm00d2rn0nviqfz4gh9ck1wzci6rxgmqmcyryl5ca19ffvp")))) (arguments `(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable ; for now. @@ -1106,14 +1121,15 @@ instant messenger with audio and video chat capabilities.") (define-public qtox (package (name "qtox") - (version "1.16.3") + (version "1.17.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/qTox/qTox/archive/v" - version ".tar.gz")) + (method url-fetch/tarbomb) + (uri (string-append "https://github.com/qTox/qTox/releases" + "/download/v" version + "/v" version ".tar.gz")) (sha256 (base32 - "10n3cgw9xaqin9la8wpd8v83bkjmimicgbyp5ninsdgsrgky4hmq")) + "0fmr3a0apil3rl32247qv2pqslp3knpbj5vhprdq0ixsvifrlhmh")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments @@ -1126,6 +1142,13 @@ instant messenger with audio and video chat capabilities.") (("__TIME__") "\"\"") (("TIMESTAMP") "\"\"")) #t)) + (add-after 'unpack 'disable-network-tests + (lambda _ + ;; These tests require network access. + (substitute* "cmake/Testing.cmake" + (("auto_test\\(core core\\)") "# auto_test(core core)") + (("auto_test\\(net bsu\\)") "# auto_test(net bsu)")) + #t)) ;; Ensure that icons are found at runtime. (add-after 'install 'wrap-executable (lambda* (#:key inputs outputs #:allow-other-keys) @@ -1831,7 +1854,7 @@ QMatrixClient project.") (define-public mtxclient (package (name "mtxclient") - (version "0.2.1") + (version "0.3.0") (source (origin (method git-fetch) @@ -1840,7 +1863,7 @@ QMatrixClient project.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0pycznrvj57ff6gbwfn1xj943d2dr4vadl79hii1z16gn0nzxpmj")))) + (base32 "0vf5xmn6yfi5lvskfgrdmnalvclzrapcrml92bj9qaa8vq8mfsf2")))) (arguments `(#:configure-flags (list @@ -1851,7 +1874,7 @@ QMatrixClient project.") (add-before 'configure 'disable-network-tests (lambda _ (substitute* "CMakeLists.txt" - (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption)") + (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption|Pushrules)") "# add_test")) #t)) (add-before 'configure 'set-home @@ -1881,7 +1904,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") (define-public nheko (package (name "nheko") - (version "0.6.4") + (version "0.7.1") (source (origin (method git-fetch) @@ -1890,7 +1913,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "19dkc98l1q4070v6mli4ybqn0ip0za607w39hjf0x8rqdxq45iwm")))) + (base32 "12sxibbrn79sxkf9jrm7jrlj7l5vz15claxrrll7pkv9mv44wady")))) (arguments `(#:tests? #f ;no test target #:configure-flags @@ -1920,8 +1943,11 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") ("mtxclient" ,mtxclient) ("openssl" ,openssl) ("qtbase" ,qtbase) - ("qtsvg" ,qtsvg) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtmultimedia" ,qtmultimedia) + ("qtquickcontrols2" ,qtquickcontrols2) + ("qtsvg" ,qtsvg) ("spdlog" ,spdlog) ("tweeny" ,tweeny) ("zlib" ,zlib))) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index d88bbc3aa3..f6a1153548 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -62,7 +62,7 @@ (define-public nagios (package (name "nagios") - (version "4.3.4") + (version "4.4.6") ;; XXX: Nagios 4.2.x and later bundle a copy of AngularJS. (source (origin (method url-fetch) @@ -71,7 +71,7 @@ version "/nagios-" version ".tar.gz")) (sha256 (base32 - "1wa4m952sb23dqi5w759adimsp21bkhp598rpq9dnhz3v497h2y9")) + "1x5hb97zbvkm73q53ydp1gwj8nnznm72q9c4rm6ny7phr995l3db")) (modules '((guix build utils))) (snippet ;; Ensure reproducibility. diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index ae234afa29..2a4ca555dc 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -309,22 +309,24 @@ This package contains the binary.") (define-public mpg123 (package (name "mpg123") - (version "1.25.13") - (source (origin - (method url-fetch) - (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/" - version "/mpg123-" version ".tar.bz2") - (string-append - "https://www.mpg123.org/download/mpg123-" - version ".tar.bz2"))) - (sha256 - (base32 - "02l915jq0ymndb082g6w89bpf66z04ifa1lr7ga3yycw6m46hc4h")))) + (version "1.26.1") + (source + (origin + (method url-fetch) + (uri (list (string-append "mirror://sourceforge/mpg123/mpg123/" + version "/mpg123-" version ".tar.bz2") + (string-append + "https://www.mpg123.org/download/mpg123-" + version ".tar.bz2"))) + (sha256 + (base32 "0cp01wdy77ggzqzzasxd5jd9iypcly5m4c89idc9mpgknyd65mkl")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-default-audio=pulse"))) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("pulseaudio" ,pulseaudio) - ("alsa-lib" ,alsa-lib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("pulseaudio" ,pulseaudio))) (home-page "https://www.mpg123.org/") (synopsis "Console MP3 player and decoder library") (description diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 755fa5d482..543345d9e0 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016, 2018, 2019, 2020 Leo Famulari <leo@famulari.name> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -183,7 +183,7 @@ player daemon.") (define-public ncmpc (package (name "ncmpc") - (version "0.37") + (version "0.38") (source (origin (method url-fetch) (uri @@ -192,7 +192,7 @@ player daemon.") "/ncmpc-" version ".tar.xz")) (sha256 (base32 - "0p31jpv1vj01bqf1589mnfpv9618cfsv259rlnbqybg1yqkvg3kw")))) + "18i73q33xq89abrxjd3hhl05gjniv6ms76ndjlc168ydm8wamh9b")))) (build-system meson-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 2848e63d60..b3a5ec5894 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2016, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> @@ -29,6 +29,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages m4) #:use-module (gnu packages gcc) + #:use-module (gnu packages texinfo) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -156,17 +157,27 @@ precision and correctly rounds the results.") (define-public mpfi (package (name "mpfi") - (version "1.5.3") + (version "1.5.4") (source (origin (method url-fetch) (uri (string-append "https://gforge.inria.fr/frs/download.php" - "/latestfile/181/" name "-" version ".tar.bz2")) + "/latestfile/181/mpfi-" version ".tgz")) (sha256 - (base32 "0bqr8yibl7jbrp0bw7xk1lm7nis7rv26jsz6y8ycvih8n9bx90r3")))) + (base32 "0mismr1ll3wp788dq2n22s5irm0dziy75byyfdwz22kjbmckhf9v")))) (build-system gnu-build-system) - (propagated-inputs `(("gmp" ,gmp) ; <mpfi.h> refers to both - ("mpfr" ,mpfr))) + (arguments + `(#:tests? #f ;tests are broken in this release + #:configure-flags '("--enable-static=no"))) + (native-inputs + `(("automake" ,automake) + ("autoreconf" ,autoconf) + ("libtool" ,libtool) + ("texinfo" ,texinfo))) + (propagated-inputs + `(("gmp" ,gmp) ; <mpfi.h> refers to both + ("mpfr" ,mpfr))) + (home-page "https://gforge.inria.fr/projects/mpfi/") (synopsis "C library for arbitrary-precision interval arithmetic") (description "@acronym{MPFI, Multiple Precision Floating-point Interval} is a portable C @@ -178,8 +189,7 @@ Floating-Point Reliably} libraries. The purpose of arbitrary-precision interval arithmetic is to get results that are both guaranteed, thanks to interval computation, and accurate, thanks to multiple-precision arithmetic.") - (license lgpl2.1+) - (home-page "https://perso.ens-lyon.fr/nathalie.revol/software.html"))) + (license lgpl2.1+))) (define-public irram (package diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 3736abb353..49f784f529 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -141,6 +141,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages video) + #:use-module (gnu packages vim) ;for 'xxd' #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) @@ -384,14 +385,14 @@ many input formats and provides a customisable Vi-style user interface.") (define-public denemo (package (name "denemo") - (version "2.3.0") + (version "2.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/denemo/" "denemo-" version ".tar.gz")) (sha256 - (base32 "1blkcl3slbsq9jlhwcf2m9v9g38a0sjfhh9advgi2qr1gxri08by")))) + (base32 "145kq0zfgdadykl3i6na221i4s5wzdrcqq48amzyfarnrqk2rmpd")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1755,7 +1756,7 @@ is subjective.") (define-public tuxguitar (package (name "tuxguitar") - (version "1.5.3") + (version "1.5.4") (source (origin (method url-fetch) (uri (string-append @@ -1763,7 +1764,7 @@ is subjective.") version "/tuxguitar-" version "-src.tar.gz")) (sha256 (base32 - "1qy5kjcsl3c86kdlyvsf6dsfmfl1mv8zg0ln6g3qg3i8f35vlpp6")))) + "0fjhf56lhlhm84v08917xp4yw8y6d0qajm4qiy1gfp8dm74whwwg")))) (build-system ant-build-system) (arguments `(#:build-target "build" @@ -1880,7 +1881,7 @@ export.") (define-public pd (package (name "pd") - (version "0.50-2") + (version "0.51-0") (source (origin (method url-fetch) (uri @@ -1888,23 +1889,25 @@ export.") version ".src.tar.gz")) (sha256 (base32 - "0dz6r6jy0zfs1xy1xspnrxxks8kddi9c7pxz4vpg2ygwv83ghpg5")))) + "0qzv4hjf4h7xx00ihnbl43pxa0fia9qkc8nwgzhqrs12jiljz6ps")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no "check" target - #:configure-flags - (list - "--enable-jack" - (string-append "--with-wish=" (string-append - (assoc-ref %build-inputs "tk") - "/bin/wish8.6"))) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'fix-with-path - (lambda _ - (substitute* "tcl/pd-gui.tcl" - (("exec wish ") (string-append "exec " (which "wish8.6") " "))) - #t))))) + (let ((wish (string-append "wish" (version-major+minor + (package-version tk))))) + `(#:tests? #f ; no "check" target + #:configure-flags + (list + "--enable-jack" + (string-append "--with-wish=" (string-append + (assoc-ref %build-inputs "tk") + "/bin/" ,wish))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-with-path + (lambda _ + (substitute* "tcl/pd-gui.tcl" + (("exec wish ") (string-append "exec " (which ,wish) " "))) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -1915,7 +1918,7 @@ export.") `(("tk" ,tk) ("alsa-lib" ,alsa-lib) ("jack" ,jack-1))) - (home-page "http://puredata.info") + (home-page "https://puredata.info") (synopsis "Visual programming language for artistic performances") (description "Pure Data (aka Pd) is a visual programming language. Pd enables @@ -2237,61 +2240,66 @@ capabilities, custom envelopes, effects, etc.") (license license:gpl2))) (define-public yoshimi - (package - (name "yoshimi") - (version "1.7.0.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/yoshimi/" - (version-major+minor version) - "/yoshimi-" version ".tar.bz2")) - (sha256 - (base32 - "1pkqrrr51vlxh96vy0c0rf5ijjvymys4brsw9rv1bdp1bb8izw6c")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; there are no tests - #:configure-flags - (list (string-append "-DCMAKE_INSTALL_DATAROOTDIR=" - (assoc-ref %outputs "out") "/share")) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'enter-dir - (lambda _ (chdir "src") #t)) - ;; Move SSE compiler optimization flags from generic target to - ;; athlon64 and core2 targets, because otherwise the build would fail - ;; on non-Intel machines. - (add-after 'unpack 'remove-sse-flags-from-generic-target - (lambda _ - (substitute* "src/CMakeLists.txt" - (("-msse -msse2 -mfpmath=sse") "") - (("-march=(athlon64|core2)" flag) - (string-append flag " -msse -msse2 -mfpmath=sse"))) - #t))))) - (inputs - `(("boost" ,boost) - ("fftwf" ,fftwf) - ("alsa-lib" ,alsa-lib) - ("jack" ,jack-1) - ("fontconfig" ,fontconfig) - ("minixml" ,minixml) - ("mesa" ,mesa) - ("fltk" ,fltk) - ("lv2" ,lv2) - ("readline" ,readline) - ("ncurses" ,ncurses) - ("cairo" ,cairo) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://yoshimi.sourceforge.net/") - (synopsis "Multi-paradigm software synthesizer") - (description - "Yoshimi is a fork of ZynAddSubFX, a feature-heavy real-time software + ;; Release 1.7.1 doesn't build with our version of LV2. Applying only + ;; 86996cbb235f0fe138ae814a6758c2c8ba1c2a38 is not enough. + (let ((commit "bfcadc6537dbcb301cd93346f21d36bcbffa36c7") + (revision "0")) + (package + (name "yoshimi") + (version (git-version "1.7.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/p/yoshimi/code") + (commit commit))) + (sha256 + (base32 "0vhdxj7ky4iyq11r5wj9jwavjih4xvcn2djbrlmwpkdhrzpy6myl")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; there are no tests + #:configure-flags + (list (string-append "-DCMAKE_INSTALL_DATAROOTDIR=" + (assoc-ref %outputs "out") "/share")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'enter-dir + (lambda _ (chdir "src") #t)) + ;; Move SSE compiler optimization flags from generic target to + ;; athlon64 and core2 targets, because otherwise the build would fail + ;; on non-Intel machines. + (add-after 'unpack 'remove-sse-flags-from-generic-target + (lambda _ + (substitute* "src/CMakeLists.txt" + (("-msse -msse2 -mfpmath=sse") "") + (("-march=(athlon64|core2)" flag) + (string-append flag " -msse -msse2 -mfpmath=sse"))) + #t))))) + (inputs + `(("boost" ,boost) + ("fftwf" ,fftwf) + ("alsa-lib" ,alsa-lib) + ("jack" ,jack-1) + ("fontconfig" ,fontconfig) + ("minixml" ,minixml) + ("mesa" ,mesa) + ("fltk" ,fltk) + ("lv2" ,lv2) + ("readline" ,readline) + ("ncurses" ,ncurses) + ("cairo" ,cairo) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://yoshimi.sourceforge.net/") + (synopsis "Multi-paradigm software synthesizer") + (description + "Yoshimi is a fork of ZynAddSubFX, a feature-heavy real-time software synthesizer. It offers three synthesizer engines, multitimbral and polyphonic synths, microtonal capabilities, custom envelopes, effects, etc. Yoshimi improves on support for JACK features, such as JACK MIDI.") - (license license:gpl2))) + (license license:gpl2)))) (define-public libgig (package @@ -2499,14 +2507,14 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.9.12") + (version "0.9.14") (source (origin (method url-fetch) - (uri (string-append "http://downloads.sourceforge.net/qtractor/" + (uri (string-append "https://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "06493sf4hr178jkvric3rmc2phh1ph2jlyh8kl9z248amq3zfnhy")))) + "1gh268gdpj7nw19xfh7k2l3aban4yrs1lmx33qswrnngs2izj1fk")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target @@ -2718,8 +2726,7 @@ tune-in sender list from @url{http://opml.radiotime.com}.") (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests - #:make-flags (list "CC=gcc" "CFLAGS=-std=c99" - (string-append "PREFIX=" %output)) + #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs @@ -2962,7 +2969,7 @@ websites such as Libre.fm.") (home-page "https://github.com/yask123/Instant-Music-Downloader") (synopsis "Command-line program to download a song from YouTube") (description "InstantMusic downloads a song from YouTube in MP3 format. -Songs can be searched by artist, name or even by a part of the song text.") + Songs can be searched by artist, name or even by a part of the song text.") (license license:expat)))) (define-public beets @@ -3011,9 +3018,9 @@ Songs can be searched by artist, name or even by a part of the song text.") (home-page "https://beets.io") (synopsis "Music organizer") (description "The purpose of beets is to get your music collection right -once and for all. It catalogs your collection, automatically improving its -metadata as it goes using the MusicBrainz database. Then it provides a variety -of tools for manipulating and accessing your music.") + once and for all. It catalogs your collection, automatically improving its + metadata as it goes using the MusicBrainz database. Then it provides a variety + of tools for manipulating and accessing your music.") (license license:expat))) (define-public beets-bandcamp @@ -3039,8 +3046,8 @@ of tools for manipulating and accessing your music.") (synopsis "Bandcamp plugin for beets") (description "This plugin for beets automatically obtains tag data from @uref{Bandcamp, -https://bandcamp.com/}. It's also capable of getting song lyrics and album art -using the beets FetchArt plugin.") + https://bandcamp.com/}. It's also capable of getting song lyrics and album art + using the beets FetchArt plugin.") (license license:gpl2))) (define-public milkytracker @@ -3081,9 +3088,9 @@ using the beets FetchArt plugin.") `(("pkg-config" ,pkg-config))) (synopsis "Music tracker for working with .MOD/.XM module files") (description "MilkyTracker is a music application for creating .MOD and .XM -module files. It attempts to recreate the module replay and user experience of -the popular DOS program Fasttracker II, with special playback modes available -for improved Amiga ProTracker 2/3 compatibility.") + module files. It attempts to recreate the module replay and user experience of + the popular DOS program Fasttracker II, with special playback modes available + for improved Amiga ProTracker 2/3 compatibility.") (home-page "https://milkytracker.titandemo.org/") ;; 'src/milkyplay' is under Modified BSD, the rest is under GPL3 or later. (license (list license:bsd-3 license:gpl3+)))) @@ -3107,8 +3114,8 @@ for improved Amiga ProTracker 2/3 compatibility.") `(begin (substitute* "schism/version.c" (("Schism Tracker built %s %s.*$") - (string-append "Schism Tracker version " ,version "\");"))) - #t)))) + (string-append "Schism Tracker version " ,version "\") ;"))) + #t)))) (build-system gnu-build-system) (arguments `(#:phases @@ -3686,7 +3693,7 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") ("lv2" ,lv2) ("lilv" ,lilv) ("raul" ,raul-devel) - ("ganv" ,ganv-devel) + ("ganv" ,ganv) ("suil" ,suil) ("serd" ,serd) ("sord" ,sord) @@ -4127,14 +4134,14 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "19.12") + (version "20.06") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/rosegarden/rosegarden/" version "/rosegarden-" version ".tar.bz2")) (sha256 - (base32 "1qcaxc6hdzva7kwxxhgl95437fagjbxzv4mihsgpr7y9qk08ppw1")))) + (base32 "1i9x9rkqwwdrk77xl5ra8i48cjirbc7fbisnj0nnclccwaq0wk6r")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") @@ -4864,6 +4871,48 @@ effects. It contains a bitcrusher, delay, distortion, equalizer, compressor, and reverb.") (license license:gpl2+))) +(define-public lsp-plugins + (package + (name "lsp-plugins") + (version "1.1.22") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sadko4u/lsp-plugins.git") + (commit (string-append "lsp-plugins-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s0i0kf5nqxxywckg03fds1w7696ly60rnlljzqvp7qfgzps1r6c")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list + (string-append "CC=" ,(cc-for-target)) + "BUILD_MODULES=\"lv2 ladspa jack\"" "VST_UI=0" + (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "ETC_PATH=" (assoc-ref %outputs "out") "/etc")) + #:phases + (modify-phases %standard-phases + (delete 'configure)) ; no configure + #:test-target "test")) + (inputs + `(("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))) + (synopsis "Audio plugin collection") + (description "LSP (Linux Studio Plugins) is a collection of audio +plugins available as LADSPA/LV2 plugins and as standalone JACK +applications.") + (home-page "https://lsp-plug.in/") + (license license:lgpl3))) + (define-public sherlock-lv2 (package (name "sherlock-lv2") @@ -4893,6 +4942,49 @@ and debugging of event signal flows inside plugin graphs.") (home-page "https://open-music-kontrollers.ch/lv2/sherlock/") (license license:artistic2.0))) +(define-public spectacle-analyzer + (package + (name "spectacle-analyzer") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jpcima/spectacle.git") + (commit (string-append "v" version)) + ;; Bundles a specific commit of the DISTRHO plugin framework. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xiqa6z8g68lcvnwhws4j7c4py35r9d20cirrili7ycyp3a6149a")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #: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) + ("xxd" ,xxd))) + (inputs + `(("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.") + (home-page "https://github.com/jpcima/spectacle") + ;; The project is licensed under the ISC license, and files in + ;; sources/plugin carry the Expat license. + (license (list license:isc license:expat)))) + (define-public x42-plugins (package (name "x42-plugins") @@ -5538,3 +5630,66 @@ It is provided as an LV2 plugin and as a standalone Jack application.") It is provided as an LV2 plugin and as a standalone Jack application.") (home-page "https://github.com/pdesaulniers/wolf-spectrum") (license license:gpl3))) + +(define-public shiru-lv2 + (let ((commit "08853f99140012234649e67e5647906fda74f6cc") + (revision "1")) + (package + (name "shiru-lv2") + (version (git-version "0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/linuxmao-org/shiru-plugins.git") + (commit commit) + ;; Bundles a specific commit of the DISTRHO plugin framework. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00rf6im3rhg98h60sgl1r2s37za5vr5h14pybwi07h8zbc8mi6fm")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:make-flags (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure target + (replace 'install ;no install target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (lv2 (string-append out "/lib/lv2"))) + ;; Install LV2. + (for-each + (lambda (file) + (copy-recursively file + (string-append lv2 "/" (basename file)))) + (find-files "bin" "\\.lv2$" #:directories? #t)) + ;; Install executables. + (for-each + (lambda (file) + (install-file file bin)) + (find-files "bin" + (lambda (name stat) + (and + (equal? (dirname name) "bin") + (not (string-suffix? ".so" name)) + (not (string-suffix? ".lv2" name)))))) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("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 + framework.") + (home-page "http://shiru.untergrund.net/software.shtml") + (license license:wtfpl2)))) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index 099a953989..8ea84ab724 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,13 +30,13 @@ (define-public nano (package (name "nano") - (version "4.9.2") + (version "4.9.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz")) (sha256 - (base32 "1xifbn1xaklrrf7knxvqif0hy0wgnas7w0wfggay5kifjkm5x8nq")))) + (base32 "1d2i3wvsq5lvpxxinq51dcvd58xx7j0d0c2csz9hgvd06gq3hd3f")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm index 720b8a7858..e59e0334b7 100644 --- a/gnu/packages/ncdu.scm +++ b/gnu/packages/ncdu.scm @@ -28,14 +28,14 @@ (define-public ncdu (package (name "ncdu") - (version "1.14.2") + (version "1.15") (source (origin (method url-fetch) (uri (string-append "https://dev.yorhel.nl/download/ncdu-" version ".tar.gz")) (sha256 (base32 - "1cf6a9qw7ljaw09b0g7c5i252dl7wb2mnkrbwwwf7m0c3mf7yyll")))) + "1ywpa8yg74a5xa46f0qig92xw5z5s1lmspwzcslr497brk2ksnaa")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (synopsis "Ncurses based disk usage analyzer") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 4a2df4fd5a..75017c060c 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -456,7 +456,7 @@ more.") #t))))) (inputs `(("zeromq" ,zeromq))) - (home-page "http://zeromq.org") + (home-page "https://zeromq.org") (synopsis "High-level C bindings for ØMQ") (description "czmq provides bindings for the ØMQ core API that hides the differences @@ -487,7 +487,7 @@ between different versions of ØMQ.") `(("pkg-config" ,pkg-config))) (inputs `(("zeromq" ,zeromq))) - (home-page "http://zeromq.org") + (home-page "https://zeromq.org") (synopsis "C++ bindings for the ØMQ messaging library") (description "This package provides header-only C++ bindings for ØMQ. The header @@ -532,16 +532,16 @@ written in the C programming language.") (define-public librdkafka (package (name "librdkafka") - (version "0.9.1") + (version "1.4.2") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/edenhill/librdkafka/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/edenhill/librdkafka.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "10ldx7g7ymmg17snzx78vy4n8ma1rjx0agzi34g15j2fk867xmas")))) + "05mgrdzacn9kdpr68r5j0cvsvl54s52glnsc1ww9rcxx6p7hq1ly")))) (build-system gnu-build-system) (arguments '(#:phases @@ -589,14 +589,14 @@ receiving NDP messages.") (define-public ethtool (package (name "ethtool") - (version "5.6") + (version "5.7") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/network/" "ethtool/ethtool-" version ".tar.xz")) (sha256 (base32 - "159r0hwax0qs5diayw2glxshqxrigk0v67hgmbq56ldddm91n3ya")))) + "0f9w0pqkvwn540rasmj6c8897g9gj2hmjnbkhpi9yf1s7jyvhkkj")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -767,14 +767,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.2.3") + (version "3.2.4") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "1fpsfjrap7j84sy728yhcr2gad9nq3n5gq03mwrmxnc6ijwf81zh")))) + (base32 "1amqgn94g6h6cfnsccm2zb4c73pfv1qmzi1i6h1hnbcyhhg4czfi")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1286,7 +1286,7 @@ private (reserved).") (define-public perl-net-dns (package (name "perl-net-dns") - (version "1.21") + (version "1.24") (source (origin (method url-fetch) @@ -1297,7 +1297,7 @@ private (reserved).") (string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-" version ".tar.gz"))) (sha256 - (base32 "0yknrsh0wqr9s43c0wf3dyzrsi2r7k0v75hay74gqkq850xy3vyx")))) + (base32 "0qyy5k4k0llqjjmkkfg96919gqybdc1z5fy9047n9imidjxc59hi")))) (build-system perl-build-system) (inputs `(("perl-digest-hmac" ,perl-digest-hmac))) @@ -1343,13 +1343,13 @@ definitions and structure manipulators for Perl.") (define-public perl-net-dns-resolver-programmable (package (name "perl-net-dns-resolver-programmable") - (version "v0.003") + (version "0.003") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JM/JMEHNLE/net-dns-resolver-programmable/" - "Net-DNS-Resolver-Programmable-" version ".tar.gz")) + "Net-DNS-Resolver-Programmable-v" version ".tar.gz")) (sha256 (base32 "1v3nl2kaj4fs55n1617n53q8sa3mir06898vpy1rq98zjih24h4d")) @@ -1605,14 +1605,14 @@ HTTP proxies.") (define-public enet (package (name "enet") - (version "1.3.14") + (version "1.3.15") (source (origin (method url-fetch) (uri (string-append "http://enet.bespin.org/download/" "enet-" version ".tar.gz")) (sha256 (base32 - "0w780zc6cy8yq4cskpphx0f91lzh51vh9lwyc5ll8hhamdxgbxlq")))) + "1yxxf9bkx6dx3j8j70fj17c05likyfibb1419ls74hp58qrzdgas")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1723,25 +1723,29 @@ the bandwidth, loss, and other parameters.") (define-public nethogs (package (name "nethogs") - (version "0.8.5") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/raboof/nethogs/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "1k4x8r7s4dgcb6n2rjn28h2yyij92mwm69phncl3597cdxr954va")) - (file-name (string-append name "-" version ".tar.gz")))) + (version "0.8.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raboof/nethogs") + (commit (string-append "v" version)))) + (hash + (content-hash + (base32 "0sn1sdp86akwlm4r1vmkxjjl50c0xaisk91bbz57z7kcsaphxna9") + sha256)) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs `(("libpcap" ,libpcap) ("ncurses" ,ncurses))) (arguments `(#:make-flags `("CC=gcc" - ,(string-append "PREFIX=" %output)) + ,(string-append "PREFIX=" %output) + ,(string-append "VERSION=" ,version)) #:phases (modify-phases %standard-phases - (delete 'configure)))) ; No ./configure script. + (delete 'configure)))) ; no ./configure script. (home-page "https://github.com/raboof/nethogs") (synopsis "Per-process bandwidth monitor") (description "NetHogs is a small 'net top' tool for Linux. Instead of @@ -2117,33 +2121,28 @@ interface and a programmable text output for scripting.") (define-public libnet (package (name "libnet") - (version "1.2-rc3") + (version "1.2") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sam-github/libnet") - (commit (string-append "libnet-" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://github.com/libnet/libnet/releases/download" + "/v" version "/libnet-" version ".tar.gz")) (sha256 (base32 - "0cy8w4g5rv963v4p6iq3333kxgdddx2lywp70xf62553a25xhhs4")))) + "19ys9vxk6fg70yzzdxsphfr0rwzgxxhr9b3ykhpg7rfray0qd96a")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ (chdir "libnet") #t)) (add-before 'build 'build-doc (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "-C" "doc" "doc" make-flags)))))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("doxygen" ,doxygen))) - (home-page "https://sourceforge.net/projects/libnet-dev/") + `(;; To build the documentation, Doxygen and Perl is required. + ("doxygen" ,doxygen) + ("perl" ,perl))) + (home-page "https://github.com/libnet/libnet") (synopsis "Framework for low-level network packet construction") (description "Libnet provides a fairly portable framework for network packet @@ -2535,7 +2534,7 @@ SNMP v3 using both IPv4 and IPv6.") (define-public ubridge (package (name "ubridge") - (version "0.9.16") + (version "0.9.18") (source (origin (method git-fetch) @@ -2544,11 +2543,12 @@ SNMP v3 using both IPv4 and IPv6.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1bind7ylgxs743vfdmpdrpp4iamy461bc3i7nxza91kj7hyyjz6h")))) + (base32 "0jg66jhhpv4c9340fsdp64hf9h253i8r81fknxa0gq241ripp3jn")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests - #:make-flags '("CC=gcc") + #:make-flags + (list ,(string-append "CC=" (cc-for-target))) #:phases (modify-phases %standard-phases (delete 'configure) ; no configure script @@ -2607,7 +2607,7 @@ packets from wireless devices for use with hashcat or John the Ripper.") (define-public hcxdumptool (package (name "hcxdumptool") - (version "5.2.0") + (version "6.0.6") (source (origin (method git-fetch) @@ -2615,17 +2615,19 @@ packets from wireless devices for use with hashcat or John the Ripper.") (url "https://github.com/ZerBea/hcxdumptool.git") (commit version))) (sha256 - (base32 "0pg1pvg029gm4rj0fj5kcsjb32hixgn4cxsgiir7spkmacf1qm4q")) + (base32 "1b4d543y64ib92w9gcmiyjn5hz2vyjqmxk3f3yr1zk04fhw16gmf")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `(#:make-flags - (list "CC=gcc" + (list ,(string-append "CC=" (cc-for-target)) (string-append "INSTALLDIR=" (assoc-ref %outputs "out") "/bin")) #:tests? #f ; no test suite #:phases (modify-phases %standard-phases (delete 'configure)))) + (inputs + `(("openssl" ,openssl))) (home-page "https://github.com/ZerBea/hcxdumptool") (synopsis "Small tool to capture packets from wlan devices") (description @@ -2897,14 +2899,14 @@ maximum extent possible.") (define-public batctl (package (name "batctl") - (version "2020.0") + (version "2020.1") (source (origin (method url-fetch) (uri (string-append "https://downloads.open-mesh.org/batman/releases/batman-adv-" version "/batctl-" version ".tar.gz")) (sha256 - (base32 "01414ywhlb2b9ng9d5kd5rr1s7wzvi234j8hj6ra2spn92qykvv0")))) + (base32 "0fy252q1my3a57v6pfz8i97h6zv7v03di01dhwjkj47pqnx1rqm3")))) (inputs `(("libnl" ,libnl))) (native-inputs @@ -2930,7 +2932,7 @@ module @code{batman-adv}, for Layer 2.") (define-public pagekite (package (name "pagekite") - (version "1.5.0.200327") + (version "1.5.2.200603") (source (origin (method git-fetch) @@ -2939,7 +2941,7 @@ module @code{batman-adv}, for Layer 2.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1vw7kjwxqd3qvm7kpxgjzl6797y0i1f16yfkfad84qpx2ij0gvdm")))) + (base32 "08rcyr54dssnpand6y26f8x9cjmd91hr44my08kxw70s5iqiwizv")))) (build-system python-build-system) (arguments `(#:phases @@ -3099,7 +3101,7 @@ cables.") (define-public haproxy (package (name "haproxy") - (version "2.1.3") + (version "2.1.6") (source (origin (method url-fetch) (uri (string-append "https://www.haproxy.org/download/" @@ -3107,7 +3109,7 @@ cables.") "/src/haproxy-" version ".tar.gz")) (sha256 (base32 - "0n8bw3d6gikr8c56ycrvksp1sl0b4yfzp19867cxkl3l0daqwrxv")))) + "1pyz4gckdn8982vpb1iiw9agwp2s5p8wc0nn1qh1ic0wq3lrnpg6")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm index 45ed181b03..f3015ef79a 100644 --- a/gnu/packages/nfs.scm +++ b/gnu/packages/nfs.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,7 +46,7 @@ (define-public nfs-utils (package (name "nfs-utils") - (version "2.4.2") + (version "2.4.3") (source (origin (method url-fetch) (uri (string-append @@ -53,7 +54,7 @@ "/nfs-utils-" version ".tar.xz")) (sha256 (base32 - "0f0hm8jq1p5gra55v621qpbb3mryakaikzpy5znkvxym0dx76r24")))) + "16b5y82cjy1cvijg5zmdvivc6sfdlv2slyynxbwwyw43vpjzqrdg")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index a3cf3c9199..1adb2cd07f 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -27,6 +27,7 @@ #:use-module (guix packages) #:use-module (guix derivations) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages adns) @@ -197,3 +198,15 @@ devices.") (license expat) (properties '((max-silent-time . 7200) ;2h, needed on ARM (timeout . 21600))))) ;6h + +(define-public libnode + (package + (inherit node) + (name "libnode") + (arguments + (substitute-keyword-arguments (package-arguments node) + ((#:configure-flags flags ''()) + `(cons* "--shared" "--without-npm" ,flags)) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (delete 'patch-npm-shebang))))))) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index e423bdd3a2..b19ad7e1e9 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -72,7 +72,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.50") + (version "3.52.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -83,7 +83,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "19rv0vp9nmvn6dy29qsv8f4v7wn5kizrpm59vbszahsjfwcz6p8q")) + "0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 916c7fe292..d9ba2aee2d 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -267,14 +267,14 @@ for building OCaml library and programs.") (define-public ocaml-extlib (package (name "ocaml-extlib") - (version "1.7.6") + (version "1.7.7") (source (origin (method url-fetch) - (uri (string-append "https://ygrek.org.ua/p/release/ocaml-extlib/" + (uri (string-append "https://ygrek.org/p/release/ocaml-extlib/" "extlib-" version ".tar.gz")) (sha256 (base32 - "0wfs20v1yj5apdbj7214wdsr17ayh0qqq7ihidndvc8nmmwfa1dz")))) + "1sxmzc1mx3kg62j8kbk0dxkx8mkf1rn70h542cjzrziflznap0s1")))) (build-system ocaml-build-system) (arguments `(#:phases @@ -528,7 +528,7 @@ Git-friendly development workflow.") (define-public camlp5 (package (name "camlp5") - (version "7.11") + (version "7.12") (source (origin (method git-fetch) @@ -537,7 +537,7 @@ Git-friendly development workflow.") (commit (string-append "rel" (string-delete #\. version))))) (file-name (git-file-name name version)) (sha256 - (base32 "1s1f9i0r0czxlbnsaz4kvs2ahknmqxcm5ypl75g7scjcbl0an2x4")))) + (base32 "12ix5g15bys932hyf9gs637iz76m0ji9075d83jfdmx85q30llgf")))) (build-system gnu-build-system) (inputs `(("ocaml" ,ocaml))) @@ -582,14 +582,14 @@ concrete syntax of the language (Quotations, Syntax Extensions).") (define-public hevea (package (name "hevea") - (version "2.33") + (version "2.34") (source (origin (method url-fetch) (uri (string-append "http://hevea.inria.fr/old/" "hevea-" version ".tar.gz")) (sha256 (base32 - "0115bn6n6hhb08rmj0m508wjcsn1mggiagqly6s941pq811wxymb")))) + "1pzyszxw90klpcmhjqrjfc8cw6c0gm4w2blim8ydyxb6rq6qml1s")))) (build-system gnu-build-system) (inputs `(("ocaml" ,ocaml))) diff --git a/gnu/packages/openkinect.scm b/gnu/packages/openkinect.scm new file mode 100644 index 0000000000..536eb5a6fd --- /dev/null +++ b/gnu/packages/openkinect.scm @@ -0,0 +1,141 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> +;;; +;;; 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 openkinect) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages libusb) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages gl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages image-processing)) + +(define-public libfreenect + (let ((version "0.6.1")) + (package + (name "libfreenect") + (version version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenKinect/libfreenect") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0was1va167rqshmpn382h36yyprpfi9cwillb6ylppmnfdrfrhrr")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; package has no tests + #:configure-flags + '("-DBUILD_FAKENECT=ON" + "-DBUILD_CPP=ON" + "-DBUILD_EXAMPLES=OFF" ; available in libfreenect-examples + "-DBUILD_CV=OFF" ; available in libfreenect-cv + "-DBUILD_PYTHON=OFF" ; available in python-libfreenect + "-DBUILD_C_SYNC=ON") + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (rules-out (string-append out "/lib/udev/rules.d"))) + (install-file "../source/platform/linux/udev/51-kinect.rules" + (string-append rules-out "51-kinect.rules")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libusb" ,libusb))) + (synopsis "Drivers and libraries for the Xbox Kinect device") + (description "libfreenect is a userspace driver for the Microsoft Kinect. +It supports: RGB and Depth Images, Motors, Accelerometer, LED and Audio.") + (home-page "https://openkinect.org/") + (license license:gpl2+)))) + +;; Library are already compiled in libfreenect, avoid build it again. +(define libfreenect-derived-phases + '(modify-phases %standard-phases + (add-after 'unpack 'patch-CMakeLists.txt + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + ((".*libusb.*") "") + (("add_subdirectory \\(src\\)") "") + ((".*libfreenectConfig.cmake.*") "")) + #t)))) + +(define-public libfreenect-examples + (package + (inherit libfreenect) + (name "libfreenect-examples") + (inputs + `(("libfreenect" ,libfreenect) + ("glut" ,freeglut))) + (arguments + `(#:tests? #f ; package has no tests + #:configure-flags '("-DBUILD_EXAMPLES=ON" + "-DBUILD_FAKENECT=OFF" + "-DBUILD_CPP=OFF" + "-DBUILD_C_SYNC=OFF" + "-DBUILD_CV=OFF") + #:phases ,libfreenect-derived-phases)) + (synopsis "Examples for libfreenect, the Xbox Kinect device library"))) + +(define-public libfreenect-opencv + (package + (inherit libfreenect) + (name "libfreenect-opencv") + (inputs + `(("libfreenect" ,libfreenect) + ("opencv" ,opencv))) + (arguments + `(#:tests? #f ; package has no tests + #:configure-flags '("-DBUILD_EXAMPLES=OFF" + "-DBUILD_FAKENECT=OFF" + "-DBUILD_CPP=OFF" + "-DBUILD_C_SYNC=OFF" + "-DBUILD_CV=ON") + #:phases ,libfreenect-derived-phases)) + (synopsis "OpenCV wrapper for libfreenect, the Xbox Kinect device +library"))) + +(define-public python-libfreenect + (package + (inherit libfreenect) + (name "python-libfreenect") + (native-inputs + `(("python-cython" ,python-cython))) + (inputs + `(("libfreenect" ,libfreenect))) + (propagated-inputs + `(("python" ,python) + ("python-numpy" ,python-numpy))) + (arguments + `(#:tests? #f ; package has no tests + #:configure-flags '("-DBUILD_EXAMPLES=OFF" + "-DBUILD_FAKENECT=OFF" + "-DBUILD_CPP=OFF" + "-DBUILD_C_SYNC=OFF" + "-DBUILD_CV=OFF" + "-DBUILD_PYTHON3=ON") + #:phases ,libfreenect-derived-phases)) + (synopsis "Python wrapper for libfreenect, the Xbox Kinect device +library"))) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 3fc6fc404a..c1e6657dff 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -118,8 +118,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.1.0") - (commit "bdc801e1cfa8e436890da5bd755dd7759cb0f748") - (revision 4)) + (commit "141b5c162048f5cb52e8c90ff7c16a2e98babcfb") + (revision 10)) (package (name "guix") @@ -135,7 +135,7 @@ (commit commit))) (sha256 (base32 - "1wf30g45kh4nmcapd4vrcl6m2wjzly7v7dv8z0r584770i2yh836")) + "1j3vag994kj05b09a7w4lyas991a19hbbslcm9xvn5k2ilf4qskz")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -322,7 +322,7 @@ $(prefix)/etc/init.d\n"))) ("guile" ,guile-3.0) ("gnutls" ,gnutls) ("guile-gcrypt" ,guile-gcrypt) - ("guile-json" ,guile-json-3) + ("guile-json" ,guile-json-4) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git) @@ -371,9 +371,9 @@ $(prefix)/etc/init.d\n"))) ("glibc-utf8-locales" ,glibc-utf8-locales))) (propagated-inputs - `(("gnutls" ,(if (%current-target-system) gnutls-3.6.13 guile3.0-gnutls)) + `(("gnutls" ,(if (%current-target-system) gnutls-3.6.14 guile3.0-gnutls)) ("guile-gcrypt" ,guile-gcrypt) - ("guile-json" ,guile-json-3) + ("guile-json" ,guile-json-4) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git))) @@ -542,14 +542,14 @@ out) and returning a package that uses that as its 'source'." (define-public nix (package (name "nix") - (version "2.3.4") + (version "2.3.5") (source (origin (method url-fetch) (uri (string-append "http://nixos.org/releases/nix/nix-" version "/nix-" version ".tar.xz")) (sha256 (base32 - "03fhbb8088sgz3709zd9n9rydavar79w87l9n4q9iimcw06nlqhw")))) + "1hbqsrp1ii2sfq8x2mahjrl2182qck76n8blrl1jfz3xq99m6i15")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) @@ -982,7 +982,7 @@ environments.") `(("guix" ,guix) ("guile" ,guile-3.0))) (propagated-inputs - `(("guile-json" ,guile-json-3) + `(("guile-json" ,guile-json-4) ("guile-simple-zmq" ,guile-simple-zmq) ("guile-gcrypt" ,guile-gcrypt))) (synopsis "Guix kernel for Jupyter") diff --git a/gnu/packages/pantheon.scm b/gnu/packages/pantheon.scm new file mode 100644 index 0000000000..72910e5470 --- /dev/null +++ b/gnu/packages/pantheon.scm @@ -0,0 +1,109 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages pantheon) + #:use-module (gnu packages cmake) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages) + #:use-module (guix build-system meson) + #:use-module (guix git-download) + #:use-module ((guix licenses) :prefix license:) + #:use-module (guix packages) + #:use-module (guix utils)) + +(define-public granite + (package + (name "granite") + (version "5.4.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/elementary/granite.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0acicv3f9gksb352v88lwap8ailjsxdrfknl2xql7blasbjzl2q0")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-icon-cache + (lambda _ + (setenv "DESTDIR" "/") + #t))))) + (inputs + `(("glib" ,glib) + ("gtk" ,gtk+) + ("libgee" ,libgee))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://github.com/elementary/granite") + (synopsis "Library that extends GTK with common widgets and utilities") + (description "Granite is a companion library for GTK+ and GLib. Among other +things, it provides complex widgets and convenience functions designed for use +in apps built for the Pantheon desktop.") + (license license:lgpl3+))) + +(define-public pantheon-calculator + (package + (name "pantheon-calculator") + (version "1.5.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/elementary/calculator.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1csxsr2c8qvl97xz9ahwn91z095nzgr0i1mbcb1spljll2sr9lkj")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-schema-cache-generation + (lambda _ + (setenv "DESTDIR" "/") + #t))))) + (inputs + `(("granite" ,granite) + ("glib" ,glib) + ("gtk" ,gtk+) + ("libgee" ,libgee))) + (native-inputs + `(("cmake" ,cmake) + ("glib:bin" ,glib "bin") ; for glib-compile-schemas + ("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://github.com/elementary/calculator") + (synopsis "Desktop calculator") + (description "Calculator is an application for performing simple +arithmetic. It is the default calculator application in the Pantheon +desktop.") + (license license:gpl3))) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 92f7b58128..30b3c1ddda 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,14 +55,14 @@ (define-public parallel (package (name "parallel") - (version "20200422") + (version "20200522") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "0c2mr2rzsz0y24q4mbm2zmc2fz6bcda4gbc4qgg59sirrj8vzpjb")))) + (base32 "10is46v5dpccxibby0zikg1q68mdwpmgdpxk796zka93idd6id29")))) (build-system gnu-build-system) (arguments `(#:phases @@ -192,20 +193,22 @@ by managing a queue of pending work.") (define-public slurm-drmaa (package (name "slurm-drmaa") - (version "1.0.7") + (version "1.1.1") (source (origin (method url-fetch) - (uri "http://apps.man.poznan.pl/trac/slurm-drmaa/downloads/9") - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append + "https://github.com/natefoo/slurm-drmaa/releases/download/" + version "/slurm-drmaa-" version ".tar.gz")) (sha256 (base32 - "0grw55hmny2mc4nc0y1arnvxd2k0dcdfn476kzs180fibjxgfw14")))) + "19r4cm88pcpm3wli4cc61zq7354pg67cg866f3a430p15hm1knrn")))) (build-system gnu-build-system) + (arguments `(#:tests? #f)) ; The tests require "bats". (inputs `(("slurm" ,slurm))) (native-inputs `(("which" ,which))) - (home-page "http://apps.man.poznan.pl/trac/slurm-drmaa") + (home-page "https://github.com/natefoo/slurm-drmaa") (synopsis "Distributed resource management application API for SLURM") (description "PSNC DRMAA for Simple Linux Utility for Resource Management (SLURM) is diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 4f5ac1029f..6bd1e94c91 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> -;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> +;;; Copyright © 2018, 2019, 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> @@ -196,7 +196,7 @@ algorithms AES or Twofish.") (define-public pwsafe (package (name "pwsafe") - (version "3.50.0") + (version "3.52.0") (home-page "https://www.pwsafe.org/") (source (origin @@ -205,7 +205,7 @@ algorithms AES or Twofish.") (url "https://github.com/pwsafe/pwsafe.git") (commit version))) (sha256 - (base32 "01kfssd2vr64yh4dqhch58x36n3aj3hpj5n560f41rsxym69c6qs")) + (base32 "1ka7xsl63v0559fzf3pwc1iqr37gwr4vq5iaxa2hzar2g28hsxvh")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs @@ -232,15 +232,7 @@ algorithms AES or Twofish.") (display "find_package(GTest) add_subdirectory(src/test)\n" cmake-port) (close cmake-port) - #t))) - (add-after 'add-gtest 'patch-executables - (lambda* (#:key inputs #:allow-other-keys) - (chmod "src/test/OSTest.cpp" #o644) - (substitute* "src/os/unix/media.cpp" - (("/usr/bin/file") - (string-append (assoc-ref inputs "file") - "/bin/file"))) - #t))))) + #t)))))) (synopsis "Password safe with automatic input and key generation") (description "pwsafe is a password manager originally designed by Bruce Schneier. It offers a simple UI to manage passwords for different services. @@ -589,7 +581,7 @@ key URIs using the standard otpauth:// scheme.") (define-public qtpass (package (name "qtpass") - (version "1.2.3") + (version "1.3.2") (source (origin (method git-fetch) @@ -599,10 +591,15 @@ key URIs using the standard otpauth:// scheme.") (file-name (git-file-name name version)) (sha256 (base32 - "1vfhfyccrxq9snyvayqfzm5rqik8ny2gysyv7nipc91kvhq3bhky")))) + "0748hjvhjrybi33ci3c8hcr74k9pdrf5jv8npf9hrsrmdyy1kr9x")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:modules ((guix build gnu-build-system) + (guix build qt-utils) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build qt-utils)) + #:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) @@ -638,6 +635,10 @@ key URIs using the standard otpauth:// scheme.") (string-append icons "/qtpass-icon.svg")) (install-file "qtpass.1" man) #t))) + (add-after 'install 'wrap-qt + (lambda* (#:key outputs #:allow-other-keys) + (wrap-qt-program (assoc-ref outputs "out") "qtpass") + #t)) (add-before 'check 'check-setup ;; Make Qt render "offscreen", required for tests. (lambda _ diff --git a/gnu/packages/patches/akonadi-paths.patch b/gnu/packages/patches/akonadi-paths.patch index da250ee9e8..ac08ec5448 100644 --- a/gnu/packages/patches/akonadi-paths.patch +++ b/gnu/packages/patches/akonadi-paths.patch @@ -1,31 +1,31 @@ This is based on the respectve patch from NixPkgs, but with the parts pinning mysql and postgresql executables removed. The our package definition on why. - -Index: akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp -=================================================================== ---- akonadi-19.08.0.orig/src/akonadicontrol/agentmanager.cpp -+++ akonadi-19.08.0/src/akonadicontrol/agentmanager.cpp -@@ -78,12 +78,12 @@ AgentManager::AgentManager(bool verbose, - mStorageController = new Akonadi::ProcessControl; - mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld - connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure); -- mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); -+ mStorageController->start(QLatin1String(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); +diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp +--- a/src/akonadicontrol/agentmanager.cpp ++++ b/src/akonadicontrol/agentmanager.cpp +@@ -61,7 +61,7 @@ public: + []() { + QCoreApplication::instance()->exit(255); + }); +- start(QStringLiteral("akonadiserver"), args, RestartOnCrash); ++ start(QLatin1String(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash); + } - if (mAgentServerEnabled) { - mAgentServer = new Akonadi::ProcessControl; - connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure); -- mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); -+ mAgentServer->start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); + ~StorageProcessControl() override +@@ -84,7 +84,7 @@ public: + []() { + qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!"; + }); +- start(QStringLiteral("akonadi_agent_server"), args, RestartOnCrash); ++ start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash); } - } -Index: akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp -=================================================================== ---- akonadi-19.08.0.orig/src/akonadicontrol/agentprocessinstance.cpp -+++ akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp -@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A + ~AgentServerProcessControl() override +diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp +--- a/src/akonadicontrol/agentprocessinstance.cpp ++++ b/src/akonadicontrol/agentprocessinstance.cpp +@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo) } else { Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher); const QStringList arguments = QStringList() << executable << identifier(); @@ -34,11 +34,10 @@ Index: akonadi-19.08.0/src/akonadicontrol/agentprocessinstance.cpp mController->start(agentLauncherExec, arguments); } return true; -Index: akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp -=================================================================== ---- akonadi-19.08.0.orig/src/server/storage/dbconfigmysql.cpp -+++ akonadi-19.08.0/src/server/storage/dbconfigmysql.cpp -@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer( +diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp +--- a/src/server/storage/dbconfigmysql.cpp ++++ b/src/server/storage/dbconfigmysql.cpp +@@ -209,7 +209,7 @@ bool DbConfigMysql::startInternalServer() #endif // generate config file diff --git a/gnu/packages/patches/alsa-modular-synth-fix-vocoder.patch b/gnu/packages/patches/alsa-modular-synth-fix-vocoder.patch new file mode 100644 index 0000000000..33a68a1dd8 --- /dev/null +++ b/gnu/packages/patches/alsa-modular-synth-fix-vocoder.patch @@ -0,0 +1,522 @@ +This patch was taken from Debian. +https://salsa.debian.org/multimedia-team/ams/-/raw/master/debian/patches/0007-Make-vocoder-module-compatible-to-C-11.patch + +From: Guido Scholz <gscholz@users.sourceforge.net> +Date: Tue, 6 Nov 2018 21:55:38 +0100 +Subject: Make vocoder module compatible to C++11 + +--- + src/m_vocoder.cpp | 218 +++++++++++++++++++++++++++--------------------------- + src/m_vocoder.h | 31 ++++---- + 2 files changed, 124 insertions(+), 125 deletions(-) + +diff --git a/src/m_vocoder.cpp b/src/m_vocoder.cpp +index 572cf65..371e2cf 100644 +--- a/src/m_vocoder.cpp ++++ b/src/m_vocoder.cpp +@@ -18,10 +18,6 @@ + along with ams. If not, see <http://www.gnu.org/licenses/>. + */ + +-#include <stdio.h> +-#include <stdlib.h> +-#include <unistd.h> +-#include <math.h> + #include <qwidget.h> + #include <qstring.h> + #include <qslider.h> +@@ -36,16 +32,13 @@ + #include "synthdata.h" + #include "midicheckbox.h" + #include "midislider.h" +-// For FFTW to be happy we must include complex.h before fftw3.h +-#include <complex.h> +-#include <fftw3.h> + #include "port.h" + #include "m_vocoder.h" + + // Window function - One way to make the FFT behave + // and give more continuous results over edge steps. + +-float M_vocoder::windowcurve (int windowfunc, int len, int elem, float alpha) ++float M_vocoder::windowcurve (int windowfunc, unsigned int len, int elem, float alpha) + { + float out; + out = 1.0; +@@ -98,6 +91,7 @@ float M_vocoder::windowcurve (int windowfunc, int len, int elem, float alpha) + return (out); + } + ++ + M_vocoder::M_vocoder(QWidget* parent, int id) + : Module(M_type_vocoder, id, 5, parent, tr("FFT Vocoder")) + { +@@ -160,6 +154,7 @@ M_vocoder::M_vocoder(QWidget* parent, int id) + modbuf[l1] = (float *)malloc( fftsize * sizeof(float)); + memset( modbuf[l1], 0, fftsize * sizeof(float)); + } ++ + carrbuf = (float **)malloc(synthdata->poly * sizeof(float *)); + for (l1 = 0; l1 < synthdata->poly; l1++) { + carrbuf[l1] = (float *)malloc( fftsize * sizeof(float)); +@@ -175,38 +170,48 @@ M_vocoder::M_vocoder(QWidget* parent, int id) + window[l2] = windowcurve (whichwin, fftsize, l2, 0.25); + + // FFTW setup stuff +- carrinforward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- carrinbackward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- carroutforward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- carroutbackward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- modinforward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- modinbackward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- modoutforward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- modoutbackward = (fftw_complex *) fftw_malloc (sizeof (fftw_complex) +- * fftsize); +- fftw_set_timelimit (5.0); +- planmodforward = fftw_plan_dft_1d (fftsize, modinforward, +- modoutforward, FFTW_FORWARD, FFTW_MEASURE); +- planmodbackward = fftw_plan_dft_1d (fftsize, modinbackward, +- modoutbackward, FFTW_BACKWARD, FFTW_MEASURE); +- plancarrforward = fftw_plan_dft_1d (fftsize, carrinforward, +- carroutforward, FFTW_FORWARD, FFTW_MEASURE); +- plancarrbackward = fftw_plan_dft_1d (fftsize, carrinbackward, +- carroutbackward, FFTW_BACKWARD, FFTW_MEASURE); ++ carrinforward.reserve(fftsize); ++ carrinbackward.reserve(fftsize); ++ carroutforward.reserve(fftsize); ++ carroutbackward.reserve(fftsize); ++ modinforward.reserve(fftsize); ++ modinbackward.reserve(fftsize); ++ modoutforward.reserve(fftsize); ++ modoutbackward.reserve(fftsize); ++ ++ fftw_set_timelimit(5.0); ++ ++ planmodforward = fftw_plan_dft_1d(fftsize, ++ reinterpret_cast<fftw_complex*> (modinforward.data()), ++ reinterpret_cast<fftw_complex*> (modoutforward.data()), ++ FFTW_FORWARD, FFTW_MEASURE); ++ ++ planmodbackward = fftw_plan_dft_1d(fftsize, ++ reinterpret_cast<fftw_complex*> (modinbackward.data()), ++ reinterpret_cast<fftw_complex*> (modoutbackward.data()), ++ FFTW_BACKWARD, FFTW_MEASURE); ++ ++ plancarrforward = fftw_plan_dft_1d(fftsize, ++ reinterpret_cast<fftw_complex*> (carrinforward.data()), ++ reinterpret_cast<fftw_complex*> (carroutforward.data()), ++ FFTW_FORWARD, FFTW_MEASURE); ++ ++ plancarrbackward = fftw_plan_dft_1d(fftsize, ++ reinterpret_cast<fftw_complex*> (carrinbackward.data()), ++ reinterpret_cast<fftw_complex*> (carroutbackward.data()), ++ FFTW_BACKWARD, FFTW_MEASURE); + } + ++ + M_vocoder::~M_vocoder() { + +- int l1; ++ // Clean up FFTW stuff. ++ fftw_destroy_plan (plancarrforward); ++ fftw_destroy_plan (plancarrbackward); ++ fftw_destroy_plan (planmodforward); ++ fftw_destroy_plan (planmodbackward); + +- for (l1 = 0; l1 < synthdata->poly; l1++) { ++ for (int l1 = 0; l1 < synthdata->poly; l1++) { + free(modbuf[l1]); + free(carrbuf[l1]); + } +@@ -215,29 +220,14 @@ M_vocoder::~M_vocoder() { + free (window); + free (modmap); + free (armodmap); +- +- //#define FFTW_CLEANUP +-#ifdef FFTW_CLEANUP +- // Clean up FFTW stuff. +- fftw_destroy_plan (plancarrforward); +- fftw_destroy_plan (plancarrbackward); +- fftw_destroy_plan (planmodforward); +- fftw_destroy_plan (planmodbackward); +- fftw_free (carrinforward); +- fftw_free (carrinbackward); +- fftw_free (carroutforward); +- fftw_free (carroutbackward); +- fftw_free (modinforward); +- fftw_free (modinbackward); +- fftw_free (modoutforward); +- fftw_free (modoutbackward); +-#endif + } + ++ + void M_vocoder::generateCycle() { + + int l1; // l1 indexes along polyphony. + unsigned int l2; // l2 indexes along the cycle ++ const std::complex<double> I(0.0, 1.0); + + inModulator = port_M_modulator->getinputdata(); + inPitchShift = port_M_pitchshift->getinputdata(); +@@ -272,7 +262,7 @@ void M_vocoder::generateCycle() { + // Did the user change the FFT windowing function? + if (myFFTWindowFunc != whichwin) { + whichwin = myFFTWindowFunc; +- for (l2 = 0; l2 < (unsigned int) fftsize; l2++) ++ for (l2 = 0; l2 < fftsize; l2++) + window[l2] = windowcurve (whichwin, fftsize, l2, 0.25); + } + +@@ -294,7 +284,7 @@ void M_vocoder::generateCycle() { + } + + // window the input buffer to modinforward +- for (l2 = 0; l2 < (unsigned int)fftsize ; l2++) { ++ for (l2 = 0; l2 < fftsize ; l2++) { + modinforward[l2] = modbuf[l1][l2] * window[l2]; + } + +@@ -310,17 +300,18 @@ void M_vocoder::generateCycle() { + fftw_execute (planmodforward); + + // copy the FFT of the modulator to modinbackward. +- for (l2 = 0; l2 < (unsigned int)fftsize; l2++) +- modinbackward[l2] = modoutforward[l2]; ++ //for (l2 = 0; l2 < fftsize; l2++) ++ // modinbackward[l2] = modoutforward[l2]; ++ modinbackward = modoutforward; + + // Send the FFT of the modulator to the output for giggles + // and get an approximation of the first harmonic too. + float firstharmonicval; + int firstharmonicindex; + firstharmonicval = 0.0; +- firstharmonicindex = 1.0; ++ firstharmonicindex = 1; + for (l2 = 1; l2 < (unsigned int) synthdata->cyclesize; l2++) { +- data[2][l1][l2] = logf(fabs (creal (modoutforward[l2])) + 1.0); ++ data[2][l1][l2] = logf(fabs(modoutforward[l2].real()) + 1.0); + if (data[2][l1][l2] > firstharmonicval) { + firstharmonicindex = l2; + firstharmonicval = data[2][l1][l2] ; +@@ -333,35 +324,38 @@ void M_vocoder::generateCycle() { + + // intermediate frequency-domain munging of modulator + // Frequency (additive, Bode-style) shifting first +- for (l2 = 0; l2 < (unsigned int)fftsize; l2++) +- modinbackward[l2] = 0; ++ for (l2 = 0; l2 < fftsize; l2++) ++ modinbackward[l2] = 0.0; ++ + int lclfrq; +- for (l2 = 0; l2 < (unsigned int)fftsize/2; l2++) { ++ for (l2 = 0; l2 < fftsize/2; l2++) { + // positive frequencies (first half) of the FFT result + lclfrq = l2 + (int)freqshift + vcfreqshift * inFreqShift[l1][0]; + lclfrq = lclfrq > 0 ? lclfrq : 0; +- lclfrq = lclfrq < ((fftsize/2)-1) ? lclfrq : (fftsize/2)-1; ++ lclfrq = lclfrq < (int)((fftsize/2)-1) ? lclfrq : (fftsize/2)-1; + modinbackward [lclfrq] = modoutforward [l2]; + // Negative frequencies (second half of the fft result) +- modinbackward [fftsize - lclfrq] = modoutforward [ fftsize - l2]; ++ modinbackward [fftsize - lclfrq] = modoutforward [fftsize - l2]; + } + +- // Pitchshifting (multiplicative, harmonic-retaining) shifting. +- // Note that we reuse the modoutforward as working space +- for (l2 = 0; l2 < (unsigned int) fftsize; l2++) { +- modoutforward[l2] = modinbackward[l2]; +- }; +- for (l2 = 0; l2 < (unsigned int)fftsize; l2++) +- modinbackward[l2] = 0; ++ // Pitchshifting (multiplicative, harmonic-retaining) shifting. ++ // Note that we reuse the modoutforward as working space ++ //for (l2 = 0; l2 < fftsize; l2++) { ++ // modoutforward[l2] = modinbackward[l2]; ++ //}; ++ modoutforward = modinbackward; ++ ++ for (l2 = 0; l2 < fftsize; l2++) ++ modinbackward[l2] = 0.0; + + float psmod, psfactor; + psmod = (pitchshift + vcpitch * inPitchShift[l1][0]); + psfactor = pow (2.0, psmod); +- for (l2 = 0; l2 < (unsigned int)fftsize/2; l2++) { ++ for (l2 = 0; l2 < fftsize/2; l2++) { + // positive frequencies (first half) of the FFT result + lclfrq = l2 * psfactor; + lclfrq = lclfrq > 0 ? lclfrq : 0; +- lclfrq = lclfrq < ((fftsize/2)-1) ? lclfrq : (fftsize/2)-1; ++ lclfrq = lclfrq < (int)((fftsize/2)-1) ? lclfrq : (fftsize/2)-1; + // Old way to pitch shift: just move the bucket. But this puts + // nulls wherever the energy is split between two buckets with + // a 180 degree phase difference. +@@ -375,12 +369,12 @@ void M_vocoder::generateCycle() { + // Better way: move freq. bin, multiply angle by octave motion. + // + modinbackward[lclfrq] += +- cabs (modoutforward [l2]) +- * cexp (I * ( carg (modoutforward [l2]) ++ std::abs(modoutforward[l2]) ++ * std::exp (I * ( std::arg (modoutforward [l2]) + + (l2 * phaseshift * psfactor))); + modinbackward[fftsize - lclfrq] += +- cabs (modoutforward [ fftsize - l2]) +- * cexp (I * ( carg (modoutforward [ fftsize - l2]) ++ std::abs (modoutforward [ fftsize - l2]) ++ * std::exp (I * ( std::arg (modoutforward [ fftsize - l2]) + + (l2 * phaseshift * psfactor))); + }; + } +@@ -389,9 +383,9 @@ void M_vocoder::generateCycle() { + fftw_execute (planmodbackward); + + // renormalize the time-domain modulator output +- for (l2 = 0; l2 < (unsigned)fftsize; l2++) { +- modoutbackward [l2] = modoutbackward[l2] / float (fftsize) ; +- modoutbackward [l2] = modoutbackward[l2] / window[l2]; ++ for (l2 = 0; l2 < fftsize; l2++) { ++ modoutbackward [l2] = modoutbackward[l2] / (double) fftsize; ++ modoutbackward [l2] = modoutbackward[l2] / (double) window[l2]; + } + + unsigned int i; +@@ -400,13 +394,11 @@ void M_vocoder::generateCycle() { + + + // Splicing the new output to the results +- if (dynsplice == 0.0) +- { ++ if (dynsplice == 0.0) { + // output it as the altered modulator. + for (l2 = 0; l2 < synthdata->cyclesize; l2++) { +- data[0][l1][l2] = creal ( modoutbackward [l2 + +- fftsize/2 - +- synthdata->cyclesize/2 ]); ++ data[0][l1][l2] = ++ modoutbackward[l2 + fftsize/2 - synthdata->cyclesize/2].real(); + } + clomatch_index = fftsize - synthdata->cyclesize; + } +@@ -421,18 +413,21 @@ void M_vocoder::generateCycle() { + float tval, dtval; + int searchstart; + float spliceval, dspliceval; +- searchstart = fftsize/2 - synthdata->cyclesize; +- if (searchstart < 1) searchstart = 1; +- clomatch_index = searchstart; ++ ++ searchstart = fftsize/2 - synthdata->cyclesize; ++ if (searchstart < 1) ++ searchstart = 1; ++ ++ clomatch_index = searchstart; + spliceval = data[0][l1][synthdata->cyclesize - 1]; + dspliceval = spliceval - data[0][l1][synthdata->cyclesize - 2]; +- clov_sofar= fabs(creal(modoutbackward[clomatch_index])-spliceval ); ++ clov_sofar= fabs(modoutbackward[clomatch_index].real()-spliceval); + for (l2 = searchstart; + l2 < (searchstart + synthdata->cyclesize); + l2++) + { +- tval = creal (modoutbackward[l2]); +- dtval = tval - creal (modoutbackward [l2-1]); ++ tval = modoutbackward[l2].real(); ++ dtval = tval - modoutbackward [l2-1].real(); + if ( + ((fabs (tval - spliceval )) < clov_sofar ) + && ((dtval * dspliceval ) >= 0) +@@ -445,15 +440,15 @@ void M_vocoder::generateCycle() { + }; + // fprintf (stderr, "%d %f %f ", + // clomatch_index, clov_sofar, clodv_sofar); +- ++ + // What's our residual error, so that we can splice this + // with minimal "click"? +- residual = + spliceval - creal( modoutbackward[clomatch_index]); ++ residual = + spliceval - modoutbackward[clomatch_index].real(); + + // Move our wave, with the best match so far established, to + // the output buffer area. + for (l2 = 0; l2 < synthdata->cyclesize; l2++) { +- data[0][l1][l2] = creal ( modoutbackward [ clomatch_index + l2]) ++ data[0][l1][l2] = modoutbackward[clomatch_index + l2].real() + + ((1.0 - (float(l2) / float(synthdata->cyclesize))) * residual); + }; + +@@ -466,17 +461,18 @@ void M_vocoder::generateCycle() { + for (l2 = 0; l2 < fftsize - synthdata->cyclesize; l2++) { + carrbuf [l1][l2] = carrbuf [l1][l2 + synthdata->cyclesize]; + } ++ + for (l2 = 0; l2 < synthdata->cyclesize; l2++) { + carrbuf [l1][l2 + fftsize - synthdata->cyclesize] = inCarrier[l1][l2]; + } + +- for (l2 = 0; l2 < unsigned (fftsize); l2++) { ++ for (l2 = 0; l2 < fftsize; l2++) { + carrinforward [l2] = carrbuf [l1][l2] * window[l2]; + } + + fftw_execute (plancarrforward); + +- for (l2 = 0; l2 < (unsigned) fftsize; l2++) { ++ for (l2 = 0; l2 < fftsize; l2++) { + carrinbackward[l2] = carroutforward[l2]; + }; + +@@ -486,34 +482,37 @@ void M_vocoder::generateCycle() { + // Group the modulator into channels, and multipy the channels + // over the carrier. + +- int localchannels; +- localchannels = channels + vcchannels * inChannels[l1][0]; +- if (localchannels < 1) localchannels = 1; +- if (localchannels > fftsize - 1) localchannels = fftsize - 1; +- for (l2 = 0; l2 < (unsigned) fftsize; l2++) { ++ unsigned int localchannels = channels + vcchannels * inChannels[l1][0]; ++ if (localchannels < 1) ++ localchannels = 1; ++ ++ if (localchannels > fftsize - 1) ++ localchannels = fftsize - 1; ++ ++ for (l2 = 0; l2 < fftsize; l2++) { + modmap[l2] = 0; + // initial conditions... + if (l2 == 0) + for (i = 0; i < channels; i++) +- modmap[l2] += cabs (modoutforward[l2 + i]); ++ modmap[l2] += std::abs(modoutforward[l2 + i]); + else + modmap [l2] = modmap[l2 - 1]; + + // add the heads, subtract the tails + i = l2 + channels; +- if (l2 < (unsigned)fftsize - 2) +- modmap[l2] += cabs( modoutforward [i] ); ++ if (l2 < fftsize - 2) ++ modmap[l2] += std::abs(modoutforward[i]); + i = l2 - channels; + if (l2 >= channels) +- modmap[l2] -= cabs( modoutforward [i] ); ++ modmap[l2] -= std::abs(modoutforward[i]); + } + + // Normalize the modmap +- for (l2 = 0; l2 < (unsigned) fftsize; l2++) ++ for (l2 = 0; l2 < fftsize; l2++) + modmap[l2] = modmap[l2] / localchannels; + + // Do attack/release +- for (l2 = 0; l2 < (unsigned) fftsize; l2++) { ++ for (l2 = 0; l2 < fftsize; l2++) { + if (modmap [l2] > armodmap[l2]) + armodmap [l2] += (1 - attack) * (modmap[l2] - armodmap[l2]); + if (modmap [l2] < armodmap[l2]) +@@ -521,8 +520,8 @@ void M_vocoder::generateCycle() { + } + + // multiply the carrier by the modulation map. +- for (l2 = 0; l2 < (unsigned) fftsize; l2++) { +- carrinbackward[l2] = carroutforward[l2] * armodmap[l2]; ++ for (l2 = 0; l2 < fftsize; l2++) { ++ carrinbackward[l2] = carroutforward[l2] * (double) armodmap[l2]; + } + + // reverse transform to final output, and renormalize by 1/fftsize. +@@ -532,8 +531,7 @@ void M_vocoder::generateCycle() { + for (l2 = 0; l2 < synthdata->cyclesize; l2++) { + offset = l2 + (fftsize/2) - (synthdata->cyclesize / 2); + data[1][l1][l2]= +- (creal(carroutbackward[offset]/window[offset])) / (fftsize * 100); ++ (carroutbackward[offset].real()/window[offset]) / (fftsize * 100); + }; + }; + } +- +diff --git a/src/m_vocoder.h b/src/m_vocoder.h +index 38eac58..32c8521 100644 +--- a/src/m_vocoder.h ++++ b/src/m_vocoder.h +@@ -1,4 +1,4 @@ +-/* ++/* + Vocoder - derived from m_delay.cpp + + Copyright (C) 2011 Bill Yerazunis <yerazunis@yahoo.com> +@@ -22,7 +22,9 @@ + #define M_VOCODER_H + + #include "module.h" +-#include <complex.h> ++ ++#include <vector> ++#include <ccomplex> + #include <fftw3.h> + + #define MODULE_VOCODER_WIDTH 105 +@@ -30,7 +32,7 @@ + + class M_vocoder : public Module + { +- Q_OBJECT ++ Q_OBJECT + + float channels, vcchannels; + float attack, release; +@@ -42,21 +44,20 @@ class M_vocoder : public Module + + Port *port_M_modulator, *port_M_pitchshift, *port_M_freqshift, + *port_M_channels, *port_M_carrier; ++ + Port *port_modfft_out, *port_firstharmonic_out, +- *port_altmodulator_out, +- *port_vocoder_out; ++ *port_altmodulator_out, *port_vocoder_out; + +- fftw_plan planmodforward, planmodbackward, ++ fftw_plan planmodforward, planmodbackward, + plancarrforward, plancarrbackward; + +- fftw_complex *carrinforward, *carroutforward, +- *carrinbackward, *carroutbackward, +- *modinforward, *modoutforward, +- *modinbackward, *modoutbackward; ++ std::vector<std::complex<double>> carrinforward, carroutforward, ++ carrinbackward, carroutbackward, ++ modinforward, modoutforward, ++ modinbackward, modoutbackward; + +- public: +- int fftsize; +- float **inModulator, **inPitchShift, **inFreqShift, ++ unsigned int fftsize; ++ float **inModulator, **inPitchShift, **inFreqShift, + **inChannels, **inCarrier; + // the previous time-based samples, for overlapping + float **modbuf, **carrbuf; +@@ -68,10 +69,10 @@ class M_vocoder : public Module + float *armodmap; + + public: +- float windowcurve (int windowfunc, int len, int elem, float alpha ); ++ float windowcurve (int windowfunc, unsigned int len, int elem, float alpha ); + M_vocoder(QWidget* parent=0, int id = 0); + ~M_vocoder(); + void generateCycle(); + }; +- ++ + #endif diff --git a/gnu/packages/patches/biber-sortinithash.patch b/gnu/packages/patches/biber-sortinithash.patch index 1f054d25e4..5a626705e6 100644 --- a/gnu/packages/patches/biber-sortinithash.patch +++ b/gnu/packages/patches/biber-sortinithash.patch @@ -21,6 +21,15 @@ index b4f641e..c6f86c7 100644 \field{labelnamesource}{author} \field{labeltitlesource}{title} \field{title}{The Title} +@@ -116,7 +116,7 @@ my $ann2 = q| \entry{ann2}{misc}{} + \strng{authorfullhash}{90ae96c82de92e36949bc64254bbde0c} + \field{extraname}{2} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{The Title} diff --git a/t/basic-misc.t b/t/basic-misc.t index d4664b1..a9168cc 100644 --- a/t/basic-misc.t diff --git a/gnu/packages/patches/bluez-CVE-2020-0556.patch b/gnu/packages/patches/bluez-CVE-2020-0556.patch deleted file mode 100644 index 7c34459a3a..0000000000 --- a/gnu/packages/patches/bluez-CVE-2020-0556.patch +++ /dev/null @@ -1,180 +0,0 @@ -Fix CVE-2020-0556: - -https://lore.kernel.org/linux-bluetooth/20200310023516.209146-1-alainm@chromium.org/ -https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html -http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0556 - -Patches copied from upstream source repository: - -https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=3cccdbab2324086588df4ccf5f892fb3ce1f1787 -https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=8cdbd3b09f29da29374e2f83369df24228da0ad1 - -From 3cccdbab2324086588df4ccf5f892fb3ce1f1787 Mon Sep 17 00:00:00 2001 -From: Alain Michaud <alainm@chromium.org> -Date: Tue, 10 Mar 2020 02:35:18 +0000 -Subject: [PATCH] HID accepts bonded device connections only. - -This change adds a configuration for platforms to choose a more secure -posture for the HID profile. While some older mice are known to not -support pairing or encryption, some platform may choose a more secure -posture by requiring the device to be bonded and require the -connection to be encrypted when bonding is required. - -Reference: -https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html ---- - profiles/input/device.c | 23 ++++++++++++++++++++++- - profiles/input/device.h | 1 + - profiles/input/input.conf | 8 ++++++++ - profiles/input/manager.c | 13 ++++++++++++- - 4 files changed, 43 insertions(+), 2 deletions(-) - -diff --git a/profiles/input/device.c b/profiles/input/device.c -index 2cb3811c8..d89da2d7c 100644 ---- a/profiles/input/device.c -+++ b/profiles/input/device.c -@@ -92,6 +92,7 @@ struct input_device { - - static int idle_timeout = 0; - static bool uhid_enabled = false; -+static bool classic_bonded_only = false; - - void input_set_idle_timeout(int timeout) - { -@@ -103,6 +104,11 @@ void input_enable_userspace_hid(bool state) - uhid_enabled = state; - } - -+void input_set_classic_bonded_only(bool state) -+{ -+ classic_bonded_only = state; -+} -+ - static void input_device_enter_reconnect_mode(struct input_device *idev); - static int connection_disconnect(struct input_device *idev, uint32_t flags); - -@@ -970,8 +976,18 @@ static int hidp_add_connection(struct input_device *idev) - if (device_name_known(idev->device)) - device_get_name(idev->device, req->name, sizeof(req->name)); - -+ /* Make sure the device is bonded if required */ -+ if (classic_bonded_only && !device_is_bonded(idev->device, -+ btd_device_get_bdaddr_type(idev->device))) { -+ error("Rejected connection from !bonded device %s", dst_addr); -+ goto cleanup; -+ } -+ - /* Encryption is mandatory for keyboards */ -- if (req->subclass & 0x40) { -+ /* Some platforms may choose to require encryption for all devices */ -+ /* Note that this only matters for pre 2.1 devices as otherwise the */ -+ /* device is encrypted by default by the lower layers */ -+ if (classic_bonded_only || req->subclass & 0x40) { - if (!bt_io_set(idev->intr_io, &gerr, - BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM, - BT_IO_OPT_INVALID)) { -@@ -1203,6 +1219,11 @@ static void input_device_enter_reconnect_mode(struct input_device *idev) - DBG("path=%s reconnect_mode=%s", idev->path, - reconnect_mode_to_string(idev->reconnect_mode)); - -+ /* Make sure the device is bonded if required */ -+ if (classic_bonded_only && !device_is_bonded(idev->device, -+ btd_device_get_bdaddr_type(idev->device))) -+ return; -+ - /* Only attempt an auto-reconnect when the device is required to - * accept reconnections from the host. - */ -diff --git a/profiles/input/device.h b/profiles/input/device.h -index 51a9aee18..3044db673 100644 ---- a/profiles/input/device.h -+++ b/profiles/input/device.h -@@ -29,6 +29,7 @@ struct input_conn; - - void input_set_idle_timeout(int timeout); - void input_enable_userspace_hid(bool state); -+void input_set_classic_bonded_only(bool state); - - int input_device_register(struct btd_service *service); - void input_device_unregister(struct btd_service *service); -diff --git a/profiles/input/input.conf b/profiles/input/input.conf -index 3e1d65aae..166aff4a4 100644 ---- a/profiles/input/input.conf -+++ b/profiles/input/input.conf -@@ -11,3 +11,11 @@ - # Enable HID protocol handling in userspace input profile - # Defaults to false (HIDP handled in HIDP kernel module) - #UserspaceHID=true -+ -+# Limit HID connections to bonded devices -+# The HID Profile does not specify that devices must be bonded, however some -+# platforms may want to make sure that input connections only come from bonded -+# device connections. Several older mice have been known for not supporting -+# pairing/encryption. -+# Defaults to false to maximize device compatibility. -+#ClassicBondedOnly=true -diff --git a/profiles/input/manager.c b/profiles/input/manager.c -index 1d31b0652..5cd27b839 100644 ---- a/profiles/input/manager.c -+++ b/profiles/input/manager.c -@@ -96,7 +96,7 @@ static int input_init(void) - config = load_config_file(CONFIGDIR "/input.conf"); - if (config) { - int idle_timeout; -- gboolean uhid_enabled; -+ gboolean uhid_enabled, classic_bonded_only; - - idle_timeout = g_key_file_get_integer(config, "General", - "IdleTimeout", &err); -@@ -114,6 +114,17 @@ static int input_init(void) - input_enable_userspace_hid(uhid_enabled); - } else - g_clear_error(&err); -+ -+ classic_bonded_only = g_key_file_get_boolean(config, "General", -+ "ClassicBondedOnly", &err); -+ -+ if (!err) { -+ DBG("input.conf: ClassicBondedOnly=%s", -+ classic_bonded_only ? "true" : "false"); -+ input_set_classic_bonded_only(classic_bonded_only); -+ } else -+ g_clear_error(&err); -+ - } - - btd_profile_register(&input_profile); --- -2.25.1 - -From 8cdbd3b09f29da29374e2f83369df24228da0ad1 Mon Sep 17 00:00:00 2001 -From: Alain Michaud <alainm@chromium.org> -Date: Tue, 10 Mar 2020 02:35:16 +0000 -Subject: [PATCH] HOGP must only accept data from bonded devices. - -HOGP 1.0 Section 6.1 establishes that the HOGP must require bonding. - -Reference: -https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.htm ---- - profiles/input/hog.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/profiles/input/hog.c b/profiles/input/hog.c -index 83c017dcb..dfac68921 100644 ---- a/profiles/input/hog.c -+++ b/profiles/input/hog.c -@@ -186,6 +186,10 @@ static int hog_accept(struct btd_service *service) - return -EINVAL; - } - -+ /* HOGP 1.0 Section 6.1 requires bonding */ -+ if (!device_is_bonded(device, btd_device_get_bdaddr_type(device))) -+ return -ECONNREFUSED; -+ - /* TODO: Replace GAttrib with bt_gatt_client */ - bt_hog_attach(dev->hog, attrib); - --- -2.25.1 - diff --git a/gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch b/gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch new file mode 100644 index 0000000000..1518df067f --- /dev/null +++ b/gnu/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch @@ -0,0 +1,68 @@ +See: https://bugs.gentoo.org/708350 +Author: Patrick McLean <patrick.mclean@sony.com> +Date: 2020-02-06 23:06:22 +0000 +diff --git a/coreutils/date.c b/coreutils/date.c +index 3414d38ae..4ade6abb4 100644 +--- a/coreutils/date.c ++++ b/coreutils/date.c +@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, char **argv) + time(&ts.tv_sec); + #endif + } ++#if !ENABLE_FEATURE_DATE_NANO ++ ts.tv_nsec = 0; ++#endif + localtime_r(&ts.tv_sec, &tm_time); + + /* If date string is given, update tm_time, and maybe set date */ +@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, char **argv) + if (date_str[0] != '@') + tm_time.tm_isdst = -1; + ts.tv_sec = validate_tm_time(date_str, &tm_time); ++ ts.tv_nsec = 0; + + /* if setting time, set it */ +- if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) { ++ if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) { + bb_perror_msg("can't set date"); + } + } +diff --git a/libbb/missing_syscalls.c b/libbb/missing_syscalls.c +index 87cf59b3d..dc40d9155 100644 +--- a/libbb/missing_syscalls.c ++++ b/libbb/missing_syscalls.c +@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid) + return syscall(__NR_getsid, pid); + } + +-int stime(const time_t *t) +-{ +- struct timeval tv; +- tv.tv_sec = *t; +- tv.tv_usec = 0; +- return settimeofday(&tv, NULL); +-} +- + int sethostname(const char *name, size_t len) + { + return syscall(__NR_sethostname, name, len); +diff --git a/util-linux/rdate.c b/util-linux/rdate.c +index 70f829e7f..878375d78 100644 +--- a/util-linux/rdate.c ++++ b/util-linux/rdate.c +@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, char **argv) + if (!(flags & 2)) { /* no -p (-s may be present) */ + if (time(NULL) == remote_time) + bb_error_msg("current time matches remote time"); +- else +- if (stime(&remote_time) < 0) ++ else { ++ struct timespec ts; ++ ts.tv_sec = remote_time; ++ ts.tv_nsec = 0; ++ if (clock_settime(CLOCK_REALTIME, &ts) < 0) + bb_perror_msg_and_die("can't set time of day"); ++ } + } + + if (flags != 1) /* not lone -s */ diff --git a/gnu/packages/patches/calibre-msgpack-compat.patch b/gnu/packages/patches/calibre-msgpack-compat.patch deleted file mode 100644 index 9920103bea..0000000000 --- a/gnu/packages/patches/calibre-msgpack-compat.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix deserialization with msgpack 1.0. - -Patch copied from upstream source repository: -https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3 - -diff --git a/src/calibre/utils/serialize.py b/src/calibre/utils/serialize.py -index f5d560c468..c35ae53849 100644 ---- a/src/calibre/utils/serialize.py -+++ b/src/calibre/utils/serialize.py -@@ -110,7 +110,7 @@ def msgpack_decoder(code, data): - def msgpack_loads(dump, use_list=True): - # use_list controls whether msgpack arrays are unpacked as lists or tuples - import msgpack -- return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list) -+ return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list, strict_map_key=False) - - - def json_loads(data): diff --git a/gnu/packages/patches/calibre-remove-test-bs4.patch b/gnu/packages/patches/calibre-remove-test-bs4.patch deleted file mode 100644 index 77dd45d329..0000000000 --- a/gnu/packages/patches/calibre-remove-test-bs4.patch +++ /dev/null @@ -1,34 +0,0 @@ -In my efforts to fix all Calibre tests, this test would always complain about -backports.functools_lru_cache not existing even after I packaged and added -python2-soupsieve as an input and confirmed it was in the -PYTHONPATH. Currently Calibre does not actually use it for anything other than -testing it's there, so I assume they will start using it in future Calibre -versions. - -From 2738dd42caebe55326c76922a12ba8740bdb22e7 Mon Sep 17 00:00:00 2001 -From: Brendan Tildesley <mail@brendan.scot> -Date: Sat, 27 Apr 2019 00:42:39 +1000 -Subject: [PATCH] Remove test_bs4 - ---- - src/calibre/test_build.py | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py -index 73f1172e8c..07bdffd3e5 100644 ---- a/src/calibre/test_build.py -+++ b/src/calibre/test_build.py -@@ -73,10 +73,6 @@ class BuildTest(unittest.TestCase): - from html5_parser import parse - parse('<p>xxx') - -- def test_bs4(self): -- import soupsieve, bs4 -- del soupsieve, bs4 -- - def test_zeroconf(self): - if ispy3: - import zeroconf as z, ifaddr --- -2.21.0 - diff --git a/gnu/packages/patches/darkice-workaround-fpermissive-error.patch b/gnu/packages/patches/darkice-workaround-fpermissive-error.patch deleted file mode 100644 index 5ee29147c2..0000000000 --- a/gnu/packages/patches/darkice-workaround-fpermissive-error.patch +++ /dev/null @@ -1,62 +0,0 @@ -Copied from Debian: -<https://sources.debian.org/data/main/d/darkice/1.3-0.2/debian/patches/0001-Cast-float-in-SRC-lib-calls-to-delete-fpermissive-co.patch> - -From 1e2eb18d349f205c70cb2836232825442359b6e3 Mon Sep 17 00:00:00 2001 -From: belette <ouack23@yahoo.fr> -Date: Wed, 26 Oct 2016 02:43:43 +0200 -Subject: Cast float* in SRC lib calls to delete fpermissive compilation error - ---- - darkice/trunk/src/FaacEncoder.cpp | 2 +- - darkice/trunk/src/OpusLibEncoder.cpp | 2 +- - darkice/trunk/src/VorbisLibEncoder.cpp | 2 +- - darkice/trunk/src/aacPlusEncoder.cpp | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - ---- a/src/FaacEncoder.cpp -+++ b/src/FaacEncoder.cpp -@@ -164,7 +164,7 @@ FaacEncoder :: write ( const void * buf, - if ( converter ) { - unsigned int converted; - #ifdef HAVE_SRC_LIB -- src_short_to_float_array ((short *) b, converterData.data_in, samples); -+ src_short_to_float_array ((short *) b, (float *) converterData.data_in, samples); - converterData.input_frames = nSamples; - converterData.data_out = resampledOffset + (resampledOffsetSize * channels); - int srcError = src_process (converter, &converterData); ---- a/src/OpusLibEncoder.cpp -+++ b/src/OpusLibEncoder.cpp -@@ -403,7 +403,7 @@ OpusLibEncoder :: write ( const void * buf, - #ifdef HAVE_SRC_LIB - (void)inCount; - converterData.input_frames = processed; -- src_short_to_float_array (shortBuffer, converterData.data_in, totalSamples); -+ src_short_to_float_array (shortBuffer, (float *) converterData.data_in, totalSamples); - int srcError = src_process (converter, &converterData); - if (srcError) - throw Exception (__FILE__, __LINE__, "libsamplerate error: ", src_strerror (srcError)); ---- a/src/VorbisLibEncoder.cpp -+++ b/src/VorbisLibEncoder.cpp -@@ -337,7 +337,7 @@ VorbisLibEncoder :: write ( const void * buf, - int converted; - #ifdef HAVE_SRC_LIB - converterData.input_frames = nSamples; -- src_short_to_float_array (shortBuffer, converterData.data_in, totalSamples); -+ src_short_to_float_array (shortBuffer, (float *) converterData.data_in, totalSamples); - int srcError = src_process (converter, &converterData); - if (srcError) - throw Exception (__FILE__, __LINE__, "libsamplerate error: ", src_strerror (srcError)); ---- a/src/aacPlusEncoder.cpp -+++ b/src/aacPlusEncoder.cpp -@@ -155,7 +155,7 @@ aacPlusEncoder :: write ( const void * buf, - if ( converter ) { - unsigned int converted; - #ifdef HAVE_SRC_LIB -- src_short_to_float_array ((short *) b, converterData.data_in, samples); -+ src_short_to_float_array ((short *) b, (float *) converterData.data_in, samples); - converterData.input_frames = nSamples; - converterData.data_out = resampledOffset + (resampledOffsetSize * channels); - int srcError = src_process (converter, &converterData); --- -2.11.0 - diff --git a/gnu/packages/patches/dbus-CVE-2020-12049.patch b/gnu/packages/patches/dbus-CVE-2020-12049.patch new file mode 100644 index 0000000000..71280144a1 --- /dev/null +++ b/gnu/packages/patches/dbus-CVE-2020-12049.patch @@ -0,0 +1,58 @@ +Fix CVE-2020-12049: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-12049 +https://lists.freedesktop.org/archives/ftp-release/2020-June/000753.html + +Taken from upstream: + +https://gitlab.freedesktop.org/dbus/dbus/-/commit/272d484283883fa9ff95b69d924fff6cd34842f5 + +diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c +--- a/dbus/dbus-sysdeps-unix.c ++++ b/dbus/dbus-sysdeps-unix.c +@@ -435,18 +435,6 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd, + struct cmsghdr *cm; + dbus_bool_t found = FALSE; + +- if (m.msg_flags & MSG_CTRUNC) +- { +- /* Hmm, apparently the control data was truncated. The bad +- thing is that we might have completely lost a couple of fds +- without chance to recover them. Hence let's treat this as a +- serious error. */ +- +- errno = ENOSPC; +- _dbus_string_set_length (buffer, start); +- return -1; +- } +- + for (cm = CMSG_FIRSTHDR(&m); cm; cm = CMSG_NXTHDR(&m, cm)) + if (cm->cmsg_level == SOL_SOCKET && cm->cmsg_type == SCM_RIGHTS) + { +@@ -501,6 +489,26 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd, + if (!found) + *n_fds = 0; + ++ if (m.msg_flags & MSG_CTRUNC) ++ { ++ unsigned int i; ++ ++ /* Hmm, apparently the control data was truncated. The bad ++ thing is that we might have completely lost a couple of fds ++ without chance to recover them. Hence let's treat this as a ++ serious error. */ ++ ++ /* We still need to close whatever fds we *did* receive, ++ * otherwise they'll never get closed. (CVE-2020-12049) */ ++ for (i = 0; i < *n_fds; i++) ++ close (fds[i]); ++ ++ *n_fds = 0; ++ errno = ENOSPC; ++ _dbus_string_set_length (buffer, start); ++ return -1; ++ } ++ + /* put length back (doesn't actually realloc) */ + _dbus_string_set_length (buffer, start + bytes_read); + diff --git a/gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch b/gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch deleted file mode 100644 index a03e0c5481..0000000000 --- a/gnu/packages/patches/deja-dup-use-ref-keyword-for-iter.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 5676766be5e845ccb6cdf46cfa8722497f151752 Mon Sep 17 00:00:00 2001 -From: Jeremy Bicha <jbicha@ubuntu.com> -Date: Fri, 16 Jun 2017 15:11:37 -0400 -Subject: Use 'ref' keyword for iter, requires vala 0.36 - - -diff --git a/deja-dup/widgets/ConfigList.vala b/deja-dup/widgets/ConfigList.vala -index 15de2d6..02cd81a 100644 ---- a/deja-dup/widgets/ConfigList.vala -+++ b/deja-dup/widgets/ConfigList.vala -@@ -333,7 +333,7 @@ public class ConfigList : ConfigWidget - - model.row_deleted.disconnect(write_to_config); - foreach (Gtk.TreeIter iter in iters) { -- (model as Gtk.ListStore).remove(iter); -+ (model as Gtk.ListStore).remove(ref iter); - } - model.row_deleted.connect(write_to_config); - -diff --git a/deja-dup/widgets/ConfigLocation.vala b/deja-dup/widgets/ConfigLocation.vala -index 869e2a8..d21c556 100644 ---- a/deja-dup/widgets/ConfigLocation.vala -+++ b/deja-dup/widgets/ConfigLocation.vala -@@ -397,12 +397,12 @@ public class ConfigLocation : ConfigWidget - if (uuid == saved_uuid) - return; - -- store.remove(iter); -+ store.remove(ref iter); - - if (--num_volumes == 0) { - Gtk.TreeIter sep_iter; - if (store.get_iter_from_string(out sep_iter, index_vol_sep.to_string())) { -- store.remove(sep_iter); -+ store.remove(ref sep_iter); - index_vol_sep = -2; - } - } --- -cgit v0.10.2 - diff --git a/gnu/packages/patches/emacs-libgit-use-system-libgit2.patch b/gnu/packages/patches/emacs-libgit-use-system-libgit2.patch new file mode 100644 index 0000000000..4a5546b06b --- /dev/null +++ b/gnu/packages/patches/emacs-libgit-use-system-libgit2.patch @@ -0,0 +1,88 @@ +From de3c48d72ec7064e7f0522877fe759c729df0c50 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Wed, 25 Mar 2020 11:32:18 -0400 +Subject: [PATCH] Allow using a system provided libgit2 library + +Setting the USE_SYSTEM_LIBGIT2 Make or CMake variable (through the +BUILD_OPTIONS variable) to any value enables using the system library. +The default behavior of using a bundled copy of libgit2 is unchanged. +--- + CMakeLists.txt | 9 +++++++-- + Makefile | 11 +++++++++++ + src/CMakeLists.txt | 9 +++++++-- + 3 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a393d7c..75d6ca6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,9 +7,14 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "shared" FORCE) + set(BUILD_CLAR OFF CACHE BOOL "clar" FORCE) + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DEGIT_DEBUG") + +-add_subdirectory(libgit2) ++if(USE_SYSTEM_LIBGIT2) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(git2 REQUIRED IMPORTED_TARGET libgit2) ++else() ++ add_subdirectory(libgit2) ++ find_library(git2 libgit2.a) ++endif() + +-find_library(git2 libgit2.a) + add_subdirectory(src) + + enable_testing() +diff --git a/Makefile b/Makefile +index 8199532..6a6a4e1 100644 +--- a/Makefile ++++ b/Makefile +@@ -13,6 +13,13 @@ ifeq ($(UNAME),MSYS) + BUILD_OPTIONS+= -G "MSYS Makefiles" + endif + ++# If the variable USE_SYSTEM_LIBGIT2 is set to *any* value, use the ++# system provided libgit2 library. ++USE_SYSTEM_LIBGIT2? := \ ++ $(if $(or $(USE_SYSTEM_LIBGIT2),\ ++ $(findstring USE_SYSTEM_LIBGIT2,$(BUILD_OPTIONS))),\ ++ true) ++ + ifeq "$(TRAVIS)" "true" + ## Makefile for Travis ################################################### + # +@@ -87,7 +94,11 @@ submodule-update: + @git submodule update + + libgit2: ++ifeq ($(USE_SYSTEM_LIBGIT2?),) + @git submodule update --init ++else ++ @echo "Using the system provided libgit2 library" ++endif + + CLEAN = $(ELCS) $(PKG)-autoloads.el build + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cfb5777..0dbad8a 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -13,8 +13,13 @@ if(WIN32) + set_target_properties(egit2 PROPERTIES PREFIX lib) + endif(WIN32) + +-target_link_libraries(egit2 git2) +-target_include_directories(egit2 SYSTEM PRIVATE "${libgit2_SOURCE_DIR}/include") ++if(USE_SYSTEM_LIBGIT2) ++ target_link_libraries(egit2 PRIVATE PkgConfig::git2) ++else() ++ target_link_libraries(egit2 git2) ++ target_include_directories( ++ egit2 SYSTEM PRIVATE "${libgit2_SOURCE_DIR}/include") ++endif() + + if(CMAKE_COMPILER_IS_GNUCC) + target_compile_options(egit2 PRIVATE -Wall -Wextra) +-- +2.26.2 + diff --git a/gnu/packages/patches/emacs-magit-log-format-author-margin.patch b/gnu/packages/patches/emacs-magit-log-format-author-margin.patch deleted file mode 100644 index fc52157a32..0000000000 --- a/gnu/packages/patches/emacs-magit-log-format-author-margin.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 94914ca4690c0cff12d600a0c8ba6bfb3fb38dc5 Mon Sep 17 00:00:00 2001 -From: Jonas Bernoulli <jonas@bernoul.li> -Date: Tue, 25 Jun 2019 21:44:32 +0200 -Subject: [PATCH] magit-log-format-author-margin: New function - -Split it from `magit-log-format-margin'. ---- - lisp/magit-log.el | 48 +++++++++++++++++++++++++---------------------- - 1 file changed, 26 insertions(+), 22 deletions(-) - -diff --git a/lisp/magit-log.el b/lisp/magit-log.el -index c8e6ef63..c0a79b19 100644 ---- a/lisp/magit-log.el -+++ b/lisp/magit-log.el -@@ -1374,28 +1374,32 @@ The shortstat style is experimental and rather slow." - (when-let ((option (magit-margin-option))) - (if magit-log-margin-show-shortstat - (magit-log-format-shortstat-margin rev) -- (pcase-let ((`(,_ ,style ,width ,details ,details-width) -- (or magit-buffer-margin -- (symbol-value option)))) -- (magit-make-margin-overlay -- (concat (and details -- (concat (propertize (truncate-string-to-width -- (or author "") -- details-width -- nil ?\s (make-string 1 magit-ellipsis)) -- 'face 'magit-log-author) -- " ")) -- (propertize -- (if (stringp style) -- (format-time-string -- style -- (seconds-to-time (string-to-number date))) -- (pcase-let* ((abbr (eq style 'age-abbreviated)) -- (`(,cnt ,unit) (magit--age date abbr))) -- (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is") -- (- width (if details (1+ details-width) 0))) -- cnt unit))) -- 'face 'magit-log-date))))))) -+ (magit-log-format-author-margin author date)))) -+ -+(defun magit-log-format-author-margin (author date &optional previous-line) -+ (pcase-let ((`(,_ ,style ,width ,details ,details-width) -+ (or magit-buffer-margin -+ (symbol-value option)))) -+ (magit-make-margin-overlay -+ (concat (and details -+ (concat (propertize (truncate-string-to-width -+ (or author "") -+ details-width -+ nil ?\s (make-string 1 magit-ellipsis)) -+ 'face 'magit-log-author) -+ " ")) -+ (propertize -+ (if (stringp style) -+ (format-time-string -+ style -+ (seconds-to-time (string-to-number date))) -+ (pcase-let* ((abbr (eq style 'age-abbreviated)) -+ (`(,cnt ,unit) (magit--age date abbr))) -+ (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is") -+ (- width (if details (1+ details-width) 0))) -+ cnt unit))) -+ 'face 'magit-log-date)) -+ previous-line))) - - (defun magit-log-format-shortstat-margin (rev) - (magit-make-margin-overlay --- -2.23.0 - diff --git a/gnu/packages/patches/emacs-zones-called-interactively.patch b/gnu/packages/patches/emacs-zones-called-interactively.patch deleted file mode 100644 index eefcfdd12e..0000000000 --- a/gnu/packages/patches/emacs-zones-called-interactively.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 81603e53ebaae0f0b23c4c52c7dab83e808964ec Mon Sep 17 00:00:00 2001 -From: Brian Leung <bkleung89@gmail.com> -Date: Sun, 17 Mar 2019 01:32:04 +0100 -Subject: [PATCH] This patch silences the byte-compiler. - ---- - zones.el | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/zones.el b/zones.el -index ca88d48..594ea36 100644 ---- a/zones.el -+++ b/zones.el -@@ -1075,7 +1075,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. - - This is a destructive operation. The list structure of the variable - value can be modified." -- (zz-narrow-advice (interactive-p))) -+ (zz-narrow-advice (called-interactively-p 'interactive))) - - (defadvice narrow-to-defun (after zz-add-zone--defun activate) - "Push the defun limits to the current `zz-izones-var'. -@@ -1083,7 +1083,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. - - This is a destructive operation. The list structure of the variable - value can be modified." -- (zz-narrow-advice (interactive-p))) -+ (zz-narrow-advice (called-interactively-p 'interactive))) - - ;; Call `zz-add-zone' if interactive or `zz-add-zone-anyway-p'. - ;; -@@ -1093,7 +1093,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. - - This is a destructive operation. The list structure of the variable - value can be modified." -- (zz-narrow-advice (interactive-p))) -+ (zz-narrow-advice (called-interactively-p 'interactive))) - - ;;(@* "General Commands") - --- -2.22.0 - diff --git a/gnu/packages/patches/enlightenment-fix-setuid-path.patch b/gnu/packages/patches/enlightenment-fix-setuid-path.patch index c48f18c8ec..a0efb29857 100644 --- a/gnu/packages/patches/enlightenment-fix-setuid-path.patch +++ b/gnu/packages/patches/enlightenment-fix-setuid-path.patch @@ -1,34 +1,29 @@ diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c -index 00b0e5d84..98ab4518f 100644 +index 8b0aa6641..3dff0ad84 100644 --- a/src/bin/e_auth.c +++ b/src/bin/e_auth.c -@@ -9,8 +9,7 @@ e_auth_begin(char *passwd) +@@ -12,8 +12,7 @@ e_auth_begin(char *passwd) + if (pwlen == 0) goto out; - if (strlen(passwd) == 0) goto out; - -- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_ckpasswd", + snprintf(buf, sizeof(buf), +- "%s/enlightenment/utils/enlightenment_ckpasswd pw", - e_prefix_lib_get()); -+ snprintf(buf, sizeof(buf), "/run/setuid-programs/enlightenment_ckpasswd"); - ++ "/run/setuid-programs/enlightenment_ckpasswd pw"); exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL); - if (ecore_exe_send(exe, passwd, strlen(passwd)) != EINA_TRUE) goto out; -diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c -index 2bced6766..208e583ba 100644 ---- a/src/bin/e_backlight.c -+++ b/src/bin/e_backlight.c -@@ -521,8 +521,8 @@ _bl_sys_level_set(double val) - } - // fprintf(stderr, "SET: %1.3f\n", val); + if (!exe) goto out; + if (ecore_exe_send(exe, passwd, pwlen) != EINA_TRUE) goto out; +@@ -47,8 +46,7 @@ e_auth_polkit_begin(char *passwd, const char *cookie, unsigned int uid) + if (pwlen == 0) goto out; + snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_backlight %i %s", -- e_prefix_lib_get(), (int)(val * 1000.0), bl_sysval); -+ "/run/setuid-programs/enlightenment_backlight %i %s", -+ (int)(val * 1000.0), bl_sysval); - bl_sys_set_exe = ecore_exe_run(buf, NULL); - } - #endif // HAVE_EEZE || __FreeBSD_kernel__ +- "%s/enlightenment/utils/enlightenment_ckpasswd pk", +- e_prefix_lib_get()); ++ "/run/setuid-programs/enlightenment_ckpasswd pk"); + exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL); + if (!exe) goto out; + snprintf(buf, sizeof(buf), "%s %u %s", cookie, uid, passwd); diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c -index 0fcffa249..c1921121d 100644 +index 9b10b3117..74e6b72ad 100644 --- a/src/bin/e_fm/e_fm_main_eeze.c +++ b/src/bin/e_fm/e_fm_main_eeze.c @@ -318,7 +318,7 @@ _e_fm_main_eeze_volume_eject(E_Volume *v) @@ -58,163 +53,29 @@ index 0fcffa249..c1921121d 100644 eeze_disk_mount_wrapper_set(v->disk, buf2); } v->guard = ecore_timer_loop_add(E_FM_MOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_mount_timeout, v); -diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c -index 671fbcd9a..90ee04cf1 100644 ---- a/src/bin/e_sys.c -+++ b/src/bin/e_sys.c -@@ -702,20 +702,16 @@ _e_sys_cb_timer(void *data EINA_UNUSED) - - e_init_status_set(_("Checking System Permissions")); - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys -t halt", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys -t halt"); - _e_sys_halt_check_exe = ecore_exe_run(buf, NULL); - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys -t reboot", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys -t reboot"); - _e_sys_reboot_check_exe = ecore_exe_run(buf, NULL); - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys -t suspend", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys -t suspend"); - _e_sys_suspend_check_exe = ecore_exe_run(buf, NULL); - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys -t hibernate", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys -t hibernate"); - _e_sys_hibernate_check_exe = ecore_exe_run(buf, NULL); - return ECORE_CALLBACK_CANCEL; - } -@@ -1134,8 +1130,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) - if (e_util_immortal_check()) return 0; - e_fm2_die(); - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys halt", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys halt"); - if (_e_sys_exe) - { - if ((ecore_time_get() - _e_sys_begin_time) > 2.0) -@@ -1170,8 +1165,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) - if (e_util_immortal_check()) return 0; - e_fm2_die(); - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys reboot", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys reboot"); - if (_e_sys_exe) - { - if ((ecore_time_get() - _e_sys_begin_time) > 2.0) -@@ -1204,8 +1198,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) - case E_SYS_SUSPEND: - /* /etc/acpi/sleep.sh force */ - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys suspend", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys suspend"); - if (_e_sys_exe) - { - if ((ecore_time_get() - _e_sys_begin_time) > 2.0) -@@ -1265,8 +1258,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw) - case E_SYS_HIBERNATE: - /* /etc/acpi/hibernate.sh force */ - snprintf(buf, sizeof(buf), -- "%s/enlightenment/utils/enlightenment_sys hibernate", -- e_prefix_lib_get()); -+ "/run/setuid-programs/enlightenment_sys hibernate"); - if (_e_sys_exe) - { - if ((ecore_time_get() - _e_sys_begin_time) > 2.0) -diff --git a/src/modules/bluez4/e_mod_main.c b/src/modules/bluez4/e_mod_main.c -index 4b5148634..47d34b07f 100644 ---- a/src/modules/bluez4/e_mod_main.c -+++ b/src/modules/bluez4/e_mod_main.c -@@ -49,8 +49,8 @@ _ebluez_l2ping_poller(void *data EINA_UNUSED) - - if (tmp) - { -- eina_strbuf_append_printf(buf, "%s/enlightenment/utils/enlightenment_sys l2ping %s", -- e_prefix_lib_get(), tmp); -+ eina_strbuf_append_printf(buf, "/run/setuid-programs/enlightenment_sys l2ping %s", -+ tmp); - autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL); - } - -@@ -692,8 +692,7 @@ e_modapi_init(E_Module *m) - autolock_desklock = ecore_event_handler_add(E_EVENT_DESKLOCK, _ebluez_desklock, NULL); - - buf = eina_strbuf_new(); -- eina_strbuf_append_printf(buf, "%s/enlightenment/utils/enlightenment_sys -t l2ping", -- e_prefix_lib_get()); -+ eina_strbuf_append_printf(buf, "/run/setuid-programs/enlightenment_sys -t l2ping"); - autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL); - eina_strbuf_free(buf); - -diff --git a/src/modules/bluez5/e_mod_main.c b/src/modules/bluez5/e_mod_main.c -index a581c466c..095d8f360 100644 ---- a/src/modules/bluez5/e_mod_main.c -+++ b/src/modules/bluez5/e_mod_main.c -@@ -321,8 +321,8 @@ ebluez5_rfkill_unblock(const char *name) - if (buf) - { - eina_strbuf_append_printf -- (buf, "%s/enlightenment/utils/enlightenment_sys rfkill-unblock %s", -- e_prefix_lib_get(), name); -+ (buf, "/run/setuid-programs/enlightenment_sys rfkill-unblock %s", -+ name); - _rfkill_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL); - eina_strbuf_free(buf); - } -diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c -index b66b365d8..bab0802cc 100644 ---- a/src/modules/cpufreq/e_mod_main.c -+++ b/src/modules/cpufreq/e_mod_main.c -@@ -1452,8 +1452,7 @@ e_modapi_init(E_Module *m) - } - E_CONFIG_LIMIT(cpufreq_config->poll_interval, 1, 1024); - -- snprintf(buf, sizeof(buf), "%s/%s/freqset", -- e_module_dir_get(m), MODULE_ARCH); -+ snprintf(buf, sizeof(buf), "/run/setuid-programs/freqset"); - cpufreq_config->set_exe_path = strdup(buf); - - if (stat(buf, &st) < 0) -diff --git a/src/modules/sysinfo/cpuclock/cpuclock.c b/src/modules/sysinfo/cpuclock/cpuclock.c -index 938916e53..00d5067d0 100644 ---- a/src/modules/sysinfo/cpuclock/cpuclock.c -+++ b/src/modules/sysinfo/cpuclock/cpuclock.c -@@ -80,8 +80,7 @@ _cpuclock_set_governor(const char *governor) - char buf[4096 + 100], exe[4096]; - struct stat st; - -- snprintf(exe, 4096, "%s/%s/cpuclock_sysfs", -- e_module_dir_get(sysinfo_config->module), MODULE_ARCH); -+ snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs"); - if (stat(exe, &st) < 0) return; - - snprintf(buf, sizeof(buf), -@@ -108,8 +107,7 @@ _cpuclock_set_frequency(int frequency) - if (system(buf) != 0) - ERR("Error code from trying to run \"%s\"", buf); - #else -- snprintf(exe, 4096, "%s/%s/cpuclock_sysfs", -- e_module_dir_get(sysinfo_config->module), MODULE_ARCH); -+ snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs"); - if (stat(exe, &st) < 0) return; - snprintf(buf, sizeof(buf), - "%s %s %i", exe, "frequency", frequency); -@@ -127,8 +125,7 @@ _cpuclock_set_pstate(int min, int max, int turbo) - char buf[4096 + 100], exe[4096]; - struct stat st; +diff --git a/src/bin/e_start_main.c b/src/bin/e_start_main.c +index b2c439455..cb16c7bd4 100644 +--- a/src/bin/e_start_main.c ++++ b/src/bin/e_start_main.c +@@ -710,7 +710,7 @@ main(int argc, char **argv) + "E_ALERT_FONT_DIR=%s/data/fonts", eina_prefix_data_get(pfx)); + putenv(buf2); + snprintf(buf3, sizeof(buf3), +- "E_ALERT_SYSTEM_BIN=%s/enlightenment/utils/enlightenment_system", eina_prefix_lib_get(pfx)); ++ "E_ALERT_SYSTEM_BIN=/run/setuid-programs/enlightenment_system"); + putenv(buf3); -- snprintf(exe, 4096, "%s/%s/cpuclock_sysfs", -- e_module_dir_get(sysinfo_config->module), MODULE_ARCH); -+ snprintf(exe, 4096, "/run/setuid-programs/cpuclock_sysfs"); - if (stat(exe, &st) < 0) return; + if ((valgrind_mode || valgrind_tool) && +diff --git a/src/bin/e_system.c b/src/bin/e_system.c +index 1e7aabb64..dc0173219 100644 +--- a/src/bin/e_system.c ++++ b/src/bin/e_system.c +@@ -132,7 +132,7 @@ _system_spawn(void) + else _respawn_count = 0; + if (_respawn_count > 5) return; snprintf(buf, sizeof(buf), - "%s %s %i %i %i", exe, "pstate", min, max, turbo); --- -2.23.0 - +- "%s/enlightenment/utils/enlightenment_system", e_prefix_lib_get()); ++ "/run/setuid-programs/enlightenment_system"); + _system_exe = ecore_exe_pipe_run + (buf, ECORE_EXE_NOT_LEADER | ECORE_EXE_TERM_WITH_PARENT | + ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_WRITE, NULL); diff --git a/gnu/packages/patches/exercism-disable-self-update.patch b/gnu/packages/patches/exercism-disable-self-update.patch new file mode 100644 index 0000000000..a96cbfbc55 --- /dev/null +++ b/gnu/packages/patches/exercism-disable-self-update.patch @@ -0,0 +1,79 @@ +From bc22f7d43c12c5f79c71b0319666e71f29d61322 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= <kuba@kadziolka.net> +Date: Mon, 25 May 2020 18:53:04 +0200 +Subject: [PATCH] Disable self-update. + +Based on a Fedora patch by Elliott Sales de Andrade. +--- + cli/cli.go | 44 +------------------------------------------- + 1 file changed, 1 insertion(+), 43 deletions(-) + +diff --git a/cli/cli.go b/cli/cli.go +index 4312eb0..5f62297 100644 +--- a/cli/cli.go ++++ b/cli/cli.go +@@ -10,13 +10,10 @@ import ( + "io" + "io/ioutil" + "net/http" +- "runtime" + "strings" + "time" + + "github.com/blang/semver" +- "github.com/exercism/cli/debug" +- update "github.com/inconshreveable/go-update" + ) + + var ( +@@ -95,46 +92,7 @@ func (c *CLI) IsUpToDate() (bool, error) { + + // Upgrade allows the user to upgrade to the latest version of the CLI. + func (c *CLI) Upgrade() error { +- var ( +- OS = osMap[runtime.GOOS] +- ARCH = archMap[runtime.GOARCH] +- ) +- +- if OS == "" || ARCH == "" { +- return fmt.Errorf("unable to upgrade: OS %s ARCH %s", OS, ARCH) +- } +- +- buildName := fmt.Sprintf("%s-%s", OS, ARCH) +- if BuildARCH == "arm" { +- if BuildARM == "" { +- return fmt.Errorf("unable to upgrade: arm version not found") +- } +- buildName = fmt.Sprintf("%s-v%s", buildName, BuildARM) +- } +- +- var downloadRC *bytes.Reader +- for _, a := range c.LatestRelease.Assets { +- if strings.Contains(a.Name, buildName) { +- debug.Printf("Downloading %s\n", a.Name) +- var err error +- downloadRC, err = a.download() +- if err != nil { +- return fmt.Errorf("error downloading executable: %s", err) +- } +- break +- } +- } +- if downloadRC == nil { +- return fmt.Errorf("no executable found for %s/%s%s", BuildOS, BuildARCH, BuildARM) +- } +- +- bin, err := extractBinary(downloadRC, OS) +- if err != nil { +- return err +- } +- defer bin.Close() +- +- return update.Apply(bin, update.Options{}) ++ return fmt.Errorf("Please use Guix to update Exercism") + } + + func (c *CLI) fetchLatestRelease() error { +-- +2.26.2 + diff --git a/gnu/packages/patches/git-annex-S3v4.patch b/gnu/packages/patches/git-annex-S3v4.patch deleted file mode 100644 index 9f7cea329e..0000000000 --- a/gnu/packages/patches/git-annex-S3v4.patch +++ /dev/null @@ -1,77 +0,0 @@ -From the upstream commit, with the changes to CHANGELOG and the docs -folder removed. - -From 1532d67c3ecf452b8c86bcc5928525398755cd01 Mon Sep 17 00:00:00 2001 -From: Joey Hess <joeyh@joeyh.name> -Date: Thu, 7 May 2020 13:18:11 -0400 -Subject: [PATCH] S3: Support signature=v4 - -To use S3 Signature Version 4. Some S3 services seem to require v4, while -others may only support v2, which remains the default. - -I'm also not sure if v4 works correctly in all cases, there is this -upstream bug report: https://github.com/aristidb/aws/issues/262 -I've only tested it against the default S3 endpoint. ---- - CHANGELOG | 3 +++ - Remote/S3.hs | 23 ++++++++++++++++++- - ..._3bbdf23c8a4a480f4f6b8e8a2f8ddecd._comment | 13 +++++++++++ - ..._854390b9a781da82ecb85ad85eecad04._comment | 13 +++++++++++ - doc/special_remotes/S3.mdwn | 4 ++++ - ..._cf57e8dbd9fdc7c487565b61808b6bb2._comment | 10 ++++++++ - 6 files changed, 65 insertions(+), 1 deletion(-) - create mode 100644 doc/bugs/S3_special_remote_support_for_DigitalOcean_Spaces/comment_2_3bbdf23c8a4a480f4f6b8e8a2f8ddecd._comment - create mode 100644 doc/forum/backblaze_s3/comment_1_854390b9a781da82ecb85ad85eecad04._comment - create mode 100644 doc/special_remotes/S3/comment_34_cf57e8dbd9fdc7c487565b61808b6bb2._comment - -diff --git a/Remote/S3.hs b/Remote/S3.hs -index cb345d1f8..e3ea492f2 100644 ---- a/Remote/S3.hs -+++ b/Remote/S3.hs -@@ -99,6 +99,8 @@ remote = specialRemoteType $ RemoteType - (FieldDesc "port to connect to") - , optionalStringParser requeststyleField - (FieldDesc "for path-style requests, set to \"path\"") -+ , signatureVersionParser signatureField -+ (FieldDesc "S3 signature version") - , optionalStringParser mungekeysField HiddenField - , optionalStringParser AWS.s3credsField HiddenField - ] -@@ -148,6 +150,22 @@ protocolField = Accepted "protocol" - requeststyleField :: RemoteConfigField - requeststyleField = Accepted "requeststyle" - -+signatureField :: RemoteConfigField -+signatureField = Accepted "signature" -+ -+newtype SignatureVersion = SignatureVersion Int -+ -+signatureVersionParser :: RemoteConfigField -> FieldDesc -> RemoteConfigFieldParser -+signatureVersionParser f fd = -+ genParser go f defver fd -+ (Just (ValueDesc "v2 or v4")) -+ where -+ go "v2" = Just (SignatureVersion 2) -+ go "v4" = Just (SignatureVersion 4) -+ go _ = Nothing -+ -+ defver = SignatureVersion 2 -+ - portField :: RemoteConfigField - portField = Accepted "port" - -@@ -877,7 +895,10 @@ s3Configuration c = cfg - Nothing - | port == 443 -> AWS.HTTPS - | otherwise -> AWS.HTTP -- cfg = S3.s3 proto endpoint False -+ cfg = case getRemoteConfigValue signatureField c of -+ Just (SignatureVersion 4) -> -+ S3.s3v4 proto endpoint False S3.SignWithEffort -+ _ -> S3.s3 proto endpoint False - - data S3Info = S3Info - { bucket :: S3.Bucket --- -2.26.2 - diff --git a/gnu/packages/patches/grub-setup-root.patch b/gnu/packages/patches/grub-setup-root.patch new file mode 100644 index 0000000000..1abe9c383a --- /dev/null +++ b/gnu/packages/patches/grub-setup-root.patch @@ -0,0 +1,124 @@ +This patch is taken from OpenWrt, see: + +https://github.com/openwrt/openwrt/blob/master/package/boot/grub2/patches/100-grub_setup_root.patch. + +It allows to use grub-bios-setup on a raw disk-images, without root permissions. + +--- a/util/grub-setup.c ++++ b/util/grub-setup.c +@@ -87,6 +87,8 @@ static struct argp_option options[] = { + N_("install even if problems are detected"), 0}, + {"skip-fs-probe",'s',0, 0, + N_("do not probe for filesystems in DEVICE"), 0}, ++ {"root-device", 'r', N_("DEVICE"), 0, ++ N_("use DEVICE as the root device"), 0}, + {"verbose", 'v', 0, 0, N_("print verbose messages."), 0}, + {"allow-floppy", 'a', 0, 0, + /* TRANSLATORS: The potential breakage isn't limited to floppies but it's +@@ -130,6 +132,7 @@ struct arguments + char *core_file; + char *dir; + char *dev_map; ++ char *root_dev; + int force; + int fs_probe; + int allow_floppy; +@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct + arguments->dev_map = xstrdup (arg); + break; + ++ case 'r': ++ if (arguments->root_dev) ++ free (arguments->root_dev); ++ ++ arguments->root_dev = xstrdup (arg); ++ break; ++ + case 'f': + arguments->force = 1; + break; +@@ -313,7 +323,7 @@ main (int argc, char *argv[]) + GRUB_SETUP_FUNC (arguments.dir ? : DEFAULT_DIRECTORY, + arguments.boot_file ? : DEFAULT_BOOT_FILE, + arguments.core_file ? : DEFAULT_CORE_FILE, +- dest_dev, arguments.force, ++ arguments.root_dev, dest_dev, arguments.force, + arguments.fs_probe, arguments.allow_floppy, + arguments.add_rs_codes); + +--- a/util/setup.c ++++ b/util/setup.c +@@ -252,13 +252,12 @@ identify_partmap (grub_disk_t disk __att + void + SETUP (const char *dir, + const char *boot_file, const char *core_file, +- const char *dest, int force, ++ char *root, const char *dest, int force, + int fs_probe, int allow_floppy, + int add_rs_codes __attribute__ ((unused))) /* unused on sparc64 */ + { + char *core_path; + char *boot_img, *core_img, *boot_path; +- char *root = 0; + size_t boot_size, core_size; + grub_uint16_t core_sectors; + grub_device_t root_dev = 0, dest_dev, core_dev; +@@ -307,7 +306,10 @@ SETUP (const char *dir, + + core_dev = dest_dev; + +- { ++ if (root) ++ root_dev = grub_device_open(root); ++ ++ if (!root_dev) { + char **root_devices = grub_guess_root_devices (dir); + char **cur; + int found = 0; +@@ -320,6 +322,8 @@ SETUP (const char *dir, + char *drive; + grub_device_t try_dev; + ++ if (root_dev) ++ break; + drive = grub_util_get_grub_dev (*cur); + if (!drive) + continue; +--- a/include/grub/util/install.h ++++ b/include/grub/util/install.h +@@ -191,13 +191,13 @@ grub_install_get_image_target (const cha + void + grub_util_bios_setup (const char *dir, + const char *boot_file, const char *core_file, +- const char *dest, int force, ++ char *root, const char *dest, int force, + int fs_probe, int allow_floppy, + int add_rs_codes); + void + grub_util_sparc_setup (const char *dir, + const char *boot_file, const char *core_file, +- const char *dest, int force, ++ char *root, const char *dest, int force, + int fs_probe, int allow_floppy, + int add_rs_codes); + +--- a/util/grub-install.c ++++ b/util/grub-install.c +@@ -1712,7 +1712,7 @@ main (int argc, char *argv[]) + /* Now perform the installation. */ + if (install_bootsector) + grub_util_bios_setup (platdir, "boot.img", "core.img", +- install_drive, force, ++ NULL, install_drive, force, + fs_probe, allow_floppy, add_rs_codes); + break; + } +@@ -1738,7 +1738,7 @@ main (int argc, char *argv[]) + /* Now perform the installation. */ + if (install_bootsector) + grub_util_sparc_setup (platdir, "boot.img", "core.img", +- install_drive, force, ++ NULL, install_drive, force, + fs_probe, allow_floppy, + 0 /* unused */ ); + break; diff --git a/gnu/packages/patches/guile-fibers-destroy-peer-schedulers.patch b/gnu/packages/patches/guile-fibers-destroy-peer-schedulers.patch new file mode 100644 index 0000000000..8bb7153153 --- /dev/null +++ b/gnu/packages/patches/guile-fibers-destroy-peer-schedulers.patch @@ -0,0 +1,24 @@ +Fibers 1.0.0 has a bug in run-fibers in which peer schedulers aren't destroyed - +so if you had 4 cores, 1 would be destroyed when run-fibers returned, but the +other 3 would stay around. Each scheduler uses 3 file descriptors, so for +machines with many cores, this resource leak adds up quickly - quickly enough +that the test suite can even fail because of it. + +See https://github.com/wingo/fibers/issues/36. + +This fixes that. It should be safe to destroy the peer schedulers at the given +point because the threads that could be running them are all either dead or the +current thread. + +As of May 21, 2020, this bug still existed in the 1.0.0 (latest) release and in +git master. +--- a/fibers.scm 2020-05-21 18:38:06.890690154 -0500 ++++ b/fibers.scm 2020-05-21 18:38:56.395686693 -0500 +@@ -137,5 +137,6 @@ + (%run-fibers scheduler hz finished? affinity)) + (lambda () + (stop-auxiliary-threads scheduler))))) ++ (for-each destroy-scheduler (scheduler-remote-peers scheduler)) + (destroy-scheduler scheduler) + (apply values (atomic-box-ref ret)))))) + diff --git a/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch b/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch deleted file mode 100644 index 9ea9a47677..0000000000 --- a/gnu/packages/patches/guile-sqlite3-fix-cross-compilation.patch +++ /dev/null @@ -1,55 +0,0 @@ -From a6e9e62a77ecc5012929613e20da23b2636450a5 Mon Sep 17 00:00:00 2001 -From: Mathieu Othacehe <mathieu.othacehe@parrot.com> -Date: Mon, 25 Mar 2019 11:00:38 +0100 -Subject: [PATCH] cross compile - ---- - build-aux/guile.am | 2 +- - configure.ac | 19 ++++++++++++------- - 2 files changed, 13 insertions(+), 8 deletions(-) - -diff --git a/build-aux/guile.am b/build-aux/guile.am -index dc1e63f..3126372 100644 ---- a/build-aux/guile.am -+++ b/build-aux/guile.am -@@ -16,4 +16,4 @@ EXTRA_DIST = $(SOURCES) $(NOCOMP_SOURCES) - GUILE_WARNINGS = -Wunbound-variable -Warity-mismatch -Wformat - SUFFIXES = .scm .go - .scm.go: -- $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_WARNINGS) -o "$@" "$<" -+ $(AM_V_GEN)$(top_builddir)/env $(GUILE_TOOLS) compile $(GUILE_TARGET) $(GUILE_WARNINGS) -o "$@" "$<" -diff --git a/configure.ac b/configure.ac -index f648fcb..2d34d0a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -21,15 +21,20 @@ PKG_CHECK_MODULES([SQLITE], [sqlite3]) - SQLITE_LIBDIR="`"$PKG_CONFIG" sqlite3 --variable libdir`" - AC_SUBST([SQLITE_LIBDIR]) - --AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable]) --GUILE_CHECK([retval], -- [(dynamic-func \"sqlite3_open_v2\" -+if test "$cross_compiling" = "no"; then -+ AC_MSG_CHECKING([whether '$SQLITE_LIBDIR/libsqlite3' is usable]) -+ GUILE_CHECK([retval], -+ [(dynamic-func \"sqlite3_open_v2\" - (dynamic-link \"$SQLITE_LIBDIR/libsqlite3\"))]) --if test "$retval" != 0; then -- AC_MSG_RESULT([no]) -- AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3']) -+ if test "$retval" != 0; then -+ AC_MSG_RESULT([no]) -+ AC_MSG_ERROR([failed to load '$SQLITE_LIBDIR/libsqlite3']) -+ else -+ AC_MSG_RESULT([yes]) -+ fi - else -- AC_MSG_RESULT([yes]) -+ GUILE_TARGET="--target=$host_alias" -+ AC_SUBST([GUILE_TARGET]) - fi - - AC_CONFIG_FILES([Makefile sqlite3.scm]) --- -2.17.1 - diff --git a/gnu/packages/patches/haskell-mode-make-check.patch b/gnu/packages/patches/haskell-mode-make-check.patch deleted file mode 100644 index a4d4d525f2..0000000000 --- a/gnu/packages/patches/haskell-mode-make-check.patch +++ /dev/null @@ -1,35 +0,0 @@ -Copied from upstream repository. -Hunk #2 is removed since it cannot be applied and it is not needed. - -From 7cead7137bf54851c1b7df5a3854351296d21276 Mon Sep 17 00:00:00 2001 -From: Vasantha Ganesh K <vasanthaganesh.k@tuta.io> -Date: Thu, 22 Jun 2017 23:38:40 +0530 -Subject: [PATCH] removed `check-conventions' from make - ---- - Makefile | 7 +- - tests/haskell-code-conventions.el | 165 ------------------------------ - 2 files changed, 1 insertion(+), 171 deletions(-) - delete mode 100644 tests/haskell-code-conventions.el - -diff --git a/Makefile b/Makefile -index b2c89d6..aa907c5 100644 ---- a/Makefile -+++ b/Makefile -@@ -79,12 +79,7 @@ build-$(EMACS_VERSION)/build-flag : build-$(EMACS_VERSION) $(patsubst %.el,build - check-%: tests/%-tests.el - $(BATCH) -l "$<" -f ert-run-tests-batch-and-exit; - --check: compile $(AUTOLOADS) check-ert check-conventions -- --check-conventions : -- $(BATCH) -l tests/haskell-code-conventions.el \ -- -f haskell-check-conventions-batch-and-exit -- @echo "conventions are okay" -+check: compile $(AUTOLOADS) check-ert - - check-ert: $(ELCHECKS) - $(BATCH) --eval "(when (= emacs-major-version 24) \ --- -2.18.0 - diff --git a/gnu/packages/patches/haskell-mode-unused-variables.patch b/gnu/packages/patches/haskell-mode-unused-variables.patch deleted file mode 100644 index b175fae28c..0000000000 --- a/gnu/packages/patches/haskell-mode-unused-variables.patch +++ /dev/null @@ -1,44 +0,0 @@ -Copied verbatim from upstream repository. - -From cee22450ee30e79952f594796721dc6b17798ee6 Mon Sep 17 00:00:00 2001 -From: Sascha Wilde <wilde@sha-bang.de> -Date: Fri, 23 Sep 2016 15:35:59 +0200 -Subject: [PATCH] Removed unused lexical variables. - ---- - haskell-lexeme.el | 3 +-- - haskell-process.el | 4 +--- - 2 files changed, 2 insertions(+), 5 deletions(-) - -diff --git a/haskell-lexeme.el b/haskell-lexeme.el -index 4256a79..b832560 100644 ---- a/haskell-lexeme.el -+++ b/haskell-lexeme.el -@@ -138,8 +138,7 @@ When match is successful, match-data will contain: - (match-text 2) - whole qualified identifier - (match-text 3) - unqualified part of identifier - (match-text 4) - closing backtick" -- (let ((begin (point)) -- (match-data-old (match-data)) -+ (let ((match-data-old (match-data)) - first-backtick-start - last-backtick-start - qid-start -diff --git a/haskell-process.el b/haskell-process.el -index b4efba2..4f3f859 100644 ---- a/haskell-process.el -+++ b/haskell-process.el -@@ -160,9 +160,7 @@ HPTYPE is the result of calling `'haskell-process-type`' function." - (defun haskell-process-log (msg) - "Effective append MSG to the process log (if enabled)." - (when haskell-process-log -- (let* ((append-to (get-buffer-create "*haskell-process-log*")) -- (windows (get-buffer-window-list append-to t t)) -- move-point-in-windows) -+ (let* ((append-to (get-buffer-create "*haskell-process-log*"))) - (with-current-buffer append-to - ;; point should follow insertion so that it stays at the end - ;; of the buffer --- -2.18.0 - diff --git a/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch b/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch new file mode 100644 index 0000000000..79bd3e8dbc --- /dev/null +++ b/gnu/packages/patches/http-parser-fix-assertion-on-armhf.patch @@ -0,0 +1,39 @@ +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Wed, 20 May 2020 19:17:13 +0200 +Subject: [PATCH] gnu: http-client: Fix assertion on armhf-linux. + +Copied verbatim from [0] to fix guix pull[1] on ARM systems. + +[0]: https://github.com/nodejs/http-parser/pull/510 +[1]: https://issues.guix.gnu.org/40604 + +From 0e5868aebb9eb92b078d27bb2774c2154dc167e2 Mon Sep 17 00:00:00 2001 +From: Ben Noordhuis <info@bnoordhuis.nl> +Date: Thu, 30 Apr 2020 11:22:50 +0200 +Subject: [PATCH] Fix sizeof(http_parser) assert + +The result should be 32 on both 32 bits and 64 bits architectures +because of struct padding. + +Fixes: https://github.com/nodejs/http-parser/issues/507 +--- + test.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/test.c b/test.c +index 7983424..f60a84f 100644 +--- a/test.c ++++ b/test.c +@@ -4220,8 +4220,11 @@ main (void) + patch = version & 255; + printf("http_parser v%u.%u.%u (0x%06lx)\n", major, minor, patch, version); + ++ /* Should be 32 on both 32 bits and 64 bits architectures because of ++ * struct padding, see https://github.com/nodejs/http-parser/issues/507. ++ */ + printf("sizeof(http_parser) = %u\n", (unsigned int)sizeof(http_parser)); +- assert(sizeof(http_parser) == 4 + 4 + 8 + 2 + 2 + 4 + sizeof(void *)); ++ assert(sizeof(http_parser) == 32); + + //// API + test_preserve_data(); diff --git a/gnu/packages/patches/hurd-xattr.patch b/gnu/packages/patches/hurd-xattr.patch new file mode 100644 index 0000000000..0a922c91b5 --- /dev/null +++ b/gnu/packages/patches/hurd-xattr.patch @@ -0,0 +1,53 @@ +From 75cb948c575fca3962c4cce115d31dd178bc389f Mon Sep 17 00:00:00 2001 +From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> +Date: Tue, 12 May 2020 07:39:59 +0200 +Subject: [PATCH] ext2fs: Update to upstream Hurd-reserved xattr index for + "gnu.*". + +See + https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3980bd3b406addb327d858aebd19e229ea340b9a + +This supports setting (and reading) of passive trasnlators from +GNU/Linux, e.g. + + dd if=/dev/zero of=file bs=1k count=1000 + losetup /dev/loop0 file + mke2fs -t ext2 -o hurd -O ext_attr /dev/loop0 + mount -t ext2 -o x-xattr-translator-records /dev/loop0 /mnt + mkdir -p /mnt/servers/socket + touch /mnt/servers/socket/1 + setfattr --name=gnu.translator --value='/hurd/pflocal\0' /mnt/servers/socket/1 + getfattr --name=gnu.translator /mnt/servers/socket/1 + # file: 1 + gnu.translator="/hurd/pflocal" + +* ext2fs/xattr.c (struct _xattr_prefix): For "gnu.*", use index for +the Hurd (10). +--- + ext2fs/xattr.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ext2fs/xattr.c b/ext2fs/xattr.c +index f6ea0f39..78458214 100644 +--- a/ext2fs/xattr.c ++++ b/ext2fs/xattr.c +@@ -1,6 +1,6 @@ + /* Ext2 support for extended attributes + +- Copyright (C) 2006, 2016 Free Software Foundation, Inc. ++ Copyright (C) 2006, 2016, 2020 Free Software Foundation, Inc. + + Written by Thadeu Lima de Souza Cascardo <cascardo@dcc.ufmg.br> + and Shengyu Zhang <lastavengers@outlook.com> +@@ -39,7 +39,7 @@ xattr_prefixes[] = + { + 1, "user.", sizeof "user." - 1}, + { +- 7, "gnu.", sizeof "gnu." - 1}, ++ 10, "gnu.", sizeof "gnu." - 1}, + { + 0, NULL, 0} + }; +-- +2.26.0 + diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index 2978a5789e..d3d95cbf28 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 fa5b2266d225878d4b35694678f79fd7e7a6d3c62759a40326129bd90f63e842 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +-echo -n 935105e1a8a97d64daffb372690e2b566b5f07641f01470929dbbc82d20d4407 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 fa5b2266d225878d4b35694678f79fd7e7a6d3c62759a40326129bd90f63e842 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - ++# echo -n 935105e1a8a97d64daffb372690e2b566b5f07641f01470929dbbc82d20d4407 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz diff --git a/gnu/packages/patches/java-openjfx-build-jdk_version.patch b/gnu/packages/patches/java-openjfx-build-jdk_version.patch new file mode 100644 index 0000000000..7be954467a --- /dev/null +++ b/gnu/packages/patches/java-openjfx-build-jdk_version.patch @@ -0,0 +1,27 @@ +Subject: [PATCH] openjfx: Determine the version of Java in JDK_HOME + +Icedtea contains guix in its version, so build.gradle failes to run. Openjfx +packaging is not trivial, so you will probably need to try build it with +gradlew. + +--- + build.gradle | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/build.gradle b/build.gradle +index df82f63..2c626cd 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -742,9 +742,9 @@ try { + if (inStream.readLine() != null) { + String v = inStream.readLine(); + if (v != null) { +- int ib = v.indexOf(" (build "); ++ int ib = v.indexOf(" (guix build "); + if (ib != -1) { +- String ver = v.substring(ib + 8, v.size() - 1); ++ String ver = v.substring(ib + 13, v.size() - 1); + + defineProperty("jdkRuntimeVersion", ver) + defineProperty("jdkVersion", jdkRuntimeVersion.split("-")[0]) +2.24.1 diff --git a/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch b/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch deleted file mode 100644 index 13345c0038..0000000000 --- a/gnu/packages/patches/kdepim-runtime-Fix-missing-link-libraries.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b84c4ba97cecf7304e99cafdd8a9c5866ce27050 Mon Sep 17 00:00:00 2001 -From: Hartmut Goebel <h.goebel@crazy-compilers.com> -Date: Tue, 21 Jan 2020 23:33:50 +0100 -Subject: [PATCH] Fix missing link libraries. - -See <https://phabricator.kde.org/D26819> - -These are only actually missing if the libraries reside in different -prefixes, as it is the case in Guix or Nix. ---- - resources/ews/test/CMakeLists.txt | 1 + - resources/facebook/CMakeLists.txt | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/resources/ews/test/CMakeLists.txt b/resources/ews/test/CMakeLists.txt -index b20eddcb8..6355eb994 100644 ---- a/resources/ews/test/CMakeLists.txt -+++ b/resources/ews/test/CMakeLists.txt -@@ -35,6 +35,7 @@ qt5_add_resources(isolatestestcommon_RSRCS isolatedtestcommon.qrc) - add_library(isolatedtestcommon STATIC ${isolatestestcommon_SRCS}) - target_link_libraries(isolatedtestcommon - KF5::AkonadiCore -+ KF5::AkonadiMime - Qt5::Core - Qt5::Network - Qt5::Test -diff --git a/resources/facebook/CMakeLists.txt b/resources/facebook/CMakeLists.txt -index bdd5eeaa7..27a9c83c1 100644 ---- a/resources/facebook/CMakeLists.txt -+++ b/resources/facebook/CMakeLists.txt -@@ -21,7 +21,8 @@ add_library(facebookresourcelib STATIC ${fbresource_SRCS}) - - target_link_libraries(facebookresourcelib - KF5::KIOWidgets -+ KF5::AkonadiCore - KF5::IconThemes - KF5::I18n - KF5::ConfigGui - KF5::CalendarCore --- -2.21.1 - diff --git a/gnu/packages/patches/kinit-kdeinit-extra_libs.patch b/gnu/packages/patches/kinit-kdeinit-extra_libs.patch index c3c4ce1161..1271f3df7d 100644 --- a/gnu/packages/patches/kinit-kdeinit-extra_libs.patch +++ b/gnu/packages/patches/kinit-kdeinit-extra_libs.patch @@ -42,12 +42,12 @@ pkgs/development/libraries/kde-frameworks/kinit/kdeinit-extra_libs.patch extern "C" { static void secondary_child_handler(int) -@@ -1689,7 +1693,7 @@ +@@ -1673,7 +1673,7 @@ + #if defined(Q_OS_UNIX) && !defined(Q_OS_OSX) if (!d.suicide && qEnvironmentVariableIsEmpty("KDE_IS_PRELINKED")) { - const int extrasCount = sizeof(extra_libs) / sizeof(extra_libs[0]); - for (int i = 0; i < extrasCount; i++) { -- const QString extra = findSharedLib(QString::fromLatin1(extra_libs[i])); -+ const QString extra = QString::fromLatin1(extra_libs[i]); + for (const char *extra_lib : extra_libs) { +- const QString extra = findSharedLib(QString::fromLatin1(extra_lib)); ++ const QString extra = QString::fromLatin1(extra_lib); if (!extra.isEmpty()) { QLibrary l(extra); l.setLoadHints(QLibrary::ExportExternalSymbolsHint); diff --git a/gnu/packages/patches/kpmcore-fix-tests.patch b/gnu/packages/patches/kpmcore-fix-tests.patch deleted file mode 100644 index 12043abe72..0000000000 --- a/gnu/packages/patches/kpmcore-fix-tests.patch +++ /dev/null @@ -1,30 +0,0 @@ -Git commit c02d59aa6d314678cef9683f96b28e2a1abd82b7 by Andrius Štikonas, on behalf of Hartmut Goebel. -Committed on 07/11/2019 at 22:16. -Pushed by stikonas into branch '4.0'. - -Fix test for kpmcore: stop helper only if formerly started. - -See https://bugs.kde.org/413851 and https://phabricator.kde.org/D25161 - -diff --git a/src/util/externalcommand.cpp b/src/util/externalcommand.cpp ---- a/src/util/externalcommand.cpp -+++ b/src/util/externalcommand.cpp -@@ -433,14 +433,17 @@ - - void ExternalCommand::stopHelper() - { -+ if (!helperStarted) -+ return; - auto *interface = new org::kde::kpmcore::externalcommand(QStringLiteral("org.kde.kpmcore.externalcommand"), - QStringLiteral("/Helper"), QDBusConnection::systemBus()); - QByteArray request; - const quint64 nonce = interface->getNonce(); - request.setNum(nonce); - QByteArray hash = QCryptographicHash::hash(request, QCryptographicHash::Sha512); - interface->exit(privateKey->signMessage(hash, QCA::EMSA3_Raw), nonce); - -+ helperStarted = false; - delete privateKey; - delete init; - } - diff --git a/gnu/packages/patches/kpmcore-remove-broken-test.patch b/gnu/packages/patches/kpmcore-remove-broken-test.patch deleted file mode 100644 index d02cca7883..0000000000 --- a/gnu/packages/patches/kpmcore-remove-broken-test.patch +++ /dev/null @@ -1,139 +0,0 @@ -From c9a08a593bac8b8610a647db118fea6f2958156d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= <andrius@stikonas.eu> -Date: Thu, 7 Nov 2019 22:12:00 +0000 -Subject: [PATCH] Remove broken smart unit test. - -BUG: 413853 ---- - test/CMakeLists.txt | 9 ---- - test/testsmart.cpp | 102 -------------------------------------------- - 2 files changed, 111 deletions(-) - delete mode 100644 test/testsmart.cpp - -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index 67f63a2..6a300d3 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -53,12 +53,3 @@ find_package (Threads) - # Execute external commands as root - kpm_test(testexternalcommand testexternalcommand.cpp) - add_test(NAME testexternalcommand COMMAND testexternalcommand ${BACKEND}) -- --# Including SMART files reference --set(SMARTPARSER ${CMAKE_SOURCE_DIR}/src/core/smartdiskinformation.cpp -- ${CMAKE_SOURCE_DIR}/src/core/smartattributeparseddata.cpp -- ${CMAKE_SOURCE_DIR}/src/core/smartparser.cpp) -- --# Test SMART support --kpm_test(testsmart testsmart.cpp ${SMARTPARSER}) --add_test(NAME testsmart COMMAND testsmart ${BACKEND}) -diff --git a/test/testsmart.cpp b/test/testsmart.cpp -deleted file mode 100644 -index 2236af7..0000000 ---- a/test/testsmart.cpp -+++ /dev/null -@@ -1,102 +0,0 @@ --#include "helpers.h" -- --#include "util/externalcommand.h" --#include "backend/corebackend.h" --#include "backend/corebackendmanager.h" --#include "core/smartstatus.h" --#include "core/smartparser.h" -- --#include <QCoreApplication> --#include <QDebug> -- --static QString getDefaultDevicePath(); --static bool testSmartStatus(); --static bool testSmartParser(); -- --int main(int argc, char **argv) --{ -- QCoreApplication app(argc, argv); -- -- KPMCoreInitializer i; -- -- if (argc == 2) -- i = KPMCoreInitializer(argv[1]); -- -- if (!i.isValid()) -- return 1; -- -- CoreBackend *backend = CoreBackendManager::self()->backend(); -- -- if (!backend) -- { -- qWarning() << "Couldn't get backend."; -- return 1; -- } -- -- if (!testSmartStatus() || !testSmartParser()) -- return 1; -- -- return app.exec(); --} -- --static QString getDefaultDevicePath() --{ -- // Getting default home partition using 'df -P /home | awk 'END{print $1}'' command -- ExternalCommand command(QStringLiteral("df"), { QStringLiteral("-P"), QStringLiteral("/home"), QStringLiteral("|"), -- QStringLiteral("awk"), QStringLiteral("\'END{print $1}\'") }); -- -- if (command.run() && command.exitCode() == 0) { -- QString output = command.output(); -- return output; -- } -- -- return QString(); --} -- --static bool testSmartStatus() --{ -- QString devicePath = getDefaultDevicePath(); -- -- SmartStatus smart(devicePath); -- -- if (smart.devicePath() != devicePath) -- return false; -- -- if (!smart.status()) -- return false; -- -- if (smart.modelName() == QString()) -- return false; -- -- if (smart.firmware() == QString()) -- return false; -- -- if (smart.serial() == QString()) -- return false; -- -- if (smart.selfTestStatus() != SmartStatus::SelfTestStatus::Success) -- return false; -- -- if (!smart.isValid()) -- return false; -- -- return true; --} -- --static bool testSmartParser() --{ -- QString devicePath = getDefaultDevicePath(); -- -- SmartParser parser(devicePath); -- -- if (!parser.init()) -- return false; -- -- if (parser.devicePath() != devicePath) -- return false; -- -- if (!parser.diskInformation()) -- return false; -- -- return true; --} --- -2.17.1 diff --git a/gnu/packages/patches/lib2geom-enable-assertions.patch b/gnu/packages/patches/lib2geom-enable-assertions.patch new file mode 100644 index 0000000000..8feb44acbf --- /dev/null +++ b/gnu/packages/patches/lib2geom-enable-assertions.patch @@ -0,0 +1,36 @@ +From 4aa78f52232682b353eb15c219171e466987bac7 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Thu, 16 Jan 2020 00:19:29 -0500 +Subject: [PATCH] build: Enable assertions for the RelWithDebugInfo build type. + +This fixes issue #5 (see: +https://gitlab.com/inkscape/lib2geom/issues/5). + +* CMakeLists.txt: Remove the "-DNDEBUG" CXX flag from the default +configuration for the RelWithDebugInfo build type. +--- + CMakeLists.txt | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bfeb8f03..a663a1b0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -19,6 +19,14 @@ enable_testing() + + include(CheckCXXSourceCompiles) + ++# Enable assertions for the RelWithDebugInfo build type. This is ++# useful as some tests make use of it (see: ++# https://gitlab.com/inkscape/lib2geom/issues/5). ++if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") ++ string(REPLACE "-DNDEBUG" "" ++ CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") ++endif() ++ + # Find dependencies + find_package(Boost 1.40 REQUIRED) + find_package(DoubleConversion REQUIRED) +-- +2.24.1 + diff --git a/gnu/packages/patches/lib2geom-link-tests-against-glib.patch b/gnu/packages/patches/lib2geom-link-tests-against-glib.patch new file mode 100644 index 0000000000..2b4f7ca6bf --- /dev/null +++ b/gnu/packages/patches/lib2geom-link-tests-against-glib.patch @@ -0,0 +1,34 @@ +From f95925afef451755fc1449e57fbfdc2e7277f4b4 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Sat, 11 Jan 2020 00:44:55 -0500 +Subject: [PATCH 1/3] tests: Link against GLib. + +This resolves an error about not finding <glib.h> when linking the +tests that make use of GLib. + +* src/tests/CMakeLists.txt[2GEOM_GTESTS_SRC]: Add the glib library to +the link target libraries. +--- + src/tests/CMakeLists.txt | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt +index 5ddf7f9c..626cfd87 100644 +--- a/src/tests/CMakeLists.txt ++++ b/src/tests/CMakeLists.txt +@@ -32,8 +32,10 @@ sbasis-test + + foreach(source ${2GEOM_GTESTS_SRC}) + add_executable(${source} ${source}.cpp) +- target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS}) +- target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES} ${GTK3_LIBRARIES}) ++ target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} ++ ${GTK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS}) ++ target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES} ++ ${GTK3_LIBRARIES} ${GLIB_LIBRARIES}) + add_test(NAME ${source} COMMAND ${source}) + endforeach() + +-- +2.24.1 + diff --git a/gnu/packages/patches/lib2geom-use-system-googletest.patch b/gnu/packages/patches/lib2geom-use-system-googletest.patch new file mode 100644 index 0000000000..16cce1799f --- /dev/null +++ b/gnu/packages/patches/lib2geom-use-system-googletest.patch @@ -0,0 +1,94 @@ +From 6693b9c8ff1ae1ec02c9002c0a8f5f416f0c88f0 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Sun, 12 Jan 2020 23:23:33 -0500 +Subject: [PATCH 3/3] build: Prefer googletest from the system. + +Fixes issue #4. + +The build system now look for a system installed googletest or falls +back to the bundled copy of googletest otherwise. + +* CMakeLists.txt: Add call to find_package(GTest). +(include_directories): Remove "src/googletest/googletest/include" from +arg. +* src/CMakeLists.txt[NOT GTEST_FOUND]: Define the gtest and gtest_main +libraries when GTEST_FOUND is false. Globally include the googletest +headers here. Define aliases for the gtest and gtest_main libraries +that match those defined by the FindGTest module. +* src/tests/CMakeLists.txt: Replace references to gtest_main and gtest +by GTest::Main and GTest::GTest, respectively. +--- + CMakeLists.txt | 3 ++- + src/CMakeLists.txt | 15 +++++++++++---- + src/tests/CMakeLists.txt | 6 +++--- + 3 files changed, 16 insertions(+), 8 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bfeb8f03..96fbd58c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -25,13 +25,14 @@ find_package(DoubleConversion REQUIRED) + find_package(PkgConfig REQUIRED) + find_package(Cython) + find_package(Threads) ++find_package(GTest) + pkg_check_modules(GTK3 gtk+-3.0) + pkg_check_modules(GLIB glib-2.0) + pkg_check_modules(CAIRO cairo) + pkg_check_modules(GSL gsl) + + # Add global include and link directories +-include_directories(src src/googletest/googletest/include ${CMAKE_CURRENT_BINARY_DIR}) ++include_directories(src ${CMAKE_CURRENT_BINARY_DIR}) + link_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/2geom) + + check_cxx_source_compiles("#include <math.h>\nint main() { double a=0.5,b=0.5,c=0.5; sincos(a, &b, &c); return 0; }" HAVE_SINCOS) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index eefb3ac5..941dc4c7 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -1,7 +1,14 @@ +-add_library(gtest SHARED googletest/googletest/src/gtest-all.cc) +-target_include_directories(gtest PRIVATE googletest/googletest) +-target_link_libraries(gtest Threads::Threads) +-add_library(gtest_main STATIC googletest/googletest/src/gtest_main.cc) ++if(NOT GTEST_FOUND) ++ message("No system googletest library: using bundled copy.") ++ add_library(gtest SHARED googletest/googletest/src/gtest-all.cc) ++ add_library(gtest_main STATIC googletest/googletest/src/gtest_main.cc) ++ target_include_directories(gtest PRIVATE googletest/googletest) ++ target_link_libraries(gtest Threads::Threads) ++ include_directories(SYSTEM googletest/googletest/include) ++ # Aliases to share the same nomenclature with FindGTest. ++ add_library(GTest::GTest ALIAS gtest) ++ add_library(GTest::Main ALIAS gtest_main) ++endif() + + add_subdirectory(2geom) + add_subdirectory(tests) +diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt +index 626cfd87..3538f8cf 100644 +--- a/src/tests/CMakeLists.txt ++++ b/src/tests/CMakeLists.txt +@@ -34,15 +34,15 @@ foreach(source ${2GEOM_GTESTS_SRC}) + add_executable(${source} ${source}.cpp) + target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} + ${GTK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS}) +- target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES} +- ${GTK3_LIBRARIES} ${GLIB_LIBRARIES}) ++ target_link_libraries(${source} 2geom GTest::Main GTest::GTest ++ ${GSL_LIBRARIES} ${GTK3_LIBRARIES} ${GLIB_LIBRARIES}) + add_test(NAME ${source} COMMAND ${source}) + endforeach() + + foreach(source ${2GEOM_TESTS_SRC}) + add_executable(${source} ${source}.cpp) + target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS}) +- target_link_libraries(${source} 2geom gtest ${GSL_LIBRARIES} ${GTK3_LIBRARIES}) ++ target_link_libraries(${source} 2geom GTest::GTest ${GSL_LIBRARIES} ${GTK3_LIBRARIES}) + add_test(NAME ${source} COMMAND ${source}) + endforeach(source) + +-- +2.24.1 + diff --git a/gnu/packages/patches/libdrm-realpath-virtio.patch b/gnu/packages/patches/libdrm-realpath-virtio.patch new file mode 100644 index 0000000000..b7d85160b4 --- /dev/null +++ b/gnu/packages/patches/libdrm-realpath-virtio.patch @@ -0,0 +1,42 @@ +Only check for for relative path on virtio devices. Otherwise it could +break driver loading in some circumstances, notably the IceCat sandbox. + +https://gitlab.freedesktop.org/mesa/drm/-/issues/39 + +Taken from upstream: +https://gitlab.freedesktop.org/mesa/drm/-/commit/57df07572ce45a1b60bae6fb89770388d3abd6dd + +diff --git a/xf86drm.c b/xf86drm.c +--- a/xf86drm.c ++++ b/xf86drm.c +@@ -3103,15 +3103,18 @@ static int drmParseSubsystemType(int maj, int min) + int subsystem_type; + + snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device", maj, min); +- if (!realpath(path, real_path)) +- return -errno; +- snprintf(path, sizeof(path), "%s", real_path); + + subsystem_type = get_subsystem_type(path); ++ /* Try to get the parent (underlying) device type */ + if (subsystem_type == DRM_BUS_VIRTIO) { ++ /* Assume virtio-pci on error */ ++ if (!realpath(path, real_path)) ++ return DRM_BUS_VIRTIO; + strncat(path, "/..", PATH_MAX); + subsystem_type = get_subsystem_type(path); +- } ++ if (subsystem_type < 0) ++ return DRM_BUS_VIRTIO; ++ } + return subsystem_type; + #elif defined(__OpenBSD__) || defined(__DragonFly__) || defined(__FreeBSD__) + return DRM_BUS_PCI; +@@ -3920,6 +3923,7 @@ process_device(drmDevicePtr *device, const char *d_name, + + switch (subsystem_type) { + case DRM_BUS_PCI: ++ case DRM_BUS_VIRTIO: + return drmProcessPciDevice(device, node, node_type, maj, min, + fetch_deviceinfo, flags); + case DRM_BUS_USB: diff --git a/gnu/packages/patches/libdrm-symbol-check.patch b/gnu/packages/patches/libdrm-symbol-check.patch deleted file mode 100644 index 0a77763a4f..0000000000 --- a/gnu/packages/patches/libdrm-symbol-check.patch +++ /dev/null @@ -1,215 +0,0 @@ -Augment the list of expected symbols to fix the symbol-check tests on -mips64el-linux, armhf-linux and aarch64-linux. - ---- libdrm-2.4.65/freedreno/freedreno-symbol-check.orig 2015-09-04 11:07:40.000000000 -0400 -+++ libdrm-2.4.65/freedreno/freedreno-symbol-check 2015-10-18 23:57:15.288416229 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.sources/LIBDRM_FREEDRENO_H_FILES - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_freedreno.so} | awk '{print $3}'| while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - fd_bo_cpu_fini - fd_bo_cpu_prep - fd_bo_del ---- libdrm-2.4.65/nouveau/nouveau-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 -+++ libdrm-2.4.65/nouveau/nouveau-symbol-check 2015-10-18 23:55:26.078327118 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.sources/LIBDRM_NOUVEAU_H_FILES - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_nouveau.so} | awk '{print $3}'| while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - nouveau_bo_map - nouveau_bo_name_get - nouveau_bo_name_ref ---- libdrm-2.4.65/libkms/kms-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 -+++ libdrm-2.4.65/libkms/kms-symbol-check 2015-10-18 23:46:10.683869471 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.sources/LIBKMS_H_FILES - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libkms.so} | awk '{print $3}'| while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - kms_bo_create - kms_bo_destroy - kms_bo_get_prop ---- libdrm-2.4.65/intel/intel-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 -+++ libdrm-2.4.65/intel/intel-symbol-check 2015-10-18 23:55:53.309558508 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.sources/LIBDRM_INTEL_H_FILES - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_intel.so} | awk '{print $3}' | while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - drm_intel_bo_alloc - drm_intel_bo_alloc_for_render - drm_intel_bo_alloc_tiled ---- libdrm-2.4.65/amdgpu/amdgpu-symbol-check.orig 2015-08-17 10:08:11.000000000 -0400 -+++ libdrm-2.4.65/amdgpu/amdgpu-symbol-check 2015-10-18 23:56:10.606917723 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.am/libdrm_amdgpuinclude_HEADERS - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_amdgpu.so} | awk '{print $3}' | while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - amdgpu_bo_alloc - amdgpu_bo_cpu_map - amdgpu_bo_cpu_unmap ---- libdrm-2.4.65/exynos/exynos-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 -+++ libdrm-2.4.65/exynos/exynos-symbol-check 2015-10-18 23:56:32.025486153 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.am/libdrm_exynos*_HEADERS - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_exynos.so} | awk '{print $3}'| while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - exynos_bo_create - exynos_bo_destroy - exynos_bo_from_name ---- libdrm-2.4.65/omap/omap-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 -+++ libdrm-2.4.65/omap/omap-symbol-check 2015-10-18 23:56:44.834438626 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.am/libdrm_omap*HEADERS - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_omap.so} | awk '{print $3}'| while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - omap_bo_cpu_fini - omap_bo_cpu_prep - omap_bo_del ---- libdrm-2.4.65/tegra/tegra-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 -+++ libdrm-2.4.65/tegra/tegra-symbol-check 2015-10-18 23:57:00.756759698 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first nine) are taken from tegra.h. -+# The following symbols (past the first 12) are taken from tegra.h. - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do - ( grep -q "^$func$" || echo $func ) <<EOF -@@ -9,6 +9,9 @@ - __bss_start - __end__ - _bss_end__ -+_fbss -+_fdata -+_ftext - _edata - _end - _fini ---- libdrm-2.4.65/radeon/radeon-symbol-check.orig 2015-05-04 11:47:43.000000000 -0400 -+++ libdrm-2.4.65/radeon/radeon-symbol-check 2015-10-18 23:57:00.756759698 -0400 -@@ -1,6 +1,6 @@ - #!/bin/bash - --# The following symbols (past the first five) are taken from the public headers. -+# The following symbols (past the first 12) are taken from the public headers. - # A list of the latter should be available Makefile.sources/LIBDRM_RADEON_H_FILES - - FUNCS=$(nm -D --format=bsd --defined-only ${1-.libs/libdrm_tegra.so} | awk '{print $3}'| while read func; do -@@ -10,6 +10,13 @@ - _end - _fini - _init -+_fbss -+_fdata -+_ftext -+__bss_start__ -+__bss_end__ -+_bss_end__ -+__end__ - radeon_bo_debug - radeon_bo_get_handle - radeon_bo_get_src_domain diff --git a/gnu/packages/patches/libexif-CVE-2016-6328.patch b/gnu/packages/patches/libexif-CVE-2016-6328.patch deleted file mode 100644 index 67fee0f528..0000000000 --- a/gnu/packages/patches/libexif-CVE-2016-6328.patch +++ /dev/null @@ -1,72 +0,0 @@ -Fix CVE-2016-6328: - -https://bugzilla.redhat.com/show_bug.cgi?id=1366239 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6328 - -Patch copied from upstream source repository: - -https://github.com/libexif/libexif/commit/41bd04234b104312f54d25822f68738ba8d7133d - -From 41bd04234b104312f54d25822f68738ba8d7133d Mon Sep 17 00:00:00 2001 -From: Marcus Meissner <marcus@jet.franken.de> -Date: Tue, 25 Jul 2017 23:44:44 +0200 -Subject: [PATCH] fixes some (not all) buffer overreads during decoding pentax - makernote entries. - -This should fix: -https://sourceforge.net/p/libexif/bugs/125/ CVE-2016-6328 ---- - libexif/pentax/mnote-pentax-entry.c | 16 +++++++++++++--- - 1 file changed, 13 insertions(+), 3 deletions(-) - -diff --git a/libexif/pentax/mnote-pentax-entry.c b/libexif/pentax/mnote-pentax-entry.c -index d03d159..ea0429a 100644 ---- a/libexif/pentax/mnote-pentax-entry.c -+++ b/libexif/pentax/mnote-pentax-entry.c -@@ -425,24 +425,34 @@ mnote_pentax_entry_get_value (MnotePentaxEntry *entry, - case EXIF_FORMAT_SHORT: - { - const unsigned char *data = entry->data; -- size_t k, len = strlen(val); -+ size_t k, len = strlen(val), sizeleft; -+ -+ sizeleft = entry->size; - for(k=0; k<entry->components; k++) { -+ if (sizeleft < 2) -+ break; - vs = exif_get_short (data, entry->order); - snprintf (val+len, maxlen-len, "%i ", vs); - len = strlen(val); - data += 2; -+ sizeleft -= 2; - } - } - break; - case EXIF_FORMAT_LONG: - { - const unsigned char *data = entry->data; -- size_t k, len = strlen(val); -+ size_t k, len = strlen(val), sizeleft; -+ -+ sizeleft = entry->size; - for(k=0; k<entry->components; k++) { -+ if (sizeleft < 4) -+ break; - vl = exif_get_long (data, entry->order); - snprintf (val+len, maxlen-len, "%li", (long int) vl); - len = strlen(val); - data += 4; -+ sizeleft -= 4; - } - } - break; -@@ -455,5 +465,5 @@ mnote_pentax_entry_get_value (MnotePentaxEntry *entry, - break; - } - -- return (val); -+ return val; - } --- -2.16.0 - diff --git a/gnu/packages/patches/libexif-CVE-2017-7544.patch b/gnu/packages/patches/libexif-CVE-2017-7544.patch deleted file mode 100644 index c4ea373dc5..0000000000 --- a/gnu/packages/patches/libexif-CVE-2017-7544.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix CVE-2017-7544: - -https://sourceforge.net/p/libexif/bugs/130/ -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7544 - -Patch copied from upstream bug tracker: - -https://sourceforge.net/p/libexif/bugs/130/#489a - -Index: libexif/exif-data.c -=================================================================== -RCS file: /cvsroot/libexif/libexif/libexif/exif-data.c,v -retrieving revision 1.131 -diff -u -r1.131 exif-data.c ---- a/libexif/exif-data.c 12 Jul 2012 17:28:26 -0000 1.131 -+++ b/libexif/exif-data.c 25 Jul 2017 21:34:06 -0000 -@@ -255,6 +255,12 @@ - exif_mnote_data_set_offset (data->priv->md, *ds - 6); - exif_mnote_data_save (data->priv->md, &e->data, &e->size); - e->components = e->size; -+ if (exif_format_get_size (e->format) != 1) { -+ /* e->format is taken from input code, -+ * but we need to make sure it is a 1 byte -+ * entity due to the multiplication below. */ -+ e->format = EXIF_FORMAT_UNDEFINED; -+ } - } - } - diff --git a/gnu/packages/patches/libexif-CVE-2018-20030.patch b/gnu/packages/patches/libexif-CVE-2018-20030.patch deleted file mode 100644 index 57e4746b58..0000000000 --- a/gnu/packages/patches/libexif-CVE-2018-20030.patch +++ /dev/null @@ -1,120 +0,0 @@ -https://github.com/libexif/libexif/commit/6aa11df549114ebda520dde4cdaea2f9357b2c89.patch - -NEWS section was removed -'12' -> '30' on line 79 - -From 6aa11df549114ebda520dde4cdaea2f9357b2c89 Mon Sep 17 00:00:00 2001 -From: Dan Fandrich <dan@coneharvesters.com> -Date: Fri, 12 Oct 2018 16:01:45 +0200 -Subject: [PATCH] Improve deep recursion detection in - exif_data_load_data_content. - -The existing detection was still vulnerable to pathological cases -causing DoS by wasting CPU. The new algorithm takes the number of tags -into account to make it harder to abuse by cases using shallow recursion -but with a very large number of tags. This improves on commit 5d28011c -which wasn't sufficient to counter this kind of case. - -The limitation in the previous fix was discovered by Laurent Delosieres, -Secunia Research at Flexera (Secunia Advisory SA84652) and is assigned -the identifier CVE-2018-20030. ---- - NEWS | 1 + - libexif/exif-data.c | 45 +++++++++++++++++++++++++++++++++++++-------- - 2 files changed, 38 insertions(+), 8 deletions(-) - -diff --git a/libexif/exif-data.c b/libexif/exif-data.c -index e35403d..a6f9c94 100644 ---- a/libexif/exif-data.c -+++ b/libexif/exif-data.c -@@ -35,6 +35,7 @@ - #include <libexif/olympus/exif-mnote-data-olympus.h> - #include <libexif/pentax/exif-mnote-data-pentax.h> - -+#include <math.h> - #include <stdlib.h> - #include <stdio.h> - #include <string.h> -@@ -350,6 +351,20 @@ if (data->ifd[(i)]->count) { \ - break; \ - } - -+/*! Calculate the recursion cost added by one level of IFD loading. -+ * -+ * The work performed is related to the cost in the exponential relation -+ * work=1.1**cost -+ */ -+static unsigned int -+level_cost(unsigned int n) -+{ -+ static const double log_1_1 = 0.09531017980432493; -+ -+ /* Adding 0.1 protects against the case where n==1 */ -+ return ceil(log(n + 0.1)/log_1_1); -+} -+ - /*! Load data for an IFD. - * - * \param[in,out] data #ExifData -@@ -357,13 +372,13 @@ if (data->ifd[(i)]->count) { \ - * \param[in] d pointer to buffer containing raw IFD data - * \param[in] ds size of raw data in buffer at \c d - * \param[in] offset offset into buffer at \c d at which IFD starts -- * \param[in] recursion_depth number of times this function has been -- * recursively called without returning -+ * \param[in] recursion_cost factor indicating how expensive this recursive -+ * call could be - */ - static void - exif_data_load_data_content (ExifData *data, ExifIfd ifd, - const unsigned char *d, -- unsigned int ds, unsigned int offset, unsigned int recursion_depth) -+ unsigned int ds, unsigned int offset, unsigned int recursion_cost) - { - ExifLong o, thumbnail_offset = 0, thumbnail_length = 0; - ExifShort n; -@@ -378,9 +393,20 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd, - if ((((int)ifd) < 0) || ( ((int)ifd) >= EXIF_IFD_COUNT)) - return; - -- if (recursion_depth > 30) { -+ if (recursion_cost > 170) { -+ /* -+ * recursion_cost is a logarithmic-scale indicator of how expensive this -+ * recursive call might end up being. It is an indicator of the depth of -+ * recursion as well as the potential for worst-case future recursive -+ * calls. Since it's difficult to tell ahead of time how often recursion -+ * will occur, this assumes the worst by assuming every tag could end up -+ * causing recursion. -+ * The value of 170 was chosen to limit typical EXIF structures to a -+ * recursive depth of about 6, but pathological ones (those with very -+ * many tags) to only 2. -+ */ - exif_log (data->priv->log, EXIF_LOG_CODE_CORRUPT_DATA, "ExifData", -- "Deep recursion detected!"); -+ "Deep/expensive recursion detected!"); - return; - } - -@@ -422,15 +448,18 @@ exif_data_load_data_content (ExifData *data, ExifIfd ifd, - switch (tag) { - case EXIF_TAG_EXIF_IFD_POINTER: - CHECK_REC (EXIF_IFD_EXIF); -- exif_data_load_data_content (data, EXIF_IFD_EXIF, d, ds, o, recursion_depth + 1); -+ exif_data_load_data_content (data, EXIF_IFD_EXIF, d, ds, o, -+ recursion_cost + level_cost(n)); - break; - case EXIF_TAG_GPS_INFO_IFD_POINTER: - CHECK_REC (EXIF_IFD_GPS); -- exif_data_load_data_content (data, EXIF_IFD_GPS, d, ds, o, recursion_depth + 1); -+ exif_data_load_data_content (data, EXIF_IFD_GPS, d, ds, o, -+ recursion_cost + level_cost(n)); - break; - case EXIF_TAG_INTEROPERABILITY_IFD_POINTER: - CHECK_REC (EXIF_IFD_INTEROPERABILITY); -- exif_data_load_data_content (data, EXIF_IFD_INTEROPERABILITY, d, ds, o, recursion_depth + 1); -+ exif_data_load_data_content (data, EXIF_IFD_INTEROPERABILITY, d, ds, o, -+ recursion_cost + level_cost(n)); - break; - case EXIF_TAG_JPEG_INTERCHANGE_FORMAT: - thumbnail_offset = o; diff --git a/gnu/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch b/gnu/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch deleted file mode 100644 index df0571bf2b..0000000000 --- a/gnu/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Tobias Geerinckx-Rice <me@tobias.gr> -Date: Tue, 10 Dec 2019 16:20:40 +0100 -Subject: gnu: libnftnl: Don't check NFTNL_FLOWTABLE_SIZE. - -Taken verbatim from the upstream commit[0] directly following the 1.1.5 -release. - -[0]: https://git.netfilter.org/libnftnl/commit/?id=b2388765e0c4405442faa13845419f6a35d0134c - -From b2388765e0c4405442faa13845419f6a35d0134c Mon Sep 17 00:00:00 2001 -From: Phil Sutter <phil@nwl.cc> -Date: Mon, 2 Dec 2019 18:29:56 +0100 -Subject: tests: flowtable: Don't check NFTNL_FLOWTABLE_SIZE - -Marshalling code around that attribute has been dropped by commit -d1c4b98c733a5 ("flowtable: remove NFTA_FLOWTABLE_SIZE") so it's value is -lost during the test. - -Assuming that NFTNL_FLOWTABLE_SIZE will receive kernel support at a -later point, leave the test code in place but just comment it out. - -Fixes: d1c4b98c733a5 ("flowtable: remove NFTA_FLOWTABLE_SIZE") -Signed-off-by: Phil Sutter <phil@nwl.cc> -Acked-by: Pablo Neira Ayuso <pablo@netfilter.org> ---- - tests/nft-flowtable-test.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/tests/nft-flowtable-test.c b/tests/nft-flowtable-test.c -index 3edb00d..8ab8d4c 100644 ---- a/tests/nft-flowtable-test.c -+++ b/tests/nft-flowtable-test.c -@@ -33,9 +33,11 @@ static void cmp_nftnl_flowtable(struct nftnl_flowtable *a, struct nftnl_flowtabl - if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_USE) != - nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_USE)) - print_err("Flowtable use mismatches"); -+#if 0 - if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_SIZE) != - nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_SIZE)) - print_err("Flowtable size mismatches"); -+#endif - if (nftnl_flowtable_get_u32(a, NFTNL_FLOWTABLE_FLAGS) != - nftnl_flowtable_get_u32(b, NFTNL_FLOWTABLE_FLAGS)) - print_err("Flowtable flags mismatches"); --- -cgit v1.2.1 - diff --git a/gnu/packages/patches/lxsession-use-gapplication.patch b/gnu/packages/patches/lxsession-use-gapplication.patch deleted file mode 100644 index 3f2269a42f..0000000000 --- a/gnu/packages/patches/lxsession-use-gapplication.patch +++ /dev/null @@ -1,152 +0,0 @@ -Upstream patch to remove libunique dependency, and use glib >= 2.28.0 -to handle unique apps both for GTK+ 2 and 3. -https://sourceforge.net/p/lxde/patches/539/ - - -From a7d3b40a79a7a16c1f5d50d2bd466570258dae29 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com> -Date: Sun, 22 Jan 2017 01:09:59 +0100 -Subject: [PATCH] Use GApplication for unique app handling - -Remove libunique dependency, and use glib >= 2.28.0 to handle unique apps both for GTK+ 2 and 3. ---- - Makefile.am | 6 ------ - configure.ac | 7 +------ - lxclipboard/main.vala | 16 +--------------- - lxpolkit/main.vala | 16 +--------------- - 4 files changed, 3 insertions(+), 42 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index c2e1fe8..e3a3b97 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -90,9 +90,6 @@ if USE_GTK3 - lxclipboard_lxclipboard_VALAFLAGS += --define USE_GTK3 - else - lxclipboard_lxclipboard_VALAFLAGS += --define USE_GTK2 --lxclipboard_lxclipboard_VALAFLAGS += --pkg unique-1.0 --lxclipboard_lxclipboard_CPPFLAGS += $(UNIQUE_CFLAGS) --lxclipboard_lxclipboard_LDADD += $(UNIQUE_LIBS) - endif - - lxpolkit_lxpolkit_vala_SOURCES = \ -@@ -137,9 +134,6 @@ if USE_GTK3 - lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK3 - else - lxpolkit_lxpolkit_VALAFLAGS += --define USE_GTK2 --lxpolkit_lxpolkit_VALAFLAGS += --pkg unique-1.0 --lxpolkit_lxpolkit_CPPFLAGS += $(UNIQUE_CFLAGS) --lxpolkit_lxpolkit_LDADD += $(UNIQUE_LIBS) - endif - - lxsession_db_lxsession_db_SOURCES = \ -diff --git a/configure.ac b/configure.ac -index 06ddbb3..9126f4d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -45,7 +45,7 @@ PKG_CHECK_MODULES(X11, [x11]) - AC_SUBST(X11_CFLAGS) - AC_SUBST(X11_LIBS) - --PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.6.0]) -+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.28.0]) - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - -@@ -79,11 +79,6 @@ else - CFLAGS="$CFLAGS -D USE_GTK2" - gtk_modules="gtk+-2.0 >= 2.6.0" - VALA_GTK_LIBS="gtk+-2.0" -- -- PKG_CHECK_MODULES(UNIQUE, [unique-1.0]) -- AC_SUBST(UNIQUE_CFLAGS) -- AC_SUBST(UNIQUE_LIBS) -- - fi - PKG_CHECK_MODULES(GTK, [$gtk_modules]) - AC_SUBST(GTK_CFLAGS) -diff --git a/lxclipboard/main.vala b/lxclipboard/main.vala -index bee4044..3d4a8d7 100644 ---- a/lxclipboard/main.vala -+++ b/lxclipboard/main.vala -@@ -17,9 +17,6 @@ - * MA 02110-1301, USA. - */ - using Gtk; --#if USE_GTK2 --using Unique; --#endif - - namespace Lxsession - { -@@ -28,17 +25,7 @@ namespace Lxsession - public static int main(string[] args) - { - Gtk.init (ref args); --#if USE_GTK2 -- Unique.App app = new Unique.App("org.lxde.lxclipboard", null); -- -- if(app.is_running) -- { -- message("lxclipboard is already running. Existing"); -- return 0; -- } --#endif --# if USE_GTK3 -- Gtk.Application app = new Gtk.Application ( -+ GLib.Application app = new GLib.Application ( - "org.lxde.lxclipboard", - GLib.ApplicationFlags.FLAGS_NONE); - app.register (); -@@ -48,7 +35,6 @@ namespace Lxsession - message("lxclipboard is already running. Existing"); - return 0; - } --#endif - - clipboard_start (); - -diff --git a/lxpolkit/main.vala b/lxpolkit/main.vala -index c0d6ae2..50c3cb7 100644 ---- a/lxpolkit/main.vala -+++ b/lxpolkit/main.vala -@@ -17,9 +17,6 @@ - * MA 02110-1301, USA. - */ - using Gtk; --#if USE_GTK2 --using Unique; --#endif - - const string GETTEXT_PACKAGE = "lxsession"; - -@@ -33,17 +30,7 @@ namespace Lxsession - Intl.bind_textdomain_codeset(GETTEXT_PACKAGE, "utf-8"); - - Gtk.init (ref args); --#if USE_GTK2 -- Unique.App app = new Unique.App("org.lxde.lxpolkit", null); -- -- if(app.is_running) -- { -- message(_("lxpolkit is already running. Existing")); -- return 0; -- } --#endif --# if USE_GTK3 -- Gtk.Application app = new Gtk.Application ( -+ GLib.Application app = new GLib.Application ( - "org.lxde.lxpolkit", - GLib.ApplicationFlags.FLAGS_NONE); - app.register (); -@@ -53,7 +40,6 @@ namespace Lxsession - message(_("lxpolkit is already running. Existing")); - return 0; - } --#endif - - policykit_agent_init(); - --- -2.11.0 - diff --git a/gnu/packages/patches/netsurf-system-utf8proc.patch b/gnu/packages/patches/netsurf-system-utf8proc.patch index a2ee52ca05..04bf828f37 100644 --- a/gnu/packages/patches/netsurf-system-utf8proc.patch +++ b/gnu/packages/patches/netsurf-system-utf8proc.patch @@ -1,50 +1,13 @@ -Use upstream utf8proc package, as suggested in -http://source.netsurf-browser.org/libutf8proc.git/commit/?id=770e329cceaf0620c7b482589a9b17ed1d19c16d +Fix include directory for system utf8proc. -Work around upstream's lack of a pkg-config file and update API. - ---- netsurf-3.6/Makefile -+++ netsurf-3.6/Makefile -@@ -527,10 +527,9 @@ - $(eval $(call pkg_config_find_and_add,libcss,CSS)) - $(eval $(call pkg_config_find_and_add,libdom,DOM)) - $(eval $(call pkg_config_find_and_add,libnsutils,nsutils)) --$(eval $(call pkg_config_find_and_add,libutf8proc,utf8proc)) - - # Common libraries without pkg-config support --LDFLAGS += -lz -+LDFLAGS += -lz -lutf8proc +--- netsurf-3.10/utils/idna.c ++++ netsurf-3.10/utils/idna.c +@@ -167,7 +167,7 @@ - # Optional libraries with pkgconfig + #ifdef WITH_UTF8PROC ---- netsurf-3.8/utils/idna.c -+++ netsurf-3.8/utils/idna.c -@@ -27,7 +27,7 @@ - #include <stdlib.h> - #include <string.h> - #include <sys/types.h> -#include <libutf8proc/utf8proc.h> +#include <utf8proc.h> - #include "netsurf/inttypes.h" - ---- netsurf-3.8/test/Makefile -+++ netsurf-3.8/test/Makefile -@@ -142,14 +142,15 @@ - -Itest -Iinclude -Icontent/handlers -Ifrontends -I. -I.. \ - -Dnsgtk \ - $(SAN_FLAGS) \ -- $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc) \ -+ $(shell pkg-config --cflags libcurl libparserutils libwapcaplet libdom libnsutils) \ - $(LIB_CFLAGS) - TESTCFLAGS := $(BASE_TESTCFLAGS) \ - $(COV_CFLAGS) \ - $(COV_CPPFLAGS) - - TESTLDFLAGS := -L$(TESTROOT) \ -- $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils libutf8proc) -lz \ -+ $(shell pkg-config --libs libcurl libparserutils libwapcaplet libdom libnsutils) \ -+ $(LDFLAGS) \ - $(SAN_FLAGS) \ - $(LIB_LDFLAGS)\ - $(COV_LDFLAGS) + int32_t idna_contexto[] = { + /* CONTEXTO codepoints which have a rule defined */ diff --git a/gnu/packages/patches/nm-plugin-path.patch b/gnu/packages/patches/network-manager-plugin-path.patch index 505ae31534..505ae31534 100644 --- a/gnu/packages/patches/nm-plugin-path.patch +++ b/gnu/packages/patches/network-manager-plugin-path.patch diff --git a/gnu/packages/patches/openscad-parser-boost-1.72.patch b/gnu/packages/patches/openscad-parser-boost-1.72.patch new file mode 100644 index 0000000000..35311e6173 --- /dev/null +++ b/gnu/packages/patches/openscad-parser-boost-1.72.patch @@ -0,0 +1,26 @@ +https://github.com/openscad/openscad/commit/b6c170cc5d.patch + +From b6c170cc5dd1bc677176ee732cdb0ddae57e5cf0 Mon Sep 17 00:00:00 2001 +From: Jan Beich <jbeich@FreeBSD.org> +Date: Fri, 25 Oct 2019 15:10:26 +0000 +Subject: [PATCH] Add missing header bootlegged by Boost < 1.72 + +src/parser.y:76:6: error: no template named 'stack' in namespace 'std' +std::stack<LocalScope *> scope_stack; +~~~~~^ +--- + src/parser.y | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/parser.y b/src/parser.y +index 7f4fd56ca7..4c77c989ea 100644 +--- a/src/parser.y ++++ b/src/parser.y +@@ -46,6 +46,7 @@ + #include "printutils.h" + #include "memory.h" + #include <sstream> ++#include <stack> + #include <boost/filesystem.hpp> + #include "boost-utils.h" + #include "feature.h" diff --git a/gnu/packages/patches/pidgin-libnm.patch b/gnu/packages/patches/pidgin-libnm.patch new file mode 100644 index 0000000000..d34af749af --- /dev/null +++ b/gnu/packages/patches/pidgin-libnm.patch @@ -0,0 +1,60 @@ +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Sun, 24 May 2020 16:11:01 +0200 +Subject: [PATCH] gnu: pidgin: Find libnm. + +Copied verbatim from[0]. + +[0]: https://git.archlinux.org/svntogit/packages.git/plain/trunk/pidgin-nm-1.0.patch?h=packages/pidgin + +diff --git a/configure.ac b/configure.ac +index 04836fa..0a2d451 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1423,18 +1423,24 @@ fi + dnl Check for NetworkManager.h; if we don't have it, oh well + if test "x$enable_dbus" = "xyes" ; then + if test "x$enable_nm" = "xyes" ; then +- PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [ ++ PKG_CHECK_MODULES(NETWORKMANAGER, [libnm], [ + AC_SUBST(NETWORKMANAGER_CFLAGS) + AC_SUBST(NETWORKMANAGER_LIBS) + AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.]) + ], [ +- enable_nm=no +- if test "x$force_deps" = "xyes" ; then +- AC_MSG_ERROR([ ++ PKG_CHECK_MODULES(NETWORKMANAGER, [NetworkManager >= 0.5.0], [ ++ AC_SUBST(NETWORKMANAGER_CFLAGS) ++ AC_SUBST(NETWORKMANAGER_LIBS) ++ AC_DEFINE(HAVE_NETWORKMANAGER, 1, [Define if we have NetworkManager.]) ++ ], [ ++ enable_nm=no ++ if test "x$force_deps" = "xyes" ; then ++ AC_MSG_ERROR([ + NetworkManager development headers not found. + Use --disable-nm if you do not need NetworkManager support. + ]) +- fi]) ++ fi]) ++ ]) + fi + else + enable_nm=no +diff --git a/libpurple/network.c b/libpurple/network.c +index c43e3c7..b17e439 100644 +--- a/libpurple/network.c ++++ b/libpurple/network.c +@@ -939,8 +939,13 @@ nm_update_state(NMState state) + #if NM_CHECK_VERSION(0,8,992) + case NM_STATE_DISCONNECTING: + #endif ++#if NM_CHECK_VERSION(1,0,0) ++ if (prev != NM_STATE_CONNECTED_GLOBAL && prev != NM_STATE_UNKNOWN) ++ break; ++#else + if (prev != NM_STATE_CONNECTED && prev != NM_STATE_UNKNOWN) + break; ++#endif + if (ui_ops != NULL && ui_ops->network_disconnected != NULL) + ui_ops->network_disconnected(); + break; diff --git a/gnu/packages/patches/plotutils-libpng-jmpbuf.patch b/gnu/packages/patches/plotutils-libpng-jmpbuf.patch deleted file mode 100644 index 07ef60996c..0000000000 --- a/gnu/packages/patches/plotutils-libpng-jmpbuf.patch +++ /dev/null @@ -1,23 +0,0 @@ -Use the `png_jmpbuf' accessor, as recommended since libpng 1.4.0: -http://www.libpng.org/pub/png/src/libpng-1.2.x-to-1.4.x-summary.txt . - ---- plotutils-2.6/libplot/z_write.c 2013-07-12 17:19:12.000000000 +0200 -+++ plotutils-2.6/libplot/z_write.c 2013-07-12 17:19:07.000000000 +0200 -@@ -164,7 +164,7 @@ _pl_z_maybe_output_image (S___(Plotter * - } - - /* cleanup after libpng errors (error handler does a longjmp) */ -- if (setjmp (png_ptr->jmpbuf)) -+ if (setjmp (png_jmpbuf (png_ptr))) - { - png_destroy_write_struct (&png_ptr, (png_info **)NULL); - return -1; -@@ -444,7 +444,7 @@ _our_error_fn_stdio (png_struct *png_ptr - #endif - } - -- longjmp (png_ptr->jmpbuf, 1); -+ longjmp (png_jmpbuf (png_ptr), 1); - } - - static void diff --git a/gnu/packages/patches/pypy3-7.3.1-fix-tests.patch b/gnu/packages/patches/pypy3-7.3.1-fix-tests.patch new file mode 100644 index 0000000000..464aad967f --- /dev/null +++ b/gnu/packages/patches/pypy3-7.3.1-fix-tests.patch @@ -0,0 +1,278 @@ +Fix a few testcases. Adapted from python-3-fix-tests.patch. + +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_callbacks.py pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_callbacks.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_callbacks.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_callbacks.py 2020-05-21 14:19:14.827288853 +0200 +@@ -4,6 +4,7 @@ + from ctypes import * + from ctypes.test import need_symbol + import _ctypes_test ++import platform + + class Callbacks(unittest.TestCase): + functype = CFUNCTYPE +@@ -178,6 +179,8 @@ + + self.assertLess(diff, 0.01, "%s not less than 0.01" % diff) + ++ @unittest.skipIf(platform.machine() in ['mips64'], ++ "This test fails on this platform") + def test_issue_8959_a(self): + from ctypes.util import find_library + libc_path = find_library("c") +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_libc.py pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_libc.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_libc.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_libc.py 2020-05-21 14:19:14.827288853 +0200 +@@ -2,6 +2,7 @@ + + from ctypes import * + import _ctypes_test ++import platform + + lib = CDLL(_ctypes_test.__file__) + +@@ -17,6 +18,8 @@ + import math + self.assertEqual(lib.my_sqrt(2.0), math.sqrt(2.0)) + ++ @unittest.skipIf(platform.machine() in ['mips64'], ++ "This test fails on this platform") + def test_qsort(self): + comparefunc = CFUNCTYPE(c_int, POINTER(c_char), POINTER(c_char)) + lib.my_qsort.argtypes = c_void_p, c_size_t, c_size_t, comparefunc +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_archive_util.py pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_archive_util.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_archive_util.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_archive_util.py 2020-05-21 14:19:14.827288853 +0200 +@@ -333,6 +333,7 @@ + self.assertEqual(os.path.basename(res), 'archive.tar.xz') + self.assertEqual(self._tarinfo(res), self._created_files) + ++ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") + def test_make_archive_owner_group(self): + # testing make_archive with owner and group, with various combinations + # this works even if there's not gid/uid support +@@ -362,6 +363,7 @@ + + @unittest.skipUnless(ZLIB_SUPPORT, "Requires zlib") + @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support") ++ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") + def test_tarfile_root_owner(self): + tmpdir = self._create_files() + base_name = os.path.join(self.mkdtemp(), 'archive') +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_sdist.py pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_sdist.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_sdist.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_sdist.py 2020-05-21 14:19:14.827288853 +0200 +@@ -443,6 +443,7 @@ + "The tar command is not found") + @unittest.skipIf(find_executable('gzip') is None, + "The gzip command is not found") ++ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") + def test_make_distribution_owner_group(self): + # now building a sdist + dist, cmd = self.get_cmd() +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_asyncio/test_base_events.py pypy3.6-v7.3.1-src/lib-python/3/test/test_asyncio/test_base_events.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_asyncio/test_base_events.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_asyncio/test_base_events.py 2020-05-21 14:19:14.827288853 +0200 +@@ -1296,6 +1296,8 @@ + self._test_create_connection_ip_addr(m_socket, False) + + @patch_socket ++ @unittest.skipUnless(support.is_resource_enabled('network'), ++ 'network is not enabled') + def test_create_connection_service_name(self, m_socket): + m_socket.getaddrinfo = socket.getaddrinfo + sock = m_socket.socket.return_value +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_generators.py pypy3.6-v7.3.1-src/lib-python/3/test/test_generators.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_generators.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_generators.py 2020-05-21 14:19:14.827288853 +0200 +@@ -35,6 +35,7 @@ + else: + return "FAILED" + ++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment') + def test_raise_and_yield_from(self): + gen = self.generator1() + gen.send(None) +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/_test_multiprocessing.py pypy3.6-v7.3.1-src/lib-python/3/test/_test_multiprocessing.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/_test_multiprocessing.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/_test_multiprocessing.py 2020-05-21 14:19:14.827288853 +0200 +@@ -1212,6 +1212,7 @@ + if pid is not None: + os.kill(pid, signal.SIGINT) + ++ @unittest.skipIf(True, "This fails for unknown reasons on Guix") + def test_wait_result(self): + if isinstance(self, ProcessesMixin) and sys.platform != 'win32': + pid = os.getpid() +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_normalization.py pypy3.6-v7.3.1-src/lib-python/3/test/test_normalization.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_normalization.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_normalization.py 2020-05-21 14:19:14.827288853 +0200 +@@ -2,6 +2,7 @@ + import unittest + + from http.client import HTTPException ++from urllib.error import URLError + import sys + from unicodedata import normalize, unidata_version + +@@ -43,6 +44,8 @@ + except PermissionError: + self.skipTest(f"Permission error when downloading {TESTDATAURL} " + f"into the test data directory") ++ except URLError: ++ self.skipTest("DNS lookups are not enabled.") + except (OSError, HTTPException): + self.fail(f"Could not retrieve {TESTDATAURL}") + +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pathlib.py pypy3.6-v7.3.1-src/lib-python/3/test/test_pathlib.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pathlib.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_pathlib.py 2020-05-21 14:19:14.827288853 +0200 +@@ -2130,8 +2130,7 @@ + self.assertEqual(given, expect) + self.assertEqual(set(p.rglob("FILEd*")), set()) + +- @unittest.skipUnless(hasattr(pwd, 'getpwall'), +- 'pwd module does not expose getpwall()') ++ @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests") + def test_expanduser(self): + P = self.cls + support.import_module('pwd') +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pdb.py pypy3.6-v7.3.1-src/lib-python/3/test/test_pdb.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pdb.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_pdb.py 2020-05-21 14:20:24.377203281 +0200 +@@ -1136,11 +1136,11 @@ + > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function() + -> print('pdb %d: %s' % (i, sess._previous_sigint_handler)) + (Pdb) continue +- pdb 1: <built-in function default_int_handler> ++ pdb 1: Handlers.SIG_IGN + > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function() + -> print('pdb %d: %s' % (i, sess._previous_sigint_handler)) + (Pdb) continue +- pdb 2: <built-in function default_int_handler> ++ pdb 2: Handlers.SIG_IGN + """ + + class PdbTestCase(unittest.TestCase): +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_regrtest.py pypy3.6-v7.3.1-src/lib-python/3/test/test_regrtest.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_regrtest.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_regrtest.py 2020-05-21 14:19:14.827288853 +0200 +@@ -766,6 +766,7 @@ + output = self.run_tests('--fromfile', filename) + self.check_executed_tests(output, tests) + ++ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.') + def test_interrupted(self): + code = TEST_INTERRUPTED + test = self.create_test('sigint', code=code) +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_resource.py pypy3.6-v7.3.1-src/lib-python/3/test/test_resource.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_resource.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_resource.py 2020-05-21 14:19:14.827288853 +0200 +@@ -146,6 +146,7 @@ + + @unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit') + @support.requires_linux_version(2, 6, 36) ++ @unittest.skipIf(True, "Bug: the PermissionError is not raised") + def test_prlimit(self): + self.assertRaises(TypeError, resource.prlimit) + self.assertRaises(ProcessLookupError, resource.prlimit, +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_shutil.py pypy3.6-v7.3.1-src/lib-python/3/test/test_shutil.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_shutil.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_shutil.py 2020-05-21 14:19:14.827288853 +0200 +@@ -1138,6 +1138,7 @@ + self.assertRaises(ValueError, make_archive, base_name, 'xxx') + + @support.requires_zlib ++ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") + def test_make_archive_owner_group(self): + # testing make_archive with owner and group, with various combinations + # this works even if there's not gid/uid support +@@ -1166,6 +1167,7 @@ + + + @support.requires_zlib ++ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") + @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support") + def test_tarfile_root_owner(self): + root_dir, base_dir = self._create_files() +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_socket.py pypy3.6-v7.3.1-src/lib-python/3/test/test_socket.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_socket.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_socket.py 2020-05-21 14:19:14.827288853 +0200 +@@ -815,6 +815,8 @@ + if not fqhn in all_host_names: + self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names))) + ++ @unittest.skipUnless(support.is_resource_enabled('network'), ++ 'network is not enabled') + def test_host_resolution(self): + for addr in [support.HOST, '10.0.0.1', '255.255.255.255']: + self.assertEqual(socket.gethostbyname(addr), addr) +@@ -934,6 +936,8 @@ + self.assertRaises(OverflowError, socket.htonl, k) + self.assertRaises(OverflowError, socket.htons, k) + ++ @unittest.skipUnless(os.path.exists("/etc/services"), ++ "getservbyname uses /etc/services, which is not in the chroot") + def testGetServBy(self): + eq = self.assertEqual + # Find one service that exists, then check all the related interfaces. +@@ -1278,6 +1282,8 @@ + raise + self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None) + ++ @unittest.skipUnless(os.path.exists("/etc/gai.conf"), ++ "getaddrinfo() will fail") + def testGetaddrinfo(self): + try: + socket.getaddrinfo('localhost', 80) +@@ -1357,6 +1363,8 @@ + # only IP addresses are allowed + self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0) + ++ @unittest.skipUnless(os.path.exists("/etc/gai.conf"), ++ "getaddrinfo() will fail") + @unittest.skipUnless(support.is_resource_enabled('network'), + 'network is not enabled') + def test_idna(self): +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_spwd.py pypy3.6-v7.3.1-src/lib-python/3/test/test_spwd.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_spwd.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_spwd.py 2020-05-21 14:19:14.827288853 +0200 +@@ -5,8 +5,7 @@ + spwd = support.import_module('spwd') + + +-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0, +- 'root privileges required') ++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow') + class TestSpwdRoot(unittest.TestCase): + + def test_getspall(self): +@@ -56,8 +55,7 @@ + self.assertRaises(TypeError, spwd.getspnam, bytes_name) + + +-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0, +- 'non-root user required') ++@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow') + class TestSpwdNonRoot(unittest.TestCase): + + def test_getspnam_exception(self): +diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_tarfile.py pypy3.6-v7.3.1-src/lib-python/3/test/test_tarfile.py +--- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_tarfile.py 1970-01-01 01:00:01.000000000 +0100 ++++ pypy3.6-v7.3.1-src/lib-python/3/test/test_tarfile.py 2020-05-21 14:19:14.827288853 +0200 +@@ -2491,9 +2491,12 @@ + import pwd, grp + except ImportError: + return False +- if pwd.getpwuid(0)[0] != 'root': +- return False +- if grp.getgrgid(0)[0] != 'root': ++ try: ++ if pwd.getpwuid(0)[0] != 'root': ++ return False ++ if grp.getgrgid(0)[0] != 'root': ++ return False ++ except KeyError: + return False + return True + diff --git a/gnu/packages/patches/pyqt-unbundled-qt.patch b/gnu/packages/patches/pyqt-unbundled-qt.patch deleted file mode 100644 index 5c91ed031c..0000000000 --- a/gnu/packages/patches/pyqt-unbundled-qt.patch +++ /dev/null @@ -1,19 +0,0 @@ -Remove test for bundled Qt which breaks dependent applications. This has -been fixed in 5.13. - -Taken from Arch Linux: -https://git.archlinux.org/svntogit/packages.git/tree/trunk/python2-pyqt5-crash-fix.patch?h=packages/pyqt5&id=3e56e11d1fd7b1eac8242ce64c58db2bd9acba20 - -diff -ur PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in ---- PyQt5_gpl-5.12.3/qpy/QtCore/qpycore_post_init.cpp.in 2019-06-25 14:41:02.000000000 +0200 -+++ PyQt5_gpl-5.12.3b/qpy/QtCore/qpycore_post_init.cpp.in 2019-07-01 17:06:34.882644535 +0200 -@@ -151,8 +151,4 @@ - // initialised first (at least for Windows) and this is the only way to - // guarantee things are done in the right order. - PyQtSlotProxy::mutex = new QMutex(QMutex::Recursive); -- -- // Load the embedded qt.conf file if there is a bundled copy of Qt. -- if (!qpycore_qt_conf()) -- Py_FatalError("PyQt5.QtCore: Unable to embed qt.conf"); - } - diff --git a/gnu/packages/patches/python-argcomplete-1.11.1-fish31.patch b/gnu/packages/patches/python-argcomplete-1.11.1-fish31.patch new file mode 100644 index 0000000000..98f0ca1473 --- /dev/null +++ b/gnu/packages/patches/python-argcomplete-1.11.1-fish31.patch @@ -0,0 +1,29 @@ +Upstream commit fixing testcases for fish>=3.1, see +https://github.com/kislyuk/argcomplete/commit/08bfc8a788e8081515d733e67be026d051c726f7 + +diff --git a/test/test.py b/test/test.py +index e91352b..2c34806 100755 +--- a/test/test.py ++++ b/test/test.py +@@ -28,6 +28,8 @@ + + BASH_VERSION = subprocess.check_output(['bash', '-c', 'echo $BASH_VERSION']).decode() + BASH_MAJOR_VERSION = int(BASH_VERSION.split('.')[0]) ++FISH_VERSION_STR = subprocess.check_output(['fish', '-c', 'echo -n $FISH_VERSION']).decode() ++FISH_VERSION_TUPLE = tuple(int(x) for x in FISH_VERSION_STR.split('.')) + + + class TempDir(object): +@@ -1258,8 +1260,11 @@ class TestFish(_TestSh, unittest.TestCase): + expected_failures = [ + 'test_parse_special_characters', + 'test_comp_point', +- 'test_special_characters_double_quoted' + ] ++ if FISH_VERSION_TUPLE < (3, 1): ++ expected_failures.extend([ ++ 'test_special_characters_double_quoted' ++ ]) + + skipped = [ + 'test_single_quotes_in_single_quotes', diff --git a/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch b/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch new file mode 100644 index 0000000000..f3b56e42d6 --- /dev/null +++ b/gnu/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch @@ -0,0 +1,82 @@ +Fix compatibility with Python 3.8. + +Upstream issue: https://github.com/DirectXMan12/should_be/pull/5 + +diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/core.py shouldbe-0.1.2.patched/should_be/core.py +--- shouldbe-0.1.2/should_be/core.py 2019-03-06 07:38:22.000000000 +0100 ++++ shouldbe-0.1.2.patched/should_be/core.py 2020-05-18 08:44:24.214664704 +0200 +@@ -103,7 +103,7 @@ + return resf + + +-def buildCode(baseCode, argcount=None, kwonlyargcount=None, ++def buildCode(baseCode, argcount=None, posonlyargcount=None, kwonlyargcount=None, + nlocals=None, stacksize=None, flags=None, + code=None, consts=None, names=None, + varnames=None, filename=None, name=None, +@@ -121,6 +121,24 @@ + nlocals or baseCode.co_nlocals, + stacksize or baseCode.co_stacksize, + flags or baseCode.co_flags, ++ code or baseCode.co_code, ++ consts or baseCode.co_consts, ++ names or baseCode.co_names, ++ varnames or baseCode.co_varnames, ++ filename or baseCode.co_filename, ++ name or baseCode.co_name, ++ firstlineno or baseCode.co_firstlineno, ++ lnotab or baseCode.co_lnotab, ++ freevars or baseCode.co_freevars, ++ cellvars or baseCode.co_cellvars) ++ elif hasattr(baseCode, 'co_posonlyargcount'): ++ # Python 3.8 ++ resc = CodeType(argcount or baseCode.co_argcount, ++ posonlyargcount or baseCode.co_posonlyargcount, ++ kwonlyargcount or baseCode.co_kwonlyargcount, ++ nlocals or baseCode.co_nlocals, ++ stacksize or baseCode.co_stacksize, ++ flags or baseCode.co_flags, + code or baseCode.co_code, + consts or baseCode.co_consts, + names or baseCode.co_names, +diff -x '*.pyc' -Naur shouldbe-0.1.2/should_be/tests/test_container_mixin.py shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py +--- shouldbe-0.1.2/should_be/tests/test_container_mixin.py 2019-03-01 06:38:16.000000000 +0100 ++++ shouldbe-0.1.2.patched/should_be/tests/test_container_mixin.py 2020-05-18 09:00:51.372531064 +0200 +@@ -7,31 +7,31 @@ + self.lst = [1, 2, 3] + + def test_should_include_iter(self): +- err_msg = (r'[a-zA-Z0-9.]+ should have included \[.+?\]' ++ err_msg = (r'[a-zA-Z0-9.()]+ should have included \[.+?\]' + r', but did not have items .+') +- self.assertRaisesRegexp(AssertionError, err_msg, ++ self.assertRaisesRegex(AssertionError, err_msg, + self.lst.should_include, [4]) + + self.lst.should_include([1, 2, 3]) + + def test_should_include_item(self): +- err_msg = (r'[a-zA-Z0-9.]+ should have included .+?' ++ err_msg = (r'[a-zA-Z0-9.()]+ should have included .+?' + r', but did not') +- self.assertRaisesRegexp(AssertionError, err_msg, ++ self.assertRaisesRegex(AssertionError, err_msg, + self.lst.should_include, 4) + + self.lst.should_include(3) + + def test_shouldnt_include_iter(self): + err_msg = 'should not have included' +- self.assertRaisesRegexp(AssertionError, err_msg, ++ self.assertRaisesRegex(AssertionError, err_msg, + self.lst.shouldnt_include, [2, 3]) + + self.lst.shouldnt_include([4, 5]) + + def test_shouldnt_include_item(self): + err_msg = 'should not have included' +- self.assertRaisesRegexp(AssertionError, err_msg, ++ self.assertRaisesRegex(AssertionError, err_msg, + self.lst.shouldnt_include, 3) + + self.lst.shouldnt_include(4) diff --git a/gnu/packages/patches/qtbase-QTBUG-81715.patch b/gnu/packages/patches/qtbase-QTBUG-81715.patch deleted file mode 100644 index 70b83b97d2..0000000000 --- a/gnu/packages/patches/qtbase-QTBUG-81715.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 8a3fde00bf53d99e9e4853e8ab97b0e1bcf74915 Mon Sep 17 00:00:00 2001 -From: Joerg Bornemann <joerg.bornemann@qt.io> -Date: Wed, 29 Jan 2020 11:06:35 +0100 -Subject: [PATCH] Fix qt5_make_output_file macro for paths containing dots - -Commit 89bd5a7e broke CMake projects that use dots in their build -paths, because the used regular expression matches the directory part -of the path as well. - -The regex wants to achieve the same as get_filename_component(... -NAME_WLE) which is available since CMake 3.14. Re-implement the -NAME_WLE functionality for older CMake versions by using multiple -get_filename_component calls. - -Fixes: QTBUG-81715 -Task-number: QTBUG-80295 -Change-Id: I2ef053300948f6e1b2c0c5eafac35105f193d4e6 -Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> ---- - -diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake -index 7735e51..b3da640 100644 ---- a/src/corelib/Qt5CoreMacros.cmake -+++ b/src/corelib/Qt5CoreMacros.cmake -@@ -59,7 +59,14 @@ - set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}") - string(REPLACE ".." "__" _outfile ${_outfile}) - get_filename_component(outpath ${_outfile} PATH) -- string(REGEX REPLACE "\\.[^.]*$" "" _outfile ${_outfile}) -+ if(CMAKE_VERSION VERSION_LESS "3.14") -+ get_filename_component(_outfile_ext ${_outfile} EXT) -+ get_filename_component(_outfile_ext ${_outfile_ext} NAME_WE) -+ get_filename_component(_outfile ${_outfile} NAME_WE) -+ string(APPEND _outfile ${_outfile_ext}) -+ else() -+ get_filename_component(_outfile ${_outfile} NAME_WLE) -+ endif() - file(MAKE_DIRECTORY ${outpath}) - set(${outfile} ${outpath}/${prefix}${_outfile}.${ext}) - endmacro() diff --git a/gnu/packages/patches/qtbase-use-TZDIR.patch b/gnu/packages/patches/qtbase-use-TZDIR.patch index 11c737d844..b6c377b133 100644 --- a/gnu/packages/patches/qtbase-use-TZDIR.patch +++ b/gnu/packages/patches/qtbase-use-TZDIR.patch @@ -4,8 +4,8 @@ important to be able to update it fast. Based on a patch fron NixOS. =================================================================== ---- qtbase-opensource-src-5.9.4.orig/src/corelib/tools/qtimezoneprivate_tz.cpp -+++ qtbase-opensource-src-5.9.4/src/corelib/tools/qtimezoneprivate_tz.cpp +--- qtbase-opensource-src-5.14.2.orig/src/corelib/time/qtimezoneprivate_tz.cpp ++++ qtbase-opensource-src-5.15.2/src/corelib/time/qtimezoneprivate_tz.cpp @@ -70,7 +70,11 @@ // Parse zone.tab table, assume lists all installed zones, if not will need to read directories static QTzTimeZoneHash loadTzTimeZones() diff --git a/gnu/packages/patches/ruby-sanitize-system-libxml.patch b/gnu/packages/patches/ruby-sanitize-system-libxml.patch new file mode 100644 index 0000000000..d19eb07294 --- /dev/null +++ b/gnu/packages/patches/ruby-sanitize-system-libxml.patch @@ -0,0 +1,38 @@ +Fix test failures that occur when nokogiri is using system libxml: + + https://github.com/rgrove/sanitize/issues/198 + +Taken from upstream: +https://github.com/rgrove/sanitize/commit/21da9b62baf9ea659811d92e6b574130aee57eba + +diff --git a/test/test_malicious_html.rb b/test/test_malicious_html.rb +index 2c23074..0756de0 100644 +--- a/test/test_malicious_html.rb ++++ b/test/test_malicious_html.rb +@@ -135,6 +135,8 @@ + # The relevant libxml2 code is here: + # <https://github.com/GNOME/libxml2/commit/960f0e275616cadc29671a218d7fb9b69eb35588> + describe 'unsafe libxml2 server-side includes in attributes' do ++ using_unpatched_libxml2 = Nokogiri::VersionInfo.instance.libxml2_using_system? ++ + tag_configs = [ + { + tag_name: 'a', +@@ -166,6 +168,8 @@ + input = %[<#{tag_name} #{attr_name}='examp<!--" onmouseover=alert(1)>-->le.com'>foo</#{tag_name}>] + + it 'should escape unsafe characters in attributes' do ++ skip "behavior should only exist in nokogiri's patched libxml" if using_unpatched_libxml2 ++ + # This uses Nokogumbo's HTML-compliant serializer rather than + # libxml2's. + @s.fragment(input). +@@ -191,6 +195,8 @@ + input = %[<#{tag_name} #{attr_name}='examp<!--" onmouseover=alert(1)>-->le.com'>foo</#{tag_name}>] + + it 'should not escape characters unnecessarily' do ++ skip "behavior should only exist in nokogiri's patched libxml" if using_unpatched_libxml2 ++ + # This uses Nokogumbo's HTML-compliant serializer rather than + # libxml2's. + @s.fragment(input). diff --git a/gnu/packages/patches/transmission-CVE-2018-10756.patch b/gnu/packages/patches/transmission-CVE-2018-10756.patch new file mode 100644 index 0000000000..f9bdcf60aa --- /dev/null +++ b/gnu/packages/patches/transmission-CVE-2018-10756.patch @@ -0,0 +1,71 @@ +Fix CVE-2018-10756: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10756 + +Patch copied from Fedora: + +https://src.fedoraproject.org/rpms/transmission/blob/master/f/2123adf8e5e1c2b48791f9d22fc8c747e974180e.patch + +--- a/libtransmission/variant.c 2018-05-01 12:21:08.000000000 -0500 ++++ b/libtransmission/variant.c 2020-05-18 10:21:27.554214128 -0500 +@@ -820,7 +820,7 @@ + struct SaveNode + { + const tr_variant * v; +- tr_variant sorted; ++ tr_variant* sorted; + size_t childIndex; + bool isVisited; + }; +@@ -849,26 +849,33 @@ + + qsort (tmp, n, sizeof (struct KeyIndex), compareKeyIndex); + +- tr_variantInitDict (&node->sorted, n); ++ node->sorted = tr_new(tr_variant, 1); ++ tr_variantInitDict (node->sorted, n); + for (i=0; i<n; ++i) +- node->sorted.val.l.vals[i] = *tmp[i].val; ++ node->sorted->val.l.vals[i] = *tmp[i].val; + node->sorted.val.l.count = n; + + tr_free (tmp); + +- node->v = &node->sorted; ++ v = node->sorted; + } + else + { +- node->v = v; ++ node->sorted = NULL; + } ++ ++ node->v = v; + } + + static void + nodeDestruct (struct SaveNode * node) + { +- if (node->v == &node->sorted) +- tr_free (node->sorted.val.l.vals); ++ //TR_ASSERT(node != NULL); ++ if (node->sorted != NULL) ++ { ++ tr_free(node->sorted->val.l.vals); ++ tr_free(node->sorted); ++ } + } + + /** +--- a/libtransmission/variant.c 2020-05-18 10:21:49.000000000 -0500 ++++ b/libtransmission/variant.c 2020-05-18 10:24:34.673648865 -0500 +@@ -853,7 +853,7 @@ + tr_variantInitDict (node->sorted, n); + for (i=0; i<n; ++i) + node->sorted->val.l.vals[i] = *tmp[i].val; +- node->sorted.val.l.count = n; ++ node->sorted->val.l.count = n; + + tr_free (tmp); + + diff --git a/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch b/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch deleted file mode 100644 index ece414a1cb..0000000000 --- a/gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch +++ /dev/null @@ -1,103 +0,0 @@ -This patch for Boost >= 1.70 was made by merging two patches that -are in the 'develop' branch (c769c92 and f810ca2). - -diff -u b/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp ---- b/websocketpp/transport/asio/connection.hpp -+++ b/websocketpp/transport/asio/connection.hpp -@@ -311,9 +311,10 @@ - * needed. - */ - timer_ptr set_timer(long duration, timer_handler callback) { -- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>( -- lib::ref(*m_io_service), -- lib::asio::milliseconds(duration) -+ timer_ptr new_timer( -+ new lib::asio::steady_timer( -+ *m_io_service, -+ lib::asio::milliseconds(duration)) - ); - - if (config::enable_multithreading) { -@@ -461,8 +462,7 @@ - m_io_service = io_service; - - if (config::enable_multithreading) { -- m_strand = lib::make_shared<lib::asio::io_service::strand>( -- lib::ref(*io_service)); -+ m_strand.reset(new lib::asio::io_service::strand(*io_service)); - } - - lib::error_code ec = socket_con_type::init_asio(io_service, m_strand, -diff -u b/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp ---- b/websocketpp/transport/asio/endpoint.hpp -+++ b/websocketpp/transport/asio/endpoint.hpp -@@ -195,8 +195,7 @@ - - m_io_service = ptr; - m_external_io_service = true; -- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>( -- lib::ref(*m_io_service)); -+ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service)); - - m_state = READY; - ec = lib::error_code(); -@@ -688,9 +687,7 @@ - * @since 0.3.0 - */ - void start_perpetual() { -- m_work = lib::make_shared<lib::asio::io_service::work>( -- lib::ref(*m_io_service) -- ); -+ m_work.reset(new lib::asio::io_service::work(*m_io_service)); - } - - /// Clears the endpoint's perpetual flag, allowing it to exit when empty -@@ -854,8 +851,7 @@ - - // Create a resolver - if (!m_resolver) { -- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>( -- lib::ref(*m_io_service)); -+ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service)); - } - - tcon->set_uri(u); -unchanged: ---- a/websocketpp/transport/asio/security/none.hpp -+++ b/websocketpp/transport/asio/security/none.hpp -@@ -168,8 +168,7 @@ protected: - return socket::make_error_code(socket::error::invalid_state); - } - -- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>( -- lib::ref(*service)); -+ m_socket.reset(new lib::asio::ip::tcp::socket(*service)); - - if (m_socket_init_handler) { - m_socket_init_handler(m_hdl, *m_socket); -unchanged: ---- a/websocketpp/transport/asio/security/tls.hpp -+++ b/websocketpp/transport/asio/security/tls.hpp -@@ -193,8 +193,7 @@ protected: - if (!m_context) { - return socket::make_error_code(socket::error::invalid_tls_context); - } -- m_socket = lib::make_shared<socket_type>( -- _WEBSOCKETPP_REF(*service),lib::ref(*m_context)); -+ m_socket.reset(new socket_type(*service, *m_context)); - - if (m_socket_init_handler) { - m_socket_init_handler(m_hdl, get_socket()); -only in patch2: -unchanged: ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES) - endif () - - if (NOT Boost_USE_STATIC_LIBS) -- add_definitions (/DBOOST_TEST_DYN_LINK) -+ add_definitions (-DBOOST_TEST_DYN_LINK) - endif () - - set (Boost_FIND_REQUIRED TRUE) diff --git a/gnu/packages/patches/websocketpp-fix-for-cmake-3.15.patch b/gnu/packages/patches/websocketpp-fix-for-cmake-3.15.patch new file mode 100644 index 0000000000..ea759d022b --- /dev/null +++ b/gnu/packages/patches/websocketpp-fix-for-cmake-3.15.patch @@ -0,0 +1,17 @@ +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Fri, 05 Jun 2020 18:37:51 +0200 +Subject: [PATCH] gnu: websocketpp: Fix build with CMake >= 3.15. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57ed01e78..43c772d78 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -215,7 +215,7 @@ + set (Boost_USE_MULTITHREADED TRUE) + set (Boost_ADDITIONAL_VERSIONS "1.39.0" "1.40.0" "1.41.0" "1.42.0" "1.43.0" "1.44.0" "1.46.1") # todo: someone who knows better spesify these! + +- find_package (Boost 1.39.0 COMPONENTS "${WEBSOCKETPP_BOOST_LIBS}") ++ find_package (Boost 1.39.0 COMPONENTS ${WEBSOCKETPP_BOOST_LIBS}) + + if (Boost_FOUND) + # Boost is a project wide global dependency. diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 0c46a62bf7..0d58c21eee 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -163,7 +163,7 @@ refreshed, and more.") (define-public colordiff (package (name "colordiff") - (version "1.0.18") + (version "1.0.19") (source (origin (method url-fetch) @@ -172,8 +172,7 @@ refreshed, and more.") (string-append "http://www.colordiff.org/archive/colordiff-" version ".tar.gz"))) (sha256 - (base32 - "1q6n60n4b9fnzccxyxv04mxjsql4ddq17vl2c74ijvjdhpcfrkr9")))) + (base32 "069vzzgs7b44bmfh3ks2psrdb26s1w19gp9w4xxbgi7nhx6w3s26")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index ce2a6e91db..ab48168567 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -89,14 +89,14 @@ POSIX regular expression API.") (define-public pcre2 (package (name "pcre2") - (version "10.34") + (version "10.35") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/pcre/pcre2/" version "/pcre2-" version ".tar.bz2")) (sha256 (base32 - "1jlqnzcz2yi70dm40wyfa9w8is9z2kh4dl8zjnv3vqd9mgzp7i3l")))) + "04s6kmk9qdd4rjz477h547j4bx7hfz0yalpvrm381rqc5ghaijww")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) ("readline" ,readline) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 7906fd28da..0ad1263812 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -690,7 +690,7 @@ extracting content or merging files.") (origin (method url-fetch) (uri (string-append "https://mupdf.com/downloads/archive/" - name "-" version "-source.tar.xz")) + "mupdf-" version "-source.tar.xz")) (sha256 (base32 "1npmy92lkj41nnc14b4fpq7z62pminy94zsdbrczj22jpn283rvg")) @@ -749,14 +749,14 @@ line tools for batch rendering @command{pdfdraw}, rewriting files (define-public qpdf (package (name "qpdf") - (version "9.1.1") + (version "10.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qpdf/qpdf/" version "/qpdf-" version ".tar.gz")) (sha256 (base32 - "0dj27wb9xg6pg95phbflfvy9rwxn1gh3kc4n175g0pf41r0zrim2")))) + "0yw2cpw7ygfd6jlgpwbi8vsnvv9p55zxp9h17x77z2qq733pf8jx")))) (build-system gnu-build-system) (arguments `(#:disallowed-references (,perl) diff --git a/gnu/packages/pep.scm b/gnu/packages/pep.scm new file mode 100644 index 0000000000..2bcedf9979 --- /dev/null +++ b/gnu/packages/pep.scm @@ -0,0 +1,349 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2016, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages pep) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix hg-download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages boost) + #:use-module (gnu packages documentation) + #:use-module (gnu packages java) + #:use-module (gnu packages linux) + #:use-module (gnu packages mail) ; for libetpan + #:use-module (gnu packages nettle) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages sequoia) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages tls) + #:use-module (gnu packages xml)) + +(define-public yml2 + (package + (name "yml2") + (version "2.6.3") + (source (origin + (method hg-fetch) + (uri (hg-reference + (url "https://pep.foundation/dev/repos/yml2") + (changeset version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "10jjjyq1mz18zkzvxd62aba00h69gd9cglisqcvb81j67ml2v1bx")))) + (build-system python-build-system) + (propagated-inputs + `(("python-lxml" ,python-lxml))) + (home-page "https://fdik.org/yml/") + (synopsis "Use a Domain Specific Language for XML without defining +a grammar") + (description "The YML compiler is a small Python script. It +provides the command line front end yml2c. As default, it compiles +your script and outputs to stdout, that usually is the terminal. Your +shell provides options to redirect the output into a pipe or a file.") + (license license:gpl2))) + +(define fdik-libetpan + ;; pEp Engine requires libetpan with a set of patches that have not been + ;; upstreamed yet. + (let ((commit "210ba2b3b310b8b7a6ee4a4e35e50f7fa379643f") ; 2020-06-03 + (checksum "00000nij3ray7nssvq0lzb352wmnab8ffzk7dgff2c68mvjbh1l6") + (revision "5")) + (package + (inherit libetpan) + (name "fdik-libetpan") + (version (string-append "1.6-" revision "." (string-take commit 8))) + (source + (origin + (inherit (package-source libetpan)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/fdik/libetpan") + (commit commit))) + (file-name (string-append name "-" version)) + (sha256 (base32 checksum))))))) + +(define sequoia4pEp + ;; Currently pEp Engine requires sequoia in not-so-current version + (package/inherit sequoia + (name "sequoia") + (version "0.15.0-pEp") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/sequoia-pgp/sequoia.git") + (commit "0eb1b6cd846ea8c36b3dfdf01ec88383fc64f2fe"))) + (sha256 + (base32 "06dqs9whwp9lfibwp8dqm0aw4nm3s3v4jp2n4fz51zcvsld40nfh")) + (file-name (git-file-name name version)))))) + +(define-public pep-engine + (package + (name "pep-engine") + (version "2.0.6") + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://pep.foundation/dev/repos/pEpEngine") + (changeset "ebb62ba262dd"))) ;; r4721 + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "0ljf79j4ng7l8w6pbdcrfzb4yk51zslypvq0n72ib1d7grqvnagi")))) + (build-system gnu-build-system) + (arguments + '(#:parallel-build? #f + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; pEpEngie does not use autotools and configure, + ;; but a local.conf. We need to tweak the values there. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (yml2 (assoc-ref inputs "yml2"))) + (with-output-to-file "local.conf" + (lambda () + (format #t " +PREFIX=~a +PER_MACHINE_DIRECTORY=${PREFIX}/share/pEp +SYSTEM_DB=~a/share/pEp/system.db +ASN1C=~a +YML2_PATH=~a +OPENPGP=SEQUOIA +" + out out (which "asn1c") + (string-append yml2 "/bin")))) + #t))) + (delete 'check) + (add-after 'install 'install-db + (lambda _ + (invoke "make" "-C" "db" "install")))))) + (native-inputs + `(("asn1c" ,asn1c) ; >= 0.9.27 + ("pkg-config" ,pkg-config) + ("yml2" ,yml2))) + (inputs + `(("libetpan" ,fdik-libetpan) + ("libiconv" ,libiconv) + ("nettle" ,nettle) + ("openssl" ,openssl) + ("sequoia" ,sequoia4pEp) + ("sqlite3" ,sqlite) + ("util-linux" ,util-linux "lib"))) ;; uuid.h + (home-page "https://pep.foundation/") + (synopsis "Library for automatic key management and encryption of +messages") + (description "The p≡p engine is the core part of p≡p (pretty Easy +privacy).") + (license ;; code: GPL 3, docs: CC-BY-SA + (list license:gpl3 license:cc-by-sa3.0)))) + +(define-public libpepadapter + (package + (name "libpepadapter") + (version "2.0.2") + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://pep.foundation/dev/repos/libpEpAdapter") + (changeset "e8fe371c870a"))) ;; r168 + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "1mlpavjbnmslvmr5jxcvpjgb2x40nhmxjb10hza3kn4qzj0k1pjz")))) + (build-system gnu-build-system) + (arguments + '(#:test-target "test" + #:tests? #f ;; building the tests fails + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; libpEpAdapter does not use autotools and configure, + ;; but a local.conf. We need to tweak the values there. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (engine (assoc-ref inputs "pep-engine"))) + (with-output-to-file "local.conf" + (lambda _ ;() + (format #t " +PREFIX=~a +ENGINE_LIB_PATH=~a/lib +ENGINE_INC_PATH=~a/include +" out engine engine)))) + #t))))) + (inputs + `(("pep-engine" ,pep-engine))) + (home-page "https://pep.foundation/") + (synopsis "Library for building p≡p adapters") + (description "This C++ library provides common structures used in p≡p +(pretty Easy privacy) adapters.") + (license license:bsd-3))) + +(define-public python-pep-adapter + (package + (name "python-pep-adapter") + (version "2.0.5") + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://pep.foundation/dev/repos/pEpPythonAdapter") + (changeset "66df0e5b9405"))) ;; r374 + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "107i1s8jf8gyhpmqcs64q9csxa3fwc8g7s57iyccqb4czw8gph6d")))) + (build-system python-build-system) + (arguments + `(;; Adding configure-flags does not work, running `build_ext` + ;; with these flags, neither does adding the options to + ;; `setup.cfg`: Either `build` or `install` fails (since + ;; flags are given or missing), or "command 'BuildExtCommand' + ;; has no such option 'pep_engine" + ;; '(#:configure-flags + ;; (list (string-append "--with-pEp-engine=" + ;; (assoc-ref inputs "pEpEngine")) + ;; (string-append "--with-pEp-libadapter=" + ;; (assoc-ref inputs "libpEpAdapter")) + ;; ;;(string-append "--boost=" + ;; (assoc-ref inputs "boost")) not supported + ;; (string-append "--with-asn1c-share=" + ;; (assoc-ref inputs "asn1c") "/share")) + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-setup.py + (lambda _ + (substitute* "setup.py" + (("^(\\s+SYS_INCLUDES = )\\['/usr.*" _ a) + (string-append a "os.getenv('CPATH', '').split(os.pathsep)\n")) + (("^(\\s+SYS_LIB_PREFIXES = )\\['/usr.*" _ a) + (string-append a "os.getenv('LIBRARY_PATH', '').split(os.pathsep)\n")) + (("^(\\s+SYS_SHARES = )\\['/usr.*" _ a) + (string-append a "['" (assoc-ref %build-inputs "asn1c") "/share']\n"))) + #t))))) + (inputs + `(("asn1c" ,asn1c) + ("boost-python" ,boost-with-python3) + ("libpepadapter" ,libpepadapter) + ("pep-engine" ,pep-engine))) + (home-page "https://pep.foundation/") + (synopsis "Python adapter for p≡p (pretty Easy Privacy)") + (description "The p≡p Python adapter is an adaptor interface to the p≡p +(pretty Easy privacy) engine.") + (license license:gpl3))) + +(define-public java-pep-adapter + (package + (name "java-pep-adapter") + (version "2.0.5") + (source + (origin + (method hg-fetch) + (uri (hg-reference + (url "https://pep.foundation/dev/repos/pEpJNIAdapter") + (changeset "534537c9cd50"))) ;; r763 + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 "107ldpssc80bq8kndn2n000000gphj4lqagaiv3fddlfph4vji48")))) + (build-system gnu-build-system) + (outputs '("out" "doc")) + (arguments + `(#:test-target "test" + #:make-flags (list "doxy-all") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-includes + (lambda _ + (substitute* "src/jniutils.hh" + (("#pragma once\n" line) + (string-append line + "#include <mutex>\n" + "#include <cassert>\n" + "#include <cstring>\n"))) + #t)) + (add-before 'configure 'pin-shared-lib-path + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "src/foundation/pEp/jniadapter/AbstractEngine.java" + (("System.loadLibrary\\(\"pEpJNI\"\\);") + (string-append "System.load(\"" + (assoc-ref outputs "out") + "/lib/libpEpJNI.so" "\");"))) + #t)) + (replace 'configure + ;; pEpJNIAdapter does not use autotools and configure, + ;; but a local.conf. We need to tweak the values there. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (engine (assoc-ref inputs "pep-engine")) + (libadapter (assoc-ref inputs "libpepadapter")) + (openjdk (assoc-ref inputs "openjdk"))) + (with-output-to-file "local.conf" + (lambda _ ;() + (format #t " +PREFIX=~a +ENGINE_LIB_PATH=~a/lib +ENGINE_INC_PATH=~a/include +AD_LIB_PATH=~a/lib +AD_INC_PATH=~a/include +YML2_PROC=~a +JAVA_HOME=~a +" + out engine engine libadapter libadapter + (which "yml2proc") openjdk))) + (substitute* "src/Makefile" ;; suppress some warnings + (("^\\s+OLD_JAVA=") " xxx_OLD_JAVA=")) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (libout (string-append out "/lib/")) + (javaout (string-append out "/share/java/"))) + (mkdir-p libout) + (mkdir-p javaout) + (copy-file "src/libpEpJNI.so" + (string-append libout "/libpEpJNI.so")) + (copy-file "src/pEp.jar" (string-append javaout "/pEp.jar")) + #t))) + (add-after 'install 'install-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "doc")) + (docout (string-append out "/share/doc/pEp-JNI-adapter")) + (cxxout (string-append docout "/cxx")) + (javaout (string-append docout "/java"))) + (mkdir-p cxxout) + (mkdir-p javaout) + (copy-recursively "doc/doxygen/cxx/html" cxxout) + (copy-recursively "doc/doxygen/java/html" javaout) + #t)))))) + (native-inputs + `(("doxygen" ,doxygen) + ("openjdk" ,openjdk9 "jdk") + ("which" ,which) + ("yml2" ,yml2))) + (inputs + `(("libpepadapter" ,libpepadapter) + ("pep-engine" ,pep-engine) + ("util-linux" ,util-linux))) ;; uuid.h + (home-page "https://pep.foundation/") + (synopsis "Java adapter for p≡p (pretty Easy Privacy)") + (description "The p≡p JNI adapter is a Java adapter interface to the p≡p +(pretty Easy privacy) engine.") + (license license:gpl3))) diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm index 0031b46948..0aaae65573 100644 --- a/gnu/packages/perl-check.scm +++ b/gnu/packages/perl-check.scm @@ -14,6 +14,8 @@ ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -457,6 +459,40 @@ files, as well as to verify that there are no missing or unknown files.") @file{MANIFEST} file matches its distribution.") (license perl-license))) +(define-public perl-test-distribution + (package + (name "perl-test-distribution") + (version "2.00") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SR/SRSHAH/Test-Distribution-" + version ".tar.gz")) + (sha256 + (base32 + "0s1bj459qaw2x1fckklv9irpf3mr8gp2cm9vlyrb5dyanrzx1v2h")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-file-find-rule" ,perl-file-find-rule) + ("perl-pod-coverage" ,perl-pod-coverage) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "https://metacpan.org/release/Test-Distribution") + (synopsis "Perform tests on all modules of a distribution") + (description "When used in a test script @code{Test::Distribution} +goes through all the modules in your distribution, checks their POD, +checks that they compile successfully and checks that they all define +a $VERSION. In addition, this module performs a number of tests on +the distribution itself. It checks that the distributed files match +the SIGNATURE file, if that file exists. It checks that the +distribution is not missing any core description files. It also +checks that the complete set of pre-requisite packages are listed in +the Makefile.PL file.") + (license perl-license))) + (define-public perl-test-eol (package (name "perl-test-eol") @@ -1030,6 +1066,34 @@ usually called epsilon. This module provides such a function for use with @code{Test::More}.") (license asl2.0))) +(define-public perl-test-object + (package + (name "perl-test-object") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Test-Object-" version ".tar.gz")) + (sha256 + (base32 "1fyhn558kvla37fb60fzdr6kd2kfcxcmpr8884zk2dvq2ij8j9v5")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Test-Object") + (synopsis "Thoroughly testing objects via registered handlers") + (description + "In situations where you have deep trees of classes, +there is a common situation in which you test a module 4 or 5 subclasses down, +which should follow the correct behaviour of not just the subclass, but of all +the parent classes. + +This should be done to ensure that the implementation of a subclass has not +somehow ``broken'' the object's behaviour in a more general sense. + +Test::Object is a testing package designed to allow you to easily test what +you believe is a valid object against the expected behaviour of all of the +classes in its inheritance tree in one single call.") + (license perl-license))) + (define-public perl-test-output (package (name "perl-test-output") @@ -1252,6 +1316,33 @@ makes fork(2) safe to use in test cases.") (home-page "https://metacpan.org/release/Test-Simple") (license perl-license))) +(define-public perl-test-subcalls + (package + (name "perl-test-subcalls") + (version "1.10") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Test-SubCalls-" version ".tar.gz")) + (sha256 + (base32 "1hmnv9nkdzyrr6yis0dnkf4lk0hwld3zapiyq7mizrq5barykhfb")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-hook-lexwrap" ,perl-hook-lexwrap))) + (home-page "https://metacpan.org/release/Test-SubCalls") + (synopsis "Track the number of times subs are called") + (description + "There are a number of different situations (like testing caching +code) where you want to want to do a number of tests, and then verify +that some underlying subroutine deep within the code was called +a specific number of times. + +Test::SubCalls module provides a number of functions for doing testing +in this way in association with your normal Test::More (or similar) +test scripts.") + (license perl-license))) + (define-public perl-test-taint (package (name "perl-test-taint") diff --git a/gnu/packages/perl-compression.scm b/gnu/packages/perl-compression.scm index bb47a90f8f..2996e56452 100644 --- a/gnu/packages/perl-compression.scm +++ b/gnu/packages/perl-compression.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,39 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-check)) +(define-public perl-compress-bzip2 + (package + (name "perl-compress-bzip2") + (version "2.26") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/" + "Compress-Bzip2-" version ".tar.gz")) + (sha256 + (base32 "032gbhpjch4yc7r32b0glhi5qn6f1sm35lrnxrvlv9bpyg2z0cji")))) + (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-bzip2 + (lambda* (#:key inputs #:allow-other-keys) + (let ((bzip2 (assoc-ref inputs "bzip2"))) + (setenv "BUILD_BZLIB" "0") + (setenv "BZLIB_BIN" (string-append bzip2 "/bin")) + (setenv "BZLIB_INCLUDE" (string-append bzip2 "/include")) + (setenv "BZLIB_LIB" (string-append bzip2 "/lib")) + #t)))))) + (inputs + `(("bzip2" ,bzip2))) + (home-page "https://metacpan.org/release/Compress-Bzip2") + (synopsis "Interface to Bzip2 compression library") + (description + "The Compress::Bzip2 module provides a Perl interface to the Bzip2 +compression library. A relevant subset of the functionality provided by Bzip2 +is available in this module.") + (license license:perl-license))) + (define-public perl-compress-raw-bzip2 (package (name "perl-compress-raw-bzip2") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d32e7b6ece..42839f4409 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2019 Stephen J. Scheck <sscheck@cpan.org> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,7 +45,7 @@ (define-module (gnu packages perl) #:use-module (srfi srfi-1) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix download) @@ -255,7 +256,7 @@ text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.") (home-page "https://www.perl.org/") - (license gpl1+))) ; or "Artistic" + (license license:gpl1+))) ; or "Artistic" (define-public perl-algorithm-c3 (package @@ -478,7 +479,7 @@ SYS$HASH_PASSWORD password hashing function from VMS (also known as LGI$HPWD) and some associated VMS username and password handling functions. The password hashing function is implemented in XS with a pure Perl backup version for systems that cannot handle XS.") - (license gpl2+))) + (license license:gpl2+))) (define-public perl-authen-passphrase (package @@ -521,7 +522,7 @@ many schemes in use to achieve this effect and the intent of this class is to provide a consistent interface to them all. In addition to the base class, this module also contains implementations of several specific passphrase schemes.") - (license perl-license))) + (license license:perl-license))) (define-public perl-autovivification (package @@ -663,7 +664,7 @@ keywords: @code{@@Scalars, @@Arrays, @@Hashes, @@Filehandles, @@Symbols, @@Functions, @@Barewords, @@TieIOMethods, @@UNIVERSALMethods and @@ExporterSymbols}.") ;; GPLv2 only - (license gpl2))) + (license license:gpl2))) (define-public perl-benchmark-timer (package @@ -689,7 +690,7 @@ trials. It is perfect for when you need more precise information about the running time of portions of your code than the Benchmark module will give you, but don't want to go all out and profile your code.") (home-page "https://metacpan.org/release/Benchmark-Timer") - (license gpl2))) + (license license:gpl2))) (define-public perl-bit-vector (package @@ -714,7 +715,7 @@ matrices, all of arbitrary sizes. The package also includes an object-oriented Perl module for accessing the C library from Perl, and optionally features overloaded operators for maximum ease of use. The C library can nevertheless be used stand-alone, without Perl.") - (license (list (package-license perl) lgpl2.0+)))) + (license (list (package-license perl) license:lgpl2.0+)))) (define-public perl-boolean (package @@ -774,7 +775,7 @@ Agency.") (synopsis "Work with International Standard Book Numbers") (description "This modules provides tools to deal with International Standard Book Numbers, including ISBN-10 and ISBN-13.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-business-issn (package @@ -883,7 +884,7 @@ algorithm to keep the most used entries in the cache.") sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") - (license asl2.0))) + (license license:asl2.0))) (define-public perl-canary-stability (package @@ -989,7 +990,7 @@ library assert.h.") (synopsis "Convenience wrappers around Carp::Assert") (description "Carp::Assert::More is a set of handy assertion functions for Perl.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-carp-clan (package @@ -1030,7 +1031,7 @@ the Carp.pm module doesn't help.") (synopsis "Read the CDDB entry for an audio CD in your drive") (description "This module can retrieve information from the CDDB.") ;; Either GPLv2 or the "Artistic" license. - (license (list gpl2 artistic2.0)))) + (license (list license:gpl2 license:artistic2.0)))) (define-public circos (package @@ -1125,7 +1126,7 @@ the Carp.pm module doesn't help.") (description "Circos is a program for the generation of publication-quality, circularly composited renditions of genomic data and related annotations.") - (license gpl2+))) + (license license:gpl2+))) (define-public perl-class-accessor (package @@ -1420,7 +1421,7 @@ names, not Class::Name. For that, this module provides \"load_class (synopsis "XS implementation of parts of Class::Load") (description "This module provides an XS implementation for portions of Class::Load.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-class-methodmaker (package @@ -1492,7 +1493,7 @@ with a hook to easily call that original method.") module dynamically generates anonymous classes with specified inheritance. This is useful where an incomplete class requires use of a mixin in order to become instantiable.") - (license perl-license))) + (license license:perl-license))) (define-public perl-class-singleton (package @@ -1531,7 +1532,7 @@ little other than manage the instantiation of a single object.") (synopsis "Minimalist class construction") (description "This module offers a minimalist class construction kit. It uses no non-core modules for any recent Perl.") - (license asl2.0))) + (license license:asl2.0))) (define-public perl-class-unload (package @@ -1622,7 +1623,7 @@ objects.") (description "This @code{Clone::Choose} module checks several different modules which provide a @code{clone()} function and selects an appropriate one.") - (license perl-license))) + (license license:perl-license))) (define-public perl-clone-pp (package @@ -1691,7 +1692,7 @@ library. It support scalar, array, and hash data structures just like its C/C++ counterpart. It reduces the effort required to implement a configuration file parser in your Perl programme and allows sharing configuration files between languages.") - (license bsd-3))) + (license license:bsd-3))) (define-public perl-config-grammar (package @@ -1826,7 +1827,7 @@ options.") (description "This module handles parsing, modifying and creating configuration files of the style used by the Git version control system.") - (license perl-license))) + (license license:perl-license))) (define-public perl-config-ini (package @@ -1900,7 +1901,7 @@ the caller.") mail, as short-lined, 7-bit, semi-compressed data streams. Ths module provides a means of converting those data streams back into into binary data.") - (license perl-license))) + (license license:perl-license))) (define-public perl-cpan-changes (package @@ -1921,7 +1922,7 @@ data.") (description "@code{CPAN::Changes} helps users programmatically read and write @file{Changes} files that conform to a common specification.") - (license perl-license))) + (license license:perl-license))) (define-public perl-cpan-distnameinfo (package @@ -1943,7 +1944,7 @@ data.") (description "@code{CPAN::DistnameInfo} uses heuristics to extract the distribution name and version from filenames.") - (license perl-license))) + (license license:perl-license))) (define-public perl-cpan-meta-check (package @@ -2009,7 +2010,7 @@ the cryptographic Cipher Block Chaining (CBC) mode. In combination with a block cipher such as @code{Crypt::Rijndael} you can encrypt and decrypt messages of arbitrarily long length. The encrypted messages are compatible with the encryption format used by SSLeay.") - (license perl-license))) + (license license:perl-license))) (define-public perl-crypt-des (package @@ -2033,7 +2034,7 @@ are compatible with the encryption format used by SSLeay.") the DES cryptography algorithm. The module implements the @code{Crypt::CBC} interface which has blocksize, keysize, encrypt and decrypt functions.") - (license bsd-3))) + (license license:bsd-3))) (define-public perl-crypt-eksblowfish (package @@ -2067,7 +2068,7 @@ Cost and salt parameters together define a cipher family. Within each family, the key determines the encryption function. This distribution also includes an implementation of @code{bcrypt}, the Unix crypt() password hashing algorithm based on Eksblowfish.") - (license perl-license))) + (license license:perl-license))) (define-public perl-crypt-mysql (package @@ -2094,7 +2095,7 @@ password hashing algorithm based on Eksblowfish.") function. The module does not depend on an interface to the MySQL database server. This enables the comparison of encrypted passwords without the need for a real MySQL environment.") - (license perl-license))) + (license license:perl-license))) (define-public perl-crypt-passwdmd5 (package @@ -2118,7 +2119,7 @@ without the need for a real MySQL environment.") crypt()-compatible interfaces to the MD5-based crypt() function found in various *nixes. It is based on the implementation found on FreeBSD 2.2.[56]-RELEASE.") - (license perl-license))) + (license license:perl-license))) (define-public perl-crypt-randpasswd (package @@ -2172,7 +2173,7 @@ supported encryption modes are: @item @code{MODE_ECB}---Electronic cookbook mode @item @code{MODE_OFB}---Output feedback @end itemize") - (license gpl3))) + (license license:gpl3))) (define-public perl-crypt-rc4 (package @@ -2215,7 +2216,7 @@ Unix @code{crypt} function. For those who need to construct non-standard variants of @code{crypt}, the various building blocks used in @code{crypt} are also supplied separately.") ;; Files in the 'fcrypt' directory are covered by a BSD licence. - (license (list perl-license bsd-3)))) + (license (list license:perl-license license:bsd-3)))) (define-public perl-cwd-guard (package @@ -2276,7 +2277,7 @@ It returns to the previous working directory when the object is destroyed.") (description "Chaolin Zhang's Perl Library (czplib) contains assorted functions and data structures for processing and analysing genomic and bioinformatics data.") - (license gpl3+))) + (license license:gpl3+))) (define-public perl-data (package @@ -2367,7 +2368,7 @@ on the Internet, and cryptographic fake entropy. The Data::Entropy::Algorithms module contains a collection of fundamental algorithms that use entropy. There are random number generators and functions to shuffle arrays.") - (license perl-license))) + (license license:perl-license))) (define-public perl-data-integer (package @@ -2394,7 +2395,7 @@ data type. A native integer is one of the types of datum that can appear in the numeric part of a Perl scalar. This module supplies constants describing the native integer type. Both signed and unsigned representations are handled.") - (license perl-license))) + (license license:perl-license))) (define-public perl-data-uniqid (package @@ -2455,7 +2456,7 @@ code that, when \"eval\"ed, produces a deep copy of the original arguments.") @code{Data::Dumper} writes out their contents in Perl syntax. The references can also be objects. The content of each variable is output in a single Perl statement. It handles self-referential structures correctly.") - (license perl-license))) + (license license:perl-license))) (define-public perl-data-dumper-concise (package @@ -2502,7 +2503,7 @@ types of datum that can appear in the numeric part of a Perl scalar. This module supplies constants describing the native floating point type, classification functions and functions to manipulate floating point values at a low level.") - (license perl-license))) + (license license:perl-license))) (define-public perl-data-optlist (package @@ -2593,7 +2594,7 @@ The maths behind this is unfortunately fiddly, hence this module.") @item @code{Data::Perl::Bool} @item @code{Data::Perl::Code} @end itemize") - (license perl-license))) + (license license:perl-license))) (define-public perl-data-printer (package @@ -2672,6 +2673,27 @@ like split on newlines unless newlines are embedded in quotes.") of data out of your DATA section.") (license (package-license perl)))) +(define-public perl-data-section-simple + (package + (name "perl-data-section-simple") + (version "0.07") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MI/MIYAGAWA/" + "Data-Section-Simple-" version ".tar.gz")) + (sha256 + (base32 "1jx9g5sxcw0i2zkm2z895k422i49kpx0idnnvvvs36lhvgzkac0b")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-requires" ,perl-test-requires))) + (home-page "https://metacpan.org/release/Data-Section-Simple") + (synopsis "Read data from __DATA__") + (description + "Data::Section::Simple is a simple module to extract data from __DATA__ +section of the file.") + (license license:perl-license))) + (define-public perl-data-stag (package (name "perl-data-stag") @@ -2823,7 +2845,7 @@ applicable).") (synopsis "XS wrapper for Date::Calc") (description "Date::Calc::XS is an XS wrapper and C library plug-in for Date::Calc.") - (license (list (package-license perl) lgpl2.0+)))) + (license (list (package-license perl) license:lgpl2.0+)))) (define-public perl-date-manip (package @@ -2869,7 +2891,7 @@ module may be used to create simple date objects. It handles validation, interval arithmetic, and day-of-week calculation. It does not deal with hours, minutes, seconds, and time zones.") ;; Can be used with either license. - (license (list (package-license perl) gpl2+)))) + (license (list (package-license perl) license:gpl2+)))) (define-public perl-datetime (package @@ -2899,7 +2921,7 @@ hours, minutes, seconds, and time zones.") (description "DateTime is a class for the representation of date/time combinations. It represents the Gregorian calendar, extended backwards in time before its creation (in 1582).") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-datetime-calendar-julian (package @@ -3021,7 +3043,7 @@ or \"every day\". You can also create more complicated recurrences, such as string formats of dates and times are simple and just require a basic regular expression to extract the relevant information. Builder provides a simple way to do this without writing reams of structural code.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-datetime-format-flexible (package @@ -3079,6 +3101,34 @@ formats, as defined in RFC 2445. It can be used to parse these formats in order to create the appropriate objects.") (license (package-license perl)))) +(define-public perl-datetime-format-iso8601 + (package + (name "perl-datetime-format-iso8601") + (version "0.08") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-" + version ".tar.gz")) + (sha256 + (base32 + "1syccqd5jlwms8v78ksnf68xijzl97jky5vbwhnyhxi5gvgfx8xk")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (propagated-inputs + `(("perl-datetime" ,perl-datetime) + ("perl-datetime-format-builder" ,perl-datetime-format-builder) + ("perl-file-find-rule" ,perl-file-find-rule) + ("perl-test-distribution" ,perl-test-distribution) + ("perl-test-pod" ,perl-test-pod))) + (home-page "https://metacpan.org/release/DateTime-Format-ISO8601") + (synopsis "Parse ISO8601 date and time formats") + (description "@code{DateTime::Format::ISO8601} is a DateTime +extension that parses almost all ISO8601 date and time formats.") + (license license:perl-license))) + (define-public perl-datetime-format-natural (package (name "perl-datetime-format-natural") @@ -3137,7 +3187,7 @@ parsing logic.") function that is the reverse of `strftime(3)`, for `DateTime`. While `strftime` takes a `DateTime` and a pattern and returns a string, `strptime` takes a string and a pattern and returns the `DateTime` object associated.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-datetime-locale (package @@ -3323,7 +3373,7 @@ annotation to a Perl subroutine, resulting in resolvable calls to that subroutine being mutated at compile time by arbitrary C code. This module makes @code{cv_set_call_checker} and several supporting functions available.") - (license perl-license))) + (license license:perl-license))) (define-public perl-devel-caller (package @@ -3387,7 +3437,7 @@ particular command is available.") C library and its headers are available. You can also check for the presence of particular functions in a library, or even that those functions return particular results.") - (license perl-license))) + (license license:perl-license))) (define-public perl-devel-checkcompiler (package @@ -3432,7 +3482,7 @@ you can tell it to compile a C source file with optional linker flags.") "@code{Devel::Cycle} This is a tool for finding circular references in objects and other types of references. Because of Perl's reference-count based memory management, circular references will cause memory leaks.") - (license perl-license))) + (license license:perl-license))) (define-public perl-devel-globaldestruction (package @@ -3495,7 +3545,7 @@ files/modules are installed or not).") (description "This module provides a basic way to discover if a piece of perl code is allocating perl data and not releasing them again.") - (license perl-license))) + (license license:perl-license))) (define-public perl-devel-lexalias (package @@ -3589,7 +3639,7 @@ arbitrary parameters.") Devel::StackTrace and Devel::StackTrace::Frame. These objects encapsulate the information that can be retrieved via Perl's caller() function, as well as providing a simple interface to this data.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-devel-stacktrace-ashtml (package @@ -3652,7 +3702,7 @@ each stack frame.") (description "The @code{Digest::CRC} module calculates CRC sums of all sorts. It contains wrapper functions with the correct parameters for CRC-CCITT, CRC-16 and CRC-32.") - (license public-domain))) + (license license:public-domain))) (define-public perl-digest-hmac (package @@ -3694,7 +3744,7 @@ RSA Data Security Inc.@: MD4 Message Digest algorithm from within Perl programs. The algorithm takes as input a message of arbitrary length and produces as output a 128-bit \"fingerprint\" or \"message digest\" of the input. MD4 is described in RFC 1320.") - (license perl-license))) + (license license:perl-license))) (define-public perl-digest-md5 (package @@ -3790,7 +3840,7 @@ modules separately and deal with them after the module is done installing.") dynamic loading as used by Perl. Some details of dynamic loading are very platform-dependent, so correct use of these functions requires the programmer to be mindfulof the space of platform variations.") - (license perl-license))) + (license license:perl-license))) (define-public perl-encode-detect (package @@ -3811,7 +3861,7 @@ the programmer to be mindfulof the space of platform variations.") (synopsis "Detect the encoding of data") (description "This package provides a class @code{Encode::Detect} to detect the encoding of data.") - (license mpl1.1))) + (license license:mpl1.1))) (define-public perl-encode-eucjpascii (package @@ -3875,7 +3925,7 @@ also known as JIS 2000.") part of Perl by default, including \"BIG5-1984\", \"BIG5-2003\", \"BIG5PLUS\", \"BIG5EXT\", \"CCCII\", \"EUC-TW\", \"CNS11643-*\", \"GB18030\", and \"UNISYS\".") - (license expat))) + (license license:expat))) (define-public perl-env-path (package @@ -4193,7 +4243,7 @@ handle Perl/XS typemap files, and their submodules.") @command{pkg-config} utility, intended for use in the @file{Makefile.PL} of perl extensions which bind libraries that @command{pkg-config} knows. It is really just boilerplate code that you would have written yourself.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public perl-extutils-typemaps-default (package @@ -4274,7 +4324,7 @@ interface XS for C++; it is a thin layer over plain XS.") (synopsis "Watch for changes to files") (description "This module provides a class to monitor a directory for changes made to any file.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-file-configdir (package @@ -4462,7 +4512,7 @@ working directory. When the object is destroyed, the destructor calls @code{chdir} to revert to the original working directory. By storing the object in a lexical variable with a limited scope, this happens automatically at the end of the scope.") - (license asl2.0))) + (license license:asl2.0))) (define-public perl-file-list (package @@ -4516,7 +4566,7 @@ It is intended for processing log and other similar text files which typically have their newest entries appended to them. By default files are assumed to be plain text and have a line ending appropriate to the OS. But you can set the input record separator string on a per file basis.") - (license perl-license))) + (license license:perl-license))) (define-public perl-file-remove (package @@ -4753,17 +4803,17 @@ notifications of changes to a given file system path. It uses inotify2 on Linux, fsevents on OS X, @code{kqueue} on FreeBSD, and @code{FindFirstChangeNotification} on Windows if they're installed, and falls back to a full directory scan if none of these are available.") - (license perl-license))) + (license license:perl-license))) (define-public perl-getopt-long (package (name "perl-getopt-long") - (version "v2.49.1") + (version "2.49.1") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JV/JV/" - "Getopt-Long-" (substring version 1) ".tar.gz")) + "Getopt-Long-v" (substring version 1) ".tar.gz")) (sha256 (base32 "0bw8gbhj8s5gmkqvs3m7pk9arqhgqssrby4yimh29ah9alix9ylq")))) @@ -4781,7 +4831,7 @@ single letters, and are introduced with a double dash \"--\". Support for bundling of command line options, as was the case with the more traditional single-letter approach, is provided but not enabled by default.") ;; Can be used with either license. - (license (list (package-license perl) gpl2+)))) + (license (list (package-license perl) license:gpl2+)))) (define-public perl-getopt-long-descriptive (package @@ -4952,6 +5002,29 @@ merged.") that may contain multiple values per key, inspired by MultiDict of WebOb.") (license (package-license perl)))) +(define-public perl-hook-lexwrap + (package + (name "perl-hook-lexwrap") + (version "0.26") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + "Hook-LexWrap-" version ".tar.gz")) + (sha256 + (base32 "0bgc6w8zs45n6ksgk0zisn9a2vcr3lmzipkan2a94kzrk1gxq2xn")))) + (build-system perl-build-system) + (home-page + "https://metacpan.org/release/Hook-LexWrap") + (synopsis "Lexically scoped subroutine wrappers") + (description + "Hook::LexWrap allows you to install a pre- or post-wrapper (or +both) around an existing subroutine. Unlike other modules that +provide this capacity (e.g., Hook::PreAndPost and Hook::WrapSub), +Hook::LexWrap implements wrappers in such a way that the standard +caller function works correctly within the wrapped subroutine.") + (license license:perl-license))) + (define-public perl-importer (package (name "perl-importer") @@ -5018,7 +5091,7 @@ compilation. Import::Into provides global methods to make this painless.") (description "The inc::latest module helps bootstrap configure-time dependencies for CPAN distributions. These dependencies get bundled into the inc directory within a distribution and are used by Makefile.PL or Build.PL.") - (license asl2.0))) + (license license:asl2.0))) (define-public perl-indirect (package @@ -5119,7 +5192,7 @@ It also goes a bit into Perl C internals.") a single nifty object oriented interface to greatly simplify your everyday Perl IO idioms. It exports a single function called io, which returns a new @code{IO::All} object. And that object can do it all!") - (license perl-license))) + (license license:perl-license))) (define-public perl-io-captureoutput (package @@ -5240,14 +5313,14 @@ filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines.") (define-public perl-io-tty (package (name "perl-io-tty") - (version "1.12") + (version "1.14") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-" version ".tar.gz")) (sha256 (base32 - "0399anjy3bc0w8xzsc3qx5vcyqryc9gc52lc7wh7i49hsdq8gvx2")))) + "1dcmxdhrapxvvzlfp6yzz7655f3c6x8jrw0md8ndp2qj27iy9wsi")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/IO-Tty") (synopsis "Perl interface to pseudo ttys") @@ -5327,7 +5400,7 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") (home-page "https://metacpan.org/release/IPC-Run3") ;; "You may use this module under the terms of the BSD, Artistic, or GPL ;; licenses, any version." - (license (list bsd-3 gpl3+)))) + (license (list license:bsd-3 license:gpl3+)))) (define-public perl-ipc-sharelite (package @@ -5494,6 +5567,32 @@ versa.") "Lexical::SealRequireHints prevents leakage of lexical hints") (license (package-license perl)))) +(define-public perl-locale-maketext-lexicon + (package + (name "perl-locale-maketext-lexicon") + (version "1.00") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DR/DRTECH/" + "Locale-Maketext-Lexicon-" version ".tar.gz")) + (sha256 + (base32 "0z6w3m6f3r29ljicdigsyvpa9w9j2m65l4gjxcw0wgwdll26ngxp")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-html-parser" ,perl-html-parser) + ("perl-lingua-en-sentence" ,perl-lingua-en-sentence) + ("perl-ppi" ,perl-ppi) + ("perl-template-toolkit" ,perl-template-toolkit) + ("perl-text-haml" ,perl-text-haml) + ("perl-yaml" ,perl-yaml))) + (home-page "https://metacpan.org/release/Locale-Maketext-Lexicon") + (synopsis "Use other catalog formats in Maketext") + (description + "This module provides lexicon-handling modules to read from other +localization formats, such as Gettext, Msgcat, and so on.") + (license license:x11))) + (define-public perl-log-any (package (name "perl-log-any") @@ -5648,7 +5747,29 @@ one: logging, exceptions, and translations.") (description "This package is an internationalization library for Perl that aims to be compatible with the Uniforum message translations system as implemented for example in GNU gettext.") - (license gpl3+))) + (license license:gpl3+))) + +(define-public perl-lingua-en-sentence + (package + (name "perl-lingua-en-sentence") + (version "0.31") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KI/KIMRYAN/" + "Lingua-EN-Sentence-" version ".tar.gz")) + (sha256 + (base32 "11hlg92khd2azbxndnffsj9lggbxb3lqfdbwc6asr1c9lxlqddms")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (home-page "https://metacpan.org/release/Lingua-EN-Sentence") + (synopsis "Split text into sentences") + (description + "The Lingua::EN::Sentence module contains the function get_sentences, +which splits text into its constituent sentences, based on a regular +expression and a list of abbreviations (built in and given).") + (license license:perl-license))) (define-public perl-lingua-translit (package @@ -5775,7 +5896,7 @@ functionality on lists which is not going to go into List::Util.") (description "@code{List::MoreUtils::XS} provides some trivial but commonly needed functionality on lists which is not going to go into @code{List::Util}.") - (license asl2.0))) + (license license:asl2.0))) (define-public perl-list-someutils (package @@ -5852,7 +5973,7 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer. @item Mail::Util \"Smart functions\" you should not depend on. @end table") - (license perl-license))) + (license license:perl-license))) (define-public perl-mail-sendmail (package @@ -5875,7 +5996,7 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer. (description "Mail::Sendmail is a pure perl module that provides a simple means to send email from a perl script. The module only requires Perl5 and a network connection.") - (license perl-license))) + (license license:perl-license))) (define-public perl-math-bezier (package @@ -5895,7 +6016,7 @@ requires Perl5 and a network connection.") (description "This module implements the algorithm for the solution of Bezier curves as presented by Robert D Miller in Graphics Gems V, \"Quick and Simple Bezier Curve Drawing\".") - (license perl-license))) + (license license:perl-license))) (define-public perl-math-round (package @@ -5914,7 +6035,7 @@ Bezier Curve Drawing\".") (synopsis "Perl extension for rounding numbers") (description "@code{Math::Round} provides functions to round numbers, both positive and negative, in various ways.") - (license perl-license))) + (license license:perl-license))) (define-public perl-math-vecstat (package @@ -5953,7 +6074,7 @@ operated on.") (synopsis "Make functions faster by trading space for time") (description "This package transparently speeds up functions by caching return values, trading space for time.") - (license perl-license))) + (license license:perl-license))) (define-public perl-memoize-expirelru (package @@ -6022,7 +6143,7 @@ MIME messages on Internet.") "MIME-tools is a collection of Perl5 MIME:: modules for parsing, decoding, and generating single- or multipart (even nested multipart) MIME messages.") - (license perl-license))) + (license license:perl-license))) (define-public perl-mime-types (package @@ -6246,7 +6367,7 @@ several underlying implementations for a module. This can be used to provide XS and pure Perl implementations of a module, or it could be used to load an implementation for a given OS or any other case of needing to provide multiple implementations.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-module-install (package @@ -6314,7 +6435,7 @@ use in @code{Module::Inspector}. It can load a @file{MANIFEST} file that comes in a Perl distribution tarball, examine the contents, and perform some simple tasks. It can also load the @file{MANIFEST.SKIP} file and check that.") - (license perl-license))) + (license license:perl-license))) (define-public perl-module-pluggable (package @@ -6649,7 +6770,7 @@ namespace::autoclean to operate without blowing away your overloads. After using MooseX::MarkAsMethods your overloads will be recognized by Class::MOP as being methods, and class extension as well as composition from roles with overloads will \"just work\".") - (license lgpl2.1))) + (license license:lgpl2.1))) (define-public perl-moosex-methodattributes (package @@ -6833,7 +6954,7 @@ where plain Moose::Roles would lose the overloading.") changes the default naming policy for the loading class so that accessors are separated into get and set methods. The get methods have the same name as the accessor, while set methods are prefixed with \"_set_\".") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-moosex-strictconstructor (package @@ -6859,7 +6980,7 @@ accessor, while set methods are prefixed with \"_set_\".") (description "Simply loading this module makes your constructors \"strict\". If your constructor is called with an attribute init argument that your class does not declare, then it calls Moose->throw_error().") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-moosex-traits-pluggable (package @@ -7033,7 +7154,7 @@ constraint with coercion to load the class.") (synopsis "Using Moo and MooX:: packages the most lazy way") (description "Contains the MooX and MooX::Role packages.") - (license perl-license))) + (license license:perl-license))) (define-public perl-moox-cmd (package @@ -7158,7 +7279,7 @@ installing configuration files or for finding any piece of settings.") "@code{MooX::HandlesVia} is an extension of Moo's @code{handles} attribute functionality. It provides a means of proxying functionality from an external class to the given attribute.") - (license perl-license))) + (license license:perl-license))) (define-public perl-moox-late (package @@ -7195,7 +7316,7 @@ an external class to the given attribute.") Currently Hash, Array and Code are supported. This feature requires MooX::HandlesVia. @end enumerate") - (license perl-license))) + (license license:perl-license))) (define-public perl-moox-options (package @@ -7275,7 +7396,7 @@ generate a command line tool.") "Loading @code{MooX::StrictConstructor} makes your constructors \"strict\". If your constructor is called with an attribute init argument that your class does not declare, then it dies.") - (license perl-license))) + (license license:perl-license))) (define-public perl-moox-types-mooselike (package @@ -7377,7 +7498,7 @@ of data.") (description "@code{Mozilla::CA} provides a copy of Mozilla's bundle of Certificate Authority certificates in a form that can be consumed by modules and libraries based on OpenSSL.") - (license mpl2.0))) + (license license:mpl2.0))) (define-public perl-multidimensional (package @@ -7503,7 +7624,7 @@ power and flexibility of perl. The module does not implement the functionality of a RIB (Routing Information Base) nor does it modify the kernel routing table of the host system. However, such operations could be implemented using the API provided by the module.") - (license perl-license))) + (license license:perl-license))) (define-public perl-net-dns-native (package @@ -7526,7 +7647,7 @@ designed to be used with event loops. Names are resolved by your system's native @code{getaddrinfo(3)} implementation, called in a separate thread to avoid blocking the entire application. Threading overhead is limited by using system threads instead of Perl threads.") - (license perl-license))) + (license license:perl-license))) (define-public perl-net-idn-encode (package @@ -7553,7 +7674,7 @@ names today (letter-digit-hyphen, /[A-Z0-9-]/i). Use this module if you just want to convert domain names (or email addresses), using whatever IDNA standard is the best choice at the moment.") - (license perl-license))) + (license license:perl-license))) (define-public perl-net-statsd (package @@ -7618,7 +7739,7 @@ output formats may include thousands separators - characters inserted between each group of three characters counting right to left from the decimal point. The characters used for the decimal point and the thousands separator come from the locale information or can be specified by the user.") - (license perl-license))) + (license license:perl-license))) (define-public perl-number-range (package @@ -7733,7 +7854,7 @@ instance, not by name.") (synopsis "Manage deprecation warnings for your distribution") (description "This module allows you to manage a set of deprecations for one or more modules.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-package-stash (package @@ -7863,7 +7984,7 @@ for arguments of the types handled by the classification functions. Enforcement of more complex types may be built using the classification functions, or it may be more convenient to use a module designed for the more complex job, such as @code{Params::Validate}") - (license perl-license))) + (license license:perl-license))) (define-public perl-params-util (package @@ -7909,7 +8030,7 @@ checking parameters easier.") (synopsis "Validate method/function parameters") (description "The Params::Validate module allows you to validate method or function call parameters to an arbitrary level of specificity.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-params-validationcompiler (package @@ -7940,7 +8061,7 @@ parameter checking subroutine. It can handle named or positional parameters, and can return the parameters as key/value pairs or a list of values. In addition to type checks, it also supports parameter defaults, optional parameters, and extra \"slurpy\" parameters.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-par-dist (package @@ -8013,7 +8134,7 @@ directory specifications in a cross-platform manner.") (synopsis "Tools for working with directory and file names") (description "This package provides functions to work with directory and file names.") - (license perl-license))) + (license license:perl-license))) (define-public perl-path-tiny (package @@ -8038,7 +8159,7 @@ file names.") (synopsis "File path utility") (description "This module provides a small, fast utility for working with file paths.") - (license asl2.0))) + (license license:asl2.0))) (define-public perl-pdf-api2 (package @@ -8062,7 +8183,7 @@ with file paths.") (synopsis "Facilitates the creation and modification of PDF files") (description "This Perl module facilitates the creation and modification of PDF files.") - (license lgpl2.1))) + (license license:lgpl2.1))) (define-public perl-perlio-utf8_strict (package @@ -8177,6 +8298,37 @@ feature is useful when you want to write loggers, servers, and portable applications.") (license (package-license perl)))) +(define-public perl-ppi + (package + (name "perl-ppi") + (version "1.270") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MI/MITHALDU/" + "PPI-" version ".tar.gz")) + (sha256 + (base32 "0mzlz9rxqx93rqgy16jcfxwkplvhzr0f1gvvvwmmvf0vg266jak2")))) + (build-system perl-build-system) + (arguments + `(#:tests? #f)) ;FIXME: some tests fail + (native-inputs + `(("perl-class-inspector" ,perl-class-inspector) + ("perl-test-deep" ,perl-test-deep) + ("perl-test-nowarnings" ,perl-test-nowarnings) + ("perl-test-object" ,perl-test-object) + ("perl-test-subcalls" ,perl-test-subcalls))) + (propagated-inputs + `(("perl-clone" ,perl-clone) + ("perl-io-string" ,perl-io-string) + ("perl-params-util" ,perl-params-util) + ("perl-task-weaken" ,perl-task-weaken))) + (home-page "https://metacpan.org/release/PPI") + (synopsis "Parse, analyze and manipulate Perl (without Perl)") + (description "The PPI module parses, analyzes and manipulates Perl +code.") + (license license:perl-license))) + (define-public perl-probe-perl (package (name "perl-probe-perl") @@ -8264,7 +8416,7 @@ variables that should not be changed.") @code{Ref::Util}, which provides several functions to help identify references in a more convenient way than the usual approach of examining the return value of @code{ref}.") - (license x11))) + (license license:x11))) (define-public perl-regexp-common (package @@ -8288,7 +8440,7 @@ offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip codes.") (home-page "https://metacpan.org/release/Regexp-Common") ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. - (license (list (package-license perl) x11 bsd-3)))) + (license (list (package-license perl) license:x11 license:bsd-3)))) (define-public perl-regexp-util (package @@ -8395,7 +8547,7 @@ strings it is necessary to understand these implementation details. This module provides functions to classify a string by encoding and to encode a string in a desired way. The module is implemented in XS, with a pure Perl backup version for systems that cannot handle XS.") - (license perl-license))) + (license license:perl-license))) (define-public perl-scope-guard (package @@ -8456,7 +8608,7 @@ collector.") (synopsis "Manage sets of integers") (description "@code{Set::IntSpan} manages sets of integers. It is optimized for sets that have long runs of consecutive integers.") - (license perl-license))) + (license license:perl-license))) (define-public perl-set-object (package @@ -8477,7 +8629,7 @@ optimized for sets that have long runs of consecutive integers.") (synopsis "Unordered collections of Perl Objects") (description "Set::Object provides efficient sets, unordered collections of Perl objects without duplicates for scalars and references.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-set-scalar (package @@ -8570,7 +8722,7 @@ magically make the Perl interpreter start checking a value's type on assignment to a variable. In fact, there's no built-in way to apply a type to a variable at all. Instead, you can explicitly check a value against a type, and optionally coerce values to that type.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-spiffy (package @@ -8614,7 +8766,7 @@ other OO languages like Python, Ruby, Java and Perl 6.") (synopsis "Collection of very basic statistics modules") (description "This package provides basic statistics functions like @code{median()}, @code{mean()}, @code{variance()} and @code{stddev()}.") - (license lgpl2.0))) + (license license:lgpl2.0))) (define-public perl-stream-buffered (package @@ -8743,7 +8895,7 @@ removing double-quotes, and truncating to fit within a desired length.") "@code{String::Formatter} is a tool for building sprintf-like formatting routines. It supports named or positional formatting, custom conversions, fixed string interpolation, and simple width-matching.") - (license gpl2))) + (license license:gpl2))) (define-public perl-string-rewriteprefix (package @@ -9009,7 +9161,7 @@ the superclass---at least conditionally and temporarily. This module provides nicer equivalents to the native Perl syntax for calling superclasses, along with a universal @code{super} method to determine a class' own superclass, and better support for run-time mix-ins and roles.") - (license perl-license))) + (license license:perl-license))) (define-public perl-svg (package @@ -9141,7 +9293,7 @@ of a system.") "Sys::Syscall allows one to use epoll and sendfile system calls from Perl. Support is mostly Linux-only for now, but other syscalls/OSes are planned for the future.") - (license perl-license))) + (license license:perl-license))) (define-public perl-task-weaken (package @@ -9219,7 +9371,7 @@ documents: HTML, XML, POD, PostScript, LaTeX, and so on.") (synopsis "Profiling for Template Toolkit") (description "Template::Timer provides inline profiling of the template processing in Perl code.") - (license (list gpl3 artistic2.0)))) + (license (list license:gpl3 license:artistic2.0)))) (define-public perl-template-tiny (package @@ -9245,7 +9397,7 @@ functionality from Template Toolkit in as few lines of code as possible. It is intended for use in light-usage, low-memory, or low-cpu templating situations, where you may need to upgrade to the full feature set in the future, or if you want the retain the familiarity of TT-style templates.") - (license perl-license))) + (license license:perl-license))) (define-public perl-term-encoding (package @@ -9481,7 +9633,7 @@ into tables.") (synopsis "Align text") (description "Text::Aligner exports a single function, align(), which is used to justify strings to various alignment styles.") - (license x11))) + (license license:x11))) (define-public perl-text-balanced (package @@ -9589,7 +9741,7 @@ generally slower on larger files.") (description "This package provides functions to format text in various ways like centering, paragraphing, and converting tabs to spaces and spaces to tabs.") - (license perl-license))) + (license license:perl-license))) (define-public perl-text-glob (package @@ -9612,6 +9764,30 @@ used to match against text, rather than fetching names from a file system. If you want to do full file globbing use the File::Glob module instead.") (license (package-license perl)))) +(define-public perl-text-haml + (package + (name "perl-text-haml") + (version "0.990118") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/V/VT/VTI/" + "Text-Haml-" version ".tar.gz")) + (sha256 + (base32 "1siq8hgj7s8gwpf3n3h1is5v50rwi6av8lfb19khiyyqz0rp7a57")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build-tiny" ,perl-module-build-tiny))) + (propagated-inputs + `(("perl-data-section-simple" ,perl-data-section-simple) + ("perl-uri" ,perl-uri))) + (home-page "https://metacpan.org/release/Text-Haml") + (synopsis "Haml Perl implementation") + (description + "Text::Haml implements Haml +@url{http://haml.info/docs/yardoc/file.REFERENCE.html} specification.") + (license license:artistic2.0))) + (define-public perl-text-neattemplate (package (name "perl-text-neattemplate") @@ -9637,6 +9813,27 @@ template engine, for when you need speed rather than complex features, yet need more features than simple variable substitution.") (license (package-license perl)))) +(define-public perl-text-patch + (package + (name "perl-text-patch") + (version "1.8") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/C/CA/CADE/" + "Text-Patch-" version ".tar.gz")) + (sha256 + (base32 "1k1xbhxwn9fymqqwnam9pm7hr2p5ikq6dk578qw18gkap9hqxwga")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-text-diff" ,perl-text-diff))) + (home-page "https://metacpan.org/release/Text-Patch") + (synopsis "Patches text with given patch") + (description "Text::Patch combines source text with given +diff (difference) data. Diff data is produced by Text::Diff module or +by the standard @code{diff} utility.") + (license license:gpl2+))) + (define-public perl-text-roman (package (name "perl-text-roman") @@ -9673,7 +9870,7 @@ algorism to indicate multiplication by 1000.") (home-page "https://metacpan.org/release/Text-SimpleTable") (synopsis "Simple ASCII tables") (description "Text::SimpleTable draws simple ASCII tables.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-text-table (package @@ -9695,7 +9892,7 @@ algorism to indicate multiplication by 1000.") (home-page "https://metacpan.org/release/Text-Table") (synopsis "Organize Data in Tables") (description "Text::Table renders plaintext tables.") - (license x11))) + (license license:x11))) (define-public perl-text-template (package @@ -9724,7 +9921,7 @@ algorism to indicate multiplication by 1000.") filling in templates generally. A template is a piece of text that has little Perl programs embedded in it here and there. When you fill in a template, you evaluate the little programs and replace them with their values.") - (license perl-license))) + (license license:perl-license))) (define-public perl-text-unidecode (package @@ -9763,7 +9960,7 @@ system.") (home-page "https://metacpan.org/release/threads") (synopsis "Perl interpreter-based threads") (description "This module exposes interpreter threads to the Perl level.") - (license perl-license))) + (license license:perl-license))) (define-public perl-throwable (package @@ -9808,7 +10005,7 @@ as exceptions to standard program flow.") reformats Perl scripts to make them easier to read. The formatting can be controlled with command line parameters. The default parameter settings approximately follow the suggestions in the Perl Style Guide.") - (license gpl2+))) + (license license:gpl2+))) (define-public perl-tie-cycle (package @@ -9872,7 +10069,32 @@ operations can also be performed on the IxHash.") (description "This modules provides a file handle that hides the beginning of a file, by modifying the @code{seek()} and @code{tell()} calls.") - (license asl2.0))) + (license license:asl2.0))) + +(define-public perl-tie-simple + (package + (name "perl-tie-simple") + (version "1.04") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/H/HA/HANENKAMP/" + "Tie-Simple-" version ".tar.gz")) + (sha256 + (base32 "04lbh07nlxhpp03gl20f9w8hxjb2vzlb7w85y9w6q12i749y5s99")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Tie-Simple") + (synopsis "Variable ties made much easier") + (description + "This module adds the ability to quickly create new types of tie objects +without creating a complete class. It does so in such a way as to try and +make the programmers life easier when it comes to single-use ties that I find +myself wanting to use from time-to-time. + +The Tie::Simple package is actually a front-end to other classes which really +do all the work once tied, but this package does the dwimming to automatically +figure out what you're trying to do.") + (license license:perl-license))) (define-public perl-tie-toobject (package @@ -9958,7 +10180,7 @@ duration strings like \"2 minutes\" and \"3 seconds\" to seconds.") (description "This package implements @code{usleep}, @code{ualarm}, and @code{gettimeofday} for Perl, as well as wrappers to implement @code{time}, @code{sleep}, and @code{alarm} that know about non-integral seconds.") - (license perl-license))) + (license license:perl-license))) (define-public perl-time-local (package @@ -10001,19 +10223,19 @@ the system epoch.") functions with implementations that return objects. It does so in a backwards-compatible manner, so that using these functions as documented will still work as expected.") - (license perl-license))) + (license license:perl-license))) (define-public perl-timedate (package (name "perl-timedate") - (version "2.32") + (version "2.33") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/A/AT/ATOOMIC/" "TimeDate-" version ".tar.gz")) (sha256 - (base32 "1mmk9dy4a26a4d4c5rswqqhxr0295j93bjbcx91d3qkmwfcs1v1l")))) + (base32 "1cjyc0yi873597r7xcp9yz0l1c46ik2kxwfrn00zbrlx0d5rrdn0")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/TimeDate") (synopsis "Date parsing/formatting subroutines") @@ -10024,12 +10246,12 @@ time values and formatting dates into ASCII strings.") (define-public perl-time-mock (package (name "perl-time-mock") - (version "v0.0.2") + (version "0.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/E/EW/EWILHELM/" - "Time-Mock-" version ".tar.gz")) + "Time-Mock-v" version ".tar.gz")) (sha256 (base32 "0bwqyg8z98m8cjw1qcm4wg502n225k33j2fp8ywxkgfjdd1zgllv")))) @@ -10108,7 +10330,7 @@ Tree::Simple::Visitor::* objects.") (description "This module provides bare bones try/catch/finally statements that are designed to minimize common mistakes with eval blocks, and nothing else.") - (license x11))) + (license license:x11))) (define-public perl-type-tie (package @@ -10188,7 +10410,7 @@ be used with Moose, Mouse and Moo (or none of the above).") provide faster, C-based implementations of some type constraints. This package has only core dependencies, and does not depend on @code{Type::Tiny}, so other data validation frameworks might also consider using it.") - (license perl-license))) + (license license:perl-license))) (define-public perl-types-path-tiny (package @@ -10213,7 +10435,7 @@ so other data validation frameworks might also consider using it.") etc. It handles two important types of coercion: coercing objects with overloaded stringification, and coercing to absolute paths. It also can check to ensure that files or directories exist.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-types-serialiser (package @@ -10293,7 +10515,7 @@ common serialisation formats such as JSON or CBOR.") Unicode data.") ;; The file Unicode/Collate/allkeys.txt is released under the Expat ;; license. - (license (list (package-license perl) expat)))) + (license (list (package-license perl) license:expat)))) (define-public perl-unicode-linebreak (package @@ -10452,7 +10674,7 @@ that there is exactly one document element, and that there are not duplicate attribute names.") ;; Redistribution and use in source and compiled forms, with or without ;; modification, are permitted under any circumstances. No warranty. - (license public-domain))) + (license license:public-domain))) (define-public perl-xs-object-magic (package @@ -10517,7 +10739,7 @@ on the YAML 1.0 specification.") (description "@code{YAML::XS} is a Perl XS binding to libyaml which offers Perl the best YAML support to date.") - (license perl-license))) + (license license:perl-license))) (define-public perl-yaml-tiny (package @@ -10567,7 +10789,7 @@ and memory overhead.") (description "@code{Parse::RecDescent} can incrementally generate top-down recursive-descent text parsers from simple yacc-like grammar specifications.") - (license perl-license))) + (license license:perl-license))) (define-public perl-parse-yapp (package @@ -10762,14 +10984,13 @@ such that being individual extensions would be wasteful.") (define-public perl-file-find-object (package (name "perl-file-find-object") - (version "v0.2.13") + (version "0.2.13") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-" - version - ".tar.gz")) + "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-v" + version ".tar.gz")) (sha256 (base32 "0gf13b76b824s73r5rp00v8xrd6dnb5yi5jjavfc394scqv6ldh4")))) @@ -10784,7 +11005,7 @@ such that being individual extensions would be wasteful.") "Object-oriented File::Find replacement in Perl") (description "File::Find::Object is an object-oriented File::Find replacement in Perl.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-file-find-object-rule (package @@ -10845,7 +11066,7 @@ object's options and steps, and then adds the new step, returning the new object. In this manner, an object can be grown, step by step, by chaining method calls. Furthermore, a partial sequence can be created and held, and used as the head of many different sequences.") - (license perl-license))) + (license license:perl-license))) (define-public perl-font-ttf (package @@ -10869,7 +11090,7 @@ font hacking. It supports reading, processing and writing of the following tables: GDEF, GPOS, GSUB, LTSH, OS/2, PCLT, bsln, cmap, cvt, fdsc, feat, fpgm, glyf, hdmx, head, hhea, hmtx, kern, loca, maxp, mort, name, post, prep, prop, vhea, vmtx and the reading and writing of all other table types.") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-libtime-parsedate (package @@ -10910,7 +11131,7 @@ prop, vhea, vmtx and the reading and writing of all other table types.") ;; "License hereby granted for anyone to use, modify or redistribute this ;; module at their own risk. Please feed useful changes back to ;; cpan@dave.sharnoff.org." - (license (non-copyleft "http://metadata.ftp-master.debian.org/\ + (license (license:non-copyleft "http://metadata.ftp-master.debian.org/\ changelogs/main/libt/libtime-parsedate-perl/\ libtime-parsedate-perl_2015.103-2_copyright")))) @@ -10939,7 +11160,7 @@ time periods allows you to test for conditions like \"Monday to Friday, 9am till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and 4:15pm\" and \"in the first half of each minute\" and \"in January of 1998\".") - (license perl-license))) + (license license:perl-license))) (define-public perl-path-iterator-rule (package @@ -10988,7 +11209,7 @@ A summary of features for comparison to other file finding modules: As a convenience, the PIR module is an empty subclass of this one that is less arduous to type for one-liners.") - (license asl2.0))) + (license license:asl2.0))) (define-public perl-pod-constants (package @@ -11014,7 +11235,7 @@ Pod::Constants uses Pod::Parser to do the parsing of the source file. It has to open the source file it is called from, and does so directly either by lookup in %INC or by assuming it is $0 if the caller is @code{main} (or it can't find %INC{caller()}).") - (license artistic2.0))) + (license license:artistic2.0))) (define-public perl-regexp-pattern (package @@ -11060,4 +11281,4 @@ regexp patterns in modules.") (synopsis "Parse Lisp S-Expressions into Perl data structures") (description "Data::SExpression parses Lisp S-Expressions into Perl data structures.") - (license perl-license))) + (license license:perl-license))) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 59947964a3..4904fa1db1 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -206,17 +206,17 @@ cameras (CRW/CR2, NEF, RAF, DNG, and others).") (define-public libexif (package (name "libexif") - (version "0.6.21") + (version "0.6.22") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/libexif/libexif/" - version "/libexif-" version ".tar.bz2")) - (patches (search-patches "libexif-CVE-2016-6328.patch" - "libexif-CVE-2017-7544.patch" - "libexif-CVE-2018-20030.patch")) + (uri (string-append + "https://github.com/libexif/libexif/releases" + "/download/libexif-" + (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) + "-release/libexif-" version ".tar.xz")) (sha256 (base32 - "06nlsibr3ylfwp28w8f5466l6drgrnydgxrm4jmxzrmk5svaxk8n")))) + "0mhcad5zab7fsn120rd585h8ncwkq904nzzrq8vcd72hzk4g2j2h")))) (build-system gnu-build-system) (home-page "https://libexif.github.io/") (synopsis "Read and manipulate EXIF data in digital photographs") @@ -228,14 +228,14 @@ data as produced by digital cameras.") (define-public libgphoto2 (package (name "libgphoto2") - (version "2.5.24") + (version "2.5.25") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/libgphoto/" version "/libgphoto2-" version ".tar.bz2")) (sha256 (base32 - "0cgvsk06c4kcfj16plc27nm7g16r9ci0y4k83sf3iyphd63mfg7x")))) + "0fkz2rx7xlmr6zl6f56hhxps6bx16dwcw5pyd8c2icf273s9h3kw")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 8cd8cace8c..6d9f46e960 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -60,7 +60,7 @@ (define-public php (package (name "php") - (version "7.4.6") + (version "7.4.7") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -68,7 +68,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0ck8s3zlqnkswwmz3p1bgma7ddjsx9j9sdlz5di1jc7nhhpk4h6p")) + "1brgnp11vpy1619cx0cncih02rg2k20wllm21vxbd2nd4j7qymak")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index edd492c711..f6881f6776 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016, 2017, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -56,7 +57,6 @@ (sha256 (base32 "1arkyizn5wbgvbh53aziv3s6lmd3wm9lqzkhxb3hijlp1y124hjg")) - (patches (search-patches "plotutils-libpng-jmpbuf.patch")) (modules '((guix build utils))) (snippet ;; Force the use of libXaw7 instead of libXaw. When not doing @@ -67,22 +67,28 @@ (substitute* "configure" (("-lXaw") "-lXaw7")) + ;; Use the `png_jmpbuf' accessor, as recommended since libpng + ;; 1.4.0 (see: + ;; http://www.libpng.org/pub/png/src/libpng-1.2.x-to-1.4.x-summary.txt). + (substitute* "libplot/z_write.c" + (("png_ptr->jmpbuf") + "png_jmpbuf (png_ptr)")) #t)))) (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--enable-libplotter"))) (inputs `(("libpng" ,libpng) ("libx11" ,libx11) ("libxt" ,libxt) ("libxaw" ,libxaw))) - - (home-page - "https://www.gnu.org/software/plotutils/") + (home-page "https://www.gnu.org/software/plotutils/") (synopsis "Plotting utilities and library") (description - "GNU Plotutils is a package for plotting and working with 2D graphics. -It includes a library, \"libplot\", for C and C++ for exporting 2D vector -graphics in many file formats. It also has support for 2D vector graphics -animations. The package also contains command-line programs for plotting -scientific data.") + "GNU Plotutils is a package for plotting and working with 2D graphics. +It includes the C library @code{libplot} and the C++ @code{libplotter} library +for exporting 2D vector graphics in many file formats. It also has support +for 2D vector graphics animations. The package also contains command-line +programs for plotting scientific data.") (license license:gpl2+))) (define-public guile-charting diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm index 2e77368d20..95a9ea9211 100644 --- a/gnu/packages/popt.scm +++ b/gnu/packages/popt.scm @@ -62,13 +62,11 @@ line syntax.") (version "1.16") (source (origin (method url-fetch) - (uri (list (string-append "http://rpm5.org/files/popt/popt-" - version ".tar.gz") - ;; The rpm5.org domain does not resolve since 2019-06-13, - ;; so fallback to Debians copy. - (string-append "https://deb.debian.org/debian/pool/main" - "/p/popt/popt_" version ".orig.tar.gz"))) - ;; Ensure the file name stays the same. + ;; The original rpm5.org domain is not accessible since + ;; 2019-06-13, so use Debians copy of the tarball. + (uri (string-append "https://deb.debian.org/debian/pool/main" + "/p/popt/popt_" version ".orig.tar.gz")) + ;; Ensure the file name stays the same to prevent rebuilds. (file-name (string-append "popt-" version ".tar.gz")) (sha256 (base32 diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index f7655c3535..c4bdbe9000 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> @@ -168,14 +168,14 @@ different programming languages.") (define-public fmt (package (name "fmt") - (version "6.1.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/fmtlib/fmt/releases/download/" - version "/fmt-" version ".zip")) - (sha256 - (base32 - "1s1hxaby5byb07rgmrk4a0q11fxhz7b42khch7sp2qx974y0yrb3")))) + (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")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 22b9ea8df5..1071abdbad 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -337,6 +338,28 @@ testing framework.") framework.") (license license:expat))) +(define-public python-pytest-pycodestyle + (package + (name "python-pytest-pycodestyle") + (version "2.0.0") ;later versions require python-pytest~=5.4 + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-pycodestyle" version)) + (sha256 + (base32 + "02i5gl7pm9cwxk15sn29inz3n8flpj1r3p1l110h43f2na5w8h7z")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pycodestyle" ,python-pycodestyle))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/henry0312/pytest-pycodestyle") + (synopsis "Pytest plugin to run pycodestyle") + (description "This package provides a plugin to run @code{pycodestyle} +for the @code{pytest} framework.") + (license license:expat))) + (define-public python-codacy-coverage (package (name "python-codacy-coverage") diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index e6208ab3d9..5c9c251c01 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> -;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2016, 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -448,14 +448,15 @@ risk.") (define-public python-certifi (package (name "python-certifi") - (version "2019.3.9") + (version "2020.4.5.1") (source (origin (method url-fetch) (uri (pypi-uri "certifi" version)) (sha256 (base32 - "1bnpw7hrf9i1l9gfxjnzi45hkrvzz0pyn9ia8m4mw7sxhgb08qdj")))) + "06b5gfs7wmmipln8f3z928d2mmx2j4b3x7pnqmj6cvmyfh8v7z2i")))) (build-system python-build-system) + (arguments '(#:tests? #f)) ;no tests (home-page "https://certifi.io/") (synopsis "Python CA certificate bundle") (description @@ -469,14 +470,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography-vectors (package (name "python-cryptography-vectors") - (version "2.7") + (version "2.9.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography_vectors" version)) (sha256 (base32 - "1g38zw90510azyfrj6mxbslx2gp9yrnv5dac0w2819k9ssdznbgi")))) + "1d4iykcv7cn9j399hczlxm5pzxmqy6d80h3j16dkjwlmv3293b4r")))) (build-system python-build-system) (home-page "https://github.com/pyca/cryptography") (synopsis "Test vectors for the cryptography package") @@ -491,14 +492,14 @@ is used by the Requests library to verify HTTPS requests.") (define-public python-cryptography (package (name "python-cryptography") - (version "2.7") + (version "2.9.2") (source (origin (method url-fetch) (uri (pypi-uri "cryptography" version)) (sha256 (base32 - "1inlnr36kl36551c9rcad99jmhk81v33by3glkadwdcgmi17fd76")))) + "0af25w5mkd6vwns3r6ai1w5ip9xp0ms9s261zzssbpadzdr05hx0")))) (build-system python-build-system) (inputs `(("openssl" ,openssl))) @@ -540,14 +541,14 @@ message digests and key derivation functions.") (define-public python-pyopenssl (package (name "python-pyopenssl") - (version "19.0.0") + (version "19.1.0") (source (origin (method url-fetch) (uri (pypi-uri "pyOpenSSL" version)) (sha256 (base32 - "007j40y7x3k8xj54dy2qnij9lldfp71k9mkflhd9vqbdiwrndjmf")))) + "01wmsq6w0frzbr3zps4ga9kmqjidp2h317jwpq1g9ah24r5lj94s")))) (build-system python-build-system) (arguments '(#:phases @@ -611,22 +612,15 @@ library.") (define-public python-axolotl-curve25519 (package (name "python-axolotl-curve25519") - (version "0.1") + (version "0.4.1.post2") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tgalal/python-axolotl-curve25519") - (commit "e4a9c4de0eae27223200579c58d1f8f6d20637e2"))) - (file-name (string-append name "-" version "-checkout")) + (method url-fetch) + (uri (pypi-uri "python-axolotl-curve25519" version)) (sha256 (base32 - "0agap5q0hmvf6cwzjqc05kw53pjgf6942pcivpazksmg1vk400ra")))) + "18v3rfyv7xi26fb97nw1xc0l6x8wi0i4xj8dlq4gblpbjxiac187")))) (build-system python-build-system) - (arguments - `(;; Prevent creation of the egg. This works around - ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20765 - #:configure-flags '("--root=/"))) (home-page "https://github.com/tgalal/python-axolotl-curve25519") (synopsis "Python wrapper for curve25519 library") (description "This is a python wrapper for the curve25519 library @@ -642,17 +636,14 @@ python-axolotl.") (define-public python-axolotl (package (name "python-axolotl") - (version "0.1.39") + (version "0.2.3") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tgalal/python-axolotl") - (commit version))) - (file-name (git-file-name name version)) - (patches (search-patches "python-axolotl-AES-fix.patch")) + (method url-fetch) + (uri (pypi-uri "python-axolotl" version)) (sha256 - (base32 "0xm9qgcwf6fq7rhzfcviwhbzcbj4i7wkxkab2z55fy1x82lya9g6")))) + (base32 + "1bwdp24fmriffwx91aigs9k162albb51iskp23nc939z893q23py")))) (build-system python-build-system) (arguments `(#:phases @@ -665,9 +656,8 @@ python-axolotl.") #t))))) (propagated-inputs `(("python-axolotl-curve25519" ,python-axolotl-curve25519) - ("python-dateutil" ,python-dateutil) - ("python-protobuf" ,python-protobuf) - ("python-pycrypto" ,python-pycrypto))) + ("python-cryptography" ,python-cryptography) + ("python-protobuf" ,python-protobuf))) (home-page "https://github.com/tgalal/python-axolotl") (synopsis "Python port of libaxolotl-android") (description "This is a python port of libaxolotl-android. This @@ -1365,14 +1355,14 @@ I/O-free core, and integration modules for different event loops.") (define-public python-argon2-cffi (package (name "python-argon2-cffi") - (version "19.2.0") + (version "20.1.0") (source (origin (method url-fetch) (uri (pypi-uri "argon2-cffi" version)) (sha256 (base32 - "18xxfw30gi3lwaz4vwb05iavzlrk3fa1x9fippzrgd3px8z65apz")) + "0zgr4mnnm0p4i99023safb0qb8cgvl202nly1rvylk2b7qnrn0nq")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "extras") #t)))) (build-system python-build-system) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index d64f698dbc..af414b7b62 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr> @@ -222,32 +222,50 @@ comes with a SOCKS proxy client.") (define-public python-falcon (package (name "python-falcon") - (version "1.4.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "falcon" version)) (sha256 (base32 - "1i0vmqsk24z4biirqhpvas9h28wy7nmpy3jvnb6rz2imq04zd09r")))) + "1z6mqfv574x6jiawf67ib52g4kk20c2x7xk7wrn1573b8v7r79gf")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "falcon/vendor") + (substitute* "setup.py" + ((".*falcon\\.vendor\\.mimeparse.*") "")) + (substitute* '("falcon/media/handlers.py" + "falcon/request.py") + (("from falcon\\.vendor ") "")) + (substitute* "falcon.egg-info/SOURCES.txt" + (("falcon/vendor.*") "")) + #t)))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest")))))) + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Skip orjson, which requires rust to build. + (substitute* "tests/test_media_handlers.py" + (("== 'CPython") "!= 'CPython")) + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "--ignore" "falcon")))))) (propagated-inputs - `(("python-mimeparse" ,python-mimeparse) - ("python-six" ,python-six))) + `(("python-mimeparse" ,python-mimeparse))) (native-inputs `(("python-cython" ,python-cython) ;for faster binaries + ("python-mujson" ,python-mujson) + ("python-msgpack" ,python-msgpack) ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner) ("python-pyyaml" ,python-pyyaml) + ("python-rapidjson" ,python-rapidjson) ("python-requests" ,python-requests) ("python-testtools" ,python-testtools) - ("python-jsonschema" ,python-jsonschema) - ("python-msgpack" ,python-msgpack))) + ("python-ujson" ,python-ujson))) (home-page "https://falconframework.org") (synopsis "Web framework for building APIs and application backends") @@ -267,10 +285,15 @@ classes @item Compatible with both CPython and PyPy @item Cython support for better performance when used with CPython @end itemize") + (properties `((python2-variant . ,(delay python2-falcon)))) (license license:asl2.0))) (define-public python2-falcon - (package-with-python2 python-falcon)) + (let ((falcon (package-with-python2 (strip-python2-variant python-falcon)))) + (package + (inherit falcon) + (native-inputs + (alist-delete "python-rapidjson" (package-native-inputs falcon)))))) (define-public python-falcon-cors (package @@ -301,20 +324,20 @@ over a different origin than that of the web application.") (define-public python-furl (package (name "python-furl") - (version "0.5.6") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "furl" version)) (sha256 (base32 - "0lzpfpm686hvz3sr1mcrnd1b3lgmnw8v59gb43wfi98r3b671pqc")))) + "1v2lakx03d5w8954a39ki44xv5mllnq0a0avhxykv9hrzg0yvjpx")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six) ("python-orderedmultidict" ,python-orderedmultidict))) (native-inputs - `(("python-pycodestyle" ,python-pycodestyle))) + `(("python-flake8" ,python-flake8))) (home-page "https://github.com/gruns/furl") (synopsis "URL manipulation in Python") (description "Furl provides an easy-to-use alternative to the @@ -554,13 +577,13 @@ and written in Python.") (define-public python-html5-parser (package (name "python-html5-parser") - (version "0.4.5") + (version "0.4.9") (source (origin (method url-fetch) (uri (pypi-uri "html5-parser" version)) (sha256 (base32 - "01mx33sx4dhl4kj6wc48nj6jz7ry60rkhjv0s6k8h5xmjf5yy0x9")))) + "13yl3vnf3sxl05m0nhpngnrz3g1jvyahd33lys3m3hfb91l8zzi5")))) (build-system python-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -773,25 +796,30 @@ ebooks, due to cssutils not receiving updates as of 1.0.2.") (define-public python-cssselect (package (name "python-cssselect") - (version "0.9.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "cssselect" version)) - (sha256 - (base32 - "1xg6gbva1yswghiycmgincv6ab4bn7hpm720ndbj40h8xycmnfvi")))) + (version "1.1.0") + (source (origin + ;; The PyPI release does not contain tests. + (method git-fetch) + (uri (git-reference + (url "https://github.com/scrapy/cssselect") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xslrnhbrmgakp4xg6k26qffay3kqffp3a2z2sk27c65rwxa79kc")))) (build-system python-build-system) (arguments - ;; tests fail with message - ;; AttributeError: 'module' object has no attribute 'tests' - `(#:tests? #f)) - (home-page - "https://pythonhosted.org/cssselect/") - (synopsis - "CSS3 selector parser and translator to XPath 1.0") + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-lxml" ,python-lxml) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/scrapy/cssselect") + (synopsis "CSS3 selector parser and translator to XPath 1.0") (description - "Cssselect ia a Python module that parses CSS3 Selectors and translates + "Cssselect ia a Python module that parses CSS3 Selectors and translates them to XPath 1.0 expressions. Such expressions can be used in lxml or another XPath engine to find the matching elements in an XML or HTML document.") (license license:bsd-3))) @@ -1012,14 +1040,14 @@ your Web app.") (define-public python-webob (package (name "python-webob") - (version "1.8.3") + (version "1.8.6") (source (origin (method url-fetch) (uri (pypi-uri "WebOb" version)) (sha256 (base32 - "1cpqskanmvwia8wqlpcr3ykyxysynjdnbl5namvpg8vw6jnkv1dh")))) + "026i3z99nr3px75isa9mbnky5i7rffiv4d124h5kxfjjsxz92fma")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) @@ -1435,13 +1463,13 @@ WebSocket usage in Python programs.") (define-public python-requests (package (name "python-requests") - (version "2.22.0") + (version "2.23.0") (source (origin (method url-fetch) (uri (pypi-uri "requests" version)) (sha256 (base32 - "1d5ybh11jr5sm7xp6mz8fyc7vrp4syifds91m7sj60xalal0gq0i")))) + "1rhpg0jb08v0gd7f19jjiwlcdnxpmqi1fhvw7r4s9avddi4kvx5k")))) (build-system python-build-system) (propagated-inputs `(("python-certifi" ,python-certifi) @@ -1648,14 +1676,14 @@ authenticated session objects providing things like keep-alive.") (define-public python-urllib3 (package (name "python-urllib3") - (version "1.25.3") + (version "1.25.9") (source (origin (method url-fetch) (uri (pypi-uri "urllib3" version)) (sha256 (base32 - "0cij8qcvvpj62g1q8n785qjkdymfh4b7vf45si4sw64l41rr3rfv")))) + "09rmjqm5syhhc8fx3v06h3yv6cqy0b1081jg8wm5grpwpr72j61h")))) (build-system python-build-system) (arguments `(#:tests? #f)) (propagated-inputs @@ -2348,13 +2376,13 @@ applications.") (define-public python-flask-sqlalchemy (package (name "python-flask-sqlalchemy") - (version "2.4.0") + (version "2.4.3") (source (origin (method url-fetch) (uri (pypi-uri "Flask-SQLAlchemy" version)) (sha256 (base32 - "0nnllf0ddbh9jlhngnyjj98lbxgxr1csaplllx0caw98syq0k5hc")))) + "19apnn2m9bl1d1h2nc52pnmiyx993mwzmfjrv04l3wn5hyznyr8b")))) (build-system python-build-system) (propagated-inputs `(("python-flask" ,python-flask) @@ -3769,3 +3797,235 @@ Selenium specifically provides infrastructure for the W3C WebDriver specificatio — a platform and language-neutral coding interface compatible with all major web browsers.") (license license:asl2.0))) + +(define-public python-rapidjson + (package + (name "python-rapidjson") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-rapidjson" version)) + (sha256 + (base32 + "18cl2dhx3gds5vg52jxmh9wjlbiy8dx06c3n482rfpdi9dzbv05d")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "rapidjson") #t)))) + (build-system python-build-system) + (arguments + `(#:configure-flags + (list (string-append "--rj-include-dir=" + (assoc-ref %build-inputs "rapidjson") + "/include/rapidjson")) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (invoke "python" "setup.py" "build" + (string-append "--rj-include-dir=" + (assoc-ref %build-inputs "rapidjson") + "/include/rapidjson")))) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + ;; Some tests are broken. + (delete-file "tests/test_base_types.py") + (delete-file "tests/test_validator.py") + (invoke "python" "-m" "pytest" "tests")))))) + (native-inputs + `(("rapidjson" ,rapidjson) + ("python-pytest" ,python-pytest) + ("python-pytz" ,python-pytz))) + (home-page "https://github.com/python-rapidjson/python-rapidjson") + (synopsis "Python wrapper around rapidjson") + (description "This package provides a python wrapper around rapidjson.") + (license license:expat))) + +(define-public python-venusian + (package + (name "python-venusian") + (version "3.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "venusian" version)) + (sha256 + (base32 "0f7f67dkgxxcjfhpdd5frb9pszkf04lyzzpn5069q0xi89r2p17n")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-runner" ,python-pytest-runner) + ("python-pytest-cov" ,python-pytest-cov))) + (arguments '(#:test-target "pytest")) + (home-page "https://docs.pylonsproject.org/projects/venusian") + (synopsis "Library for defering 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 +executed at import time, you can defer the action usually taken by the +decorator until a separate scan phase.") + (license license:repoze))) + +(define-public python-zope-deprecation + (package + (name "python-zope-deprecation") + (version "4.4.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "zope.deprecation" version)) + (sha256 + (base32 + "1pz2cv7gv9y1r3m0bdv7ks1alagmrn5msm5spwdzkb2by0w36i8d")))) + (build-system python-build-system) + (native-inputs `()) + (propagated-inputs `()) + (home-page "https://zopedeprecation.readthedocs.io/") + (synopsis "Function for marking deprecations") + (description "The @code{zope.deprecation} module provides a function for +marking modules, classes, functions, methods and properties as deprecated, +displaying warnings when usaged in application code.") + (license license:zpl2.1))) + +(define-public python-translationstring + (package + (name "python-translationstring") + (version "1.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "translationstring" version)) + (sha256 + (base32 + "0bdpcnd9pv0131dl08h4zbcwmgc45lyvq3pa224xwan5b3x4rr2f")))) + (build-system python-build-system) + (home-page "http://docs.pylonsproject.org/projects/translationstring") + (synopsis "Internationalization tooling for the Pylons project") + (description "This package provides a library used by various Pylons +project packages for internationalization (i18n) duties related to +translation.") + (license license:repoze))) + +(define-public python-plaster + (package + (name "python-plaster") + (version "1.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "plaster" version)) + (sha256 + (base32 + "1hy8k0nv2mxq94y5aysk6hjk9ryb4bsd13g83m60hcyzxz3wflc3")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://docs.pylonsproject.org/projects/plaster/en/latest/") + (synopsis "Configuration loader for multiple config file formats") + (description + "Plaster is a loader interface around multiple config file formats. It +exists to define a common API for applications to use when they wish to load +configuration. The library itself does not aim to handle anything except a +basic API that applications may use to find and load configuration settings. +Any specific constraints should be implemented in a pluggable loader which can +be registered via an entrypoint.") + (license license:repoze))) + +(define-public python-plaster-pastedeploy + (package + (name "python-plaster-pastedeploy") + (version "0.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "plaster_pastedeploy" version)) + (sha256 + (base32 + "1zg7gcsvc1kzay1ry5p699rg2qavfsxqwl17mqxzr0gzw6j9679r")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-plaster" ,python-plaster) + ("python-pastedeploy" ,python-pastedeploy))) + (home-page "https://github.com/Pylons/plaster_pastedeploy") + (synopsis "Plugin for python-plaster adding PasteDeploy syntax") + (description + "This plugin for @code{python-plaster} adds support for PasteDeploy +syntax, it provides a plaster @code{Loader} object that can parse ini files +according to the standard set by PasteDeploy ") + (license license:expat))) + +(define-public python-hupper + (package + (name "python-hupper") + (version "1.10.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "hupper" version)) + (sha256 + (base32 + "0am0p6g5cz6xmcaf04xq8q6dzdd9qz0phj6gcmpsckf2mcyza61q")))) + (build-system python-build-system) + (arguments '(#:test-target "pytest")) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner) + ("python-watchdog" ,python-watchdog) + ("python-mock" ,python-mock) + ("python-pytest-cov" ,python-pytest-cov))) + (propagated-inputs + `(("python-pytz" ,python-pytz))) + (home-page "https://readthedocs.org/projects/hupper") + (synopsis "Integrated process monitor tracking changes to imported Python files") + (description + "Hupper is an integrated process monitor that will track changes to any +imported Python files in sys.modules as well as custom paths. When files are +changed the process is restarted.") + (license license:expat))) + +(define-public python-pyramid + (package + (name "python-pyramid") + (version "1.10.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "pyramid" version)) + (sha256 + (base32 + "0rkxs1ajycg2zh1c94xlmls56mx5m161sn8112skj0amza6cn36q")))) + (build-system python-build-system) + (propagated-inputs + `(("python-hupper" ,python-hupper) + ("python-plaster-pastedeploy" ,python-plaster-pastedeploy) + ("python-translationstring" ,python-translationstring) + ("python-venusian" ,python-venusian) + ("python-webob" ,python-webob) + ("python-zope-deprecation" ,python-zope-deprecation) + ("python-zope-interface" ,python-zope-interface) + ("python-webtest" ,python-webtest) + ("python-zope-component" ,python-zope-component) + ("python-plaster" ,python-plaster))) + (home-page "https://trypyramid.com/") + (synopsis "Python web-framework suitable for small and large sites") + (description + "Pyramid makes it easy to write web applications. From minimal +request/response web apps to larger, grown applications.") + (license license:repoze))) + +(define-public python-random-user-agent + (package + (name "python-random-user-agent") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "random_user_agent" version)) + (sha256 + (base32 + "04nhzdh2ki7ybhjrmghxci6hcm6i03vvin2q2ynj87fbr1pa534g")))) + (build-system python-build-system) + (home-page "https://github.com/Luqman-Ud-Din/random_user_agent") + (synopsis "List of user agents") + (description + "This package provides a list of user agents, from a collection of more +than 326,000 known user-agents. Users can pick a random one, or select one +based on filters.") + (license license:expat))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c26a766d64..7e0a738d51 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -77,6 +77,10 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> ;;; Copyright © 2020 Matthew Kraai <kraai@ftbfs.org> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw> +;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -847,14 +851,14 @@ of the netcdf4 package before.") (define-public python-netcdf4 (package (name "python-netcdf4") - (version "1.4.2") + (version "1.5.3") (source (origin (method url-fetch) (uri (pypi-uri "netCDF4" version)) (sha256 (base32 - "0c0sklgrmv15ygliin8qq0hp7vanmbi74m6zpi0r1ksr0hssyd5r")))) + "1gn35mb2yc263pci720aik8ymz41lrvxlrn3z83vyjwghiashg1a")))) (build-system python-build-system) (arguments '(#:phases @@ -1203,17 +1207,25 @@ class.") (define-public python-can (package (name "python-can") - (version "3.3.2") + (version "3.3.3") (source (origin (method url-fetch) (uri (pypi-uri "python-can" version)) (sha256 (base32 - "0bkbxi45sckzir6s0j3h01pkfn4vkz3ymih2zjp7zw77wz0vbvsz")))) + "123lz1bl6xf3d0fvxzr4bg4884yg4m9s21z6xd2m68zhnbv9rmpc")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'relax-version-requirements + (lambda _ + (substitute* "setup.py" + (("mock~=2\\.0") "mock") + (("coverage<5") "coverage") + (("pytest~=4\\.3") "pytest") + (("hypothesis~=4\\.56") "hypothesis")) + #t)) (add-after 'unpack 'fix-broken-tests ;; The tests try to run two scripts it expects should be ;; in PATH, but they aren't at this time (see: @@ -1228,6 +1240,7 @@ class.") ("python-wrapt" ,python-wrapt))) (native-inputs `(("python-codecov" ,python-codecov) + ("python-coverage" ,python-coverage) ("python-future" ,python-future) ("python-hypothesis" ,python-hypothesis) ("python-mock" ,python-mock) @@ -1242,7 +1255,7 @@ class.") controller area network (CAN) support for Python developers; providing common abstractions to different hardware devices, and a suite of utilities for sending and receiving messages on a CAN bus.") - (license license:gpl3+))) + (license license:lgpl3+))) (define-public python-diskcache (package @@ -1656,38 +1669,30 @@ human-friendly syntax.") (define-public python2-schedule (package-with-python2 python-schedule)) -(define-public python2-mechanize +(define-public python-mechanize (package - (name "python2-mechanize") - (version "0.2.5") + (name "python-mechanize") + (version "0.4.5") (source (origin (method url-fetch) (uri (pypi-uri "mechanize" version)) (sha256 (base32 - "0rj7r166i1dyrq0ihm5rijfmvhs8a04im28lv05c0c3v206v4rrf")))) + "1z9kqcwb8gfq2l6i42z624kxpd8692a0c8gw2x5bbm7n848w2mb3")))) (build-system python-build-system) - (arguments - `(#:python ,python-2 ; apparently incompatible with Python 3 - #:tests? #f)) - ;; test fails with message - ;; AttributeError: 'module' object has no attribute 'test_pullparser' - ;; (python-3.3.2) or - ;; AttributeError: 'module' object has no attribute 'test_urllib2_localnet' - ;; (python-2.7.5). - ;; The source code is from March 2011 and probably not up-to-date - ;; with respect to python unit tests. - (home-page "http://wwwsearch.sourceforge.net/mechanize/") + (propagated-inputs + `(("python-html5lib" ,python-html5lib))) + (home-page "https://github.com/python-mechanize/mechanize") (synopsis "Stateful programmatic web browsing in Python") (description "Mechanize implements stateful programmatic web browsing in Python, after Andy Lester’s Perl module WWW::Mechanize.") - (license (license:non-copyleft - "file://COPYING" - "See COPYING in the distribution.")))) + (license license:bsd-3))) +(define-public python2-mechanize + (package-with-python2 python-mechanize)) (define-public python-simplejson (package @@ -1747,23 +1752,44 @@ Python 3.3+.") (define-public python2-pyicu (package-with-python2 python-pyicu)) -(define-public python2-dogtail - ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and - ;; spaces in indentation" with Python 3. +(define-public python-dogtail (package - (name "python2-dogtail") - (version "0.9.9") + (name "python-dogtail") + (version "0.9.11") (source (origin (method url-fetch) - (uri (pypi-uri "dogtail" version)) + (uri + (string-append + "https://gitlab.com/dogtail/dogtail/-/raw/released/" + "dogtail-" version ".tar.gz")) (sha256 (base32 - "0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x")))) + "0sr38z7b2n12bvfd4xw4b5dnnhkn5zl3h0ymmnnzavcihfqia6l0")))) (build-system python-build-system) - (arguments `(#:python ,python-2 - #:tests? #f)) ; invalid command "test" - ;; Currently no offical homepage. - (home-page "https://pypi.org/project/dogtail/") + (arguments + `(#:tests? #f ; TODO Launching dbus for the tests + ; fails + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + (invoke "dbus-run-session" "--" "nosetests" "-v" "tests/")) + #t))))) + (propagated-inputs + `(("python-pygobject" ,python-pygobject) + ("python-pycairo" ,python-pycairo) + ("python-pyatspi" ,python-pyatspi))) + (native-inputs + `(("python-nose" ,python-nose) + ("gtk+" ,gtk+) + ("xvfb" ,xorg-server) + ("dbus" ,dbus) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gobject-introspection" ,gobject-introspection))) + (home-page "https://gitlab.com/dogtail/dogtail/") (synopsis "GUI test tool and automation framework written in Python") (description "Dogtail is a GUI test tool and automation framework written in Python. @@ -1772,6 +1798,9 @@ applications. dogtail scripts are written in Python and executed like any other Python program.") (license license:gpl2+))) +(define-public python2-dogtail + (package-with-python2 python-dogtail)) + (define-public python-empy (package (name "python-empy") @@ -2992,14 +3021,14 @@ for Python.") (define-public python-jinja2 (package (name "python-jinja2") - (version "2.11.1") + (version "2.11.2") (source (origin (method url-fetch) (uri (pypi-uri "Jinja2" version)) (sha256 (base32 - "0l72c11n959yzb8d3ankckb6yhjhm6x729zm7rkpk040qzxpy64k")))) + "1c1v3djnr0ymp5xpy1h3h60abcaqxdlm4wsqmls9rxby88av5al9")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -3699,14 +3728,14 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.") (define-public python-toml (package (name "python-toml") - (version "0.9.4") + (version "0.10.1") (source (origin (method url-fetch) (uri (pypi-uri "toml" version)) (sha256 (base32 - "0bdbpbip67wdm6c7xwc6mmbmskyradj4cdxn1iibj4fcx1nbv1lf")))) + "03wbqm5cn685cwx2664hjdpz370njl7lf0yal8s0dkp5w4mn2swj")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;no tests suite in release @@ -3720,20 +3749,19 @@ Language (TOML) configuration files.") (define-public python-jsonrpc-server (package (name "python-jsonrpc-server") - (version "0.3.2") + (version "0.3.4") (source (origin (method url-fetch) (uri (pypi-uri "python-jsonrpc-server" version)) (sha256 (base32 - "0ddgdp26dfxaz6isjbb12974b3rxavgsqrn2zrmck62cmipg5g05")))) + "0dzya99nbi4mw7q85vmyw1wfgbx5dpmysnvm0bwx5m4xbi4zafy7")))) (build-system python-build-system) (propagated-inputs - `(("python-future" ,python-future) - ("python-mock" ,python-mock) + `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest) - ("python-ujson" ,python-ujson))) + ("python-ujson" ,python-ujson-1))) (home-page "https://github.com/palantir/python-jsonrpc-server") (synopsis "JSON RPC 2.0 server library") @@ -3969,14 +3997,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.16") + (version "0.29.17") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "01gs10myw0rw4jsikvqs0859fg7gficxhv508cxvnb4l9wl5a9r3")))) + "1wnaz40hdw4mg5acz5gqb6bhjhn4cvfxg0xdzfy7aa6qn665hqb3")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -4963,33 +4991,30 @@ as the original project seems to have been abandoned circa 2007.") (package-with-python2 python-socksipy-branch)) (define-public python-socksipychain - (let ((commit "eb5ee8741ce006ac0c5c3e2e83204062c348c155") - (revision "1") - (version "2.1.1")) - (package - (name "python-socksipychain") - (version (git-version version revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pagekite/PySocksipyChain.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0fpphn6xnpm7qk8a914s4abycsbq9w6qkci07my632v0fylnm5n7")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; Tests try to access the network. - (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/") - (synopsis "Python SOCKS module with chained proxies support") - (description - "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which + (package + (name "python-socksipychain") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pagekite/PySocksipyChain.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02pp994qmiivkdx4y6az5q80l6rzy8g6d2ipvp7kns7lsxvmc2y7")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; Tests try to access the network. + (home-page "http://pagekite.net/wiki/Floss/PySocksipyChain/") + (synopsis "Python SOCKS module with chained proxies support") + (description + "SocksiPyChain is a modified version of the SocksiPy SOCKS module, which adds support for arbitrary chaining of proxy servers and various modes of TLS/SSL encryption. It was developed for use in PageKite, and also includes a simple netcat replacement with chaining support.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public python-pycodestyle (package @@ -5056,14 +5081,14 @@ where key might be occurred more than once in the container.") (define-public python-orderedmultidict (package (name "python-orderedmultidict") - (version "0.7.11") + (version "1.0") (source (origin (method url-fetch) (uri (pypi-uri "orderedmultidict" version)) (sha256 (base32 - "0dls862ibm7qbq4fnvwx0xn1v9hwyzywbff8xjjdr42dd75208yw")))) + "1idjbl933avgaadscrjw1np3xkvnz3phq0l8vw5qs0rqcjx9b65q")))) (build-system python-build-system) (arguments `(#:phases @@ -5290,14 +5315,14 @@ a general image processing tool.") (define-public python-pycparser (package (name "python-pycparser") - (version "2.19") + (version "2.20") (source (origin (method url-fetch) (uri (pypi-uri "pycparser" version)) (sha256 (base32 - "1cr5dcj9628lkz1qlwq3fv97c25363qppkmcayqvd05dpy573259")))) + "1w0m3xvlrzq4lkbvd1ngfm8mdw64r1yxy6n7djlw6qj5d0km6ird")))) (outputs '("out" "doc")) (build-system python-build-system) (native-inputs @@ -5768,6 +5793,25 @@ them as the version argument or in a SCM managed file.") (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) +(define-public python-sexpdata + (package + (name "python-sexpdata") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "sexpdata" version)) + (sha256 + (base32 + "1q4lsjyzzqrdv64l0pv4ij9nd8gqhvxqcrpxc2xpxs652sk2gj0s")))) + (build-system python-build-system) + (home-page "https://github.com/jd-boyd/sexpdata") + (synopsis "S-expression parser for Python") + (description + "Sexpdata is an S-expression parser/serializer. It has load and dump +functions like pickle, json or PyYAML module.") + (license license:bsd-3))) + (define-public python-pathlib2 (package (name "python-pathlib2") @@ -5897,6 +5941,25 @@ need to use the older and less efficient @code{pkg_resources} package.") ("python-contextlib2" ,python2-contextlib2-bootstrap) ("python-importlib-resources" ,python2-importlib-resources-bootstrap)))))) +(define-public python-importmagic + (package + (name "python-importmagic") + (version "0.1.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "importmagic" version)) + (sha256 + (base32 + "1n7qxa1snj06aw45mcfz7bxc46zp7fxj687140g2k6jcnyjmfxrz")))) + (build-system python-build-system) + (home-page "https://github.com/alecthomas/importmagic") + (synopsis "Library for adding, removing and managing Python imports") + (description + "Importmagic is a Python library for automatically managing imports by +finding unresolved symbols in Python code and their corresponding imports.") + (license license:bsd-3))) + (define-public python-jaraco-packaging (package (name "python-jaraco-packaging") @@ -6847,14 +6910,14 @@ some are not yet implemented).") (define-public python-netifaces (package (name "python-netifaces") - (version "0.10.7") + (version "0.10.9") (source (origin (method url-fetch) (uri (pypi-uri "netifaces" version)) (sha256 (base32 - "1gccklrcplbbqh81g1mdgpa5y8na7kkf29cq2ka3f5a2fp5hyndx")))) + "1wxby874kcr3pp4ygzk5aiarbzhg1yi093d56s1qg4k2s7yrzvid")))) (build-system python-build-system) (home-page "https://github.com/al45tair/netifaces") (synopsis @@ -7262,14 +7325,13 @@ It is written entirely in Python.") (define-public python-backports-csv (package (name "python-backports-csv") - (version "1.0.5") + (version "1.0.7") (source (origin (method url-fetch) (uri (pypi-uri "backports.csv" version)) (sha256 - (base32 - "1imzbrradkfn8s2m1qcimyn74dn1mz2p3j381jljn166rf2i6hlc")))) + (base32 "0vdx5jlhs91iizc8j8l8811nqprwvdx39pgkdc82w2qkfgzxyxqj")))) (build-system python-build-system) (home-page "https://github.com/ryanhiebert/backports.csv") (synopsis "Backport of Python 3's csv module for Python 2") @@ -7902,13 +7964,13 @@ should be stored on various operating systems.") (define-public python-llfuse (package (name "python-llfuse") - (version "1.3.5") + (version "1.3.6") (source (origin (method url-fetch) (uri (pypi-uri "llfuse" version ".tar.bz2")) (sha256 (base32 - "1n7a90jww3ly49fm7x27m3xw3la3qfrnykcakga654g6kcyjlhbf")))) + "1j9fzxpgmb4rxxyl9jcf84zvznhgi3hnh4hg5vb0qaslxkvng8ii")))) (build-system python-build-system) (inputs `(("fuse" ,fuse) @@ -8400,14 +8462,14 @@ versions of Python.") (define-public python-idna (package (name "python-idna") - (version "2.8") + (version "2.9") (source (origin (method url-fetch) (uri (pypi-uri "idna" version)) (sha256 (base32 - "01rlkigdxg17sf9yar1jl8n18ls59367wqh59hnawlyg53vb6my3")))) + "1jxp2pdi8y4asi7ka1zhx3yx09kv8kzj533f0ds7viz49b0x323m")))) (build-system python-build-system) (home-page "https://github.com/kjd/idna") (synopsis "Internationalized domain names in applications") @@ -8787,6 +8849,29 @@ functions to find and load entry points.") (define-public python2-entrypoints (package-with-python2 python-entrypoints)) +(define-public python-epc + (package + (name "python-epc") + (version "0.0.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "epc" version)) + (sha256 + (base32 + "09bx1ln1bwa00917dndlgs4k589h8qx2x080xch5m58p92kjwkd1")))) + (build-system python-build-system) + (propagated-inputs + `(("python-sexpdata" ,python-sexpdata))) + (native-inputs + `(("python-nose" ,python-nose))) + (home-page "https://github.com/tkf/python-epc") + (synopsis "Remote procedure call (RPC) stack for Emacs Lisp and Python") + (description + "Python-EPC can call elisp functions from Python and Python functions +from elisp.") + (license license:gpl3))) + (define-public python-nbconvert (package (name "python-nbconvert") @@ -8909,17 +8994,18 @@ interactive computing.") (define-public python-widgetsnbextension (package (name "python-widgetsnbextension") - (version "3.4.2") + (version "3.5.1") (source (origin (method url-fetch) (uri (pypi-uri "widgetsnbextension" version)) (sha256 (base32 - "0rc2nivdy7k4m3vljx7wdh2jh11djapcgwhvzlbs0isl8gl8nqgs")))) + "1ismyaxbv9d56yqqqb8xl58hg0iq0bbyy014a53y1g3hfbc8g7q7")))) (build-system python-build-system) (propagated-inputs - `(("python-ipykernel" ,python-ipykernel) + `(("python-ipykernel" + ,(prompt-toolkit-2-instead-of-prompt-toolkit python-ipykernel)) ("python-notebook" ,python-notebook))) (native-inputs `(("python-certifi" ,python-certifi) @@ -8936,17 +9022,18 @@ notebooks.") (define-public python-ipywidgets (package (name "python-ipywidgets") - (version "5.2.2") + (version "7.5.1") (source (origin (method url-fetch) (uri (pypi-uri "ipywidgets" version)) (sha256 (base32 - "1lk0qrr5l9a0z7qkkn30hv5832whxwxymf1l576fmmad0n7hkxms")))) + "15sww2mvnkqlvx55gwa82v05062a8j1xpncnqna4k9sl53hgcig9")))) (build-system python-build-system) (propagated-inputs - `(("python-ipython" ,python-ipython) + `(("python-ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit + python-ipython)) ("python-traitlets" ,python-traitlets) ("python-widgetsnbextension" ,python-widgetsnbextension))) (native-inputs @@ -8966,19 +9053,20 @@ in the data.") (define-public python-jupyter-console (package (name "python-jupyter-console") - (version "6.0.0") + (version "6.1.0") (source (origin (method url-fetch) (uri (pypi-uri "jupyter_console" version)) (sha256 (base32 - "1xdjw11cppf1fxvwkw2bk13ckkwas3bdah8baingn9296mvfi31h")))) + "06s3kr5vx0l1y1b7fxb04dmrppscl7q69sl9yyfr0d057d1ssvkg")))) (build-system python-build-system) (propagated-inputs - `(("python-ipykernel" ,python-ipykernel) + `(("python-ipykernel" ,(prompt-toolkit-2-instead-of-prompt-toolkit + python-ipykernel)) ("python-jupyter-client" ,python-jupyter-client) - ("python-prompt-toolkit" ,python-prompt-toolkit) + ("python-prompt-toolkit" ,python-prompt-toolkit-2) ("python-pygments" ,python-pygments))) (native-inputs `(("python-nose" ,python-nose))) @@ -9479,16 +9567,17 @@ applications.") (define-public python-apipkg (package (name "python-apipkg") - (version "1.4") + (version "1.5") (source (origin (method url-fetch) (uri (pypi-uri "apipkg" version)) (sha256 (base32 - "1iks5701qnp3dlr3q1d9qm68y2plp2m029irhpz92a44psfkjf1f")))) + "1xhak74yj3lqflvpijg15rnkklrigvsp5q7s4as4h6a157d8q8ip")))) (build-system python-build-system) (native-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm))) (synopsis "Namespace control and lazy-import mechanism") (description "With apipkg you can control the exported namespace of a Python package and greatly reduce the number of imports for your users. It is a small @@ -9496,9 +9585,6 @@ pure Python module that works on virtually all Python versions.") (home-page "https://github.com/pytest-dev/apipkg") (license license:expat))) -(define-public python2-apipkg - (package-with-python2 python-apipkg)) - (define-public python-execnet (package (name "python-execnet") @@ -10043,14 +10129,14 @@ python-xdo for newer bindings.)") (define-public python-mako (package (name "python-mako") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (pypi-uri "Mako" version)) (sha256 (base32 - "193mds7lv91pphnvn6c1n55rhjkgq94asdzgrsb2fiqx7rrsd119")))) + "17bd6r9ynp4hyfckkia0bb8gpd98f42jfl5rmzdpbld59bbcaf9i")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -11396,14 +11482,14 @@ network support library.") (define-public python-ply (package (name "python-ply") - (version "3.10") + (version "3.11") (source (origin (method url-fetch) (uri (pypi-uri "ply" version)) (sha256 (base32 - "1jxsr1d2f732r6ljhvm827113dckwl6qwakfvpbdhcbhvpvlmscn")))) + "18qx113g9bi1ac4indd5phma82zcdq601lxncp3vjn43m2mc3iq0")))) (build-system python-build-system) (home-page "http://www.dabeaz.com/ply/") (synopsis "Python Lex & Yacc") @@ -11411,9 +11497,6 @@ network support library.") It uses LR parsing and does extensive error checking.") (license license:bsd-3))) -(define-public python2-ply - (package-with-python2 python-ply)) - (define-public python-tabulate (package (name "python-tabulate") @@ -11663,17 +11746,26 @@ implementation has been adapted, improved, and fixed from Molten.") (define-public python-shellingham (package (name "python-shellingham") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (pypi-uri "shellingham" version)) (sha256 - (base32 - "1q7kws7w4x2hji3g7y0ni9ddk4sd676ylrb3db54gbpys6xj6nwq")))) + (base32 "07kmia2hvd2q7wik89m82hig9mqr2faynvy38vxq5fm0ps11jv2p")))) (build-system python-build-system) - (home-page - "https://github.com/sarugaku/shellingham") + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'restore-setup.py + ;; setup.py will return in the next release. + ;; <https://github.com/sarugaku/shellingham/issues/33> + (lambda _ + (with-output-to-file "setup.py" + (lambda _ + (display "from setuptools import setup\nsetup()\n"))) + #t))))) + (home-page "https://github.com/sarugaku/shellingham") (synopsis "Tool to detect surrounding shell") (description "Shellingham detects what shell the current Python executable is @@ -12049,14 +12141,14 @@ collections of data.") (define-public python-prompt-toolkit (package (name "python-prompt-toolkit") - (version "2.0.7") + (version "3.0.5") (source (origin (method url-fetch) - (uri (pypi-uri "prompt_toolkit" version ".tar.gz")) + (uri (pypi-uri "prompt_toolkit" version)) (sha256 (base32 - "0fgacqk73w7s932vy46pan2yp8rvjmlkag20xvaydh9mhf6h85zx")))) + "1j3x5s4gp4ih73sbcni0a0vffbzvrxbrbnkvb3fzjgxn810ilgan")))) (build-system python-build-system) (arguments `(#:phases @@ -12070,12 +12162,11 @@ collections of data.") (add-installed-pythonpath inputs outputs) (invoke "py.test")))))) (propagated-inputs - `(("python-wcwidth" ,python-wcwidth) - ("python-six" ,python-six) - ("python-pygments" ,python-pygments))) + `(("python-wcwidth" ,python-wcwidth))) (native-inputs `(("python-pytest" ,python-pytest))) - (home-page "https://github.com/jonathanslenders/python-prompt-toolkit") + (home-page + "https://github.com/prompt-toolkit/python-prompt-toolkit") (synopsis "Library for building command line interfaces in Python") (description "Prompt-Toolkit is a library for building interactive command line @@ -12085,11 +12176,31 @@ code completion, incremental search, support for Chinese double-width characters, mouse support, and auto suggestions.") (license license:bsd-3))) +(define-public python-prompt-toolkit-2 + (package (inherit python-prompt-toolkit) + (name "python-prompt-toolkit") + (version "2.0.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "prompt_toolkit" version)) + (sha256 + (base32 + "0fgacqk73w7s932vy46pan2yp8rvjmlkag20xvaydh9mhf6h85zx")))) + (propagated-inputs + `(("python-wcwidth" ,python-wcwidth) + ("python-six" ,python-six) + ("python-pygments" ,python-pygments))))) + +(define-public prompt-toolkit-2-instead-of-prompt-toolkit + (package-input-rewriting/spec + `(("python-prompt-toolkit" . ,(const python-prompt-toolkit-2))))) + (define-public python2-prompt-toolkit - (package-with-python2 python-prompt-toolkit)) + (package-with-python2 python-prompt-toolkit-2)) (define-public python-prompt-toolkit-1 - (package (inherit python-prompt-toolkit) + (package (inherit python-prompt-toolkit-2) (version "1.0.15") (source (origin @@ -12468,27 +12579,26 @@ discovery, monitoring and configuration.") (define-public python-odfpy (package (name "python-odfpy") - (version "1.3.3") + (version "1.4.1") (source (origin (method url-fetch) (uri (pypi-uri "odfpy" version)) (sha256 (base32 - "1a6ms0w9zfhhkqhvrnynwwbxrivw6hgjc0s5k7j06npc7rq0blxw")))) + "1v1qqk9p12qla85yscq2g413l3qasn6yr4ncyc934465b5p6lxnv")))) (arguments - `(#:modules ((srfi srfi-1) - (guix build python-build-system) - (guix build utils)) - #:phases + `(#:phases (modify-phases %standard-phases (replace 'check - ;; The test runner invokes python2 and python3 for test*.py. - ;; To avoid having both in inputs, we replicate it here. (lambda _ - (for-each (lambda (test-file) (invoke "python" test-file)) - (find-files "tests" "^test.*\\.py$")) - #t))))) + (setenv "PYTHONPATH" (string-append "./build/lib:" + (getenv "PYTHONPATH"))) + (invoke "pytest" "-vv")))))) (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-defusedxml" ,python-defusedxml))) (home-page "https://github.com/eea/odfpy") (synopsis "Python API and tools to manipulate OpenDocument files") (description "Collection of libraries and utility programs written in @@ -13014,33 +13124,16 @@ PNG, JPEG, JPEG2000 and GIF files in pure Python.") (define-public python-argcomplete (package (name "python-argcomplete") - (version "1.10.3") + (version "1.11.1") (source (origin (method url-fetch) (uri (pypi-uri "argcomplete" version)) (sha256 (base32 - "02jkc44drb0yjz6x28lvg6rj607n8r2irdpdvyylm8xnycn54zx3")))) + "0h1przxffrhqvi46k40pzjsvdrq4zc3sl1pc96kkigqppq0vdrss")) + (patches (search-patches "python-argcomplete-1.11.1-fish31.patch")))) (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'embed-tool-references - (lambda _ - (substitute* "argcomplete/bash_completion.d/python-argcomplete.sh" - ((" grep") - (string-append " " (which "grep"))) - ((" egrep") - (string-append " " (which "egrep"))) - (("elif which") - (string-append "elif " (which "which"))) - (("\\$\\(which") - (string-append "$(" (which "which")))) - #t))))) - (inputs - `(("grep" ,grep) - ("which" ,which))) (native-inputs `(("python-coverage" ,python-coverage) ("python-flake8" ,python-flake8) @@ -13818,37 +13911,22 @@ clone, while other processes access the original tree.") (define-public python-astroid (package (name "python-astroid") - (version "2.3.3") + (version "2.4.1") (source (origin (method url-fetch) (uri (pypi-uri "astroid" version)) (sha256 - (base32 "0fnibsl2cb5mvzbfm7sycj85smx48f8w8m7ks1sqlmpr9ps0gski")))) + (base32 "1h99jal7ax07xna1djw5z7hpgb8vjrl3hrrg49p1phljwniww5sc")))) (build-system python-build-system) (propagated-inputs `(("python-lazy-object-proxy" ,python-lazy-object-proxy) ("python-six" ,python-six) - ("python-typed-ast" ,python-typed-ast) ("python-wrapt" ,python-wrapt))) (native-inputs `(("python-dateutil" ,python-dateutil) - ("python-nose" ,python-nose) ("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-spurious-test - (lambda _ - ;; This can be removed after upgrading from python-3.7 - ;; https://github.com/PyCQA/astroid/issues/593 - ;; https://bugs.python.org/issue34056 - (delete-file "astroid/tests/unittest_modutils.py") - #t)) - (replace 'check - (lambda _ - (invoke "pytest" "astroid")))))) (home-page "https://github.com/PyCQA/astroid") (synopsis "Common base representation of python source code for pylint and other projects") @@ -14066,7 +14144,7 @@ exception message with a traceback that points to the culprit.") (define-public python-mwclient (package (name "python-mwclient") - (version "0.10.0") + (version "0.10.1") (source (origin (method git-fetch) @@ -14076,8 +14154,7 @@ exception message with a traceback that points to the culprit.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1c3q6lwmb05yqywc4ya98ca7hsl15niili8rccl4n1yqp77c103v")))) + (base32 "120snnsh9n5svfwkyj1w9jrxf99jnqm0jk282yypd3lpyca1l9hj")))) (build-system python-build-system) (propagated-inputs `(("python-requests-oauthlib" ,python-requests-oauthlib) @@ -15026,16 +15103,22 @@ window memory map manager.") (define-public python-regex (package (name "python-regex") - (version "2019.04.14") + (version "2020.6.8") (source (origin (method url-fetch) (uri (pypi-uri "regex" version)) (sha256 (base32 - "1a6hhfs6l6snr1z654ay6wzbmwdkmv282fzfkd5hk2d1n73y8v6m")))) - ;; TODO: Fix and enable regex_test.py tests that complain about the - ;; test.support module not existing. + "1b3k0zi1pd99q5mk7ri7vcx2y1mq5inm9hk8dryqyhrpkmh4xdp9")))) (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 "python" "-c" + "from regex.test_regex import test_main; test_main()")))))) (home-page "https://bitbucket.org/mrabarnett/mrab-regex") (synopsis "Alternative regular expression module") (description "This regular expression implementation is backwards- @@ -18324,6 +18407,50 @@ services to what you expect in your tests.") (define-public python-ujson (package (name "python-ujson") + (version "2.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ujson" version)) + (sha256 + (base32 + "18z9gb9ggy1r464b9q1gqs078mqgrkj6dys5a47529rqk3yfybdx")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "deps") #t)))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'link-to-system-double-conversion + (lambda* (#:key inputs #:allow-other-keys) + (let ((d-c (assoc-ref inputs "double-conversion"))) + (substitute* "setup.py" + (("./deps/double-conversion/double-conversion\"") + (string-append d-c "/include/double-conversion\"")) + (("-lstdc++" stdc) + (string-append "-L" d-c "/lib\"," + " \"-ldouble-conversion\"," + " \"" stdc))) + #t))) + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest")))))) + (native-inputs + `(("double-conversion" ,double-conversion) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/ultrajson/ultrajson") + (synopsis "Ultra fast JSON encoder and decoder for Python") + (description + "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with +bindings for Python 3.") + (license license:bsd-3))) + +(define-public python-ujson-1 + (package + (inherit python-ujson) (version "1.35") (source (origin @@ -18332,17 +18459,16 @@ services to what you expect in your tests.") (sha256 (base32 "11jz5wi7mbgqcsz52iqhpyykiaasila4lq8cmc2d54bfa3jp6q7n")))) - (build-system python-build-system) + (arguments + '(#:phases %standard-phases)) + (native-inputs '()) (home-page "http://www.esn.me") - (synopsis - "Ultra fast JSON encoder and decoder for Python") (description "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with - bindings for Python 2.5+ and 3.") - (license license:bsd-3))) +bindings for Python 2.5+ and 3."))) -(define-public python2-ujson - (package-with-python2 python-ujson)) +(define-public python2-ujson-1 + (package-with-python2 python-ujson-1)) (define-public python-iocapture ;; The latest release is more than a year older than this commit. @@ -18749,7 +18875,8 @@ and cuts down boilerplate code when testing libraries for asyncio.") (uri (pypi-uri "shouldbe" version)) (sha256 (base32 - "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj")))) + "16zbvjxf71dl4yfbgcr6idyim3mdrfvix1dv8b95p0s9z07372pj")) + (patches (search-patches "python-shouldbe-0.1.2-cpy3.8.patch")))) (build-system python-build-system) (propagated-inputs `(("python-forbiddenfruit" ,python-forbiddenfruit))) @@ -19895,3 +20022,57 @@ allows you, from Python code, to “fix” invalid (X)HTML markup.") (define-public python2-pytidylib (package-with-python2 python-pytidylib)) + +(define-public python-mujson + (package + (name "python-mujson") + (version "1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "mujson" version)) + (sha256 + (base32 + "0wbj6r8yzsdx2b0kbldlkznr1a9nn33za2q9x3g0hbg420dwzn97")))) + (build-system python-build-system) + (home-page "https://github.com/mattgiles/mujson") + (synopsis "Use the fastest JSON functions available at import time") + (description "This packages selects the fastest JSON functions available +at import time.") + (license license:expat))) + +(define-public python-bashlex + (package + (name "python-bashlex") + (version "0.14") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bashlex" version)) + (sha256 + (base32 + "1z9g96fgsfpdwawp4sb5x6hbdhmda7kgmcrqlf9xx4bs1f8f14js")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'pregenerate-yacc-tables + (lambda _ + ;; parser.py caches tables, which attempts to write to site lib + ;; see https://github.com/idank/bashlex/issues/51 + (invoke "python" "-c" "import bashlex")))))) + (home-page + "https://github.com/idank/bashlex") + (synopsis "Python parser for bash") + (description "@code{bashlex} is a Python port of the parser used +internally by GNU bash. + +For the most part it's transliterated from C, the major differences are: + +@itemize +@item it does not execute anything +@item it is reentrant +@item it generates a complete AST +@end itemize +") + (license license:gpl3+))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 1ec002df73..9469f89bcf 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -80,12 +80,17 @@ #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages certs) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages dbm) #:use-module (gnu packages hurd) #:use-module (gnu packages libffi) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages shells) #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) @@ -631,3 +636,169 @@ run within just 256k of code space and 16k of RAM. MicroPython aims to be as compatible with normal Python as possible to allow you to transfer code with ease from the desktop to a microcontroller or embedded system.") (license license:expat))) + +(define-public pypy3 + (package + (name "pypy3") + (version "7.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://bitbucket.org/pypy/pypy/downloads/" ; + "pypy3.6-v" version "-src.tar.bz2")) + (sha256 + (base32 + "10zsk8jby8j6visk5mzikpb1cidvz27qq4pfpa26jv53klic6b0c")) + (patches (search-patches "pypy3-7.3.1-fix-tests.patch")))) + (build-system gnu-build-system) + (native-inputs + `(("python-2" ,python-2) + ("pkg-config" ,pkg-config) + ("tar" ,tar) ; Required for package.py + ("python2-pycparser" ,python2-pycparser) + ("python2-hypothesis" ,python2-hypothesis) + ("nss-certs" ,nss-certs) ; For ssl tests + ("gzip" ,gzip))) + (inputs + `(("libffi" ,libffi) + ("zlib" ,zlib) + ("ncurses" ,ncurses) + ("openssl" ,openssl) + ("expat" ,expat) + ("bzip2" ,bzip2) + ("sqlite" ,sqlite) + ("gdbm" ,gdbm) + ("tcl" ,tcl) + ("tk" ,tk) + ("glibc" ,glibc) + ("bash-minimal" ,bash-minimal) ; Used as /bin/sh + ("xz" ,xz))) ; liblzma + (arguments + `(#:tests? #f ;FIXME: Disabled for now, there are many tests failing. + #:modules ((ice-9 ftw) (ice-9 match) + (guix build utils) (guix build gnu-build-system)) + #:phases (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-source + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* '("rpython/rlib/clibffi.py") + ;; find_library does not work for libc + (("ctypes\\.util\\.find_library\\('c'\\)") "'libc.so'")) + (substitute* '("lib_pypy/cffi/_pycparser/ply/cpp.py") + ;; Make reproducible (XXX: unused?) + (("time\\.localtime\\(\\)") "time.gmtime(0)")) + (substitute* '("pypy/module/sys/version.py") + ;; Make reproducible + (("t\\.gmtime\\(\\)") "t.gmtime(0)")) + (substitute* '("lib_pypy/_tkinter/tklib_build.py") + ;; Link to versioned libtcl and libtk + (("linklibs = \\['tcl', 'tk'\\]") + "linklibs = ['tcl8.6', 'tk8.6']") + (("incdirs = \\[\\]") + (string-append "incdirs = ['" + (assoc-ref inputs "tcl") + "/include', '" + (assoc-ref inputs "tk") + "/include']"))) + (substitute* '("lib_pypy/_curses_build.py") + ;; Find curses + (("/usr/local") (assoc-ref inputs "ncurses"))) + (substitute* '("lib_pypy/_sqlite3_build.py") + ;; Always use search paths + (("sys\\.platform\\.startswith\\('freebsd'\\)") "True") + ;; Find sqlite3 + (("/usr/local") (assoc-ref inputs "sqlite")) + (("libname = 'sqlite3'") + (string-append "libname = '" + (assoc-ref inputs "sqlite") + "/lib/libsqlite3.so.0'"))) + (substitute* '("lib-python/3/subprocess.py") + ;; Fix shell path + (("/bin/sh") + (string-append (assoc-ref inputs "bash-minimal") "/bin/sh"))) + (substitute* '("lib-python/3/distutils/unixccompiler.py") + ;; gcc-toolchain does not provide symlink cc -> gcc + (("\"cc\"") "\"gcc\"")) + #t)) + (add-after + 'unpack 'set-source-file-times-to-1980 + ;; copied from python package, required by zip testcase + (lambda _ + (let ((circa-1980 (* 10 366 24 60 60))) + (ftw "." (lambda (file stat flag) + (utime file circa-1980 circa-1980) + #t)) + #t))) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "pypy/goal" + ;; Build with jit optimization. + (invoke "python2" + "../../rpython/bin/rpython" + (string-append "--make-jobs=" + (number->string (parallel-job-count))) + "-Ojit" + "targetpypystandalone")) + ;; Build c modules and package everything, so tests work. + (with-directory-excursion "pypy/tool/release" + (unsetenv "PYTHONPATH") ; Do not use the system’s python libs: + ; AttributeError: module 'enum' has no + ; attribute 'IntFlag' + (invoke "python2" "package.py" + "--archive-name" "pypy-dist" + "--builddir" (getcwd))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "HOME" "/tmp") ; test_with_pip tries to + ; access ~/.cache/pip + ;; Run library tests only (no interpreter unit + ;; tests). This is what Gentoo does. + (invoke + "python2" + "pypy/test_all.py" + "--pypy=pypy/tool/release/pypy-dist/bin/pypy3" + "lib-python")) + (format #t "test suite not run~%")) + #t)) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion "pypy/tool/release" + ;; Delete test data. + (for-each + (lambda (x) + (delete-file-recursively (string-append + "pypy-dist/lib-python/3/" x))) + '("tkinter/test" + "test" + "sqlite3/test" + "lib2to3/tests" + "idlelib/idle_test" + "distutils/tests" + "ctypes/test" + "unittest/test")) + ;; Patch shebang referencing python2 + (substitute* '("pypy-dist/lib-python/3/cgi.py" + "pypy-dist/lib-python/3/encodings/rot_13.py") + (("#!.+/bin/python") + (string-append "#!" (assoc-ref outputs "out") "/bin/pypy3"))) + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* '("pypy-dist/lib_pypy/_md5.py" + "pypy-dist/lib_pypy/_sha1.py") + (("#!.+/bin/python") + (string-append "#!" (assoc-ref outputs "out") "/bin/pypy3")))) + (copy-recursively "pypy-dist" (assoc-ref outputs "out"))) + #t))))) + (home-page "https://www.pypy.org/") + (synopsis "Python implementation with just-in-time compilation") + (description "PyPy is a faster, alternative implementation of the Python +programming language employing a just-in-time compiler. It supports most +Python code natively, including C extensions.") + (license (list license:expat ; pypy itself; _pytest/ + license:psfl ; python standard library in lib-python/ + license:asl2.0 ; dotviewer/font/ and some of lib-python/ + license:gpl3+ ; ./rpython/rlib/rvmprof/src/shared/libbacktrace/dwarf2.* + license:bsd-3 ; lib_pypy/cffi/_pycparser/ply/ + (license:non-copyleft + "http://www.unicode.org/copyright.html"))))) + diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index c312efa1f9..4d95563403 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Quiliro <quiliro@fsfla.org> -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> @@ -16,6 +16,8 @@ ;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2020 TomZ <tomz@freedommail.ch> +;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -99,7 +101,7 @@ (define-public grantlee (package (name "grantlee") - (version "5.1.0") + (version "5.2.0") (source (origin (method git-fetch) @@ -108,30 +110,18 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1dmah2gd6zd4fgz2f4ir11dazqg067hjz8xshhywhfsmavchi626")))) + (base32 "02dyqxjyxiqxrlz5g7v9ly8f095vs3iha39l75q6s8axs36y01lq")))) (native-inputs ;; Optional: lcov and cccc, both are for code coverage `(("doxygen" ,doxygen))) (inputs `(("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) ("qtscript" ,qtscript))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DCMAKE_CXX_STANDARD=11") - #:phases + `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'delete-broken-tests - (lambda _ - ;; TODO: Two date tests (for date01 and date02) fail for unknown - ;; reasons. - ;; Actual (result): "" - ;; Expected (output): "01" - ;; Actual (result): "" - ;; Expected (output): "Jan. 1, 2008" - (delete-file "templates/tests/testfilters.cpp") - (substitute* "templates/tests/CMakeLists.txt" - (("testfilters") "")) - #t)) (add-before 'check 'check-setup (lambda _ ;; make Qt render "offscreen", required for tests @@ -142,7 +132,7 @@ (description "Grantlee Templates can be used for theming and generation of other text such as code. The syntax uses the syntax of the Django template system, and the core design of Django is reused in Grantlee.") - (license license:lgpl2.0+))) + (license license:lgpl2.1+))) (define-public qt-4 (package @@ -352,7 +342,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtbase (package (name "qtbase") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -361,11 +351,10 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "0pb68d30clksdhgy8n6rrs838bb3qcsfq4pv463yy2nr4p5kk2di")) + "12mjsahlma9rw3vz9a6b5h2s6ylg8b34hxc2vnlna5ll429fgfa8")) ;; Use TZDIR to avoid depending on package "tzdata". (patches (search-patches "qtbase-use-TZDIR.patch" - "qtbase-moc-ignore-gcc-macro.patch" - "qtbase-QTBUG-81715.patch")) + "qtbase-moc-ignore-gcc-macro.patch")) (modules '((guix build utils))) (snippet ;; corelib uses bundled harfbuzz, md4, md5, sha3 @@ -571,14 +560,6 @@ developers using C++ or QML, a CSS & JavaScript like language.") "src/network/kernel/qhostinfo_unix.cpp") (("^\\s*(lib.setFileName\\(QLatin1String\\(\")(resolv\"\\)\\);)" _ a b) (string-append a glibc "/lib/lib" b)))) - ;; X11/locale (compose path) - (substitute* "src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp" - ;; Don't search in /usr/…/X11/locale, … - (("^\\s*m_possibleLocations.append\\(QStringLiteral\\(\"/usr/.*/X11/locale\"\\)\\);" line) - (string-append "// " line)) - ;; … but use libx11's path - (("^\\s*(m_possibleLocations.append\\(QStringLiteral\\()X11_PREFIX \"(/.*/X11/locale\"\\)\\);)" _ a b) - (string-append a "\"" (assoc-ref inputs "libx11") b))) ;; libGL (substitute* "src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp" (("^\\s*(QLibrary lib\\(QLatin1String\\(\")(GL\"\\)\\);)" _ a b) @@ -618,7 +599,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") (define-public qtsvg (package (inherit qtbase) (name "qtsvg") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -627,7 +608,7 @@ developers using C++ or QML, a CSS & JavaScript like language.") version ".tar.xz")) (sha256 (base32 - "1f3vqv3s83gjillhgi0wghyf3825fgy1ffhvkxhdk673shb0kxjb")))) + "18dmfc8s428fzbk7k5vl3212b25455ayrz7s716nwyiy3ahgmmy7")))) (propagated-inputs `()) (native-inputs `(("perl" ,perl))) (inputs @@ -693,7 +674,7 @@ HostData=lib/qt5 (define-public qtimageformats (package (inherit qtsvg) (name "qtimageformats") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -702,7 +683,7 @@ HostData=lib/qt5 version ".tar.xz")) (sha256 (base32 - "02zpcbx71dz6xvga07dnzqwdfz9pjmy673n706fj8pxq9zi9xlcv")) + "132g4rlm61pdcpcrclr1rwpbrxn7va4wjfb021mh8pn1cl0wlgkk")) (modules '((guix build utils))) (snippet '(begin @@ -724,7 +705,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) (define-public qtx11extras (package (inherit qtsvg) (name "qtx11extras") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -733,7 +714,7 @@ support for MNG, TGA, TIFF and WBMP image formats."))) version ".tar.xz")) (sha256 (base32 - "15hb90n47khsp3qnzyjd3mh8gi9qvy07dqdr4qspiww43r5mz293")))) + "0njlh6d327nll7d8qaqrwr5x15m9yzgyar2j45qigs1f7ah896my")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -748,7 +729,7 @@ from within Qt 5."))) (define-public qtxmlpatterns (package (inherit qtsvg) (name "qtxmlpatterns") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -757,7 +738,7 @@ from within Qt 5."))) version ".tar.xz")) (sha256 (base32 - "0ys1kf0zdn8gak1ik9p7i7bdyfz2frvklcyz013s9wm1550h20lh")))) + "1dyg1z4349k04yyzn8xbp4f5qjgm60gz6wgzp80khpilcmk8g6i1")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f) ; TODO: Enable the tests @@ -779,7 +760,7 @@ xmlpatternsvalidator."))) (define-public qtdeclarative (package (inherit qtsvg) (name "qtdeclarative") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -788,16 +769,28 @@ xmlpatternsvalidator."))) version ".tar.xz")) (sha256 (base32 - "1gg9xbv8ah4p55ws97brwn0csl0k3j1x6zdknrrsnh7j6nh0bp2w")))) + "0l0nhc2si6dl9r4s1bs45z90qqigs8jnrsyjjdy38q4pvix63i53")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) - ((#:tests? _ #f) #f))) ; TODO: Enable the tests + ((#:tests? _ #f) #f) ;TODO: Enable the tests + ((#:phases phases) + `(modify-phases ,phases + (add-after 'build 'fix-qt5core-install-prefix + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; The Qt5Core install prefix is set to qtbase, but qmlcachegen + ;; is provided by qtdeclarative. + (substitute* + "lib/cmake/Qt5QuickCompiler/Qt5QuickCompilerConfig.cmake" + (("\\$\\{_qt5Core_install_prefix\\}") out))) + #t)))))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) ("python" ,python) ("python-wrapper" ,python-wrapper) - ("qtsvg" ,qtsvg))) + ("qtsvg" ,qtsvg) + ("vulkan-headers" ,vulkan-headers))) (inputs `(("mesa" ,mesa) ("qtbase" ,qtbase))) @@ -811,7 +804,7 @@ with JavaScript and C++."))) (define-public qtconnectivity (package (inherit qtsvg) (name "qtconnectivity") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -820,7 +813,7 @@ with JavaScript and C++."))) version ".tar.xz")) (sha256 (base32 - "06h71pd5w5prh722mcbgmx7l71xvh5xpjrlbg17yblx0n6wlhwb4")))) + "0a5wzin635b926b8prdwfazgy1vhyf8m6an64wp2lpkp78z7prmb")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config) @@ -835,7 +828,7 @@ with Bluetooth and NFC."))) (define-public qtwebsockets (package (inherit qtsvg) (name "qtwebsockets") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -844,7 +837,7 @@ with Bluetooth and NFC."))) version ".tar.xz")) (sha256 (base32 - "05rv52pp5zg4g14zh7c6jc77l426056b8xyr40ps6cpmb0jkrlbg")))) + "116amx4mnv50k0fpswgpr5x8wjny8nbffrjmld01pzhkhfqn4vph")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -862,7 +855,7 @@ consume data received from the server, or both."))) (define-public qtsensors (package (inherit qtsvg) (name "qtsensors") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -871,7 +864,7 @@ consume data received from the server, or both."))) version ".tar.xz")) (sha256 (base32 - "0h77h34rn6cgy5qiqq163pj3bhbka1ydkfgjcx01ns1g9sgym6ib")))) + "0qccpgbhyg9k4x5nni7xm0pyvaqia3zrcd42cn7ksf5h21lwmkxw")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:parallel-tests? _ #f) #f) ; can lead to race condition @@ -895,7 +888,7 @@ recognition API for devices."))) (define-public qtmultimedia (package (inherit qtsvg) (name "qtmultimedia") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -904,7 +897,7 @@ recognition API for devices."))) version ".tar.xz")) (sha256 (base32 - "07fvnjywn3hkrxfbxasmy83jr6jq9lf1grasfwij54hz6y0smg98")) + "1sczzcvk3c5gczz53yvp8ma6gp8aixk5pcq7wh344c9md3g8xkbs")) (modules '((guix build utils))) (snippet '(begin @@ -946,7 +939,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) (define-public qtwayland (package (inherit qtsvg) (name "qtwayland") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -955,7 +948,7 @@ set of plugins for interacting with pulseaudio and GStreamer."))) version ".tar.xz")) (sha256 (base32 - "1ib61zh6jrab3yz592p47ldfgphi4i184kqf14vhwn31akibh6pw")) + "0al3yypy3fin62n8d1859jh0mn0fbpa161l7f37hgd4gf75365nk")) (modules '((guix build utils))) (snippet ;; The examples try to build and cause the build to fail @@ -966,13 +959,21 @@ set of plugins for interacting with pulseaudio and GStreamer."))) (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) `(modify-phases ,phases - (add-before 'check 'set-ld-library-path - ;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00019.html> - ;; - ;; Make the uninstalled libQt5WaylandClient.so.5 available to the - ;; wayland platform plugin. + (add-after 'unpack 'disable-failing-tests (lambda _ - (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/lib")) + ;; FIXME: tst_seatv4::animatedCursor() fails for no good + ;; reason and breaks these two tests. + (substitute* "tests/auto/client/seatv4/tst_seatv4.cpp" + (((string-append "QVERIFY\\(!cursorSurface\\(\\)->" + "m_waitingFrameCallbacks\\.empty\\(\\)\\);")) + "") + (("QTRY_COMPARE\\(bufferSpy\\.count\\(\\), 1\\);") + "")) + #t)) + (add-before 'check 'set-test-environment + (lambda _ + ;; Do not fail just because /etc/machine-id is missing. + (setenv "DBUS_FATAL_WARNINGS" "0") #t)))))) (native-inputs `(("glib" ,glib) @@ -998,7 +999,7 @@ compositor libraries."))) (define-public qtserialport (package (inherit qtsvg) (name "qtserialport") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1007,7 +1008,7 @@ compositor libraries."))) version ".tar.xz")) (sha256 (base32 - "07vjv3p7n7n5v15wdpi8x5sbnvyjqdh85qfzf9mz8l6ppqp2hk12")))) + "08ga9a1lwj83872nxablk602z1dq0la6jqsiicvd7m1sfbfpgnd6")))) (native-inputs `(("perl" ,perl))) (inputs `(("qtbase" ,qtbase) @@ -1032,7 +1033,7 @@ interacting with serial ports from within Qt."))) (define-public qtserialbus (package (inherit qtsvg) (name "qtserialbus") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1041,7 +1042,7 @@ interacting with serial ports from within Qt."))) version ".tar.xz")) (sha256 (base32 - "1bkyk1v7bcq657n88a6675lj55vl9y8v46h4kf27v58yjzgiw842")))) + "14bahg82jciciqkl74q9hvf3a8kp3pk5v731vp2416k4b8bn4xqb")))) (inputs `(("qtbase" ,qtbase) ("qtserialport" ,qtserialport))) @@ -1053,7 +1054,7 @@ and others."))) (define-public qtwebchannel (package (inherit qtsvg) (name "qtwebchannel") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1062,7 +1063,7 @@ and others."))) version ".tar.xz")) (sha256 (base32 - "0xff3fbbpcl0kkq0rg9npj127ycirygicbkxlf0v593sjpjp5bmh")))) + "0x7q66994pw6cd0f505bmirw1sssqs740zaw8lyqqqr32m2ch7bx")))) (native-inputs `(("perl" ,perl) ("qtdeclarative" ,qtdeclarative) @@ -1077,7 +1078,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) (define-public qtwebglplugin (package (inherit qtsvg) (name "qtwebglplugin") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1086,7 +1087,7 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) version ".tar.xz")) (sha256 (base32 - "0fswnmhb8fm7wqgzv8cjy1j2sgb5mhx80jl411laawn7bf2ysjg0")))) + "05rl657848fsprsnabdqb5z363c6drjc32k59223vl351f8ihhgb")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -1100,7 +1101,8 @@ popular web engines, Qt WebKit 2 and Qt WebEngine."))) `(("mesa" ,mesa) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) - ("qtwebsockets" ,qtwebsockets))) + ("qtwebsockets" ,qtwebsockets) + ("zlib" ,zlib))) (synopsis "QPA plugin for running an application via a browser using streamed WebGL commands") (description "Qt back end that uses WebGL for rendering. It allows Qt @@ -1112,7 +1114,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements"))) (define-public qtwebview (package (inherit qtsvg) (name "qtwebview") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1121,7 +1123,7 @@ OpenGL ES 2.0 and can be used in HTML5 canvas elements"))) version ".tar.xz")) (sha256 (base32 - "1rvvkg6dl34hklllnlzlcffik746f15lzxdnwggc97dmx8n2vy6k")))) + "0jzzcm7z5njkddzfhmyjz4dbbzq8h93980cci4479zc4xq9r47y6")))) (native-inputs `(("perl" ,perl))) (inputs @@ -1135,7 +1137,7 @@ native APIs where it makes sense."))) (define-public qtlocation (package (inherit qtsvg) (name "qtlocation") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1144,7 +1146,7 @@ native APIs where it makes sense."))) version ".tar.xz")) (sha256 (base32 - "07vq4aycayq2bg8yi4awidb25xyvws2ajbnrmad3rnpg1fw0bsfi")))) + "1k3m8zhbv04yrqvj7jlnh8f9xczdsmla59j9gcwsqvbg76y0hxy3")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1165,7 +1167,7 @@ positioning and geolocation plugins."))) (define-public qttools (package (inherit qtsvg) (name "qttools") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1174,7 +1176,7 @@ positioning and geolocation plugins."))) version ".tar.xz")) (sha256 (base32 - "0j1rl368sjknsmwp2f7bwqcb0sx13l3l4dxbm70873si9l8rf2l6")))) + "1iakl3hlyg51ri1czmis8mmb257b0y1zk2a2knybd3mq69wczc2v")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1193,7 +1195,7 @@ that helps in Qt development."))) (define-public qtscript (package (inherit qtsvg) (name "qtscript") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1202,7 +1204,7 @@ that helps in Qt development."))) version ".tar.xz")) (sha256 (base32 - "06a02230mj4bd8qvjaf2q97grzbj1c1rq36x7236fnhjsikbq7fa")) + "1zlvg3hc6h70d789g3kv6dxbwswzkskkm00bdgl01grwrdy4izg9")) (patches (search-patches "qtscript-disable-tests.patch")))) (native-inputs `(("perl" ,perl) @@ -1217,7 +1219,7 @@ ECMAScript and Qt."))) (define-public qtquickcontrols (package (inherit qtsvg) (name "qtquickcontrols") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1226,7 +1228,7 @@ ECMAScript and Qt."))) version ".tar.xz")) (sha256 (base32 - "1rar337vv0dx52r2gxwiwy1axn0fpy79rka09xizjlxsdg3vnf0h")))) + "0qa4dlhn3iv9yvaic8hw86v6h8rn9sgq8xjfdaym04pfshfyypfm")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1241,7 +1243,7 @@ can be used to build complete interfaces in Qt Quick."))) (define-public qtquickcontrols2 (package (inherit qtsvg) (name "qtquickcontrols2") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1250,7 +1252,7 @@ can be used to build complete interfaces in Qt Quick."))) version ".tar.xz")) (sha256 (base32 - "0dx2jag6l5a80220fvmf49z1psliqf1ijqx6jsvvzv81mpjjd59s")))) + "0q0mk2mjlf9ll0gdrdzxy8096s6g9draaqiwrlvdpa7lv14x7xzs")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1266,7 +1268,7 @@ not available."))) (define-public qtgraphicaleffects (package (inherit qtsvg) (name "qtgraphicaleffects") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1275,7 +1277,7 @@ not available."))) version ".tar.xz")) (sha256 (base32 - "1knapc14a80cn2f5bbfj7lhq9flr3v0gwjg9ka7xl8y642235w02")))) + "03xmwhapv0b2qj661iaqqrvhxc7qiid0acrp6rj85824ha2pyyj8")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1293,7 +1295,7 @@ coloring, and many more."))) (define-public qtgamepad (package (inherit qtsvg) (name "qtgamepad") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1302,7 +1304,7 @@ coloring, and many more."))) version ".tar.xz")) (sha256 (base32 - "150y7bc755l9y8w7nkg3gfw5n6rlj9hhq0ibc9g1xgllpr18qqq7")))) + "00wd3h465waxdghg2vdhs5pkj0xikwjn88l12477dksm8zdslzgp")))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) @@ -1323,7 +1325,7 @@ and mobile applications targeting TV-like form factors."))) (define-public qtscxml (package (inherit qtsvg) (name "qtscxml") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1332,7 +1334,7 @@ and mobile applications targeting TV-like form factors."))) version ".tar.xz")) (sha256 (base32 - "1dpvjkvwc3fj86vay8q8vzym73cix7ri2ianx87ck0gqjny51adg")) + "141pfschv6zmcvvn3pi7f5vb4nf96zpngy80f9bly1sn58syl303")) (modules '((guix build utils))) (snippet '(begin @@ -1354,7 +1356,7 @@ also contains functionality to support data models and executable content."))) (define-public qtpurchasing (package (inherit qtsvg) (name "qtpurchasing") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1363,7 +1365,7 @@ also contains functionality to support data models and executable content."))) version ".tar.xz")) (sha256 (base32 - "0xjsn7p629ni68vk4xlw2cvcs53ipcqv1pa4hck0nabddcgcnzkg")))) + "0lg8x7g7dkf95xwxq8b4yw4ypdz68igkscya96xwbklg3q08gc39")))) (inputs `(("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative))) @@ -1371,49 +1373,10 @@ also contains functionality to support data models and executable content."))) (description "The Qt Purchasing module provides and in-app API for purchasing goods and services."))) -(define-public qtcanvas3d - (package (inherit qtsvg) - (name "qtcanvas3d") - (version "5.12.7") - (source (origin - (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-everywhere-src-" - version ".tar.xz")) - (sha256 - (base32 - "0l0c1p6jwz5rygyxslfw7jw3wbd23w5n9zg04aqlh5g15qx52fmn")) - (modules '((guix build utils))) - (snippet - '(begin - (delete-file-recursively "examples/canvas3d/3rdparty") - #t)))) - (arguments - (substitute-keyword-arguments (package-arguments qtsvg) - ;; Building the tests depends on the bundled 3rd party javascript files, - ;; and the test phase fails to import QtCanvas3D, causing the phase to - ;; fail, so we skip building them for now. - ((#:phases phases) - `(modify-phases ,phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke "qmake" "QT_BUILD_PARTS = libs tools" - (string-append "PREFIX=" out))))))) - ((#:tests? _ #f) #f))) ; TODO: Enable the tests - (native-inputs `()) - (inputs - `(("qtbase" ,qtbase) - ("qtdeclarative" ,qtdeclarative))) - (synopsis "Qt Canvas 3D module") - (description "The Qt Canvas 3D module provides a way to make WebGL-like 3D -drawing calls from Qt Quick JavaScript."))) - (define-public qtcharts (package (inherit qtsvg) (name "qtcharts") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1422,7 +1385,7 @@ drawing calls from Qt Quick JavaScript."))) version ".tar.xz")) (sha256 (base32 - "0pyg2lpxmhf4amj57zihp5ry0y9m39xq5hbcx4hqj78bdm96ah23")))) + "1drvm15i6n10b6a1acgarig120ppvqh3r6fqqdn8i3blx81m5cmd")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1440,7 +1403,7 @@ selecting one of the charts themes.") (define-public qtdatavis3d (package (inherit qtsvg) (name "qtdatavis3d") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1449,7 +1412,7 @@ selecting one of the charts themes.") version ".tar.xz")) (sha256 (base32 - "09wbv4g29sq5z2fphk2910albr3iv3l14nch3ml77w6drw9mgzq7")))) + "080fkpxg70m3c697wfnkjhca58b7r1xsqd559jzb21985pdh6g3j")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:tests? _ #f) #f))) ; TODO: Enable the tests @@ -1467,7 +1430,7 @@ customized by using themes or by adding custom items and labels to them.") (define-public qtnetworkauth (package (inherit qtsvg) (name "qtnetworkauth") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1476,7 +1439,7 @@ customized by using themes or by adding custom items and labels to them.") version ".tar.xz")) (sha256 (base32 - "0sspni7zllhspk70yjj2d0li9r4rs3iflnksj8mvjx2yl9qpryyb")))) + "0pi6p7bq54kzij2p69cgib7n55k69jsq0yqq09yli645s4ym202g")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -1496,7 +1459,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) (define-public qtremoteobjects (package (inherit qtsvg) (name "qtremoteobjects") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1505,7 +1468,7 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) version ".tar.xz")) (sha256 (base32 - "03qjj7l63wn1zqkmlja9yrnc38rf6b3apnmsn0kw0h61x72awskd")))) + "1mhlws5w0igf5hw0l90p6dz6k7w16dqfbnk2li0zxdmayk2039m6")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) ((#:phases phases) @@ -1516,6 +1479,10 @@ implementation of OAuth and OAuth2 authenticathon methods for Qt."))) (substitute* "tests/auto/qml/qml.pro" (("integration") "# integration") (("usertypes") "# usertypes")) + ;; disable failing tests: they need network + (substitute* "tests/auto/auto.pro" + (("integration_multiprocess proxy_multiprocess integration_external restart") + "integration_multiprocess")) #t)))))) (inputs `(("qtbase" ,qtbase) @@ -1529,7 +1496,7 @@ processes or computers."))) (define-public qtspeech (package (inherit qtsvg) (name "qtspeech") - (version "5.12.7") + (version "5.14.2") (source (origin (method url-fetch) (uri (string-append "https://download.qt.io/official_releases/qt/" @@ -1538,7 +1505,7 @@ processes or computers."))) version ".tar.xz")) (sha256 (base32 - "0q30m9l28zsdzdmny7wjskd2fjfrgh1l595wir6bhwhil95g3i0c")))) + "1nn6kspbp8hfkz1jhzc1qx1m9z7r1bgkdqgi9n4vl1q25yk8x7jy")))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) @@ -1573,7 +1540,7 @@ message."))) version ".tar.xz")) (sha256 (base32 - "1yj6pcj945fpbc7nihav0plxpx8ikylmxjy7wqdv5znslgf59dw3")) + "0iy9lsl6zxlkca6x2p1506hbj3wmhnaipg23z027wfccbnkxcsg1")) (modules '((ice-9 ftw) (ice-9 match) (srfi srfi-1) @@ -1582,7 +1549,8 @@ message."))) (snippet '(begin (let ((preserved-third-party-files - '("base/third_party/dmg_fp" + '("base/third_party/cityhash" + "base/third_party/dmg_fp" "base/third_party/dynamic_annotations" "base/third_party/icu" "base/third_party/libevent" @@ -1591,23 +1559,31 @@ message."))) "base/third_party/symbolize" "base/third_party/xdg_mime" "base/third_party/xdg_user_dirs" - "net/third_party/http2" "net/third_party/mozilla_security_manager" "net/third_party/nss" - "net/third_party/spdy" - "net/third_party/quic" + "net/third_party/quiche" + "net/third_party/uri_template" "third_party/abseil-cpp" "third_party/angle" "third_party/angle/src/common/third_party/base" "third_party/angle/src/common/third_party/smhasher" + "third_party/angle/src/common/third_party/xxhash" "third_party/angle/src/third_party/compiler" + "third_party/axe-core" "third_party/blink" "third_party/boringssl" "third_party/boringssl/src/third_party/fiat" + "third_party/boringssl/src/third_party/sike" + "third_party/boringssl/linux-x86_64/crypto/third_party/sike" + "third_party/boringssl/linux-aarch64/crypto/third_party/sike" "third_party/breakpad" "third_party/brotli" "third_party/ced" + "third_party/cld_3" "third_party/crc32c" + "third_party/dav1d" + "third_party/dawn" + "third_party/emoji-segmenter" "third_party/ffmpeg" "third_party/googletest" "third_party/hunspell" @@ -1615,11 +1591,13 @@ message."))) "third_party/icu" "third_party/inspector_protocol" "third_party/jinja2" + "third_party/jsoncpp" "third_party/jstemplate" "third_party/khronos" "third_party/leveldatabase" "third_party/libaddressinput" "third_party/libjingle_xmpp" + "third_party/libjpeg" "third_party/libpng" "third_party/libsrtp" "third_party/libsync" @@ -1632,11 +1610,15 @@ message."))) "third_party/libyuv" "third_party/lss" "third_party/markupsafe" - "third_party/mesa" + "third_party/mesa_headers" "third_party/metrics_proto" "third_party/modp_b64" + "third_party/nasm" + "third_party/one_euro_filter" "third_party/opus" "third_party/ots" + "third_party/perfetto" + "third_party/pffft" "third_party/ply" "third_party/polymer" "third_party/protobuf" @@ -1644,14 +1626,25 @@ message."))) "third_party/re2" "third_party/rnnoise" "third_party/skia" + "third_party/skia/include/third_party/skcms/skcms.h" + "third_party/skia/include/third_party/vulkan" "third_party/skia/third_party/gif" "third_party/skia/third_party/skcms" + "third_party/skia/third_party/vulkanmemoryallocator" "third_party/smhasher" "third_party/snappy" "third_party/sqlite" + "third_party/usb_ids" "third_party/usrsctp" "third_party/web-animations-js" "third_party/webrtc" + "third_party/webrtc/common_audio/third_party/fft4g" + "third_party/webrtc/common_audio/third_party/spl_sqrt_floor" + "third_party/webrtc/modules/third_party/fft" + "third_party/webrtc/modules/third_party/g711" + "third_party/webrtc/modules/third_party/g722" + "third_party/webrtc/rtc_base/third_party/base64" + "third_party/webrtc/rtc_base/third_party/sigslot" "third_party/webrtc_overrides" "third_party/widevine/cdm/widevine_cdm_common.h" "third_party/widevine/cdm/widevine_cdm_version.h" @@ -1661,7 +1654,8 @@ message."))) "url/third_party/mozilla" "v8/src/third_party/utf8-decoder" "v8/src/third_party/valgrind" - "v8/third_party/antlr4" + "v8/src/third_party/siphash" + "v8/third_party/v8/builtins" "v8/third_party/inspector_protocol")) (protected (make-regexp "\\.(gn|gyp)i?$"))) (define preserved-club @@ -1690,9 +1684,9 @@ message."))) (list (string-join (list-head dirs delim) "/")) (list-tail dirs delim)))) (define (remove-loudly file) - (format #t "deleting ~a...~%" file) - (force-output) - (delete-file file)) + (format #t "deleting ~a...~%" file) + (force-output) + (delete-file file)) (define (delete-unwanted-files child stat flag base level) (match flag ((or 'regular 'symlink 'stale-symlink) @@ -1733,6 +1727,12 @@ message."))) (substitute* "third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h" (("third_party/curl") "curl")) + (substitute* + '("components/viz/common/gpu/vulkan_context_provider.h" + "components/viz/common/resources/resource_format_utils.h" + "gpu/config/gpu_util.cc") + (("third_party/vulkan/include/") + "")) ;; Replace Google Analytics bundle with an empty file and hope ;; no one notices. @@ -1741,9 +1741,8 @@ message."))) "third_party/analytics/google-analytics-bundle.js" (lambda (port) (const #t))))) - ;; Do not enable support for loading the Widevine DRM plugin. - (substitute* "src/core/config/common.pri" + (substitute* "src/buildtools/config/common.pri" (("enable_widevine=true") "enable_widevine=false")) #t))))) @@ -1774,8 +1773,6 @@ message."))) ("libgcrypt" ,libgcrypt) ("libjpeg" ,libjpeg-turbo) ("libvpx" ,libvpx) - ;; FIXME: configure does not find system lcms - ;; ("lcms" ,lcms) ("libwebp" ,libwebp) ("libx11" ,libx11) ("libxcb" ,libxcb) @@ -1806,6 +1803,7 @@ message."))) ("snappy" ,snappy) ("udev" ,eudev) ("valgrind" ,valgrind) + ("vulkan-headers" ,vulkan-headers) ("xcb-util" ,xcb-util))) (arguments (substitute-keyword-arguments (package-arguments qtsvg) @@ -1889,7 +1887,7 @@ and binaries removed, and adds modular support for using system libraries.") (define-public python-sip (package (name "python-sip") - (version "4.19.18") + (version "4.19.22") (source (origin (method url-fetch) @@ -1897,13 +1895,16 @@ and binaries removed, and adds modular support for using system libraries.") "Downloads/sip/" version "/sip-" version ".tar.gz")) (sha256 (base32 - "07kyd56xgbb40ljb022rq82shgxprlbl0z27mpf1b6zd00w8dgf0")))) + "0idywc326l8v1m3maprg1aq2gph67mmnnsskvlwfx8n19s16idz1")))) (build-system gnu-build-system) (native-inputs `(("python" ,python-wrapper))) (arguments `(#:tests? #f ; no check target + #:imported-modules ((guix build python-build-system) + ,@%gnu-build-system-modules) #:modules ((srfi srfi-1) + ((guix build python-build-system) #:select (python-version)) ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases @@ -1913,14 +1914,8 @@ and binaries removed, and adds modular support for using system libraries.") (bin (string-append out "/bin")) (include (string-append out "/include")) (python (assoc-ref inputs "python")) - (python-version - (last (string-split python #\-))) - (python-major+minor - (string-join - (take (string-split python-version #\.) 2) - ".")) (lib (string-append out "/lib/python" - python-major+minor + (python-version python) "/site-packages"))) (invoke "python" "configure.py" "--bindir" bin @@ -1950,18 +1945,21 @@ module provides support functions to the automatically generated code.") (define-public python-pyqt (package (name "python-pyqt") - (version "5.12.3") + (version "5.14.2") (source (origin (method url-fetch) - (uri (string-append "https://www.riverbankcomputing.com/static/" - "Downloads/PyQt5/" version "/PyQt5_gpl-" - version ".tar.gz")) + ;; PyPI is the canonical distribution point of PyQt. Older + ;; releases are available from the web site. + (uri (list (pypi-uri "PyQt5" version) + (string-append "https://www.riverbankcomputing.com/static/" + "Downloads/PyQt5/" version "/PyQt5-" + version ".tar.gz"))) + (file-name (string-append "PyQt5-"version ".tar.gz")) (sha256 (base32 - "041155bdzp57jy747p5d59740c55yy3241cy1x2lgcdsvqvzmc0d")) + "1c4y4qi1l540gd125ikj0al00k5pg65kmqaixcfbzslrsrphq8xx")) (patches (search-patches "pyqt-configure.patch" - "pyqt-unbundled-qt.patch" "pyqt-public-sip.patch")))) (build-system gnu-build-system) (native-inputs @@ -1986,7 +1984,10 @@ module provides support functions to the automatically generated code.") ("qtxmlpatterns" ,qtxmlpatterns))) (arguments `(#:modules ((srfi srfi-1) + ((guix build python-build-system) #:select (python-version)) ,@%gnu-build-system-modules) + #:imported-modules ((guix build python-build-system) + ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases ;; When building python-pyqtwebengine, <qprinter.h> can not be @@ -2009,14 +2010,8 @@ module provides support functions to the automatically generated code.") (designer (string-append plugins "/designer")) (qml (string-append plugins "/PyQt5")) (python (assoc-ref inputs "python")) - (python-version - (last (string-split python #\-))) - (python-major+minor - (string-join - (take (string-split python-version #\.) 2) - ".")) (lib (string-append out "/lib/python" - python-major+minor + (python-version python) "/site-packages")) (stubs (string-append lib "/PyQt5"))) (invoke "python" "configure.py" @@ -2042,16 +2037,19 @@ contain over 620 classes.") (define-public python-pyqtwebengine (package (name "python-pyqtwebengine") - (version "5.12.1") + (version "5.14.0") (source (origin (method url-fetch) - (uri (string-append - "https://www.riverbankcomputing.com/static/Downloads/PyQtWebEngine/" - version "/PyQtWebEngine_gpl-" version ".tar.gz")) + ;; The newest releases are only available on PyPI. Older ones + ;; are mirrored at the upstream home page. + (uri (list (pypi-uri "PyQtWebEngine" version) + (string-append "https://www.riverbankcomputing.com/static" + "/Downloads/PyQtWebEngine/" version + "/PyQtWebEngine-" version ".tar.gz"))) (sha256 (base32 - "0wylkd7fh2g27y3710rpxmj9wx0wpi3z7qbv6khiddm15rkh81w6")))) + "14hw49akb35n9pgiw564x8ykmsifihn9p2ax2x4zmywb3w2ra5g1")))) (build-system gnu-build-system) (native-inputs `(("python" ,python) @@ -2066,7 +2064,6 @@ contain over 620 classes.") ("qtsvg" ,qtsvg) ("qtdeclarative" ,qtdeclarative) ("qtwebchannel" ,qtwebchannel) - ("python-pyqt" ,python-pyqt) ("qtwebengine" ,qtwebengine))) (arguments `(#:modules ((srfi srfi-1) @@ -2133,6 +2130,9 @@ itself.") (define-public python2-pyqt (package (inherit python-pyqt) (name "python2-pyqt") + (propagated-inputs + `(("python-enum34" ,python2-enum34) + ("python-sip" ,python2-sip))) (native-inputs `(("python-sip" ,python2-sip) ("qtbase" ,qtbase))) @@ -2141,6 +2141,25 @@ itself.") ("python2-enum34" ,python2-enum34) ,@(alist-delete "python" (package-inputs python-pyqt)))))) +(define-public python2-pyqtwebengine + (package/inherit + python-pyqtwebengine + (name "python2-pyqtwebengine") + (native-inputs + `(("python" ,python-2) + ("python-sip" ,python2-sip) + ;; qtbase is required for qmake + ("qtbase" ,qtbase))) + (inputs + `(("python" ,python-2) + ("python-sip" ,python2-sip) + ("python-pyqt" ,python2-pyqt) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine))))) + (define-public python2-pyqt-4 (package (inherit python-pyqt) (name "python2-pyqt") @@ -2338,7 +2357,7 @@ securely. It will not store any data unencrypted unless explicitly requested.") (define-public qwt (package (name "qwt") - (version "6.1.4") + (version "6.1.5") (source (origin (method url-fetch) @@ -2346,7 +2365,7 @@ securely. It will not store any data unencrypted unless explicitly requested.") (string-append "mirror://sourceforge/qwt/qwt/" version "/qwt-" version ".tar.bz2")) (sha256 - (base32 "1navkcnmn0qz8kzsyqmk32d929zl72l0b580w1ica7z5559j2a8m")))) + (base32 "0hf0mpca248xlqn7xnzkfj8drf19gdyg5syzklvq8pibxiixwxj0")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index f5dbbf7838..d18af8f75c 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -1,10 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020 Christopher Howard <christopher@librehacker.com> ;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -191,7 +192,7 @@ memory contents between them.") (origin (method git-fetch) (uri (git-reference - (url "https://github.com/csete/aptdec") + (url "https://github.com/Xerbo/aptdec") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -202,7 +203,15 @@ memory contents between them.") `(("libpng" ,libpng) ("libsndfile" ,libsndfile))) (arguments - `(#:make-flags (list "CC=gcc") + `(#:make-flags + (list + (string-append "CC=" + (if ,(%current-target-system) + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" ,(%current-target-system) "-gcc") + "gcc")) + (string-append "PREFIX=" %output) + (string-append "RPM_BUILD_ROOT=" %output)) #:tests? #f ; no tests #:phases (modify-phases %standard-phases @@ -212,7 +221,7 @@ memory contents between them.") (let ((out (assoc-ref outputs "out"))) (install-file "atpdec" (string-append out "/bin"))) #t))))) - (home-page "https://github.com/csete/aptdec") + (home-page "https://github.com/Xerbo/aptdec") (synopsis "NOAA Automatic Picture Transmission (APT) decoder") (description "Aptdec decodes Automatic Picture Transmission (APT) images. These are medium resolution images of the Earth transmitted by, among other @@ -573,14 +582,14 @@ using GNU Radio and the Qt GUI toolkit.") (define-public fldigi (package (name "fldigi") - (version "4.1.12") + (version "4.1.13") (source (origin (method url-fetch) (uri (string-append "http://www.w1hkj.com/files/fldigi/fldigi-" version ".tar.gz")) (sha256 - (base32 "1yjjv2ss84xfiaidypp476mhrbpnw4zf7mb5cdqwhdh604x0svr1")))) + (base32 "0mlq4z5k3h466plij8hg9xn5xbjxk557g4pw13cplpf32fhng224")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1017,11 +1026,8 @@ gain and standing wave ratio.") (arguments `(#:test-target "test" #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - "BLADERF=no")) + (list (string-append "CC=" ,(cc-for-target)) + "BLADERF=no") #:phases (modify-phases %standard-phases (delete 'configure) diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index f77c153197..2fc7f0a113 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -555,12 +555,6 @@ application bootup, plugins, generators, and Rake tasks.") ;; tzinfo-data is propagated by ruby-activesupport, but it ;; needs to be in the Gemfile to become available. (("group :test do") "group :test do\n gem 'tzinfo-data'")) - #t)) - (add-after 'unpack 'fix-mocha-minitest-require - (lambda _ - (substitute* "test/test_helper.rb" - ;; This chanegd in recent versions of Mocha - (("mocha/minitest") "mocha/mini_test")) #t))))) (propagated-inputs `(("ruby-actionview" ,ruby-actionview) diff --git a/gnu/packages/readline.scm b/gnu/packages/readline.scm index 5f61dcb735..8a36883347 100644 --- a/gnu/packages/readline.scm +++ b/gnu/packages/readline.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -35,12 +35,12 @@ (format #f "mirror://gnu/readline/readline-~a-patches/readline~a-~3,'0d" version (string-join (string-split version #\.) "") seqno)) -(define (readline-patch version seqno sha256) - "Return the origin of Readline patch SEQNO, with expected hash SHA256" +(define (readline-patch version seqno sha256-bv) + "Return the origin of Readline patch SEQNO, with expected hash SHA256-BV" (origin (method url-fetch) (uri (patch-url version seqno)) - (sha256 sha256))) + (sha256 sha256-bv))) (define-syntax-rule (patch-series version (seqno hash) ...) (list (readline-patch version seqno (base32 hash)) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index c90ab88db1..60203ba5ca 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +30,7 @@ (define-public re2 (package (name "re2") - (version "2020-05-01") + (version "2020-06-01") (home-page "https://github.com/google/re2") (source (origin (method git-fetch) @@ -38,7 +38,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0daav6ja99v5hdlwh1xzmja950y7767yw0phcbd0wpn42km39i20")) + "10jdgnp5dvkj3ay7grmdy539vv1srglnfxaqc5kb9v53cbql5hm8")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/rpc.scm b/gnu/packages/rpc.scm index 28c61b54f9..de7d08ae4d 100644 --- a/gnu/packages/rpc.scm +++ b/gnu/packages/rpc.scm @@ -25,10 +25,16 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system cmake) + #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages adns) + #:use-module (gnu packages autotools) + #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages flex) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -192,3 +198,46 @@ browsers to backend services.") (description "This package provides a Python library for communicating with the HTTP/2-based RPC framework gRPC.") (license license:asl2.0))) + +(define-public apache-thrift + (package + (name "apache-thrift") + (version "0.13.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apache/thrift.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17ckl7p7s3ga33yrjisilsimp80ansqxl54wvpkv0j7vx2zvc13y")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:configure-flags + (list (string-append "--with-boost=" + (assoc-ref %build-inputs "boost"))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("flex" ,flex) + ("bison" ,bison))) + (inputs + `(("boost" ,boost) + ("libressl" ,libressl))) + (outputs '("out" "lib" "include")) + (home-page "https://thrift.apache.org/") + (synopsis + "Lightweight, language-independent software stack for point-to-point +RPC") + (description + "Thrift provides clean abstractions and implementations for data +transport, data serialization, and application level processing. The code +generation system takes a simple definition language as input and generates +code across programming languages that uses the abstracted stack to build +interoperable RPC clients and servers.") + (license license:asl2.0))) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4ce42f90bf..08c55e4e3c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -381,13 +381,13 @@ announcement.") (define-public ruby-rake-compiler (package (name "ruby-rake-compiler") - (version "1.0.4") + (version "1.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "rake-compiler" version)) (sha256 (base32 - "1xpdi4w8zaklk1i9ps8g3k0icw3v5fcks092l84w28rgrpx82qip")))) + "0l4hg21v0phfrfsc2hilgmwvn2imxr0byqh8dv16bya1s5d3km0q")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; needs cucumber @@ -645,10 +645,12 @@ outcomes of a code example.") (("rspec rspec-core rspec-expectations rspec-mocks rspec-support") "")) #t)) - (add-before 'build 'update-ffi-in-gemfile + (add-before 'build 'loosen-ffi-requirement (lambda _ + ;; Accept any version of ruby-ffi. (substitute* "Gemfile" - ((" gem 'ffi', '~> 1.9.25'") " gem 'ffi', '~> 1.10.0'")) + ((" gem 'ffi', '~> 1\\.9\\.25'") + " gem 'ffi'")) #t)) (add-before 'build 'remove-unnecessary-dependency-versions-from-gemfile (lambda _ @@ -1542,6 +1544,49 @@ a Ruby object.") (home-page "https://github.com/rails/execjs") (license license:expat))) +(define-public ruby-fakefs + (package + (name "ruby-fakefs") + (version "1.2.2") + (home-page "https://github.com/fakefs/fakefs") + (source (origin + ;; The Rubygems release does not contain tests. + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "008dq9knyip2bfbl0mrk8b8r7bv0k3bf128wcfqsgy1rqal4mgwk")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'replace-git-ls-files + (lambda _ + (substitute* "fakefs.gemspec" + (("`git ls-files lib README.md LICENSE`") + "`find lib README.md LICENSE -type f | sort`")) + #t)) + (add-before 'check 'remove-version-constraints + (lambda _ + ;; Drop hard version requirements for test dependencies. + (substitute* "fakefs.gemspec" + (("(.*add_development_dependency .*), .*" _ dep) + (string-append dep "\n"))) + #t))))) + (native-inputs + `(("ruby-bump" ,ruby-bump) + ("ruby-maxitest" ,ruby-maxitest) + ("ruby-rubocop" ,ruby-rubocop) + ("ruby-rspec" ,ruby-rspec))) + (synopsis "Fake file system for Ruby") + (description + "This package provides a fake file system for use in test suites. It +avoids the need for manually creating temporary directories, or dealing +with platform intricacies in @code{File} and @code{FileUtils}.") + (license license:expat))) + (define-public ruby-orderedhash (package (name "ruby-orderedhash") @@ -1637,18 +1682,70 @@ Ruby.") (define-public ruby-thor (package (name "ruby-thor") - (version "0.19.4") + (version "1.0.1") (source (origin - (method url-fetch) - (uri (rubygems-uri "thor" version)) + ;; Pull from git because the gem has no tests. + (method git-fetch) + (uri (git-reference + (url "https://github.com/erikhuda/thor") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "01n5dv9kql60m6a00zc0r66jvaxx98qhdny3klyj0p3w34pad2ns")))) - (build-system ruby-build-system) - (arguments - '(#:tests? #f)) ; no test suite + "1anrx5vynk57hn5c8ig5pgkmcsbj9q5mvckd5rviw1jid7n89k57")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-readline-tests + (lambda _ + ;; Ensure Readline is initialized before running the + ;; test to avoid a type clash with the mock ::Readline. + ;; See <https://github.com/erikhuda/thor/pull/717>. + (substitute* "spec/line_editor/readline_spec.rb" + (("unless defined\\? ::Readline" all) + (string-append "Thor::LineEditor::Readline.available?\n" + all))) + #t)) + (add-after 'unpack 'remove-coveralls-dependency + (lambda _ + ;; Do not hook the test suite into the online + ;; coveralls service. + (substitute* "Gemfile" + ((".*coveralls.*") "")) + (substitute* "spec/helper.rb" + (("require \"coveralls\"") "") + (("Coveralls::SimpleCov::Formatter") "") + ;; Also drop the WebMock dependency which is only + ;; present to allow a coveralls.io connection, and + ;; would otherwise introduce a circular dependency. + (("require \"webmock/rspec\"") "") + (("WebMock\\.disable_net_connect.*") "")) + #t)) + (add-after 'unpack 'disable-network-tests + (lambda _ + ;; These tests attempt to look up example.com. + (substitute* "spec/actions/file_manipulation_spec.rb" + (("it \"accepts (https?) remote sources" _ proto) + (string-append "xit \"accepts " proto " remote sources"))) + #t)) + (add-after 'unpack 'disable-quality-tests + (lambda _ + ;; These tests attempt to check the git repository for + ;; tabs vs spaces, double vs single quotes, etc, and + ;; depend on the git checkout. + (delete-file "spec/quality_spec.rb") + #t)) + (add-before 'check 'make-files-writable + (lambda _ + ;; The tests needs rw access to the test suite. + (for-each make-file-writable (find-files "spec")) + #t)) + (replace 'check + (lambda _ + (invoke "rspec" "spec")))))) (native-inputs - `(("bundler" ,bundler))) + `(("ruby-rspec" ,ruby-rspec) + ("ruby-simplecov" ,ruby-simplecov))) (synopsis "Ruby toolkit for building command-line interfaces") (description "Thor is a toolkit for building powerful command-line interfaces.") @@ -1756,6 +1853,41 @@ and inspect the environment.") (home-page "https://github.com/e2/nenv") (license license:expat))) +(define-public ruby-ptools + (package + (name "ruby-ptools") + (version "1.3.5") + (source (origin + (method url-fetch) + (uri (rubygems-uri "ptools" version)) + (sha256 + (base32 + "1jb1h1nsk9zwykpniw8filbsk26kjsdlpk5wz6w0zyamcd41h87j")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-/bin/ls + (lambda _ + (substitute* "test/test_binary.rb" + (("/bin/ls") + (which "ls"))) + #t)) + (add-before 'install 'create-gem + (lambda _ + ;; Do not attempt to sign the gem. + (substitute* "Rakefile" + (("spec\\.signing_key = .*") + "")) + (invoke "rake" "gem:create")))))) + (synopsis "Extra methods for Ruby's @code{File} class") + (description + "The @dfn{ptools} (power tools) library extends Ruby's core @code{File} +class with many additional methods modelled after common POSIX tools, such as +@code{File.which} for finding executables, @code{File.tail} to print the last +lines of a file, @code{File.wc} to count words, and so on.") + (home-page "https://github.com/djberg96/ptools") + (license license:artistic2.0))) + (define-public ruby-permutation (package (name "ruby-permutation") @@ -1840,6 +1972,57 @@ libraries such as Libnotify.") (home-page "https://github.com/guard/notiffany") (license license:expat))) +(define-public ruby-forking-test-runner + (package + (name "ruby-forking-test-runner") + (version "1.6.0") + (home-page "https://github.com/grosser/forking_test_runner") + (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 + "1mrglzkj2nrgisccf2f30zbfmcs0awv1g3lw994b2az90fl39x8m")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "spec" + ;; FIXME: ActiveRecord depends on sqlite3 1.3.6, but Guix has + ;; 1.4.1, which in turn breaks the tests that use ActiveRecord. + #:tests? #f + #:phases (modify-phases %standard-phases + (replace 'replace-git-ls-files + (lambda _ + (substitute* "forking_test_runner.gemspec" + (("`git ls-files lib/ bin/ MIT-LICENSE`") + "`find lib/ bin/ MIT-LICENSE -type f | sort`")) + #t)) + (add-before 'check 'remove-version-constraints + (lambda _ + ;; Ignore hard coded version constraints for the tests. + (delete-file "Gemfile.lock") + #t)) + (add-before 'check 'set-HOME + (lambda _ + ;; Many tests invoke Bundler, and fails when Bundler + ;; warns that /homeless-shelter does not exist. + (setenv "HOME" "/tmp") + #t))))) + (native-inputs + `(("ruby-activerecord" ,ruby-activerecord) + ("ruby-bump" ,ruby-bump) + ("ruby-rspec" ,ruby-rspec) + ("ruby-sqlite3" ,ruby-sqlite3) + ("ruby-wwtd" ,ruby-wwtd))) + (propagated-inputs + `(("ruby-parallel-tests" ,ruby-parallel-tests))) + (synopsis "Run every test in a fork") + (description + "This package is a wrapper around @code{parallel_tests} that runs every +test in a fork to avoid pollution and get clean output per test.") + (license license:expat))) + (define-public ruby-formatador (package (name "ruby-formatador") @@ -2082,13 +2265,13 @@ two hashes.") (define-public ruby-rubygems-tasks (package (name "ruby-rubygems-tasks") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (rubygems-uri "rubygems-tasks" version)) (sha256 (base32 - "16cp45qlbcglnqdm4f1vj3diywdz4v024saqpgrz6palf0wmgz2j")))) + "1x3sz3n2dlknd3v7w1mrq6f0ag6pwzhjvg7z29p75w3p42ma1gbx")))) (build-system ruby-build-system) ;; Tests need Internet access. (arguments `(#:tests? #f)) @@ -2311,6 +2494,65 @@ interface for Ruby programs.") (home-page "https://github.com/mperham/connection_pool") (license license:expat))) +(define-public ruby-fast-gettext + (package + (name "ruby-fast-gettext") + (version "2.0.3") + (home-page "https://github.com/grosser/fast_gettext") + (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 + "1dg14apq5sfjshhcq0idphhs7aq9ikzswhqmn689p1h76mxqr1v6")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "spec" + #:phases (modify-phases %standard-phases + (add-before 'check 'remove-version-constraints + (lambda _ + (delete-file "Gemfile.lock") + #t)) + (add-before 'check 'remove-activerecord-test + (lambda _ + ;; FIXME: This test fails because ActiveRecord depends on + ;; a different version of ruby-sqlite than the currently + ;; available one. + (delete-file + "spec/fast_gettext/translation_repository/db_spec.rb") + #t)) + (add-before 'check 'disable-i18n-test + (lambda _ + ;; XXX: This test checks i18n intricasies with Rails 3 and + ;; automatically disables itself for Rails 4.0, but does + ;; not know about newer versions as it has not been updated + ;; since 2014. Disable for later versions of Rails too. + (substitute* "spec/fast_gettext/vendor/string_spec.rb" + (((string-append "ActiveRecord::VERSION::MAJOR == 4 and " + "ActiveRecord::VERSION::MINOR == 0")) + "ActiveRecord::VERSION::MAJOR >= 4")) + #t))))) + (native-inputs + `(;; For tests. + ("ruby-activerecord" ,ruby-activerecord) + ("ruby-activesupport" ,ruby-activesupport) + ("ruby-bump" ,ruby-bump) + ("ruby-forking-test-runner" ,ruby-forking-test-runner) + ("ruby-i18n" ,ruby-i18n) + ("ruby-rubocop" ,ruby-rubocop) + ("ruby-rspec" ,ruby-rspec) + ("ruby-single-cov" ,ruby-single-cov) + ("ruby-sqlite3" ,ruby-sqlite3) + ("ruby-wwtd" ,ruby-wwtd))) + (synopsis "Fast implementation of @code{GetText}") + (description + "This package provides an alternative implementation of the Ruby +@code{GetText} library that is approximately 12x faster yet thread safe.") + ;; Some parts are covered by the Ruby license, see file headers. + (license (list license:expat license:ruby)))) + (define-public ruby-net-http-persistent (package (name "ruby-net-http-persistent") @@ -2651,6 +2893,28 @@ objects.") (home-page "https://github.com/floehopper/metaclass") (license license:expat))) +(define-public ruby-mkmf-lite + (package + (name "ruby-mkmf-lite") + (version "0.3.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "mkmf-lite" version)) + (sha256 + (base32 + "0br9k6zijj1zc25n8p7f2j1mwl58nfgdknf3q13h9k156jvrir06")))) + (build-system ruby-build-system) + (propagated-inputs + `(("ruby-ptools" ,ruby-ptools))) + (synopsis "Lightweight alternative to @code{mkmf}") + (description + "@code{mkmf-lite} is a light version of Ruby's @code{mkmf.rb} designed +for use as a library. It does not create packages, builds, or log files of +any kind. Instead, it provides mixin methods that you can use in FFI or tests +to check for the presence of header files, constants, and so on.") + (home-page "https://github.com/djberg96/mkmf-lite") + (license license:asl2.0))) + (define-public ruby-mspec (package (name "ruby-mspec") @@ -2987,62 +3251,90 @@ Ruby, but can be used for all programs.") (home-page "https://github.com/alexch/rerun/") (license license:expat))) +(define-public ruby-maxitest + (package + (name "ruby-maxitest") + (version "3.6.0") + (home-page "https://github.com/grosser/maxitest") + (source (origin + ;; Pull from git because the gem does not contain tests. + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07b3j0bv3dx5j42jlvpvl07aaxplyi6wq688y3jl8y528ww2hjz8")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "default" + #:phases (modify-phases %standard-phases + (replace 'replace-git-ls-files + (lambda _ + (substitute* "maxitest.gemspec" + (("`git ls-files lib/ bin/ MIT-LICENSE Readme.md`") + "`find lib/ bin/ MIT-LICENSE Readme.md -type f | sort`")) + #t)) + (add-before 'check 'remove-version-constraints + (lambda _ + ;; Don't use specific versions of dependencies, instead + ;; take whatever is available in Guix. + (delete-file "Gemfile.lock") + #t)) + (add-before 'check 'add-mtest-on-PATH + (lambda _ + ;; Tests use 'mtest' which is not automatically added on + ;; PATH. + (setenv "PATH" (string-append (getcwd) "/bin:" + (getenv "PATH"))) + #t))))) + (native-inputs + `(("ps" ,procps) + ("ruby-bump" ,ruby-bump) + ("ruby-byebug" ,ruby-byebug) + ("ruby-rspec" ,ruby-rspec) + ("ruby-wwtd" ,ruby-wwtd))) + (propagated-inputs + `(("ruby-minitest" ,ruby-minitest))) + (synopsis "Minitest with extra features") + (description + "Maxitest is a wrapper around Minitest with extra functionality such +as timeouts, an @command{mtest} executable that can run tests by line +number, support for interrupted tests, better backtraces, and more.") + (license license:expat))) + (define-public ruby-mocha (package (name "ruby-mocha") - (version "1.1.0") + (version "1.11.2") (source (origin (method url-fetch) (uri (rubygems-uri "mocha" version)) (sha256 (base32 - "107nmnngbv8lq2g7hbjpn5kplb4v2c8gs9lxrg6vs8gdbddkilzi")))) + "0hxmkm8qxd04vwj8mqnpyrf2dwy7g1k9zipdfhl4y71cw7ijm9n4")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'add-test-unit-to-search-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((test-unit (assoc-ref inputs "ruby-test-unit"))) - (substitute* "Rakefile" - (("t\\.libs << 'test'" line) - (string-append line "; t.libs << \"" - test-unit "/lib/ruby/vendor_ruby" - "/gems/test-unit-" - ,(package-version ruby-test-unit) - "/lib\"")))) - #t)) - (add-before 'check 'use-latest-redcarpet - (lambda _ - (substitute* "mocha.gemspec" - (("<redcarpet>.freeze, \\[\"~> 1\"\\]") - "<redcarpet>.freeze, [\">= 3\"]")) - #t)) - (add-before 'check 'hardcode-version - (lambda _ - ;; Mocha is undefined at build time - (substitute* "Rakefile" - (("#\\{Mocha::VERSION\\}") ,version)) - #t)) - (add-before 'check 'remove-failing-test - ;; FIXME: This test fails for reasons unrelated to Guix packaging. - (lambda _ - (delete-file "test/acceptance/stubbing_nil_test.rb") - #t))))) - (propagated-inputs - `(("ruby-metaclass" ,ruby-metaclass))) + (add-before 'check 'remove-rubocop-dependency + (lambda _ + ;; Disable dependency on Rubocop, which is just a linter, + ;; and would introduce a circular dependency. + (substitute* "mocha.gemspec" + ((".*rubocop.*") + "true\n")) + #t))))) (native-inputs - `(("bundler" ,bundler) - ("ruby-yard" ,ruby-yard) - ("ruby-introspection" ,ruby-introspection) - ("ruby-test-unit" ,ruby-test-unit) - ("ruby-redcarpet" ,ruby-redcarpet))) + `(("ruby-introspection" ,ruby-introspection))) (synopsis "Mocking and stubbing library for Ruby") (description "Mocha is a mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.") (home-page "http://gofreerange.com/mocha/docs") - (license license:expat))) + ;; Mocha can be used with either license at the users choice. + (license (list license:expat license:ruby)))) (define-public ruby-mocha-on-bacon (package @@ -3502,6 +3794,28 @@ URIs using the normal URI.parse method.") (home-page "https://github.com/dball/data_uri") (license license:expat))) +(define-public ruby-deep-merge + (package + (name "ruby-deep-merge") + (version "1.2.1") + (home-page "https://github.com/danielsdeleo/deep_merge") + ;; The Rubygem source does not contain the gemspec required for tests. + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0c9rk23ilhc0n4489y6lda2wzphpzh6ish6fahlbpjhxn82wb931")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-minitest" ,ruby-minitest))) + (synopsis "Recursively merge hashes") + (description + "Deep Merge is a set of utility functions for @code{Hash}. It permits +you to merge elements inside a hash together recursively.") + (license license:expat))) + (define-public ruby-git (package (name "ruby-git") @@ -3538,6 +3852,38 @@ and manipulate Git repositories by wrapping system calls to the git binary.") (home-page "https://github.com/schacon/ruby-git") (license license:expat))) +(define-public ruby-hocon + (package + (name "ruby-hocon") + (version "1.3.1") + (home-page "https://github.com/puppetlabs/ruby-hocon") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "172hh2zr0n9nnszv0qvlgwszgkrq84yahrg053m68asy79zpmbqr")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "rspec") + (format #t "test suite not run~%")) + #t))))) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (synopsis "HOCON config library") + (description + "This package provides Ruby support for the @acronym{HOCON, +Human-Optimized Config Object Notation} configuration file format. It +supports parsing and modifying HOCON and JSON files, and rendering parsed +objects back to a @code{String}.") + (license license:asl2.0))) + (define-public ruby-slop (package (name "ruby-slop") @@ -3777,13 +4123,13 @@ to reproduce user environments.") (define-public ruby-nokogiri (package (name "ruby-nokogiri") - (version "1.10.5") + (version "1.10.9") (source (origin (method url-fetch) (uri (rubygems-uri "nokogiri" version)) (sha256 (base32 - "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7")))) + "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm")))) (build-system ruby-build-system) (arguments ;; Tests fail because Nokogiri can only test with an installed extension, @@ -3867,6 +4213,70 @@ for select languages.") (home-page "http://coderay.rubychan.de") (license license:expat))) +(define-public ruby-parallel-tests + (package + (name "ruby-parallel-tests") + (version "2.32.0") + (home-page "https://github.com/grosser/parallel_tests") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (string-append name version)) + (sha256 + (base32 + "0l2rjz9fnxv7hvz679v7a75mghsh9x9qpvbyapiavqsx21v42l7m")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "default" + #:phases (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-shell-invokations + (lambda _ + (substitute* '("lib/parallel_tests/tasks.rb" + "spec/parallel_tests/tasks_spec.rb") + (("/bin/sh") (which "sh")) + (("/bin/bash") (which "bash"))) + #t)) + (add-before 'check 'remove-version-constraints + (lambda _ + ;; Remove hard coded version constraints, instead just + ;; use whatever versions are available in Guix. + (delete-file "Gemfile.lock") + (substitute* "Gemfile" + (("'minitest',.*") + "'minitest'\n") + (("'cucumber',.*") + "'cucumber'\n")) + #t)) + (add-before 'check 'disable-rails-test + (lambda _ + ;; XXX: This test attempts to download and run the test + ;; suites of multiple Rails versions(!) directly. + (delete-file "spec/rails_spec.rb") + #t)) + (add-before 'check 'set-HOME + (lambda _ + ;; Some tests check the output of Bundler, and fail when + ;; Bundler warns that /homeless-shelter does not exist. + (setenv "HOME" "/tmp") + #t))))) + (native-inputs + `(("ruby-bump" ,ruby-bump) + ("ruby-cucumber" ,ruby-cucumber) + ("ruby-minitest" ,ruby-minitest) + ("ruby-rake" ,ruby-rake) + ("ruby-rspec" ,ruby-rspec) + ("ruby-spinach" ,ruby-spinach))) + (propagated-inputs + `(("ruby-parallel" ,ruby-parallel))) + (synopsis "Run tests in parallel") + (description + "This package can speed up @code{Test::Unit}, @code{RSpec}, +@code{Cucumber}, and @code{Spinach} tests by running them concurrently +across multiple CPU cores.") + (license license:expat))) + (define-public ruby-parser (package (name "ruby-parser") @@ -4023,6 +4433,61 @@ invocation, and source and documentation browsing.") (home-page "https://pryrepl.org") (license license:expat))) +(define-public ruby-single-cov + (package + (name "ruby-single-cov") + (version "1.3.2") + (home-page "https://github.com/grosser/single_cov") + (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 + "05qdzpcai1p23a120gb9bxkfl4y73k9hicx34ch2lsk31lgi9bl7")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "default" + #:phases (modify-phases %standard-phases + (replace 'replace-git-ls-files + (lambda _ + (substitute* "single_cov.gemspec" + (("`git ls-files lib/ bin/ MIT-LICENSE`") + "`find lib/ bin/ MIT-LICENSE -type f | sort`")) + #t)) + (add-before 'check 'remove-version-constraints + (lambda _ + (delete-file "Gemfile.lock") + #t)) + (add-before 'check 'make-files-writable + (lambda _ + ;; Tests need to create local directories and open files + ;; with write permissions. + (for-each make-file-writable + (find-files "specs" #:directories? #t)) + #t)) + (add-before 'check 'disable-failing-test + (lambda _ + ;; XXX: This test copies assets from minitest, but can + ;; not cope with the files being read-only. Just skip + ;; it for now. + (substitute* "specs/single_cov_spec.rb" + (("it \"complains when coverage is bad\"") + "xit \"complains when coverage is bad\"")) + #t))))) + (native-inputs + `(("ruby-bump" ,ruby-bump) + ("ruby-minitest" ,ruby-minitest) + ("ruby-rspec" ,ruby-rspec) + ("ruby-simplecov" ,ruby-simplecov))) + (synopsis "Code coverage reporting tool") + (description + "This package provides actionable code coverage reports for Ruby +projects. It has very little overhead and can be easily integrated with +development tools to catch coverage problems early.") + (license license:expat))) + (define-public ruby-guard (package (name "ruby-guard") @@ -4072,6 +4537,34 @@ file or directories are modified.") (home-page "https://guardgem.org/") (license license:expat))) +(define-public ruby-spinach + (package + (name "ruby-spinach") + (version "0.11.0") + (home-page "http://github.com/codegram/spinach") + (source (origin + (method url-fetch) + (uri (rubygems-uri "spinach" version)) + (sha256 + (base32 + "1mv053mqz9c8ngqa6wp1ymk2fax6j0yqzax6918akrdr7c3fx3c6")))) + (build-system ruby-build-system) + (arguments + ;; FIXME: Disable tests altogether because they depend on 'capybara' + ;; which in turn depends on many other unpackaged gems. Enable once + ;; capybara is available. + '(#:tests? #f)) + (propagated-inputs + `(("ruby-colorize" ,ruby-colorize) + ("ruby-gherkin-ruby" ,ruby-gherkin-ruby) + ("ruby-json" ,ruby-json))) + (synopsis "Gherkin-based BDD framework") + (description + "Spinach is a high-level @acronym{BDD, Behavior-driven development} +framework that leverages the expressive @code{Gherkin} language to help you +define executable specifications of your code.") + (license license:expat))) + (define-public ruby-tilt (package (name "ruby-tilt") @@ -4776,117 +5269,82 @@ multibyte strings, internationalization, time zones, and testing.") (define-public ruby-crass (package (name "ruby-crass") - (version "1.0.4") + (version "1.0.6") + (home-page "https://github.com/rgrove/crass") (source (origin - (method url-fetch) - (uri (rubygems-uri "crass" version)) + ;; The gem does not contain tests, so pull from git. + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi")))) + "1gbsb81psgb6xhnwpx4s409jc0mk0gijh039sy5xyi8jpaaadp40")))) (build-system ruby-build-system) - (native-inputs - `(("bundler" ,bundler) - ("ruby-minitest" ,ruby-minitest))) (synopsis "Pure Ruby CSS parser") (description "Crass is a pure Ruby CSS parser based on the CSS Syntax Level 3 spec.") - (home-page "https://github.com/rgrove/crass/") (license license:expat))) (define-public ruby-nokogumbo - (let ((commit "fb51ff299a1c34346837580b6d1d9a60fadf5dbd")) - (package - (name "ruby-nokogumbo") - (version (string-append "1.4.7-1." (string-take commit 8))) - (source (origin - ;; We use the git reference, because there's no Rakefile in the - ;; published gem and the tarball on Github is outdated. - (method git-fetch) - (uri (git-reference - (url "https://github.com/rubys/nokogumbo.git") - (commit "d56f954d20a"))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "0bnppjy96xiadrsrc9dp8y6wvdwnkfa930n7acrp0mqm4qywl2wl")))) - (build-system ruby-build-system) - (arguments - `(#:modules ((guix build ruby-build-system) - (guix build utils) - (ice-9 rdelim)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'build-gemspec - (lambda _ - (substitute* "Rakefile" - ;; Build Makefile even without a copy of gumbo-parser sources - (("'gumbo-parser/src',") "") - ;; We don't bundle gumbo-parser sources - (("'gumbo-parser/src/\\*',") "") - (("'gumbo-parser/visualc/include/\\*',") "") - ;; The definition of SOURCES will be cut in gemspec, and - ;; "FileList" will be undefined. - (("SOURCES \\+ FileList\\[") - "['ext/nokogumboc/extconf.rb', 'ext/nokogumboc/nokogumbo.c', ")) - - ;; Copy the Rakefile and cut out the gemspec. - (copy-file "Rakefile" ".gemspec") - (with-atomic-file-replacement ".gemspec" - (lambda (in out) - (let loop ((line (read-line in 'concat)) - (skipping? #t)) - (if (eof-object? line) - #t - (let ((skip-next? (if skipping? - (not (string-prefix? "SPEC =" line)) - (string-prefix? "end" line)))) - (when (or (not skipping?) - (and skipping? (not skip-next?))) - (format #t "~a" line) - (display line out)) - (loop (read-line in 'concat) skip-next?)))))) - #t))))) - (inputs - `(("gumbo-parser" ,gumbo-parser))) - (propagated-inputs - `(("ruby-nokogiri" ,ruby-nokogiri))) - (synopsis "Ruby bindings to the Gumbo HTML5 parser") - (description - "Nokogumbo allows a Ruby program to invoke the Gumbo HTML5 parser and + (package + (name "ruby-nokogumbo") + (version "2.0.2") + (source (origin + ;; We use the git reference, because there's no Rakefile in the + ;; published gem and the tarball on Github is outdated. + (method git-fetch) + (uri (git-reference + (url "https://github.com/rubys/nokogumbo.git") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1qg0iyw450lw6d0j1ghzg79a6l60nm1m4qmrzwzybi585861jxcx")))) + (build-system ruby-build-system) + (native-inputs + `(("ruby-rake-compiler" ,ruby-rake-compiler))) + (inputs + `(("gumbo-parser" ,gumbo-parser))) + (propagated-inputs + `(("ruby-nokogiri" ,ruby-nokogiri))) + (synopsis "Ruby bindings to the Gumbo HTML5 parser") + (description + "Nokogumbo allows a Ruby program to invoke the Gumbo HTML5 parser and access the result as a Nokogiri parsed document.") - (home-page "https://github.com/rubys/nokogumbo/") - (license license:asl2.0)))) + (home-page "https://github.com/rubys/nokogumbo/") + (license license:asl2.0))) (define-public ruby-sanitize (package (name "ruby-sanitize") - (version "4.6.3") + (version "5.1.0") + (home-page "https://github.com/rgrove/sanitize") (source (origin - (method url-fetch) + (method git-fetch) ;; The gem does not include the Rakefile, so we download the - ;; release tarball from Github. - (uri (string-append "https://github.com/rgrove/" - "sanitize/archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + ;; source from Github. + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "ruby-sanitize-system-libxml.patch")) (sha256 (base32 - "1fmqppwif3cm8h79006jfzkdnlxxzlry9kzk03psk0d5xpg55ycc")))) + "0lj0q9yhjp0q0in5majkshnki07mw8m2vxgndx4m5na6232aszl0")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-crass" ,ruby-crass) ("ruby-nokogiri" ,ruby-nokogiri) ("ruby-nokogumbo" ,ruby-nokogumbo))) (native-inputs - `(("bundler" ,bundler) - ("ruby-minitest" ,ruby-minitest) - ("ruby-redcarpet" ,ruby-redcarpet) - ("ruby-yard" ,ruby-yard))) + `(("ruby-minitest" ,ruby-minitest))) (synopsis "Whitelist-based HTML and CSS sanitizer") (description "Sanitize is a whitelist-based HTML and CSS sanitizer. Given a list of acceptable elements, attributes, and CSS properties, Sanitize will remove all unacceptable HTML and/or CSS from a string.") - (home-page "https://github.com/rgrove/sanitize/") (license license:expat))) (define-public ruby-oj @@ -5517,6 +5975,25 @@ It is intended be used by all Cucumber implementations to parse (home-page "https://github.com/cucumber-attic/gherkin") (license license:expat))) +(define-public ruby-gherkin-ruby + (package + (name "ruby-gherkin-ruby") + (version "0.3.2") + (home-page "http://github.com/codegram/gherkin-ruby") + (source (origin + (method url-fetch) + (uri (rubygems-uri "gherkin-ruby" version)) + (sha256 + (base32 + "18ay7yiibf4sl9n94k7mbi4k5zj2igl4j71qcmkswv69znyx0sn1")))) + (build-system ruby-build-system) + (synopsis "Pure Ruby Gherkin parser") + (description + "Gherkin-ruby is a Gherkin parser written in pure Ruby and less than +200 lines of code.") + ;; XXX: No license information anywhere but Readme.md. + (license license:expat))) + (define-public ruby-aruba (package (name "ruby-aruba") @@ -7642,6 +8119,36 @@ is part of Ruby's standard library. It more closely conforms to RFC 3986, RFC 3987, and RFC 6570 (level 4), providing support for IRIs and URI templates.") (license license:asl2.0))) +(define-public ruby-colorize + (package + (name "ruby-colorize") + (version "0.8.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "colorize" version)) + (sha256 + (base32 + "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'remove-codeclimate-dependency + (lambda _ + (substitute* "test/test_colorize.rb" + ;; Do not hook the tests into the online CodeClimate + ;; service which is unnecessary for these tests. + (("require 'codeclimate-test-reporter'") + "") + (("CodeClimate.*") "")) + #t))))) + (synopsis "Add color effects to the @code{String} class") + (description + "This package extends the @code{String} class and adds a +@code{ColorizedString} with methods to set text color, background color, +and text effects.") + (home-page "http://github.com/fazibear/colorize") + (license license:gpl2+))) + (define-public ruby-colorator (package (name "ruby-colorator") @@ -8832,6 +9339,35 @@ the Thin library.") (home-page "https://github.com/sj26/skinny") (license license:expat))) +(define-public ruby-sys-filesystem + (package + (name "ruby-sys-filesystem") + (version "1.3.4") + (source (origin + (method url-fetch) + (uri (rubygems-uri "sys-filesystem" version)) + (sha256 + (base32 + "0mizqnsiagagmracadr16s5na2ks2j3ih1w0f3gp4ssrda6szl01")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'set-HOME + (lambda _ + ;; Some tests attempt to stat $HOME. Let them. + (setenv "HOME" "/tmp") + #t))))) + (propagated-inputs + `(("ruby-ffi" ,ruby-ffi))) + (native-inputs + `(("ruby-mkmf-lite" ,ruby-mkmf-lite))) + (synopsis "Gather file system information") + (description + "The @code{sys-filesystem} library provides a cross-platform interface +for gathering file system information, such as disk space and mount points.") + (home-page "https://github.com/djberg96/sys-filesystem") + (license license:asl2.0))) + (define-public mailcatcher (package (name "mailcatcher") @@ -9096,3 +9632,55 @@ which snapshots to consider and what files to include.") (home-page "https://github.com/hartator/wayback-machine-downloader") (license license:expat))) + +(define-public ruby-wwtd + (package + (name "ruby-wwtd") + (version "1.4.1") + (home-page "http://github.com/grosser/wwtd") + (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 + "0gw7vfnbb41cy67yw82zji3jkhfsgmzcgzaszm99ax77y18wclf2")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove bundled library. + (delete-file "spec/rake-12.3.0.gem") + #t)))) + (build-system ruby-build-system) + (arguments + '(;; XXX: Tests need multiple versions of ruby, wants to run + ;; `bundle install`, etc. + #:tests? #f + #:phases (modify-phases %standard-phases + (replace 'replace-git-ls-files + (lambda _ + (substitute* "wwtd.gemspec" + (("git ls-files lib/ bin/`") + "find lib/ bin/ -type f |sort`")) + #t)) + (add-before 'check 'remove-version-constraints + (lambda _ + (delete-file "Gemfile.lock") + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "rspec" "spec/") + (format #t "test suite not run~%")) + #t))))) + (native-inputs + `(("ruby-bump" ,ruby-bump) + ("ruby-rspec" ,ruby-rspec))) + (synopsis "Run @file{.travis.yml} files locally") + (description + "WWTD is a @dfn{Travis Simulator} that lets you run test matrices +defined in @file{.travis.yml} on your local machine, using @code{rvm}, +@code{rbenv}, or @code{chruby} to test different versions of Ruby.") + (license license:expat))) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 5d0521a216..132a17810c 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -245,18 +245,8 @@ provides defaults for 80% of the use cases.") (install-file manpage (string-append (assoc-ref outputs "out") "/share/man/man1")))) - #t)) - (replace 'install - ;; Adapted from (guix build cargo-build-system). The flags need to - ;; be passed to `cargo install' too, as otherwise it will build - ;; another binary, without the features. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p out) - (setenv "CARGO_TARGET_DIR" "./target") - (invoke "cargo" "install" "--path" "." "--root" out - "--features" "pcre2"))))) - #:cargo-build-flags '("--release" "--features" "pcre2"))) + #t))) + #:features '("pcre2"))) (native-inputs `(("asciidoc" ,asciidoc) ("pcre2" ,pcre2) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 62d2591254..d139657f39 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -1183,4 +1183,4 @@ move around." (generate-all-checksums "vendor") #t))))))))) -(define-public rust rust-1.37) +(define-public rust rust-1.39) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index b58788719e..0fa19e355c 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -124,7 +124,7 @@ the Linux kernel CIFS client.") (build-system gnu-build-system) (arguments `(#:make-flags - (list "CC=gcc") + (list ,(string-append "CC=" (cc-for-target))) #:phases (modify-phases %standard-phases (replace 'configure @@ -159,25 +159,29 @@ the Linux kernel CIFS client.") '("AUTHORS" "INSTALL" "LICENSE" "README.md")) #t)))))) (home-page "https://github.com/ndevilla/iniparser") - (synopsis "Standalone ini file parsing library") + (synopsis "Simple @file{.ini} configuration file parsing library") (description - "iniparser is a free stand-alone @code{ini} file parsing library (Windows -configuration files). It is written in portable ANSI C and should compile -anywhere.") + "The iniParser C library reads and writes Windows-style @file{.ini} +configuration files. These are simple text files with a basic structure +composed of sections, properties, and values. While not expressive, they +are easy to read, write, and modify. + +The library is small, thread safe, and written in portable ANSI C with no +external dependencies.") (license x11))) (define-public samba (package (name "samba") - (version "4.12.2") - (source (origin - (method url-fetch) - (uri (string-append "https://download.samba.org/pub/samba/stable/" - "samba-" version ".tar.gz")) - (sha256 - (base32 - "0l514s2xhsy1lspzgvibbzs80zi84zxr2wx4d40hq85yb2lg5434")) - (modules '((guix build utils))) + (version "4.12.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.samba.org/pub/samba/stable/" + "samba-" version ".tar.gz")) + (sha256 + (base32 "09w7aap1cjc41ayhaksm1igc7p7gl40fad4a1l6q4ds9a2jbrb9z")) + (modules '((guix build utils))) (snippet '(begin ;; TODO: also remove the bundled ‘third_party/popt’. diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 55a642241d..04d5065808 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> -;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -39,16 +39,16 @@ (define-public sane-backends-minimal (package (name "sane-backends-minimal") - (version "1.0.29") + (version "1.0.30") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/sane-project/backends/uploads/" - "54f858b20a364fc35d820df935a86478/" + "c3dd60c9e054b5dee1e7b01a7edc98b0/" "sane-backends-" version ".tar.gz")) (sha256 (base32 - "1vd83vhl0hddwsdh2jb0k3yzycfghi2xa9lc3ga9r12rbx77n0ma")) + "18vryaycps3zpjzxh0wjgg8nv2f4pdvcfxxmdfj28qbzqjlrcp9z")) (modules '((guix build utils))) (snippet ;; Generated HTML files and udev rules normally embed a diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 5b290b9728..4551e57d4a 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -537,7 +537,7 @@ of libraries.") version "/racket-minimal-" version "-src.tgz"))) (sha256 (base32 - "0id094q9024hj2n3907l7dblp3iix1v5289xzskmh5c26xfygp9y")) + "1lxcd4ix8q3089xql48hwccxvcpkinfxwxnc6fhcjdgzqcyxh3ln")) (patches (search-patches "racket-store-checksum-override.patch")))) (synopsis "Racket without bundled packages such as Dr. Racket") diff --git a/gnu/packages/screen.scm b/gnu/packages/screen.scm index c03e2e5e5e..af519de0a3 100644 --- a/gnu/packages/screen.scm +++ b/gnu/packages/screen.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,7 +104,7 @@ controlling terminal and attach to it later.") (define-public byobu (package (name "byobu") - (version "5.127") + (version "5.133") (source (origin (method url-fetch) @@ -112,8 +112,7 @@ controlling terminal and attach to it later.") version "/+download/byobu_" version ".orig.tar.gz")) (sha256 - (base32 - "0fznlj454vgxgzfw3avmvvjpawggs66da5l8k6v0lnzzd75wgbsb")) + (base32 "0qvmmdnvwqbgbhn5c8asmrmjhclcl029py2d2zvmd7h5ij7s93jd")) (patches (search-patches "byobu-writable-status.patch")))) (build-system gnu-build-system) (inputs diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index a87e1e74b6..be6a626b37 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; 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 © 2018 Adam Massmann <massmannak@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -49,14 +49,14 @@ (define-public xapian (package (name "xapian") - (version "1.4.15") + (version "1.4.16") ;; Note: When updating Xapian, remember to update xapian-bindings below. (source (origin (method url-fetch) (uri (string-append "https://oligarchy.co.uk/xapian/" version "/xapian-core-" version ".tar.xz")) (sha256 - (base32 "1sjhz6vgql801rdgl6vrsjj0vy1mwlkcxjx6nr7h27m031cyjs5i")))) + (base32 "0w5znrf9l5ahbxwg04358nzv0xsqnk42isah46j3jzpjkzsg4ds9")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) ("util-linux" ,util-linux "lib"))) @@ -94,7 +94,7 @@ rich set of boolean query operators.") "/xapian-bindings-" version ".tar.xz")) (sha256 (base32 - "0364nalvh13c7wzx52mz4gaf8wg1rm17lw75cs8a813rv091ci38")))) + "06v2prlzwgbcsgjpmd7x2qczcp6dn7836h21bq3gmlnd2mnyr4c7")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-python3") diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 2ab8a85702..8f9f2ed2a4 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -103,7 +103,7 @@ readers and is needed to communicate with such devices through the (define-public eid-mw (package (name "eid-mw") - (version "4.4.23") + (version "4.4.27") (source (origin (method git-fetch) @@ -112,7 +112,7 @@ readers and is needed to communicate with such devices through the (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kf147zxsp5ilghr46hjxa2nsikhv8198n04q81qzn9zln69av04")))) + (base32 "17lw8iwp7h5cs3db80sysr84ffi333cf2vrhncs9l6hy6glfl2v1")))) (build-system glib-or-gtk-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -139,7 +139,7 @@ readers and is needed to communicate with such devices through the ;; Patch it to just return the real version number directly. (substitute* "scripts/build-aux/genver.sh" (("/bin/sh") (which "sh")) - (("^(GITDESC=).*" match) (string-append match ,version "\n"))) + (("^(GITDESC=).*" _ match) (string-append match ,version "\n"))) (invoke "sh" "./bootstrap.sh")))))) (synopsis "Belgian eID Middleware") (description "The Belgian eID Middleware is required to authenticate with @@ -357,7 +357,7 @@ and other operations. It includes a library and a command-line tool.") (assoc-ref %outputs "out") "/lib/udev/rules.d")))) (inputs - `(("json-c" ,json-c) + `(("json-c" ,json-c-0.13) ("libusb" ,libusb) ;; The library "libyubikey" is also known as "yubico-c". ("libyubikey" ,libyubikey))) @@ -457,7 +457,7 @@ PCSC API Python wrapper module.") "/xml/dtd/docbook/docbookx.dtd"))) #t))))) (inputs - `(("json-c" ,json-c) + `(("json-c" ,json-c-0.13) ("hidapi" ,hidapi))) (native-inputs `(("help2man" ,help2man) @@ -497,7 +497,7 @@ operations.") (list "--enable-gtk-doc" "--enable-tests"))) (inputs - `(("json-c" ,json-c) + `(("json-c" ,json-c-0.13) ("libressl" ,libressl))) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index bee7a2e917..be81715116 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -467,14 +467,14 @@ game development and other performance-critical applications.") (define-public python-feather-format (package (name "python-feather-format") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) (uri (pypi-uri "feather-format" version)) (sha256 (base32 - "1adivm5w5ji4qv7hq7942vqlk8l2wgw87bdlsia771z14z3zp857")))) + "00w9hwz7sj3fkdjc378r066vdy6lpxmn6vfac3qx956k8lvpxxj5")))) (build-system python-build-system) (propagated-inputs `(("python-pandas" ,python-pandas) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 5c8c4b5d8a..8f251bb850 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,15 +64,14 @@ (define-public dash (package (name "dash") - (version "0.5.10.2") + (version "0.5.11") (source (origin (method url-fetch) (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/" "dash-" version ".tar.gz")) (sha256 - (base32 - "0wb0bwmqc661hylqcfdp7l7x12myw3vpqk513ncyqrjwvhckjriw")) + (base32 "1jwilfsy249d3q7fagg1ga4bgc2bg1fzw63r2nan0m77bznsdnad")) (modules '((guix build utils))) (snippet '(begin @@ -441,8 +441,16 @@ history mechanism, job control and a C-like syntax.") (base32 "09yyaadq738zlrnlh1hd3ycj1mv3q5hh4xl1ank70mjnqm6bbi6w")))) (build-system gnu-build-system) - (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre" - "--enable-maildir-support") + (arguments `(#:configure-flags + `("--with-tcsetpgrp" + "--enable-pcre" + "--enable-maildir-support" + ;; share/zsh/site-functions isn't populated + "--disable-site-fndir" + ,(string-append + "--enable-additional-fpath=" + "/usr/local/share/zsh/site-functions," ; for foreign OS + "/run/current-system/profile/share/zsh/site-functions")) #:phases (modify-phases %standard-phases (add-before 'configure 'fix-sh @@ -493,21 +501,31 @@ ksh, and tcsh.") (define-public xonsh (package (name "xonsh") - (version "0.6.2") + (version "0.9.18") (source (origin (method url-fetch) (uri (pypi-uri "xonsh" version)) (sha256 (base32 - "0c2bbmdg0n10q54vq9k1z5n53l0mh1hb1q5xprfhilvrbr6hlcwr")) + "1h4rrwzwiwkyi9p49sjn97rl39fqq2r23hchzsw0s3fcwa7m8fkj")) (modules '((guix build utils))) (snippet `(begin - ;; Delete bundled ply. + ;; Delete bundled PLY. (delete-file-recursively "xonsh/ply") - (substitute* '("setup.py") - (("'xonsh\\.ply\\.ply',") "")) + (substitute* "setup.py" + (("\"xonsh\\.ply\\.ply\",") "")) + ;; Use our properly packaged PLY instead. + (substitute* (list "setup.py" + "tests/test_lexer.py" + "xonsh/__amalgam__.py" + "xonsh/lexer.py" + "xonsh/parsers/base.py" + "xonsh/xonfig.py") + (("from xonsh\\.ply\\.(.*) import" _ module) + (format #f "from ~a import" module)) + (("from xonsh\\.ply import") "import")) #t)))) (build-system python-build-system) (arguments @@ -590,8 +608,9 @@ operating system.") "1z16qwix8z6a40fskdgxsibkqgdrp4q6ncp4n6hnv4r9iihy2d8r")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;No tests are included - #:make-flags (list "CC=gcc") + `(#:tests? #f ; no tests are included + #:make-flags + (list ,(string-append "CC=" (cc-for-target))) #:phases (modify-phases %standard-phases (delete 'configure) @@ -783,47 +802,44 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.7.0") - (source (origin - (method url-fetch) - (uri (string-append "https://www.oilshell.org/download/oil-" - version ".tar.xz")) - (sha256 - (base32 - "12c9s462879adb6mwd3fqafk0dnqsm16s18rhym6cmzfzy8v8zm3")))) + ;; https://www.oilshell.org/blog/2020/04/release-0.8.pre4.html#comment-on-version-numbering + (version "0.8.pre5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.oilshell.org/download/oil-" + version ".tar.gz")) + (sha256 + (base32 "02llxx10izxpv1y32qn8k6r0y7al01rzxjirc8h6x8nd9kiaqknl")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; the tests are not distributed in the tarballs - #:strip-binaries? #f ; the binaries cannot be stripped + `(#:strip-binaries? #f ; strip breaks the binary #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-compiler-invocation - (lambda _ - (substitute* "configure" - ((" cc ") " gcc ")) - #t)) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (setenv "CC" "gcc") - ;; The configure script doesn't recognize CONFIG_SHELL. - (setenv "CONFIG_SHELL" (which "sh")) + (substitute* "configure" + ((" cc ") " $CC ")) (invoke "./configure" (string-append "--prefix=" out) "--with-readline")))) - (add-before 'install 'make-destination + (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.pre5/INSTALL.txt#L38-L48 (lambda _ - ;; The build scripts don't create the destination directory. - (mkdir-p (string-append (assoc-ref %outputs "out") "/bin"))))))) + (let* ((oil "_bin/oil.ovm")) + (invoke/quiet oil "osh" "-c" "echo hi") + (invoke/quiet oil "osh" "-n" "configure"))))))) (inputs `(("readline" ,readline))) - (synopsis "Bash-compatible Unix shell") - (description "Oil is a Unix / POSIX shell, compatible with Bash. It -implements the Oil language, which is a new shell language to which Bash can be -automatically translated. The Oil language is a superset of Bash. It also -implements the OSH language, a statically-parseable language based on Bash as it -is commonly written.") - (home-page "https://www.oilshell.org/") - (license (list psfl ; The Oil sources include a patched Python 2 source tree + (home-page "https://www.oilshell.org") + (synopsis "Programming language and Bash-compatible Unix shell") + (description "Oil is a programming language with automatic translation for +Bash. It includes osh, a Unix/POSIX shell that runs unmodified Bash +scripts.") + (license (list psfl ; tarball includes python2.7 asl2.0)))) (define-public oil-shell diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index 31768c814e..cef5eb90ee 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm @@ -30,14 +30,14 @@ (define-public skalibs (package (name "skalibs") - (version "2.9.2.0") + (version "2.9.2.1") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" version ".tar.gz")) (sha256 - (base32 "1i9d7w031kh338aq6xdsf8vl5amxbwxbny8lnrxlzydqvn8nxhz4")))) + (base32 "0ff551181vv9d1z5sv7yg6n4b88ajcdircs4p4nif4yl7nsrj2r5")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests exist @@ -62,14 +62,14 @@ and file system operations. It is used by all skarnet.org software.") (define-public execline (package (name "execline") - (version "2.6.0.0") + (version "2.6.0.2") (source (origin (method url-fetch) (uri (string-append "https://skarnet.org/software/execline/execline-" version ".tar.gz")) (sha256 - (base32 "1m6pvawxqaqjr49456vyjyl8dnqwvr19v77sjj7dnglfijwza5al")))) + (base32 "0wdg93hwpxxdqmsnd8j1nf3m2pf85n3rxaawzaih1y0ajyz6gwya")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments @@ -263,7 +263,7 @@ environment."))) (define-public s6-portable-utils (package (name "s6-portable-utils") - (version "2.2.2.2") + (version "2.2.2.4") (source (origin (method url-fetch) @@ -271,7 +271,7 @@ environment."))) "https://skarnet.org/software/s6-portable-utils/s6-portable-utils-" version ".tar.gz")) (sha256 - (base32 "1k3la37q46n93vjwk9wm9ym4w87z6lqzv43f03qd0vqj9k94mpv3")))) + (base32 "0494saavpqfa4v5kib69p186858yjy87hm5qm804a4xvq51wqbwm")))) (build-system gnu-build-system) (inputs `(("skalibs" ,skalibs))) (arguments diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 29a024c8a9..4aff8dbf56 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) @@ -101,16 +102,26 @@ system to use the host GPU to accelerate 3D rendering.") (define-public spice-protocol (package (name "spice-protocol") - (version "0.14.1") + (version "0.14.2") (source (origin (method url-fetch) (uri (string-append "https://www.spice-space.org/download/releases/" - "spice-protocol-" version ".tar.bz2")) + "spice-protocol-" version ".tar.xz")) (sha256 (base32 - "0ahk5hlanwhbc64r80xmchdav3ls156cvh9l68a0l22bhdhxmrkr")))) - (build-system gnu-build-system) + "1sgi9ksb781qs47pdbw0bmnyg8dgayn5xrzj6vzdy043nv466flg")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + ,name "-" ,version))) + (install-file "COPYING" doc) + #t)))))) (synopsis "Protocol headers for the SPICE protocol") (description "SPICE (the Simple Protocol for Independent Computing Environments) is a remote-display system built for virtual environments diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index ec5c4d5a18..d42971d4f0 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -43,7 +43,6 @@ #:use-module (gnu packages groff) #:use-module (gnu packages guile) #:use-module (gnu packages libedit) - #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages m4) @@ -133,7 +132,7 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "8.2p1") + (version "8.3p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" @@ -141,7 +140,7 @@ a server that supports the SSH-2 protocol.") (patches (search-patches "openssh-hurd.patch")) (sha256 (base32 - "0wg6ckzvvklbzznijxkk28fb8dnwyjd0w30ra0afwv6gwr8m34j3")))) + "1cl74ghi9y21dc3f4xa0qamb7dhwacbynh1ks9syprrg8zhgpgpj")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff) ("pkg-config" ,pkg-config))) @@ -150,9 +149,7 @@ a server that supports the SSH-2 protocol.") ("pam" ,linux-pam) ("mit-krb5" ,mit-krb5) ("zlib" ,zlib) - ,@(if (hurd-target?) - '() - `(("xauth" ,xauth))))) ; for 'ssh -X' and 'ssh -Y' + ("xauth" ,xauth))) ; for 'ssh -X' and 'ssh -Y' (arguments `(#:test-target "tests" ;; Otherwise, the test scripts try to use a nonexistent directory and @@ -239,6 +236,15 @@ Additionally, various channel-specific options can be negotiated.") "See LICENSE in the distribution.")) (home-page "https://www.openssh.com/"))) +;; OpenSSH without X support. This allows to use OpenSSH without dragging X +;; libraries to the closure. +(define-public openssh-sans-x + (package + (inherit openssh) + (name "openssh-sans-x") + (inputs (alist-delete "xauth" (package-inputs openssh))) + (synopsis "OpenSSH client and server without X11 support"))) + (define-public guile-ssh (package (name "guile-ssh") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 224c19cea3..482eea9178 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -184,7 +184,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") (define r-with-tests (package (name "r-with-tests") - (version "4.0.0") + (version "4.0.1") (source (origin (method url-fetch) (uri (string-append "mirror://cran/src/base/R-" @@ -192,7 +192,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") version ".tar.gz")) (sha256 (base32 - "0h1995smlyiyhx7gpg9paxsfqrcn6g9bbp5h9r47i6an3clv1gh6")))) + "0ckgpihkih4b44rx48hpg9p6bv0w67j5z3qc8s4giy6qv2j29zlm")))) (build-system gnu-build-system) (arguments `(#:disallowed-references (,tzdata-for-tests) @@ -513,14 +513,14 @@ code for possible problems.") (define-public r-foreign (package (name "r-foreign") - (version "0.8-79") + (version "0.8-80") (source (origin (method url-fetch) (uri (cran-uri "foreign" version)) (sha256 (base32 - "1d5rk4k3khjrir1b4ciridd6vdpcgzi35r7p7ra4ky7vbaabcdmg")))) + "0wjdi3qn9famsxmpdyyahidaid0yhxlpx4ad9k8vrxhxd6xspasp")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software") @@ -599,13 +599,13 @@ and operations on them using LAPACK and SuiteSparse.") (define-public r-nlme (package (name "r-nlme") - (version "3.1-147") + (version "3.1-148") (source (origin (method url-fetch) (uri (cran-uri "nlme" version)) (sha256 - (base32 "1rqc3wy3lmy0wczsvsn8yszzsxhppfwg4iznb1j6ki2qawpdij7g")))) + (base32 "1cmf43r82kar1hpj9dhqfi3rbjka0z5s6cbdy7fklwh99xj3phkp")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -702,14 +702,14 @@ analysis.") (define-public r-survival (package (name "r-survival") - (version "3.1-12") + (version "3.2-3") (source (origin (method url-fetch) (uri (cran-uri "survival" version)) (sha256 (base32 - "07zj3gpwncw89hbiwjb6ih9axv5zwdqnbgz9yw9xzws6nrpdcbmn")))) + "07h76r2y23w889257krlijcw4n4d7ssx92x7i5qb1xyv5gyvl3rx")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -1097,13 +1097,13 @@ using just two functions: melt and dcast (or acast).") (define-public r-ggplot2 (package (name "r-ggplot2") - (version "3.3.0") + (version "3.3.1") (source (origin (method url-fetch) (uri (cran-uri "ggplot2" version)) (sha256 - (base32 "0j21am605kqqzlwhm45kaj0m2irnmy2vz0j7kzi9f0qdzrv3q3ij")))) + (base32 "04wvswadlry2n9gnfqlpdqsav1wllnlzb5c9w9ydynllv4vkwfm0")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -1117,6 +1117,8 @@ using just two functions: melt and dcast (or acast).") ("r-scales" ,r-scales) ("r-svglite" ,r-svglite) ; Needed for 'ggsave' ("r-withr" ,r-withr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://ggplot2.tidyverse.org") (synopsis "An implementation of the grammar of graphics") (description @@ -1665,27 +1667,25 @@ and printing capabilities than traditional data frames.") (define-public r-dplyr (package (name "r-dplyr") - (version "0.8.5") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "dplyr" version)) (sha256 (base32 - "0602b4a9nffxx67q57csqp87nkrv33nn9wlaw1458yys9fzx6l2p")))) + "1wxi7pzw1mqkgay2s9hwlkpkxfzydngf56wrf7k93n14rlqm3dmz")))) (build-system r-build-system) (propagated-inputs - `(("r-assertthat" ,r-assertthat) - ("r-bh" ,r-bh) - ("r-ellipsis" ,r-ellipsis) + `(("r-ellipsis" ,r-ellipsis) + ("r-generics" ,r-generics) ("r-glue" ,r-glue) + ("r-lifecycle" ,r-lifecycle) ("r-magrittr" ,r-magrittr) - ("r-pkgconfig" ,r-pkgconfig) - ("r-plogr" ,r-plogr) ("r-r6" ,r-r6) - ("r-rcpp" ,r-rcpp) ("r-rlang" ,r-rlang) ("r-tibble" ,r-tibble) - ("r-tidyselect" ,r-tidyselect))) + ("r-tidyselect" ,r-tidyselect) + ("r-vctrs" ,r-vctrs))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/dplyr") @@ -1703,21 +1703,23 @@ database.") (define-public r-dbplyr (package (name "r-dbplyr") - (version "1.4.3") + (version "1.4.4") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "1si8sahr1kwq1xgjzi9klkahad07pyrsngy75y1f74f64907pb39")))) + "1v0p0557n6bz84nq9jc4182k00mdd1hvz7h4w3bbg81z0fmpj0d8")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) + ("r-blob" ,r-blob) ("r-dbi" ,r-dbi) ("r-dplyr" ,r-dplyr) ("r-glue" ,r-glue) ("r-lifecycle" ,r-lifecycle) + ("r-magrittr" ,r-magrittr) ("r-purrr" ,r-purrr) ("r-r6" ,r-r6) ("r-rlang" ,r-rlang) @@ -2052,13 +2054,13 @@ jackknifed confidence intervals are available for most estimates.") (define-public r-rversions (package (name "r-rversions") - (version "2.0.1") + (version "2.0.2") (source (origin (method url-fetch) (uri (cran-uri "rversions" version)) (sha256 (base32 - "1ic6sxnyya24d5xsxjg3fba73fhya9fhs0kaf66yha6nwxj1zv2i")))) + "0ghpla5r3d6zh5dn6d6ii5p0a952lcdv004m88fk8r9k76vz88rm")))) (build-system r-build-system) (propagated-inputs `(("r-curl" ,r-curl) @@ -2092,14 +2094,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.1.6") + (version "1.1.7") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "170rphqq28j0pcr28g6dxv3isp436ajhyzkpri31pn0lfm3szs6h")))) + "02vfkqm1kw54y1qax8cmiyg2nk6bmh8j87fc3j22k7852s3y4xxj")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2589,13 +2591,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.9.870.2.0") + (version "0.9.900.1.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "1r7iajxvbyvslsy16rqacc95azmjciw9lvcq31xl97fl09kmsq5v")))) + "1zisw2yrb9qmmrs7q8y83mrm7lh1c2786h70gs8jwc0si16x0lq5")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (propagated-inputs @@ -2681,13 +2683,13 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.1") + (version "2.2") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "0pa5xs0vzwn9vsgysjqbks9v5lbqphxh5agciskllibc40hhwigg")))) + (base32 "196r3hq1gcr6iamxllq4k40cb109b16ng24ky0q68bwrll80q1mh")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs @@ -2702,6 +2704,8 @@ certain criterion, e.g., it contains a certain regular file.") ("r-xfun" ,r-xfun) ("r-yaml" ,r-yaml) ("ghc-pandoc" ,ghc-pandoc))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://rmarkdown.rstudio.com") (synopsis "Convert R Markdown documents into a variety of formats") (description @@ -3229,16 +3233,17 @@ analysis of large sparse or dense matrices.") (define-public r-glmnet (package (name "r-glmnet") - (version "3.0-2") + (version "4.0") (source (origin (method url-fetch) (uri (cran-uri "glmnet" version)) (sha256 - (base32 "0b3nnfzp8dxcdkvxr0yvy6d58yk3xg4kz1wqa42bxqppbakmd2gl")))) + (base32 "1vy8v6filhw9sflk8wwnbgz2mryg70ml4iq4y1c34dlwxczcbzv8")))) (build-system r-build-system) (native-inputs - `(("gfortran" ,gfortran))) + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) (propagated-inputs `(("r-foreach" ,r-foreach) ("r-matrix" ,r-matrix) @@ -3572,13 +3577,13 @@ vignettes.") (define-public r-mvtnorm (package (name "r-mvtnorm") - (version "1.1-0") + (version "1.1-1") (source (origin (method url-fetch) (uri (cran-uri "mvtnorm" version)) (sha256 (base32 - "0pfb6qk4yb6xaya8i1wvx6dnc3jj4s2g94sq2kzv4p8zn4pf24l1")))) + "1pj51mi0g6ip7a2nhzc93yv9289kaayvspjvsbgbgarvx7axlrg9")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -3699,14 +3704,14 @@ selection.") (define-public r-tidyr (package (name "r-tidyr") - (version "1.0.3") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "tidyr" version)) (sha256 (base32 - "18ypk63nifp5jj5d9880m49zdv7n4a18gac59wj5z5xk6qr7vfal")))) + "0vqj5dakb35axv4l0yrihpa16vnz2b5bhaaqg7l0gsqbb04qcb00")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -4071,14 +4076,14 @@ hierarchical clustering dendrograms.") (define-public r-preprocesscore (package (name "r-preprocesscore") - (version "1.48.0") + (version "1.50.0") (source (origin (method url-fetch) (uri (bioconductor-uri "preprocessCore" version)) (sha256 (base32 - "0zrb9hx60vppkg0priczdb301nhq5f0dj8lkc8rcc4xrqqr915qm")))) + "0q1406kswylc8zn5k3wyd34p34pfzbhi1ggkfsh30zcjp6adbwjl")))) (properties `((upstream-name . "preprocessCore"))) (build-system r-build-system) @@ -5215,13 +5220,13 @@ bootstrap test for generalized linear mixed models.") (define-public r-cardata (package (name "r-cardata") - (version "3.0-3") + (version "3.0-4") (source (origin (method url-fetch) (uri (cran-uri "carData" version)) (sha256 - (base32 "0cg2yxzn0pdjqykr60my1fzpfkqac21fll5hv3m9w5c9sayq8swq")))) + (base32 "09270j39n4jpswxqps20b12zaj8dz4rrqpk2l2j5bnf1xzizb9nd")))) (properties `((upstream-name . "carData"))) (build-system r-build-system) (home-page "https://r-forge.r-project.org/projects/car/") @@ -5234,13 +5239,13 @@ Companion to Applied Regression, Third Edition, Sage.") (define-public r-car (package (name "r-car") - (version "3.0-7") + (version "3.0-8") (source (origin (method url-fetch) (uri (cran-uri "car" version)) (sha256 - (base32 "11sfk1l41j27mrfy16g7b02c570n3gy9icvpcrfjh1biykqa565d")))) + (base32 "0ig1691kxbzkrsq8xi5a6fq2f0vq22j1dn54jxdkldqr5vri1m57")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) @@ -5284,18 +5289,49 @@ computations taking place in C++ code, and support for interrupting those comput even in multithreaded code, typically using OpenMP.") (license license:gpl3+))) +(define-public r-tmvnsim + (package + (name "r-tmvnsim") + (version "1.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "tmvnsim" version)) + (sha256 + (base32 + "03xsvsg9bqvgl98ywid3h91mmlhax5s6wvmypp3hq91vmc5kvxlp")))) + (properties `((upstream-name . "tmvnsim"))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "https://www.r-project.org") + (synopsis "Truncated multivariate normal simulation") + (description + "This package implements importance sampling from the truncated +multivariate normal using the @dfn{Geweke-Hajivassiliou-Keane} (GHK) +simulator. Unlike Gibbs sampling which can get stuck in one truncation +sub-region depending on initial values, this package allows truncation based +on disjoint regions that are created by truncation of absolute values. The +GHK algorithm uses simple Cholesky transformation followed by recursive +simulation of univariate truncated normals hence there are also no convergence +issues. Importance sample is returned along with sampling weights, based on +which, one can calculate integrals over truncated regions for multivariate +normals.") + (license license:gpl2))) + (define-public r-mnormt (package (name "r-mnormt") - (version "1.5-7") + (version "2.0.0") (source (origin (method url-fetch) (uri (cran-uri "mnormt" version)) (sha256 (base32 - "1y0vlvh02wza2wvfd29wxjlw3jg9rnwnx3kph5qz4179kz87fgfg")))) + "1gxhma0zqsx5pkc0871vszq1y7akwdmpm8rhws5b3gr6w9mx4agf")))) (build-system r-build-system) + (propagated-inputs + `(("r-tmvnsim" ,r-tmvnsim))) (native-inputs `(("gfortran" ,gfortran))) (home-page "http://azzalini.stat.unipd.it/SW/Pkg-mnormt") @@ -5330,14 +5366,14 @@ first and second order derivatives.") (define-public r-sn (package (name "r-sn") - (version "1.6-1") + (version "1.6-2") (source (origin (method url-fetch) (uri (cran-uri "sn" version)) (sha256 (base32 - "0snri2k8qslb7478c5jz4a5xxmmb1ipmp8x1jizi8mhj2cjic1w0")))) + "179xb7yb8br99aa5awm2yxsy0v5w1kdhv6a7ifaliz2y64677m1g")))) (build-system r-build-system) (propagated-inputs `(("r-mnormt" ,r-mnormt) @@ -5461,14 +5497,14 @@ is supported.") (define-public r-lubridate (package (name "r-lubridate") - (version "1.7.8") + (version "1.7.9") (source (origin (method url-fetch) (uri (cran-uri "lubridate" version)) (sha256 (base32 - "0g2m9dyhgds4shdrk76w7rqdl9msam4rii2qrhz12gipzhi9k89x")))) + "0wnjzvfkrgp2hkr8g5r5vcgcxmsq8bhdmkzkk0m93wr3fgh5xyfb")))) (build-system r-build-system) (propagated-inputs `(("r-generics" ,r-generics) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 5cabb40eb0..c10226bb32 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -46,6 +46,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix packages)) (define-public blind @@ -62,12 +63,8 @@ (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target - #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + #:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -152,14 +149,11 @@ optimising the environment for the application in use and the task performed.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output) - (string-append "FREETYPEINC=" - (assoc-ref %build-inputs "freetype") - "/include/freetype2"))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output) + (string-append "FREETYPEINC=" + (assoc-ref %build-inputs "freetype") + "/include/freetype2")) #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs @@ -190,11 +184,8 @@ numbers of user-defined menu items efficiently.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)))) (inputs `(("libx11" ,libx11) ("libxkbfile" ,libxkbfile) @@ -221,11 +212,8 @@ numbers of user-defined menu items efficiently.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) (inputs `(("libx11" ,libx11) @@ -253,11 +241,8 @@ numbers of user-defined menu items efficiently.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure) @@ -298,11 +283,8 @@ drawing.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure) @@ -347,14 +329,11 @@ point surf to another URI by setting its XProperties.") (delete 'configure)) ; no configuration #:tests? #f ; no test suite #:make-flags - (let ((target ,(%current-target-system)) - (pkg-config (lambda (flag) + (let ((pkg-config (lambda (flag) (string-append "$(shell pkg-config " flag " " "xft fontconfig x11 libpng)")))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) + (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output) (string-append "INCS=-I. " (pkg-config "--cflags")) (string-append "LIBS=" (pkg-config "--libs") " -lm"))))) @@ -390,11 +369,8 @@ few minutes.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)))) (inputs `(("libx11" ,libx11))) (home-page "https://git.2f30.org/xbattmon/") @@ -452,11 +428,8 @@ drivers capable of injecting packets in wireless networks.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -484,11 +457,8 @@ left.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -514,11 +484,8 @@ left.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -550,11 +517,8 @@ cups server to be installed.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure) ; no configure script @@ -588,11 +552,8 @@ cups server to be installed.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -621,11 +582,8 @@ environment variable.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -666,11 +624,8 @@ initially intended to be used on musl-based Linux distributions. (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -707,11 +662,8 @@ colormap to stdout.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script @@ -756,11 +708,8 @@ as -1, to be used instead of U+FFFD. (arguments `(#:test-target "test" #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure) ; no configure script @@ -805,11 +754,8 @@ chat output in the background.") (arguments `(#:tests? #f ; no tests #:make-flags - (let ((target ,(%current-target-system))) - (list (string-append "CC=" (if target - (string-append target "-gcc") - "gcc")) - (string-append "PREFIX=" %output))) + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 89dbe4578b..c4bc5dd82f 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org> @@ -360,14 +360,14 @@ over the Internet in an HTTP and CDN friendly way; (define-public rclone (package (name "rclone") - (version "1.51.0") + (version "1.52.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/rclone/rclone/releases/download/" "v" version "/rclone-v" version ".tar.gz")) (sha256 - (base32 "1vi7sbdr5irlgxn080nwzs9lr893cxk59y4vnannzr8prvzvgd9y")))) + (base32 "0lvmm3qpdix4mnip1dfyawsdvzbcdxw0b0zz7xbgmicbfv1vlpx9")))) ;; FIXME: Rclone bundles some libraries Guix already provides. Need to ;; un-bundle them. (build-system go-build-system) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index ad4c30d064..99bdd7704b 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -32,7 +32,7 @@ (define-public syncthing (package (name "syncthing") - (version "1.4.2") + (version "1.5.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -40,7 +40,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "16dqpbn4saxmmmqd5ya8zdkwvxzz4nim1p4w954zkkdz3cyg86h6")) + "1394b8y4nllihnjngc0kjpdy7pvyh6v1h09hkn8rdmwxpsdkqkjb")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -77,7 +77,7 @@ ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb) ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture) ("go-golang-org-x-time" ,go-golang-org-x-time) - ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2) + ("go-github-com-go-ldap-ldap" ,go-github-com-go-ldap-ldap) ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf) ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil) ("go-github-com-prometheus-client-golang" @@ -394,7 +394,7 @@ compression format.") (define-public go-github-com-jackpal-gateway (package (name "go-github-com-jackpal-gateway") - (version "1.0.5") + (version "1.0.6") (source (origin (method git-fetch) (uri (git-reference @@ -403,7 +403,7 @@ compression format.") (file-name (git-file-name name version)) (sha256 (base32 - "1ird5xmizj632l3dq24s2xgb8w1dn6v8xznlqz252gvngyr2gjl1")))) + "1yms2dw4dnz4cvj9vhwh6193d50jhvn5awsp2g3a4lcc3sjrgd6m")))) (build-system go-build-system) (arguments `(#:import-path "github.com/jackpal/gateway")) @@ -942,60 +942,51 @@ server tools for Prometheus metrics.") (home-page "https://github.com/prometheus/client_golang") (license asl2.0))) -(define-public go-gopkg.in-asn1-ber.v1 +(define-public go-github-com-go-asn1-ber-asn1-ber (package - (name "go-gopkg.in-asn1-ber.v1") - (version "1.3") + (name "go-github-com-go-asn1-ber-asn1-ber") + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://gopkg.in/asn1-ber.v1") + (url "https://github.com/go-asn1-ber/asn1-ber") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "00ixms8x3lrhywbvq5v2sagcqsxa1pcnlk17dp5lnwckv3xg4psb")))) + "0dxfmgk84fn0p6pz3i0cspynh6rly5pfk9wghm1q07mx99npln02")))) (build-system go-build-system) (arguments - '(#:import-path "gopkg.in/asn1-ber.v1" - ;; Tests don't pass "vet" on Go since 1.11. See - ;; https://github.com/go-asn1-ber/asn1-ber/issues/20. - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key import-path #:allow-other-keys) - (invoke "go" "test" - "-vet=off" - import-path)))))) + '(#:import-path "github.com/go-asn1-ber/asn1-ber")) (synopsis "ASN.1 BER encoding and decoding in Go") (description "This package provides ASN.1 BER encoding and decoding in the Go language.") - (home-page "https://gopkg.in/asn1-ber.v1") + (home-page "https://github.com/go-asn1-ber/asn1-ber") (license expat))) -(define-public go-gopkg.in-ldap.v2 +(define-public go-github-com-go-ldap-ldap (package - (name "go-gopkg.in-ldap.v2") - (version "2.5.1") + (name "go-github-com-go-ldap-ldap") + (version "3.1.7") (source (origin (method git-fetch) (uri (git-reference - (url "https://gopkg.in/ldap.v2") + (url "https://github.com/go-ldap/ldap") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1wf81wy04nhkqs0dg5zkivr4sh37r83bxrfwjz9vr4jq6vmljr3h")))) + "1z6wxia7a1jkmasa9mm6g4n8f0qqbp5rw6vk0zyh4vzk7azklnj2")))) (build-system go-build-system) (arguments - '(#:import-path "gopkg.in/ldap.v2" - #:tests? #f)) ; the test suite requires network access + '(#:import-path "github.com/go-ldap/ldap/v3" + #:tests? #f)) ; test suite requires internet access (propagated-inputs - `(("go-gopkg.in-asn1-ber.v1" ,go-gopkg.in-asn1-ber.v1))) + `(("go-github-com-go-asn1-ber-asn1-ber" ,go-github-com-go-asn1-ber-asn1-ber))) + (home-page "https://github.com/go-ldap/ldap") (synopsis "LDAP v3 functionality for Go") (description "This package provides basic LDAP v3 functionality in the Go language.") - (home-page "https://gopkg.in/ldap.v2") (license expat))) (define-public go-github-com-flynn-archive-go-shlex diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index acd7b63ef7..da3f852c05 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix packages) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -28,6 +30,10 @@ #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #: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 ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -36,6 +42,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages sqlite) #:use-module (gnu packages web) + #:use-module (gnu packages webkit) #:use-module (gnu packages xml)) (define-public newsboat @@ -58,7 +65,7 @@ ("asciidoc" ,asciidoc))) (inputs `(("curl" ,curl) - ("json-c" ,json-c) + ("json-c" ,json-c-0.13) ("libxml2" ,libxml2) ("ncurses" ,ncurses) ("stfl" ,stfl) @@ -89,6 +96,63 @@ file system, and many more features.") (license (list license:gpl2+ ; filter/* license:expat)))) ; everything else +(define-public liferea + (package + (name "liferea") + (version "1.12.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/lwindolf/liferea/" + "releases/download/v" version "/liferea-" + version "b.tar.bz2")) + (sha256 + (base32 "03pr1gmiv5y0i92bkhcxr8s311ll91chz19wb96jkixx32xav91d")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'prepare-build-environment + (lambda* (#:key inputs #:allow-other-keys) + ;; Workaround for https://github.com/lwindolf/liferea/issues/767. + (setenv "WEBKIT_DISABLE_COMPOSITING_MODE" "1"))) + (add-after 'install 'wrap-gi-python + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH")) + (python-path (getenv "PYTHONPATH"))) + (wrap-program (string-append out "/bin/liferea") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) + `("PYTHONPATH" ":" prefix (,python-path)))) + #t))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib-networking" ,glib-networking) + ("gnome-keyring" ,gnome-keyring) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gstreamer" ,gstreamer) + ("json-glib" ,json-glib) + ("libnotify" ,libnotify) + ("libpeas" ,libpeas) + ("libsecret" ,libsecret) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("python" ,python) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("webkitgtk" ,webkitgtk))) + (home-page "https://lzone.de/liferea/") + (synopsis "News reader for GTK/GNOME") + (description "Liferea is a desktop feed reader/news aggregator that +brings together all of the content from your favorite subscriptions into +a simple interface that makes it easy to organize and browse feeds.") + (license license:gpl2+))) + (define-public rtv (package (name "rtv") @@ -135,14 +199,14 @@ file system, and many more features.") (define-public tuir (package (name "tuir") - (version "1.28.3") + (version "1.29.0") (source (origin (method url-fetch) (uri (pypi-uri "tuir" version)) (sha256 (base32 - "1gpyjrl7jdfjq30m32nzh59ajv91gq19l93jjri2wsv5yrf90hdr")))) + "06xb030ibphbrz4nsxm8mh3g60ld8xfp6kc3j6vi1k4ls5s4h79i")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index a0313c17c2..601a3616f7 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -52,7 +52,7 @@ (delete-file "src/cal") (delete-file "src/calendar") (delete-file "src/tw")))))) - (home-page "http://taskwarrior.org") + (home-page "https://taskwarrior.org") (synopsis "Command line task manager") (description "Taskwarrior is a command-line task manager following the Getting Things diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 226f3ee05a..b587cbd90e 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -90,7 +90,7 @@ (define-public tilda (package (name "tilda") - (version "1.5.0") + (version "1.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -99,7 +99,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "13djibj3s7ig13c57ywy38pxy3qfmqihii2c0g15fy2h9q8xp1gx")))) + "0psq0f4s0s92bba6wwcf6b0j7i59b76svqxhvpavwv53yvhmmamn")))) (build-system glib-or-gtk-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -673,15 +673,15 @@ eye-candy, customizable, and reasonably lightweight.") (define-public sakura (package (name "sakura") - (version "3.7.0") + (version "3.7.1") (source (origin (method url-fetch) - (uri (string-append "https://launchpad.net/" name "/trunk/" - version "/+download/" name "-" version - ".tar.gz")) + (uri (string-append "https://launchpad.net/sakura/trunk/" + version "/+download/sakura-" version + ".tar.bz2")) (sha256 (base32 - "15gskj5yv5qs3cj4ps43735kfx2nzjlhq4dk9ghirl8lvhhxsm5m")))) + "12wjmckf03qbnm8cb7qma0980anzajn3l92rj2yr8hhafl74x6kj")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no check phase @@ -1036,7 +1036,7 @@ comfortably in a pager or editor. (define-public eternalterminal (package (name "eternalterminal") - (version "5.1.10") + (version "6.0.7") (source (origin (method git-fetch) @@ -1045,7 +1045,7 @@ comfortably in a pager or editor. (commit (string-append "et-v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0jh89229bd9s82h3aj6faaybwr5xvnk8w2kgz47gq263pz021zpl")))) + (base32 "03pdspggqxkmz95qb96pig5x0xw18hy9a7ivszydr32ry6kxxx1h")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_TEST=ON") @@ -1055,12 +1055,6 @@ comfortably in a pager or editor. (lambda* (#:key inputs #:allow-other-keys) (let ((tests (assoc-ref inputs "googletest"))) (copy-recursively tests "external/googletest")) - #t)) - (add-after 'install 'dont-provide-gtest-libraries - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (delete-file-recursively (string-append out "/include")) - (delete-file-recursively (string-append out "/lib"))) #t))))) (inputs `(("gflags" ,gflags) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 683f9d7283..47645a3e34 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> -;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> @@ -33,9 +33,9 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system perl) + #:use-module (guix build-system qt) #:use-module (guix build-system trivial) #:use-module (guix build-system texlive) #:use-module (guix utils) @@ -5916,8 +5916,11 @@ values (strings, macros, or numbers) pasted together.") (define-public biber (package + ;; Note: When updating Biber, make sure it matches our BibLaTeX version by + ;; checking the Biber/BibLaTeX compatibility matrix in the BibLaTeX manual + ;; at <https://ctan.org/pkg/biblatex>. (name "biber") - (version "2.11") + (version "2.12") (source (origin (method git-fetch) (uri (git-reference @@ -5930,7 +5933,7 @@ values (strings, macros, or numbers) pasted together.") "biber-sortinithash.patch")) (sha256 (base32 - "0qgkc1k9n36yfmndwz879pak6mjphld0p85lzn9g2ng0vhxsifzz")))) + "1g1hi6zvf2hmrjly1sidjaxy5440gfqm4p7p3n7kayshnjsmlskx")))) (build-system perl-build-system) (arguments `(#:phases @@ -6113,75 +6116,49 @@ and Karl Berry.") (define-public lyx (package (name "lyx") - (version "2.3.3") + (version "2.3.5.1") (source (origin (method url-fetch) (uri (string-append "https://ftp.lyx.org/pub/lyx/stable/" (version-major+minor version) ".x/" - "lyx-" version ".tar.gz")) + "lyx-" version ".tar.xz")) (sha256 (base32 - "0j3xincwmsscfgv13g3z6h4kx1qfzgg8x71fs393akcdxsh2g07c")) + "0mv32s26igm0pd8vs7d2mk1240dpr83y0a2wyh3xz6b67ph0w157")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "3rdparty") #t)))) - (build-system cmake-build-system) + (build-system qt-build-system) (arguments `(#:configure-flags `("-DLYX_USE_QT=QT5" "-DLYX_EXTERNAL_BOOST=1" "-DLYX_INSTALL=1" "-DLYX_RELEASE=1" + "-DLYX_PROGRAM_SUFFIX=OFF" ,(string-append "-DLYX_INSTALL_PREFIX=" - (assoc-ref %outputs "out") - ;; Exact name and level is necessary. - "/lyx" ,(version-major+minor version))) + (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - ;; See ;; https://www.lyx.org/trac/changeset/3a123b90af838b08680471d87170c38e56787df9/lyxgit - (add-after 'unpack 'fix-compilation-with-boost-1.69 - (lambda _ - (substitute* "src/support/FileName.cpp" - (("^template struct boost::detail::crc_table_t.*") "")) - #t)) (add-after 'unpack 'patch-python (lambda* (#:key inputs #:allow-other-keys) - (substitute* '("src/support/os.cpp") + (substitute* '("lib/configure.py" + "src/support/ForkedCalls.cpp" + "src/support/Systemcall.cpp" + "src/support/os.cpp" + "src/support/filetools.cpp") (("\"python ") (string-append "\"" (assoc-ref inputs "python") - "/bin/python "))) + "/bin/python3 "))) #t)) - (add-after 'patch-python 'patch-desktop-file - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "lib/lyx.desktop.in" - (("Exec=") - (string-append "Exec=" - (assoc-ref outputs "out") - "/"))) - #t)) - (add-before 'check 'setenv-check + (add-after 'unpack 'add-missing-test-file (lambda _ ;; Create missing file that would cause tests to fail. - (with-output-to-file (string-append "../lyx-" - ,version - "/src/tests/check_layout.cmake") + (with-output-to-file "src/tests/check_layout.cmake" (const #t)) - (setenv (string-append "LYX_DIR_" - (string-join - (string-split - ,(version-major+minor version) #\-)) "x") - (string-append (getcwd) "/../lyx-" ,version "/lib")) - #t)) - (add-after 'install 'install-symlinks - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/bin")) - (symlink (string-append "../lyx" ,(version-major+minor version) - "/bin/lyx" ,(version-major+minor version)) - (string-append out "/bin/lyx" ,(version-major+minor version))) - #t)))))) + #t))))) (inputs `(("boost" ,boost) ("hunspell" ,hunspell) ; Note: Could also use aspell instead. @@ -7303,7 +7280,7 @@ to what constitutes a good table in this context. The package offers (list "/doc/latex/csquotes/" "/tex/latex/csquotes/") (base32 - "15hgn37zg433skn7ijqs1kl2z56fhy29cjxn01b5pjrnrkdar4i4") + "088gvi60d7sdl6fgg68fbz30fnpqc3yrpkx80sfw7vwgar3wm3av") #:trivial? #t))) (package (inherit template) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index f415fd7f65..924dc68c03 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) + #:use-module (gnu packages code) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) @@ -101,10 +102,6 @@ `("LUA_PATH" ":" prefix (,LUA_PATH)) `("LUA_CPATH" ":" prefix (,LUA_CPATH))) #t)))))) - (native-search-paths - (list (search-path-specification - (variable "VIS_PATH") - (files '("share/vis"))))) (inputs `(("lua" ,lua) ("ncurses" ,ncurses) ("libtermkey" ,libtermkey) @@ -196,7 +193,7 @@ bindings and many of the powerful features of GNU Emacs.") (define-public jucipp (package (name "jucipp") - (version "1.5.1") + (version "1.6.0") (home-page "https://gitlab.com/cppit/jucipp") (source (origin (method git-fetch) @@ -208,7 +205,7 @@ bindings and many of the powerful features of GNU Emacs.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "0v7fmsya2zn1xx59bkv4cbyinmcnv52hm4j40nbfwalcks631xrr")))) + (base32 "177myy6qvjlb6j3f3i3xmfml5r3p9in8xzpvm0n59dn56s81gpnr")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_TESTING=ON" @@ -225,19 +222,6 @@ bindings and many of the powerful features of GNU Emacs.") (chdir "build") #t)) - ;; This phase is necessary to fix a test failure, see - ;; <https://gitlab.com/cppit/jucipp/-/issues/423>. - (add-after 'unpack 'add-reference-to-clang-internal-header - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/compile_commands.cc" - ((".*-I/usr/lib/clang.*" all) - (string-append "arguments.emplace_back(\"-I" - (assoc-ref inputs "libclang") - "/lib/clang/" - ,@(list (package-version clang)) - "/include\");\n" - all))) - #t)) (add-after 'unpack 'patch-tiny-process-library (lambda _ (with-directory-excursion "lib/tiny-process-library" @@ -269,9 +253,10 @@ bindings and many of the powerful features of GNU Emacs.") (inputs `(("aspell" ,aspell) ("boost" ,boost) + ("ctags" ,universal-ctags) ("gtkmm" ,gtkmm) ("gtksourceviewmm" ,gtksourceviewmm) - ("libclang" ,clang) + ("libclang" ,clang-10) ;XXX: must be the same version as Mesas LLVM ("libgit2" ,libgit2))) (synopsis "Lightweight C++ IDE") (description @@ -513,7 +498,7 @@ scripts/input/X11/C/Shell/HTML/Dired): 49KB. (define-public ghostwriter (package (name "ghostwriter") - (version "1.8.0") + (version "1.8.1") (source (origin (method git-fetch) (uri (git-reference @@ -522,7 +507,7 @@ scripts/input/X11/C/Shell/HTML/Dired): 49KB. (file-name (git-file-name name version)) (sha256 (base32 - "13yn82m1l2pq93wbl569a2lzpc3sn8a8g30hsgdch1l9xlmhwran")))) + "0jc6szfh5sdnafhwsr1xv7cn1fznniq58bix41hb9wlbkvq7wzi6")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -758,14 +743,14 @@ and Octave. TeXmacs is completely extensible via Guile.") (define-public scintilla (package (name "scintilla") - (version "4.3.3") + (version "4.4.3") (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 "0zh8c19r1zd4kr9jg2ws0n2n5ic2siz5zbns6cvylyfbpf69ghy2")))) + (base32 "080v9l7dn3qgkdg0nc0kwpj6warwpi904zjgz9kzg1l6pknxf21s")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") @@ -773,20 +758,14 @@ and Octave. TeXmacs is completely extensible via Guile.") #:phases (modify-phases %standard-phases (delete 'configure) ;no configure script - (add-after 'unpack 'build-shared-library - (lambda _ - (substitute* "gtk/makefile" - (("scintilla\\.a") "libscintilla.so") - (("\\$\\(AR\\) \\$\\(ARFLAGS\\) \\$@ \\$\\^") - "$(CC) -shared $^ -o $@") - (("\\$\\(RANLIB\\) \\$@") "")) - #t)) (replace 'install + ;; Upstream provides no install script. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib")) (include (string-append out "/include"))) - (install-file "bin/libscintilla.so" lib) + (for-each (lambda (f) (install-file f lib)) + (find-files "bin/" "\\.so$")) (for-each (lambda (f) (install-file f include)) (find-files "include/" ".")) #t)))))) @@ -811,17 +790,13 @@ and multiple fonts.") (package (name "geany") (version "1.36") - (source (origin - (method url-fetch) - (uri (string-append "https://download.geany.org/" - "geany-" version ".tar.bz2")) - (sha256 - (base32 - "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i")) - (modules '((guix build utils))) - (snippet '(begin - (delete-file-recursively "scintilla") - #t)))) + (source + (origin + (method url-fetch) + (uri (string-append "https://download.geany.org/" + "geany-" version ".tar.bz2")) + (sha256 + (base32 "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -834,26 +809,20 @@ and multiple fonts.") ("python-docutils" ,python-docutils))) ;for rst2html (inputs `(("gtk+" ,gtk+) - ("scintilla" ,scintilla))) + ;; FIXME: Geany bundles a 3.X release of Scintilla. It is not + ;; currently possible to replace it with our Scintilla package. + ;; ("scintilla" ,scintilla) + )) (arguments - `(#:phases + `(#:imported-modules ((guix build glib-or-gtk-build-system) + ,@%gnu-build-system-modules) + #:modules (((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build gnu-build-system) + (guix build utils)) + #:phases (modify-phases %standard-phases - (add-after 'unpack 'use-scintilla-shared-library - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "configure.ac" - (("scintilla/Makefile") "") - (("scintilla/include/Makefile") "")) - (substitute* "Makefile.am" - (("scintilla ") "")) - (substitute* "src/Makefile.am" - (("\\$\\(top_builddir\\)/scintilla/libscintilla.la") "") - (("geany_LDFLAGS =" all) (string-append all " -lscintilla"))) - (substitute* "doc/Makefile.am" - (("\\$\\(INSTALL_DATA\\) \\$\\(top_srcdir\\)/scintilla/License.txt \\$\\(DOCDIR\\)/ScintillaLicense.txt") "")) - (substitute* "tests/Makefile.am" - (("AM_LDFLAGS =" all) (string-append all " -lscintilla"))) - (for-each delete-file (list "autogen.sh" "configure" "Makefile.in")) - #t))))) + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (home-page "https://www.geany.org") (synopsis "Fast and lightweight IDE") (description "Geany is a small and fast Integrated Development diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 6fdcfd227e..b6732dbae1 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com> ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -53,6 +54,7 @@ #:use-module (gnu packages gettext) #:use-module (gnu packages java) #:use-module (gnu packages ncurses) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -725,6 +727,110 @@ categories.") (license (list license:lgpl2.1 ; Main distribution. license:asl1.1)))) ; src/readdir.{c,h} +(define-public drm-tools + (package + (name "drm-tools") + (version "1.1.33") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/drmtools/drm_tools-" + version ".tar.gz")) + (sha256 + (base32 + "187zbxw21zcg8gpyc13gxlycfw0n05a6rmqq6im5wr9zk1v1wj80")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;the test suite fails + #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-install-prefixes + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (substitute* "CMakeLists.txt" + (("tmp/testinstall") + (string-drop out 1)) + (("/man/man1") + "/share/man/man1")) + #t))) + (add-after 'unpack 'adjust-test-paths + (lambda _ + (substitute* '("test_extract_increment.sh" + "test_extract_features.sh" + "test_extract_features2.sh" + "test_dmath.sh") + (("\\./extract") "extract") + (("\\./dmath") "dmath") + (("/usr/local/bin/") "") + (("/bin/rm") "rm") + (("/bin/cp") "cp")) + #t)) + (delete 'check) + ;; The produced binaries are written directly to %output/bin. + (delete 'install) + (add-after 'build 'check + (lambda* (#:key outputs tests? #:allow-other-keys) + (when tests? + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (setenv "PATH" (string-append bin ":" + (getenv "PATH"))) + (with-directory-excursion + (format #f "../drm_tools-~a" ,version) + (invoke "sh" "test_all.sh"))))))))) + (native-inputs `(("which" ,which))) ;for tests + (inputs `(("pcre" ,pcre))) + (home-page "http://drmtools.sourceforge.net/") + (synopsis "Utilities to manipulate text and binary files") + (description "The drm_tools package contains the following commands: +@table @command +@item accudate +An extended version of the \"date\" program that has sub-second accuracy. +@item binformat +Format complex binary data into text. +@item binload +Load data into a binary file using simple commands from the input. +@item binorder +Sort, merge, search, retrieve or generate test data consisting of fixed size +binary records. +@item binreplace +Find or find/replace in binary files. +@item binsplit +Split test data consisting of fixed size binary records into one or more +output streams. +@item chardiff +Find changes between two files at the character level. Unlike \"diff\", it +lists just the characters that differ, so if the 40,000th character is +different only that one character will be shown, not the entire line. +@item columnadd +Add columns of integers, decimals, and/or times. +@item datasniffer +A utility for formatting binary data dumps. +@item dmath +Double precision interactive command line math calculator. +@item extract +Extract and emit data from text files based on character or token position. +@item execinput +A utility that reads from STDIN and executes each line as a command in a +sub-process. +@item indexed_text +A utility for rapid retrieval of text by line numbers, in any order, from a +text file. +@item mdump +Format binary data. +@item msgqueue +Create message queues and send/receive messages. +@item mbin +@itemx mbout +Multiple buffer in and out. Used for buffering a lot of data between a slow +device and a fast device. Mostly for buffering streaming tape drives for use +with slower network connections, so that streaming is maintained as much as +possible to minimize wear on the tape device. +@item pockmark +Corrupt data streams - useful for testing error correction and data recovery. +@item tarsieve +Filter, list, or split a tar file. +@end table") + (license license:gpl2+))) + (define-public java-rsyntaxtextarea (package (name "java-rsyntaxtextarea") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ec81b7bf07..ec401416ce 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -165,7 +165,8 @@ living in the same process.") (define-public gnutls (package (name "gnutls") - (replacement gnutls-3.6.13) + ;; XXX Unversion openconnect's "gnutls" input when ungrafting. + (replacement gnutls-3.6.14) (version "3.6.12") (source (origin (method url-fetch) @@ -253,20 +254,20 @@ required structures.") (properties '((ftp-server . "ftp.gnutls.org") (ftp-directory . "/gcrypt/gnutls"))))) -(define-public gnutls-3.6.13 +(define-public gnutls-3.6.14 (package (inherit gnutls) - (version "3.6.13") + (version "3.6.14") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnutls/v" (version-major+minor version) - "/gnutls-3.6.13.tar.xz")) + "/gnutls-" version ".tar.xz")) (patches (search-patches "gnutls-skip-trust-store-test.patch" "gnutls-cross.patch")) (sha256 (base32 - "0f1gnm0756qms5cpx6yn6xb8d3imc2gkqmygf12n9x6r8zs1s11j")))) + "0qwxsfizynly0ns537vnhnlm5lh03la4vbsmz675n0n7vqd7ac2n")))) (native-inputs `(,@(if (%current-target-system) ;for cross-build `(("guile" ,guile-3.0)) ;to create .go files diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index 8b54849b18..160dcb3001 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; @@ -141,7 +141,7 @@ windows.") (define-public tmux-xpanes (package (name "tmux-xpanes") - (version "4.1.1") + (version "4.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -150,7 +150,7 @@ windows.") (file-name (git-file-name name version)) (sha256 (base32 - "13q02vdk229chgbn547wwv29cj4njvz02lmw840g8qmwh73qb2pi")))) + "0vm5mi6dqdbg0b5qh4r8sr1plpc00jryd8a2qxpp3a72cigjvvf0")))) (build-system trivial-build-system) (inputs `(("bash" ,bash))) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index dd080bb327..75e852915e 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -47,7 +47,11 @@ (outputs '("doc" ;16 MB "out")) (arguments - '(#:phases + `(,@(if (string-prefix? "powerpc" (or (%current-target-system) + (%current-system))) + `(#:make-flags '("CFLAGS+=-maltivec")) + '()) + #:phases (modify-phases %standard-phases (add-after 'install 'patch-suppression-files (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 6f985bf84d..99e1a8ccd1 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org> ;;; 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 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2018 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> @@ -24,7 +24,7 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> -;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 John D. Boy <jboy@bius.moe> @@ -634,7 +634,7 @@ on @command{git}, and use any regular Git hosting service.") (define-public libgit2 (package (name "libgit2") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/libgit2/libgit2/" @@ -642,7 +642,7 @@ on @command{git}, and use any regular Git hosting service.") "/libgit2-" version ".tar.gz")) (sha256 (base32 - "1d09ni0v3vammk8zqmmwks92fh3wwnsxpyrh4s5wwdb3gxma27va")) + "0nlg35pxhh548nn7aa3y1m81mf81nkbzz86i2psps4f474n497v8")) (patches (search-patches "libgit2-mtime-0.patch")) (snippet '(begin (delete-file-recursively "deps") #t)) @@ -773,7 +773,7 @@ to lock down your entire repository.") (define-public git-remote-gcrypt (package (name "git-remote-gcrypt") - (version "1.0.3") + (version "1.3") (source (origin (method git-fetch) (uri (git-reference @@ -782,7 +782,7 @@ to lock down your entire repository.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1vay3204729c7wajgn3nxf0s0hzwpdrw14pl6kd8w2ss25gvw2k1")))) + "0n8fzvr6y0pxrbvkywlky2bd8jvi0ayp4n9hwi84l1ldmv4a40dh")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -1307,7 +1307,7 @@ also walk each side of a merge and test those changes individually.") (define-public gitolite (package (name "gitolite") - (version "3.6.7") + (version "3.6.11") (source (origin (method git-fetch) @@ -1316,7 +1316,7 @@ also walk each side of a merge and test those changes individually.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0rmyzr66lxh2ildf3h1nh3hh2ndwk21rjdin50r5vhwbdd7jg8vb")))) + (base32 "1rkj7gknwjlc5ij9w39zf5mr647bm45la57yjczydmvrb8c56yrh")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests @@ -1569,18 +1569,14 @@ following features: (define-public subversion (package (name "subversion") - (version "1.10.6") + (version "1.14.0") (source (origin (method url-fetch) - (uri - (list - (string-append "https://archive.apache.org/dist/subversion/" - "subversion-" version ".tar.bz2") - (string-append "https://www-eu.apache.org/dist/subversion/" - "subversion-" version ".tar.bz2"))) + (uri (string-append "mirror://apache/subversion/" + "subversion-" version ".tar.bz2")) (sha256 (base32 - "19zc215mhpnm92mlyl5jbv57r5zqp6cavr3s2g9yglp6j4kfgj0q")))) + "00i1f88snlpcnsycpn6r315h6792l5nkr2p5k6kq6yprz4cf5a3b")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f ; TODO Seems to cause test failures on @@ -1718,14 +1714,14 @@ RCS, PRCS, and Aegis packages.") (define-public cvs-fast-export (package (name "cvs-fast-export") - (version "1.51") + (version "1.55") (source (origin (method url-fetch) (uri (string-append "http://www.catb.org/~esr/cvs-fast-export/" "cvs-fast-export-" version ".tar.gz")) (sha256 (base32 - "0nn5cf8syb5nbjvkn8w561pk25clv187h4hs9pnc700g9w56chzf")))) + "06y2myhhv2ap08bq7d7shq0b7lq6wgznwrpz6622xq66cxkf2n5g")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1885,7 +1881,10 @@ accessed and migrated on modern systems.") ("ed" ,ed))) (arguments `(#:configure-flags (list "--with-no-aegis-configured" - "--sharedstatedir=/var/com/aegis") + "--sharedstatedir=/var/com/aegis" + ;; Uses the old 'throw()' specifier with 'new' + ;; which changed in C++11. + "CXXFLAGS=-std=c++03") #:parallel-build? #f ; There are some nasty racy rules in the Makefile. #:phases (modify-phases %standard-phases @@ -1928,7 +1927,7 @@ accessed and migrated on modern systems.") ;; The author decided to call the check rule "sure". (invoke "make" "sure"))))))) - (home-page "http://aegis.sourceforge.net") + (home-page "https://sourceforge.net/projects/aegis/") (synopsis "Project change supervisor") (description "Aegis is a project change supervisor, and performs some of the Software Configuration Management needed in a CASE environment. Aegis @@ -2168,7 +2167,7 @@ by rclone usable with git-annex.") (define-public fossil (package (name "fossil") - (version "2.10") + (version "2.11") (source (origin (method url-fetch) @@ -2176,8 +2175,7 @@ by rclone usable with git-annex.") "https://www.fossil-scm.org/index.html/uv/" "fossil-src-" version ".tar.gz")) (sha256 - (base32 - "041bs4fgk52fw58p7s084pxk9d9vs5v2f2pjbznqawz75inpg8yq")) + (base32 "0c9nzx42wxfmym9vf1pnbdb1c7gp7a7zqky60izxsph7w2xh8nix")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index f34da90d5d..16136b7662 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Alex McGrath <amk@amk.ie> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -283,7 +284,7 @@ television and DVD. It is also known as AC-3.") (define-public libaom (package (name "libaom") - (version "1.0.0-errata1-avif") + (version "2.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -292,7 +293,7 @@ television and DVD. It is also known as AC-3.") (file-name (git-file-name name version)) (sha256 (base32 - "169yfgh7zigc21h71qclfyr7s4wwp2i9vbr4z6pkabypvass4v7m")))) + "1616xjhj6770ykn82ml741h8hx44v507iky3s9h7a5lnk9d4cxzy")))) (build-system cmake-build-system) (native-inputs `(("perl" ,perl) @@ -624,6 +625,11 @@ available.") (delete-file-recursively "source/compat/getopt") #t)))) (build-system cmake-build-system) + (native-inputs + ;; XXX: ASM optimization fails on i686-linux, see <https://bugs.gnu.org/41768>. + (if (string-prefix? "i686" (%current-system)) + '() + `(("nasm" ,nasm)))) (arguments `(#:tests? #f ; tests are skipped if cpu-optimized code isn't built #:configure-flags @@ -839,7 +845,7 @@ libebml is a C++ library to read and write EBML files.") (define-public libva (package (name "libva") - (version "2.6.1") + (version "2.7.1") (source (origin (method url-fetch) @@ -851,7 +857,7 @@ libebml is a C++ library to read and write EBML files.") (string-append "https://www.freedesktop.org/software/vaapi/releases/" "libva/libva-" version "/libva-" version ".tar.bz2"))) (sha256 - (base32 "19df3r02k1p4cbyvifkdjyc8q7hi23f5b3x3390z52l25mjfnmvc")))) + (base32 "014av7ayyc624xfmr63xhbgg7nw8fynsswj1g2wmk4lnkyfz23x0")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -929,7 +935,7 @@ operate properly.") (define-public ffmpeg (package (name "ffmpeg") - (version "4.2.2") + (version "4.2.3") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" @@ -938,7 +944,7 @@ operate properly.") (patches (search-patches "ffmpeg-prefer-dav1d.patch")) (sha256 (base32 - "176jn1lcdf0gk7sa5l2mv0faqp5dsqdhx1gqcrgymqhfmdal4xfb")))) + "0cddkb5sma9dzy8i59sfls19rhjlq40zn9mh3x666dqkxl5ckxlx")))) (build-system gnu-build-system) (inputs `(("dav1d" ,dav1d) @@ -1529,7 +1535,7 @@ projects while introducing many more.") (define-public mpv-mpris (package (name "mpv-mpris") - (version "0.4") + (version "0.5") (source (origin (method git-fetch) @@ -1539,7 +1545,7 @@ projects while introducing many more.") (file-name (git-file-name name version)) (sha256 (base32 - "1fr3jvja8s2gdpx8qyk9r17977flms3qpm8zci62nd9r5wjdvr5i")))) + "07p6li5z38pkfd40029ag2jqx917vyl3ng5p2i4v5a0af14slcnk")))) (build-system copy-build-system) (arguments '(#:install-plan @@ -1610,7 +1616,7 @@ To load this plugin, specify the following option when starting mpv: (define-public youtube-dl (package (name "youtube-dl") - (version "2020.05.08") + (version "2020.06.06") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -1618,7 +1624,7 @@ To load this plugin, specify the following option when starting mpv: version ".tar.gz")) (sha256 (base32 - "16zxa8ss2rka7cvkqyi67s8i1h9f4nxx88w9vjbxchbga6w0scc6")))) + "1qrrr14glv0jv377n61paq55b6k58jpnwbz2sp5xfl4wnxy5hqny")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -1797,7 +1803,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (define-public youtube-viewer (package (name "youtube-viewer") - (version "3.7.5") + (version "3.7.6") (source (origin (method git-fetch) (uri (git-reference @@ -1806,7 +1812,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.") (file-name (git-file-name name version)) (sha256 (base32 - "1caz56sxy554avz2vdv9gm7gyqcq0gyixzrh5v9ixmg6vxif5d4f")))) + "1c7wynx0fzs8awb1s4rdrl8xavqlj64z95yckhl1m1gnhahhq291")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) @@ -2252,14 +2258,14 @@ and custom quantization matrices.") (define-public streamlink (package (name "streamlink") - (version "1.3.1") + (version "1.4.1") (source (origin (method url-fetch) (uri (pypi-uri "streamlink" version)) (sha256 (base32 - "0cnlg3ra3g6dml4xfy9ysy9b4qwyn458fadd8ac44cfwi3v4gq6y")))) + "1s458k8z1lv0w8i82sxs8dys66fwm4yr9j1m7fzp7r0piz8phcpd")))) (build-system python-build-system) (home-page "https://github.com/streamlink/streamlink") (native-inputs @@ -2422,7 +2428,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "25.0.7") + (version "25.0.8") (source (origin (method git-fetch) (uri (git-reference @@ -2431,10 +2437,12 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "02ppkp1j5yxnxv663nz5wv4vbcg3k53l43xq94d1p1b3j4wxwq8b")))) + "0j2k65q3wfyfxhvkl6icz4qy0s3kfqhksizy2i3ah7yml266axbj")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ; no tests + `(#:tests? #f ; no test suite + #:configure-flags + (list (string-append "-DOBS_VERSION_OVERRIDE=" ,version)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -2448,6 +2456,7 @@ be used for realtime video capture via Linux-specific APIs.") ("jansson" ,jansson) ("libx264" ,libx264) ("libxcomposite" ,libxcomposite) + ("mbedtls" ,mbedtls-apache) ("mesa" ,mesa) ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) @@ -2762,14 +2771,15 @@ supported players in addition to this package.") (define-public handbrake (package (name "handbrake") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) - (uri (string-append "https://download.handbrake.fr/releases/" - version "/HandBrake-" version "-source.tar.bz2")) + (uri (string-append "https://github.com/HandBrake/HandBrake/" + "releases/download/" version "/" + "HandBrake-" version "-source.tar.bz2")) (sha256 (base32 - "09rcrq0kjs1lc1as7w3glbpbfvzldwpx3xv0pfmkn4pl7acxw1f0")) + "0w7jxjrccvxp7g15dv0spildg5apmqp4gwbcqmg58va2gylynvzc")) (modules '((guix build utils))) (snippet ;; Remove "contrib" and source not necessary for @@ -2883,18 +2893,22 @@ of modern, widely supported codecs.") (define-public intel-vaapi-driver (package (name "intel-vaapi-driver") - (version "2.4.0") + (version "2.4.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/intel/intel-vaapi-driver/" - "releases/download/" version "/intel-vaapi-driver-" - version ".tar.bz2")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/intel-vaapi-driver") + (commit version))) (sha256 - (base32 "12fhydgwpvyh97gxqlgv77wsf9yax321h46vi49j4sxghpcxvqki")))) + (base32 "1cidki3av9wnkgwi7fklxbg3bh6kysf8w3fk2qadjr05a92mx3zp")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) (inputs `(("libdrm" ,libdrm) ("libva" ,libva) @@ -2928,7 +2942,7 @@ post-processing of video formats like MPEG2, H.264/AVC, and VC-1.") (define-public openh264 (package (name "openh264") - (version "2.1.0") + (version "2.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -2937,7 +2951,7 @@ post-processing of video formats like MPEG2, H.264/AVC, and VC-1.") (file-name (git-file-name name version)) (sha256 (base32 - "1wba260n1932vafd5ni2jqv9kzc7lj6a1asm1cqk8jv690m6zvpi")))) + "0ffav46pz3sbj92nipd62z03fibyqgclfq9w8lgr80s6za6zdk5s")))) (build-system gnu-build-system) (native-inputs `(("nasm" ,nasm) @@ -3018,15 +3032,15 @@ practically any type of media.") (define-public libmediainfo (package (name "libmediainfo") - (version "0.7.95") + (version "20.03") (source (origin (method url-fetch) (uri (string-append "https://mediaarea.net/download/source/" - name "/" version"/" - name "_" version ".tar.bz2")) + name "/" version "/" + name "_" version ".tar.xz")) (sha256 (base32 - "1kchh6285b07z5nixv619hc9gml2ysdayicdiv30frrlqiyxqw4b")))) + "0wkzj5s34m8dvy7hif4h8f90q8ncrzd930gij1zzw3h5nw732j38")))) ;; TODO add a Big Buck Bunny webm for tests. (native-inputs `(("autoconf" ,autoconf) @@ -3076,7 +3090,7 @@ MPEG-2, MPEG-4, DVD (VOB)... (define-public mediainfo (package (name "mediainfo") - (version "18.12") + (version "20.03") (source (origin (method url-fetch) ;; Warning: This source has proved unreliable 1 time at least. @@ -3084,10 +3098,10 @@ MPEG-2, MPEG-4, DVD (VOB)... ;; happens again. (uri (string-append "https://mediaarea.net/download/source/" name "/" version "/" - name "_" version ".tar.bz2")) + name "_" version ".tar.xz")) (sha256 (base32 - "1ix95ilcjlawcq6phh25cgplm3riqa2ii7ql82g8yagqs4ldqp6a")))) + "1f1shnycf0f1fwka9k9s250l228xjkg0k4k73h8bpld8msighgnw")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -3692,7 +3706,7 @@ transitions, and effects and then export your film to many common formats.") (define-public dav1d (package (name "dav1d") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch) @@ -3700,7 +3714,7 @@ transitions, and effects and then export your film to many common formats.") "/dav1d/" version "/dav1d-" version ".tar.xz")) (sha256 (base32 - "0w5k572jzxp7zwdbsa0jgjzri6hsrkydawzzilrw46nxpcak37q9")))) + "0xcykraf42gkymzqx1k1lcdclgk9y5yf7rr56vslrgmr0r849qnk")))) (build-system meson-build-system) (native-inputs `(("nasm" ,nasm))) (home-page "https://code.videolan.org/videolan/dav1d") @@ -3873,7 +3887,7 @@ transcode or reformat the videos in any way, producing perfect backups.") (define-public svt-av1 (package (name "svt-av1") - (version "0.8.2") + (version "0.8.3") (source (origin (method git-fetch) (uri (git-reference @@ -3882,7 +3896,7 @@ transcode or reformat the videos in any way, producing perfect backups.") (file-name (git-file-name name version)) (sha256 (base32 - "0273fxgf4r832y9s0p8hqdj1j1nj8nlz4hylya0b4nsif89yfrhp")))) + "1rh4sz1bmrsxyxfxajsffw5jd17djcrymhwsi877v02fgln027qr")))) (build-system cmake-build-system) ;; SVT-AV1 only supports Intel-compatible CPUs. (supported-systems '("x86_64-linux" "i686-linux")) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index deea538622..2d9447d211 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -872,3 +872,31 @@ through its msgpack-rpc API.") NeoVim) to enable you to run shell commands in background and read output in the quickfix window in realtime.") (license license:expat))) + +(define-public vim-dispatch + (package + (name "vim-dispatch") + (version "1.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tpope/vim-dispatch") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m8b5mn2zqlphzs6xfwykwmghf6p0wabrhpjmh7vav35jgcxc4wl")))) + (build-system copy-build-system) + (arguments + '(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/")))) + (home-page "https://github.com/tpope/vim-dispatch") + (synopsis "Asynchronous build and test dispatcher") + (description "Leverage the power of Vim's compiler plugins without being +bound by synchronicity. Kick off builds and test suites using one of several +asynchronous adapters (including tmux, screen, and a headless mode), and when +the job completes, errors will be loaded and parsed automatically.") + (license license:vim))) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index c2025c4fbe..26c0bb54cb 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -104,14 +104,14 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match)) -(define (qemu-patch commit file-name sha256) +(define (qemu-patch commit file-name sha256-bv) "Return an origin for COMMIT." (origin (method url-fetch) (uri (string-append "http://git.qemu.org/?p=qemu.git;a=commitdiff_plain;h=" commit)) - (sha256 sha256) + (hash (content-hash sha256-bv sha256)) (file-name file-name))) (define-public qemu @@ -655,9 +655,10 @@ virtualization library.") (build-system python-build-system) (arguments `(#:use-setuptools? #f ; uses custom distutils 'install' command - ;; Some of the tests seem to require network access to install virtual - ;; machines. - #:tests? #f + #:test-target "test_ui" + #:tests? #f ; TODO The tests currently fail + ; RuntimeError: Loop condition wasn't + ; met #:imported-modules ((guix build glib-or-gtk-build-system) ,@%python-build-system-modules) #:modules ((ice-9 match) @@ -704,6 +705,16 @@ virtualization library.") ,(filter identity paths)))) bin-files)) #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + ;; Dogtail requires that Assistive Technology support be enabled + (setenv "GTK_MODULES" "gail:atk-bridge") + (invoke "dbus-run-session" "--" "python" "setup.py" "test_ui")) + #t)) (add-after 'install 'glib-or-gtk-compile-schemas (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) (add-after 'install 'glib-or-gtk-wrap @@ -732,7 +743,14 @@ virtualization library.") ("gobject-introspection" ,gobject-introspection) ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache ("perl" ,perl) ; pod2man - ("intltool" ,intltool))) + ("intltool" ,intltool) + ;; The following are required for running the tests + ;; ("python-dogtail" ,python-dogtail) + ;; ("xvfb" ,xorg-server-for-tests) + ;; ("dbus" ,dbus) + ;; ("at-spi2-core" ,at-spi2-core) + ;; ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + )) (home-page "https://virt-manager.org/") (synopsis "Manage virtual machines") (description @@ -745,14 +763,14 @@ domains, their live performance and resource utilization statistics.") (define-public criu (package (name "criu") - (version "3.13") + (version "3.14") (source (origin (method url-fetch) - (uri (string-append "http://download.openvz.org/criu/criu-" + (uri (string-append "https://download.openvz.org/criu/criu-" version ".tar.bz2")) (sha256 (base32 - "1yn9ix9lqvqvjrs3a3g6g1wqfniyf9n7giy0mr3jvijmrcm7y0pa")))) + "1jrr3v99g18gc0hriz0avq6ccdvyya0j6wwz888sdsc4icc30gzn")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -1422,7 +1440,7 @@ which is a hypervisor.") (define-public osinfo-db-tools (package (name "osinfo-db-tools") - (version "1.7.0") + (version "1.8.0") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-tools-" @@ -1430,7 +1448,7 @@ which is a hypervisor.") (sha256 (base32 - "08x8mrafphyll0d35xdc143rip3ahrz6bmzhc85nwhq7yk2vxpab")))) + "038q3gzdbkfkhpicj0755mw1q4gbvn57pslpw8n2dp3lds9im0g9")))) (build-system meson-build-system) (inputs `(("libsoup" ,libsoup) @@ -1456,14 +1474,14 @@ administrators and developers in managing the database.") (define-public osinfo-db (package (name "osinfo-db") - (version "20200203") + (version "20200529") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-" version ".tar.xz")) (sha256 (base32 - "1zjq1dhlci00j17dij7s3l30hybzmaykpk5b6bd5xbllp745njn5")))) + "0mbrf9j5wmjhc6jixvhp4jqyxixh1717lqrmzmipdg99xnzba81n")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index e06a83bbd5..4a26ced824 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -12,6 +12,8 @@ ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru> ;;; ;;; This file is part of GNU Guix. ;;; @@ -55,6 +57,8 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages python-web) + #:use-module (gnu packages samba) #:use-module (gnu packages tls) #:use-module (gnu packages xml)) @@ -257,7 +261,9 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer (build-system gnu-build-system) (propagated-inputs `(("libxml2" ,libxml2) - ("gnutls" ,gnutls-3.6.13) + ;; XXX ‘DTLS is insecure in GnuTLS v3.6.3 through v3.6.12.’ + ;; See <https://gitlab.com/gnutls/gnutls/-/issues/960>. + ("gnutls" ,gnutls-3.6.14) ("zlib" ,zlib))) (inputs `(("lz4" ,lz4) @@ -282,7 +288,7 @@ and probably others.") (define-public openvpn (package (name "openvpn") - (version "2.4.8") + (version "2.4.9") (source (origin (method url-fetch) (uri (string-append @@ -290,7 +296,7 @@ and probably others.") version ".tar.xz")) (sha256 (base32 - "149z3agjy03i66mcj5bplim2mh45s2ps1wmxbxczyzw0nxmsd37v")))) + "1qpbllwlha7cffsd5dlddb8rl22g9rar5zflkz1wrcllhvfkl7v4")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-iproute2=yes"))) @@ -311,6 +317,40 @@ security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (@dfn{NAT}s) and firewalls.") (license license:gpl2))) +(define-public protonvpn-cli + (package + (name "protonvpn-cli") + (version "2.2.2") + (source + (origin + ;; PyPI has a ".whl" file but not a proper source release. + ;; Thus, fetch code from Git. + (method git-fetch) + (uri (git-reference + (url "https://github.com/ProtonVPN/linux-cli.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ixjb02kj4z79whm1izd8mrn2h0rp9cmw4im1qvp93rahqxdd4n8")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ; no tests in repo + (native-inputs + `(("docopt" ,python-docopt))) + (inputs + `(("pythondialog" ,python-pythondialog) + ("requests" ,python-requests))) + (propagated-inputs + `(("openvpn" ,openvpn))) + (synopsis "Command-line client for ProtonVPN") + (description + "This is the official command-line interface for ProtonVPN, a secure +point-to-point virtual private networking (VPN) service with a gratis tier. +It can automatically find and connect to the fastest servers or use Tor over +VPN. The gratis tier offers unlimited bandwidth for up to 10 devices.") + (home-page "https://github.com/ProtonVPN/linux-cli") + (license license:gpl3+))) + (define-public tinc (package (name "tinc") @@ -461,7 +501,7 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers (define-public wireguard-linux-compat (package (name "wireguard-linux-compat") - (version "1.0.20200401") + (version "1.0.20200520") (source (origin (method url-fetch) (uri (string-append "https://git.zx2c4.com/wireguard-linux-compat/" @@ -469,7 +509,7 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers ".tar.xz")) (sha256 (base32 - "0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx")))) + "1hvpbfpdd3v2k27ypa1y1j422irx7hxpz87f50s28jvkxx5sxrqn")))) (build-system linux-module-build-system) (outputs '("out" "kernel-patch")) @@ -515,7 +555,7 @@ WireGuard was added to Linux 5.6.") (define-public wireguard-tools (package (name "wireguard-tools") - (version "1.0.20200206") + (version "1.0.20200513") (source (origin (method git-fetch) @@ -524,7 +564,7 @@ WireGuard was added to Linux 5.6.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ivc08lds5w39a6f2xdfih9wlk5g724hl3kpdvxvh5yff4l84qb7")))) + (base32 "1yk8hng0qw2rf76hnawjbdpjssmah88bd5fk20h1c0j1yazlx0a9")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -605,9 +645,20 @@ public keys and can roam across IP addresses.") `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") #:phases (modify-phases %standard-phases - (delete 'configure)) ; no configure script + (delete 'configure) ;no configure script + (add-before 'build 'setup-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CFLAGS" + (string-append "-DPPD=\"" + (assoc-ref inputs "ppp") + "/sbin/pppd\"")) + (setenv "KERNELSRC" + (assoc-ref inputs "linux-libre-headers")) + #t))) #:tests? #f)) ; no tests provided - (inputs `(("libpcap" ,libpcap))) + (inputs `(("libpcap" ,libpcap) + ("linux-libre-headers" ,linux-libre-headers) + ("ppp" ,ppp))) (home-page "https://www.xelerance.com/software/xl2tpd/") (synopsis "Layer 2 Tunnelling Protocol Daemon (RFC 2661)") (description diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 6a2c219aac..d5f5be6816 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,7 +43,7 @@ (define-public spirv-headers (package (name "spirv-headers") - (version "1.3.7") + (version "1.5.3") (source (origin (method git-fetch) @@ -51,18 +52,11 @@ (commit version))) (sha256 (base32 - "0m56smanfcczjfif4yfcqhjj4d4sc088kwg6dgia8fwdsjavdm4d")) - (file-name (git-file-name name version)))) + "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj")) + (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;; No tests - #:phases (modify-phases %standard-phases - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "cmake" "-E" "copy_directory" - "../source/include/spirv" - (string-append (assoc-ref outputs "out") - "/include/spirv"))))))) + `(#:tests? #f)) ;no tests (home-page "https://github.com/KhronosGroup/SPIRV-Headers") (synopsis "Machine-readable files from the SPIR-V Registry") (description @@ -81,7 +75,7 @@ and for the GLSL.std.450 extended instruction set. (define-public spirv-tools (package (name "spirv-tools") - (version "2019.2") + (version "2020.2") (source (origin (method git-fetch) @@ -89,13 +83,14 @@ and for the GLSL.std.450 extended instruction set. (url "https://github.com/KhronosGroup/SPIRV-Tools") (commit (string-append "v" version)))) (sha256 - (base32 "0zwz6qg8g8165h7cw52agryjrdb29gbmsbziw3pwiddfkyma8vvg")) + (base32 "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; FIXME: Tests fail. - #:configure-flags (list (string-append "-DSPIRV-Headers_SOURCE_DIR=" - (assoc-ref %build-inputs "spirv-headers"))))) + `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" + (string-append + "-DSPIRV-Headers_SOURCE_DIR=" + (assoc-ref %build-inputs "spirv-headers"))))) (inputs `(("spirv-headers" ,spirv-headers))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) @@ -110,7 +105,7 @@ parser,disassembler, validator, and optimizer for SPIR-V.") (define-public glslang (package (name "glslang") - (version "7.11.3214") + (version "8.13.3743") (source (origin (method git-fetch) @@ -119,21 +114,15 @@ parser,disassembler, validator, and optimizer for SPIR-V.") (commit version))) (sha256 (base32 - "0dqjga0lcza006fhac26zp2plbq4gx8a6nsmrwkqlzji6lw1jins")) + "0d20wfpp2fmbnz1hnsjr9xc62lxpj86ik2qyviqbni0pqj212cry")) (file-name (string-append name "-" version "-checkout")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;; No tests - ;; glslang tries to set CMAKE_INSTALL_PREFIX manually. Remove the - ;; offending line. - #:phases (modify-phases %standard-phases - (add-after 'patch-source-shebangs 'fix-cmakelists - (lambda _ - (substitute* "CMakeLists.txt" - (("set.*CMAKE_INSTALL_PREFIX.*") "")) - #t))))) - (native-inputs `(("bison" ,bison) - ("pkg-config" ,pkg-config))) + '(#:tests? #f ;FIXME: requires bundled SPIRV-Tools + #:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python))) (home-page "https://github.com/KhronosGroup/glslang") (synopsis "OpenGL and OpenGL ES shader front end and validator") (description @@ -149,7 +138,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-headers (package (name "vulkan-headers") - (version "1.1.121") + (version "1.2.141") (source (origin (method git-fetch) @@ -159,7 +148,7 @@ interpretation of the specifications for these languages.") (file-name (git-file-name name version)) (sha256 (base32 - "0hbgbdxj7lrm37phb0pkq5zgss3h21znj3mivnyva5f60i2wgr73")))) + "10nmx6y4llllfcczyfz76amd0vkqv09dj952d19zkzmmgcval7zq")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests. @@ -173,7 +162,7 @@ interpretation of the specifications for these languages.") (define-public vulkan-loader (package (name "vulkan-loader") - (version (package-version vulkan-headers)) + (version "1.2.140") (source (origin (method git-fetch) @@ -183,26 +172,32 @@ interpretation of the specifications for these languages.") (file-name (git-file-name name version)) (sha256 (base32 - "1gbrppfxrncvva30fikgzm7f15xs527sb4lf1sswdyxj3h5cw741")))) + "0rhyz0qgp0i7pcx6wlvgwy7j33d4cs0xx39f0b6igpfk0vk70r1w")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh". - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-spirv-tools-commit-id - (lambda* (#:key inputs #:allow-other-keys) - ;; Remove lines trying to build in a git commit id. - (substitute* "CMakeLists.txt" ((".*spirv_tools_commit_id.h.*") "")) - #t))) - #:configure-flags (list - "-DBUILD_TESTS=OFF" ; FIXME: Needs 'googletest' submodule. - (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") "/lib")))) - (native-inputs `(("libxrandr" ,libxrandr) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("vulkan-headers" ,vulkan-headers) - ("wayland" ,wayland))) + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'unpack-googletest + (lambda* (#:key inputs #:allow-other-keys) + (let ((gtest (assoc-ref inputs "googletest:source"))) + (when gtest + (copy-recursively gtest "external/googletest")) + #t))) + (add-after 'unpack 'disable-loader-tests + (lambda _ + ;; Many tests require a Vulkan driver. Skip those. + (substitute* "tests/loader_validation_tests.cpp" + ((".*= vkCreateInstance.*" all) + (string-append "GTEST_SKIP();\n" all)) + (("TEST_F.*InstanceExtensionEnumerated.*" all) + (string-append all "\nGTEST_SKIP();\n"))) + #t))))) + (native-inputs + `(("googletest:source" ,(package-source googletest)) + ("libxrandr" ,libxrandr) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("vulkan-headers" ,vulkan-headers) + ("wayland" ,wayland))) (home-page "https://github.com/KhronosGroup/Vulkan-Loader") (synopsis "Khronos official ICD loader and validation layers for Vulkan") @@ -221,7 +216,7 @@ and the ICD.") (define-public vulkan-tools (package (name "vulkan-tools") - (version (package-version vulkan-headers)) + (version "1.2.140") (source (origin (method git-fetch) @@ -231,7 +226,7 @@ and the ICD.") (file-name (git-file-name name version)) (sha256 (base32 - "1jndlz3n35zlz44p1b4cgl2alvsmgrqnkxdn5mpahg0zb8dgwmm8")))) + "08dk0q77kpycn4vv19jh3ig73gbq3psan246a7fss0nfxpiddg0j")))) (build-system cmake-build-system) (inputs `(("glslang" ,glslang) @@ -243,7 +238,7 @@ and the ICD.") ("python" ,python) ("vulkan-headers" ,vulkan-headers))) (arguments - `(#:tests? #f ; No tests. + `(#:tests? #f ;no tests #:configure-flags (list (string-append "-DGLSLANG_INSTALL_DIR=" (assoc-ref %build-inputs "glslang"))))) (home-page @@ -258,7 +253,7 @@ API.") (define-public shaderc (package (name "shaderc") - (version "2019.0") + (version "2020.0") (source (origin (method git-fetch) @@ -268,56 +263,42 @@ API.") (file-name (git-file-name name version)) (sha256 (base32 - "1l5mmyxhzsbp0a6y2d86i8jmf46c6bjgjkdgkr5l8hmhflmm7gi2")))) - (build-system meson-build-system) + "1kqqvsvib01bsmfbdy3fbwwpvkcdlfb6k71kjvzb3crql7w0rxff")))) + (build-system cmake-build-system) (arguments - `(#:tests? #f ; FIXME: Tests fail. + `(;; FIXME: Skip most of the tests, because enabling system gtest breaks + ;; the build: <https://github.com/google/shaderc/issues/470>. + #:configure-flags '("-DSHADERC_SKIP_TESTS=ON") #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; Remove various lines and touch build-version.inc or - ;; configuring won't work. - (invoke "touch" "glslc/src/build-version.inc") - (substitute* "CMakeLists.txt" (("..PYTHON_EXE..*") "")) - (substitute* "CMakeLists.txt" - ((".*update_build_version.py..*") "")) - (substitute* "CMakeLists.txt" - ((".*add_custom_target.build-version.*") "")) - (substitute* "CMakeLists.txt" - ((".*spirv-tools_SOURCE_DIR.*glslang_SOURCE_DIR.*") - "")) - (substitute* "CMakeLists.txt" - ((".*Update build-version.inc.*") "")) - (substitute* "CMakeLists.txt" ((".*--check.*") "")) - (substitute* "glslc/src/main.cc" ((".*build-version.inc.*") - "\"1\"")) - (invoke "cmake" "-GNinja" "-DCMAKE_BUILD_TYPE=Release" - "-DSHADERC_SKIP_TESTS=ON" - "-DCMAKE_INSTALL_LIBDIR=lib" - (string-append "-DCMAKE_INSTALL_PREFIX=" - out))))) - (add-after 'unpack 'unpack-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((spirv-tools-source (assoc-ref inputs "spirv-tools-source")) - (spirv-headers-source (assoc-ref inputs "spirv-headers-source")) - (glslang-source (assoc-ref inputs "glslang-source"))) - (copy-recursively spirv-tools-source "third_party/spirv-tools") - (copy-recursively spirv-headers-source - (string-append "third_party/spirv-tools" - "/external/spirv-headers")) - (copy-recursively glslang-source "third_party/glslang") - #t)))))) + (add-after 'unpack 'do-not-look-for-bundled-sources + (lambda _ + (substitute* "CMakeLists.txt" + (("add_subdirectory\\(third_party\\)") + "")) + + (substitute* "glslc/test/CMakeLists.txt" + (("\\$<TARGET_FILE:spirv-dis>") + (which "spirv-dis"))) + + ;; Do not attempt to use git to encode version information. + (substitute* "glslc/CMakeLists.txt" + (("add_dependencies\\(glslc_exe build-version\\)") + "")) + (call-with-output-file "glslc/src/build-version.inc" + (lambda (port) + (format port "\"~a\"\n\"~a\"\n\"~a\"~%" + ,version + ,(package-version spirv-tools) + ,(package-version glslang)))) + #t))))) (inputs - `(("googletest" ,googletest) - ("python" ,python))) + `(("glslang" ,glslang) + ("python" ,python) + ("spirv-headers" ,spirv-headers) + ("spirv-tools" ,spirv-tools))) (native-inputs - `(("cmake" ,cmake-minimal) - ("glslang-source" ,(package-source glslang)) - ("pkg-config" ,pkg-config) - ("spirv-headers-source" ,(package-source spirv-headers)) - ("spirv-tools-source" ,(package-source spirv-tools)))) + `(("pkg-config" ,pkg-config))) (home-page "https://github.com/google/shaderc") (synopsis "Tools for shader compilation") (description "Shaderc is a collection of tools, libraries, and tests for @@ -341,7 +322,16 @@ shader compilation.") (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--with-spirv-tools"))) + `(#:configure-flags '("--with-spirv-tools") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-for-new-vulkan + (lambda _ + ;; Mimic upstream commit 8e7bf8a5c3e0047 for + ;; compatibility with newer vulkan-headers. + (substitute* "libs/vkd3d/vkd3d_private.h" + (("VK_PIPELINE_BIND_POINT_RANGE_SIZE") + "2u")) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index 1ec07675ab..934a6d9e38 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,7 +40,7 @@ (define-public w3m (package (name "w3m") - (version "0.5.3+git20190105") + (version "0.5.3+git20200502") (source (origin (method git-fetch) ;; Debian's fork of w3m is the only one that is still maintained. @@ -49,7 +50,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1fbg2p8qh2gvi3g4iz4q6vc0k70pf248r4yndi5lcn2m3mzvjx0i")))) + "0yyfhwcwy1dvdbirj6zqwk4gl8z9npfavs0k7ipcg5fd16vnx7mi")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no check target diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 62b7a5bdca..c30a4ff3a2 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -4,13 +4,14 @@ ;;; Copyright © 2015, 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,7 +67,8 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) - #:use-module (guix build-system asdf)) + #:use-module (guix build-system asdf) + #:use-module (guix build-system go)) (define-public midori (package @@ -338,7 +340,7 @@ access.") (define-public qutebrowser (package (name "qutebrowser") - (version "1.11.0") + (version "1.12.0") (source (origin (method url-fetch) @@ -346,8 +348,7 @@ access.") "qutebrowser/releases/download/v" version "/" "qutebrowser-" version ".tar.gz")) (sha256 - (base32 - "0b0qlki9bp9mm41lrh6rc6qqvm4nsz8da63sby3a1f2xm9b9vvg2")))) + (base32 "0pywyhi4v6ymxpn85grrdr1agmcxsnm5jfqf3rlxqx5swbnxbfs1")))) (build-system python-build-system) (native-inputs `(("python-attrs" ,python-attrs))) ; for tests @@ -692,3 +693,46 @@ key-bindings and is fully configurable and extensible in Common Lisp.") (define-public sbcl-next (deprecated-package "sbcl-next" next)) + +(define-public bombadillo + (package + (name "bombadillo") + (version "2.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://tildegit.org/sloum/bombadillo") + (commit version))) + (sha256 + (base32 + "1m52b1wk48gkqmjy8l0x3jaksrx2v8w6w59lhr7zaw2i0n4f5k0z")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + `(#:import-path "tildegit.org/sloum/bombadillo" + #:install-source? #f + #:phases (modify-phases %standard-phases + (add-after 'install 'install-data + (lambda* (#:key outputs #:allow-other-keys) + (let* ((builddir "src/tildegit.org/sloum/bombadillo") + (out (assoc-ref outputs "out")) + (pkg (strip-store-file-name out)) + (sharedir (string-append out "/share")) + (appdir (string-append sharedir "/applications")) + (docdir (string-append sharedir "/doc/" pkg)) + (mandir (string-append sharedir "/man/man1")) + (pixdir (string-append sharedir "/pixmaps"))) + (with-directory-excursion builddir + (install-file "bombadillo.desktop" appdir) + (install-file "LICENSE" docdir) + (install-file "bombadillo.1" mandir) + (install-file "bombadillo-icon.png" pixdir) + #t))))))) + (home-page "http://bombadillo.colorfield.space") + (synopsis "Terminal browser for the gopher, gemini, and finger protocols") + (description "Bombadillo is a non-web browser for the terminal with +vim-like key bindings, a document pager, configurable settings, and robust +command selection. The following protocols are supported as first-class +citizens: gopher, gemini, finger, and local. There is also support for telnet, +http, and https via third-party applications.") + (license license:gpl3+))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 46cba2317c..ce86c9e6de 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -123,9 +123,11 @@ #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages lisp-xyz) + #:use-module (gnu packages lsof) #:use-module (gnu packages lua) #:use-module (gnu packages markup) #:use-module (gnu packages ncurses) + #:use-module (gnu packages networking) #:use-module (gnu packages nss) #:use-module (gnu packages openldap) #:use-module (gnu packages openstack) @@ -227,14 +229,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.17.9") + (version "1.19.0") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "12dnrdxwnlid0wr797vdxj9z1fmxnk7ib55bznvl2g3mbi05vmkx")))) + "1j1n3rlvan6l9j3vw8axbbdm96w7s0x6ygmgqvbplzfd3wbid9j4")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -276,7 +278,6 @@ Interface} specification.") (string-append "--crossbuild=" system ":" release ":" machine))))) (setenv "CC" "gcc") - (format #t "environment variable `CC' set to `gcc'~%") (format #t "configure flags: ~s~%" flags) (apply invoke "./configure" flags) #t))) @@ -358,13 +359,13 @@ documentation.") (license license:bsd-2)))) (define-public nginx-documentation - ;; This documentation should be relevant for nginx@1.15.9. - (let ((revision 2345) - (changeset "7ef11708457e")) + ;; This documentation should be relevant for the current nginx package. + (let ((version "1.19.0") + (revision 2549) + (changeset "c13a55aae487")) (package (name "nginx-documentation") - (version - (simple-format #f "2019-03-01-~A-~A" revision changeset)) + (version (simple-format #f "~A-~A-~A" version revision changeset)) (source (origin (method hg-fetch) (uri (hg-reference @@ -373,7 +374,7 @@ documentation.") (file-name (string-append name "-" version)) (sha256 (base32 - "15975jvh53mnsgi4hhgrwdwy3by23v4kxnhy2vnkziq8v7wkmy4y")))) + "0vwwvk6wf8f6c6n6yffmya9a287s6dbx1p739hdl3hwxfyh2ygc5")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite @@ -768,7 +769,7 @@ data.") (define-public json-c (package (name "json-c") - (version "0.13.1") + (version "0.14") (source (origin (method url-fetch) (uri (string-append @@ -776,7 +777,29 @@ data.") version ".tar.gz")) (sha256 (base32 - "0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq")) + "0w381krr99q5a2rypx4g437fa7gzgl82i64sgnrs6g5jr44dwxxk")))) + (build-system cmake-build-system) + (home-page "https://github.com/json-c/json-c/wiki") + (synopsis "JSON implementation in C") + (description + "JSON-C implements a reference counting object model that allows you to +easily construct JSON objects in C, output them as JSON-formatted strings and +parse JSON-formatted strings back into the C representation of JSON objects. +It aims to conform to RFC 7159.") + (license license:x11))) + +;; TODO: Remove these old versions when all dependents have been updated. +(define-public json-c-0.13 + (package + (inherit json-c) + (version "0.13.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://s3.amazonaws.com/json-c_releases/releases/json-c-" + version ".tar.gz")) + (sha256 + (base32 "0ws8dz9nk8q2c0gbf66kg2r6mrkl7kamd3gpdv9zsyrz9n6n0zmq")) (modules '((guix build utils))) (snippet '(begin @@ -786,20 +809,11 @@ data.") (set-file-time "config.h.in" (stat "aclocal.m4")) #t)))) - (build-system gnu-build-system) - (home-page "https://github.com/json-c/json-c/wiki") - (synopsis "JSON implementation in C") - (description - "JSON-C implements a reference counting object model that allows you to -easily construct JSON objects in C, output them as JSON-formatted strings and -parse JSON-formatted strings back into the C representation of JSON objects. -It aims to conform to RFC 7159.") - (license license:x11))) + (build-system gnu-build-system))) -;; TODO: remove this old version when all dependents have been updated. (define-public json-c-0.12 (package - (inherit json-c) + (inherit json-c-0.13) (version "0.12.1") (source (origin (method url-fetch) @@ -1177,7 +1191,7 @@ other systems that want to manipulate WebAssembly files.") (define-public websocketpp (package (name "websocketpp") - (version "0.8.1") + (version "0.8.2") (source (origin (method git-fetch) @@ -1186,8 +1200,8 @@ other systems that want to manipulate WebAssembly files.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy")) - (patches (search-patches "websocketpp-fix-for-boost-1.70.patch")))) + (base32 "1ww4fhl8qf12hkv6jaild8zzsygdspxm1gqpk2f63gv1xfi31wpm")) + (patches (search-patches "websocketpp-fix-for-cmake-3.15.patch")))) (build-system cmake-build-system) (inputs `(("boost" ,boost) ("openssl" ,openssl))) @@ -1574,7 +1588,7 @@ from streaming URLs. It is a command-line wrapper for the libquvi library.") (source (origin (method url-fetch) - (uri (string-append "https://archive.apache.org/dist/serf/serf-" + (uri (string-append "mirror://apache/serf/serf-" version ".tar.bz2")) (sha256 (base32 "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l")))) @@ -2605,7 +2619,7 @@ development server with Starman.") (define-public perl-cgi (package (name "perl-cgi") - (version "4.46") + (version "4.47") (source (origin (method url-fetch) @@ -2613,7 +2627,7 @@ development server with Starman.") "CGI-" version ".tar.gz")) (sha256 (base32 - "16225vmdsfa2y7i1ydv7634nd0qxxb0ccwnfszjq58rwqgfri2bq")))) + "1a9cylhqsm5icvbg09m21nj0xx4zy5gbk4p74npm1ch3qlryzyyr")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep) @@ -3718,6 +3732,35 @@ possibly-temporary error (like a DNS lookup timeout), it'll wait a few seconds and retry a few times.") (license license:perl-license))) +(define-public perl-lwpx-paranoidagent + (package + (name "perl-lwpx-paranoidagent") + (version "1.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/LWPx-ParanoidAgent-" + version ".tar.gz")) + (sha256 + (base32 + "0gfhw3jbs25yya2dryv8xvyn9myngcfcmsybj7gkq62fnznil16c")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-libwww" ,perl-libwww) + ;; Users should instead make sure SSL_ca_path is set properly. + ;; ("perl-mozilla-ca" ,perl-mozilla-ca) + ("perl-net-dns" ,perl-net-dns))) + (home-page "https://metacpan.org/release/LWPx-ParanoidAgent") + (synopsis "Security enhanced subclass of LWP::UserAgent") + (description "@code{LWPx::ParanoidAgent} is a class subclassing +@code{LWP::UserAgent} but paranoid against attackers. Its purpose is +to vet requests for a remote resource on behalf of a possibly +malicious user. The class can do the same as @code{LWP::UserAgent}, +except that proxy support has been removed. Support for URI schemes +is limited to http and https.") + (license license:perl-license))) + (define-public perl-net-amazon-s3 (package (name "perl-net-amazon-s3") @@ -4640,15 +4683,14 @@ you'd expect.") (define-public uhttpmock (package (name "uhttpmock") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (string-append "http://tecnocode.co.uk/downloads/uhttpmock/" - name "-" version ".tar.xz")) + "uhttpmock-" version ".tar.xz")) (sha256 - (base32 - "163py4klka423x7li2b685gmg3a6hjf074mlff2ajhmi3l0lm8x6")))) + (base32 "0glyx07kxc3s3cx5vp30kfgscl9q6bghcq1zysfyxm24r0h6j58p")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) @@ -4705,7 +4747,7 @@ tools they trust (e.g. wget).") (define netsurf-buildsystem (package (name "netsurf-buildsystem") - (version "1.7") + (version "1.9") (source (origin (method url-fetch) @@ -4713,7 +4755,7 @@ tools they trust (e.g. wget).") "buildsystem-" version ".tar.gz")) (sha256 (base32 - "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw")))) + "0alsmaig9ln8dgllb3z63gq90fiz75jz0ic71fi0k0k898qix14k")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (arguments @@ -4769,7 +4811,7 @@ C. It is developed as part of the NetSurf project.") (define-public hubbub (package (name "hubbub") - (version "0.3.6") + (version "0.3.7") (source (origin (method url-fetch) @@ -4777,7 +4819,7 @@ C. It is developed as part of the NetSurf project.") "libhubbub-" version "-src.tar.gz")) (sha256 (base32 - "1x3v7xvagx85v9h3pypzc86rcxs4mij87mmcqkp8pq50q6awfmnp")) + "1dimfyblmym98qa1b80c5jslv2zk8r44xbdrgrsrw1n9wr9y4yly")) (patches (search-patches "hubbub-sort-entities.patch")))) (build-system gnu-build-system) (native-inputs @@ -4821,15 +4863,6 @@ NetSurf project.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'include-PERL5LIB-in-wrapper - (lambda _ - (substitute* "IkiWiki/Wrapper.pm" - (("^@wrapper\\_hooks") - (string-append - "@wrapper_hooks\n" - " addenv(\"PERL5LIB\", \"" - (getenv "PERL5LIB") - "\");"))))) (add-after 'patch-source-shebangs 'patch-Makefiles (lambda _ (substitute* "Makefile.PL" @@ -4846,6 +4879,33 @@ NetSurf project.") (invoke "find" "doc" "underlays" "-type" "f" "-exec" "touch" "{}" "+") #t)) + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + ;; Six tests use IPC::Run. For these tests the PERL5LIB + ;; variable is needed in the runtime environment and also + ;; in the search path list in the setup file. + (substitute* + '("t/aggregate-file.t" "t/git-cgi.t" "t/git-untrusted.t" + "t/passwordauth.t" "t/relativity.t" "t/wrapper-environ.t") + (("(.*)\"perl\"(.*)$" _ prefix suffix) + (string-append prefix "qw(env), 'PERL5LIB='.$ENV{PERL5LIB}" + ", qw(perl)" suffix)) + (("(.*) PERL5LIB=(.*) perl(.*)$" _ prefix middle suffix) + (string-append prefix "), 'PERL5LIB='.$ENV{PERL5LIB}.':" + middle "', qw(perl" suffix)) + (("(.*)setup(.* )getcwd(.*)$" _ prefix middle suffix) + (string-append prefix "setup" middle + "$ENV{PERL5LIB}.':'.getcwd" suffix)) + (("^ENV(.*): '(.*)$" _ middle suffix) + (string-append "ENV" middle + ": '$ENV{PERL5LIB}:" suffix))) + ;; XDG_DATA_DIRS is needed by the podcast.t test. + (setenv "XDG_DATA_DIRS" + (string-append (assoc-ref inputs "shared-mime-info") + "/share")) + ;; CC is needed by IkiWiki/Wrapper.pm. + (setenv "CC" "gcc") + #t)) (add-after 'install 'wrap-programs (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -4867,26 +4927,29 @@ NetSurf project.") (inputs `(("python" ,python-wrapper) ("perl-authen-passphrase" ,perl-authen-passphrase) - ("perl-cgi-formbuilder" ,perl-cgi-formbuilder) - ("perl-cgi-session" ,perl-cgi-session) ("perl-cgi-simple" ,perl-cgi-simple) ("perl-db-file" ,perl-db-file) ("perl-file-mimeinfo" ,perl-file-mimeinfo) ("perl-html-tagset" ,perl-html-tagset) ("perl-image-magick" ,perl-image-magick) - ("perl-mail-sendmail" ,perl-mail-sendmail) - ("perl-timedate" ,perl-timedate) + ("perl-ipc-run" ,perl-ipc-run) + ("perl-lwpx-paranoidagent" ,perl-lwpx-paranoidagent) + ("perl-xml-feed" ,perl-xml-feed) ("perl-xml-sax" ,perl-xml-sax) - ("perl-xml-simple" ,perl-xml-simple) ("perl-xml-twig" ,perl-xml-twig) ("po4a" ,po4a))) (propagated-inputs - `(("perl-html-parser" ,perl-html-parser) + `(("perl-cgi-formbuilder" ,perl-cgi-formbuilder) + ("perl-cgi-session" ,perl-cgi-session) + ("perl-html-parser" ,perl-html-parser) ("perl-html-scrubber" ,perl-html-scrubber) ("perl-html-template" ,perl-html-template) ("perl-json" ,perl-json) + ("perl-mail-sendmail" ,perl-mail-sendmail) ("perl-text-markdown-discount" ,perl-text-markdown-discount) + ("perl-timedate" ,perl-timedate) ("perl-uri" ,perl-uri) + ("perl-xml-simple" ,perl-xml-simple) ("perl-yaml-libyaml" ,perl-yaml-libyaml))) (home-page "https://ikiwiki.info/") (synopsis "Wiki compiler, capable of generating HTML") @@ -4899,7 +4962,7 @@ commenting.") (define-public libwapcaplet (package (name "libwapcaplet") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) @@ -4907,7 +4970,7 @@ commenting.") "libwapcaplet-" version "-src.tar.gz")) (sha256 (base32 - "1fjwzbn7j8bi1b9bvwxsy3i2cr6byq2s2d29866801pjnf528g86")))) + "0p0c2q9lsj4vs97aa7vjllfhw33zv3dpysdkjblzhib6dpfs2alv")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4925,7 +4988,7 @@ developed as part of the Netsurf project.") (define-public libcss (package (name "libcss") - (version "0.9.0") + (version "0.9.1") (source (origin (method url-fetch) @@ -4933,7 +4996,7 @@ developed as part of the Netsurf project.") "libcss-" version "-src.tar.gz")) (sha256 (base32 - "1vw9j3d2mr4wbvs8fyqmgslkbxknvac10456775hflxxcivbm3xr")))) + "1p66sdiiqm7w4jkq23hsf08khsnmq93hshh9f9m8sbirjdpf3p6j")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -4993,7 +5056,7 @@ in which the loaded data is arranged in memory.") (define-public libdom (package (name "libdom") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) @@ -5001,7 +5064,7 @@ in which the loaded data is arranged in memory.") "libdom-" version "-src.tar.gz")) (sha256 (base32 - "1ixkqsl3f7dl1kajksm0c231w1v5xy8z6hm3v67hgm9nh4qcvfcy")))) + "0jpg5hx3y0mdxk5szd47dyijqimd2321brbqk2620pp5f4j0gvlq")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -5060,7 +5123,7 @@ project.") (define-public libnsbmp (package (name "libnsbmp") - (version "0.1.5") + (version "0.1.6") (source (origin (method url-fetch) @@ -5068,7 +5131,7 @@ project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "0lib2m07d1i0k80m4blkwnj0g7rha4jbm5vrgd0wwbkyfa0hvk35")))) + "0krjg69a2amxjsahdgm3wmy9ngnyr3gfs2a1zhdlbvb0z1jr7i3r")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) @@ -5106,7 +5169,7 @@ C. It is developed as part of the NetSurf project.") (define-public libnslog (package (name "libnslog") - (version "0.1.2") + (version "0.1.3") (source (origin (method url-fetch) @@ -5114,12 +5177,12 @@ C. It is developed as part of the NetSurf project.") "libnslog-" version "-src.tar.gz")) (sha256 (base32 - "1ggs6xvxp8fbg5w8pifalipm458ygr9ab6j2yvj8fnnmxwvdh4jd")))) + "1l2k0kdv9iv18svhv360vszjavhl4g09cp8a8yb719pgsylxr67w")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) ("pkg-config" ,pkg-config) - ("check" ,check-0.12) ; For tests + ("check" ,check) ; For tests ("bison" ,bison) ("flex" ,flex))) (arguments netsurf-buildsystem-arguments) @@ -5134,7 +5197,7 @@ client applications. It is developed as part of the NetSurf project.") (define-public libnsutils (package (name "libnsutils") - (version "0.0.5") + (version "0.1.0") (source (origin (method url-fetch) @@ -5142,7 +5205,7 @@ client applications. It is developed as part of the NetSurf project.") name "-" version "-src.tar.gz")) (sha256 (base32 - "09w1rixps1iiq6wirjwxmd6h87llvjzvw565rahjb3rlyhcplfqf")))) + "1w5fyy2i60a3v3if3iqcn9sy9sycx6966rcx53v85gja6hb6a33r")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) @@ -5157,7 +5220,7 @@ developed as part of the NetSurf project.") (define-public libnspsl (package (name "libnspsl") - (version "0.1.5") + (version "0.1.6") (source (origin (method url-fetch) @@ -5165,7 +5228,7 @@ developed as part of the NetSurf project.") "libnspsl-" version "-src.tar.gz")) (sha256 (base32 - "0siq8zjfxv75i9fw6q5hkaijpdm1w3zskd5qk6vsvz8cqan4vifd")))) + "02q28n5i6fwqcz1nn167rb71k1q95mx38mfah6zi1lvqrc2q5ifk")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) @@ -5180,7 +5243,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") (define-public nsgenbind (package (name "nsgenbind") - (version "0.7") + (version "0.8") (source (origin (method url-fetch) @@ -5188,7 +5251,7 @@ Public Suffix List. It is developed as part of the NetSurf project.") "nsgenbind-" version "-src.tar.gz")) (sha256 (base32 - "0rplmky4afsjwiwh7grkmcdmzg86zksa55j93dvq92f91yljwqqq")))) + "1cqwgwca49jvmijwiyaab2bwxicgxdrnlpinf8kp3nha02nm73ad")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -5208,7 +5271,7 @@ w3c webidl files and a binding configuration file.") (define-public netsurf (package (name "netsurf") - (version "3.9") + (version "3.10") (source (origin (method url-fetch) @@ -5216,7 +5279,7 @@ w3c webidl files and a binding configuration file.") "releases/source/netsurf-" version "-src.tar.gz")) (sha256 (base32 - "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp")) + "0plra64c5xyiw12yx2q13brxsv8apmany97zqa2lcqckw4ll8j1n")) (patches (search-patches "netsurf-system-utf8proc.patch" "netsurf-y2038-tests.patch" "netsurf-longer-test-timeout.patch" @@ -5283,18 +5346,18 @@ w3c webidl files and a binding configuration file.") (display (read-line in 'concat) out) (sxml->xml (let rec ((sxml (xml->sxml in - #:default-entity-handler - (lambda (port name) - (string-append "<ENTITY>" - (symbol->string name) - "</ENTITY>"))))) + #:default-entity-handler + (lambda (port name) + (string-append "<ENTITY>" + (symbol->string name) + "</ENTITY>"))))) ;; We'd like to use sxml-match here, but it can't ;; match against generic tag symbols... (match sxml (`(div (@ (class "links")) . ,rest) '()) - (`(ENTITY ,ent) - `(*ENTITY* ,ent)) + (`(ENTITY ,ent) + `(*ENTITY* ,ent)) ((x ...) (map rec x)) (x x))) @@ -5437,6 +5500,60 @@ HTTP statistics for system administrators that require a visual server report on the fly.") (license license:x11))) +(define-public hitch + (package + (name "hitch") + (version "1.5.2") + (home-page "https://hitch-tls.org/") + (source (origin + (method url-fetch) + (uri (string-append home-page "source/hitch-" version ".tar.gz")) + (sha256 + (base32 + "1nnzqqigfw78nqhp81a72x1s8d6v49ayw4w5df0zzm2cb1jgv95i")))) + (build-system gnu-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Most tests attempts to access hitch-tls.org which is + ;; unavailable in the build container. Run them against + ;; a dummy local web server instead. + (for-each (lambda (test) + (substitute* test + (("\\[hitch-tls\\.org\\]:80") + "[localhost]:8000"))) + (find-files "src/tests" "\\.sh$")) + (system "python3 -m http.server &") + + ;; The build container does not reap zombie processes, + ;; causing stop_hitch to hang indefinitely while waiting + ;; for the process to terminate because 'kill -0' never + ;; succeeds. Use a different test to see whether the + ;; process has shut down. + (substitute* "src/tests/hitch_test.sh" + (("kill -0 \"\\$HITCH_PID\"") + "$(ps -p $HITCH_PID -o state= | grep -qv '^Z$')")) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + + ;; For tests. + ("curl" ,curl) + ("egrep" ,grep) + ("lsof" ,lsof) + ("python" ,python))) + (inputs + `(("libev" ,libev) + ("openssl" ,openssl))) + (synopsis "Scalable TLS proxy") + (description + "Hitch is a performant TLS proxy based on @code{libev}. It terminates +SSL/TLS connections and forwards the unencrypted traffic to a backend such +as a web server. It is designed to handle many thousand connections on +multicore machines.") + (license license:bsd-2))) + (define-public httptunnel (package (name "httptunnel") @@ -5600,15 +5717,15 @@ configuration language.") (package (name "varnish-modules") (home-page "https://github.com/varnish/varnish-modules") - (version "0.15.0") + (version "0.16.0") (source (origin (method url-fetch) - (uri (string-append "https://download.varnish-software.com" - "/varnish-modules/varnish-modules-" - version ".tar.gz")) + (uri (string-append "https://github.com/varnish/varnish-modules" + "/releases/download/varnish-modules-" version + "/varnish-modules-" version ".tar.gz")) (sha256 (base32 - "09li9lqa1kb275w1rby2zldyg8r9cfcl4qyv53qyd9xbzilrz751")))) + "1ph5bplsip4rycql1c2hgbvmrwbgcrgv2ldgfp7saxxbsv5cpcds")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -5618,7 +5735,7 @@ configuration language.") (synopsis "Collection of Varnish modules") (description "This package provides a collection of modules (@dfn{vmods}) for the Varnish -cache server, extending the @dfn{Varnish Configuration Language} (VCL) with +cache server, extending the @acronym{VCL, Varnish Configuration Language} with additional capabilities.") (license license:bsd-2))) @@ -5825,30 +5942,30 @@ into your tests. It automatically starts up a HTTP server in a separate thread (define-public http-parser (package (name "http-parser") - (version "2.9.3") + (version "2.9.4") (home-page "https://github.com/nodejs/http-parser") - (source (origin - (method git-fetch) - (uri (git-reference (url home-page) - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (patches - ;; When parsing URLs, treat an empty port (eg - ;; `http://hostname:/`) as if it were unspecified. This patch is - ;; applied to Fedora's http-parser and to libgit2's bundled version. - (list - (origin - (method url-fetch) - (uri (string-append - "https://src.fedoraproject.org/rpms/http-parser/raw/" - "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/" - "f/0001-url-treat-empty-port-as-default.patch")) - (sha256 - (base32 - "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g"))))) - (sha256 - (base32 - "189zi61vczqgmqjd2myjcjbbi5icrk7ccs0kn6nj8hxqiv5j3811")))) + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 "1vda4dp75pjf5fcph73sy0ifm3xrssrmf927qd1x8g3q46z0cv6c")) + (file-name (git-file-name name version)) + (patches + (list + (origin + ;; Treat an empty port (e.g. `http://hostname:/`) when parsing + ;; URLs as if no port were specified. This patch is applied + ;; to Fedora's http-parser and to libgit2's bundled version. + (method url-fetch) + (uri (string-append + "https://src.fedoraproject.org/rpms/http-parser/raw/" + "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/" + "f/0001-url-treat-empty-port-as-default.patch")) + (sha256 + (base32 + "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g"))))))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -5861,6 +5978,14 @@ into your tests. It automatically starts up a HTTP server in a separate thread '("CC=gcc"))) #:phases (modify-phases %standard-phases + ,@(match (%current-system) + ("armhf-linux" + '((add-before 'check 'apply-assertion.patch + (lambda* (#:key inputs #:allow-other-keys) + (let ((patch (assoc-ref inputs "assertion.patch"))) + (invoke "patch" "-p1" "-i" patch) + #t))))) + (_ '())) ,@(if (%current-target-system) '((replace 'configure (lambda* (#:key target #:allow-other-keys) @@ -5871,6 +5996,14 @@ into your tests. It automatically starts up a HTTP server in a separate thread (string-append "AR=" target "-ar\n"))) #t))) '((delete 'configure)))))) + (native-inputs + `(,@(match (%current-system) + ("armhf-linux" + ;; A fix for <https://issues.guix.gnu.org/40604> which in turn + ;; breaks i686-linux builds. + `(("assertion.patch" + ,@(search-patches "http-parser-fix-assertion-on-armhf.patch")))) + (_ '())))) (synopsis "HTTP request/response parser for C") (description "This is a parser for HTTP messages written in C. It parses both requests and responses. The parser is designed to be used in @@ -7073,6 +7206,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.") (package (name "nghttp2") (version "1.40.0") + (replacement nghttp2-1.41) (source (origin (method url-fetch) @@ -7152,6 +7286,20 @@ compressed JSON header blocks. @end itemize\n") (license license:expat))) +(define-public nghttp2-1.41 ;fixes CVE-2020-11080 + (package + (inherit nghttp2) + (version "1.41.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/nghttp2/nghttp2/" + "releases/download/v" version "/" + "nghttp2-" version ".tar.xz")) + (sha256 + (base32 + "1hk77vngjmvvzb5y1gi1aqwf6qywrc7yak08zvzb7x81qs6mphmb")))))) + (define-public hpcguix-web (let ((commit "9de63562b06b4aef3a3afe5ecb18d3c91e57ee74") (revision "5")) @@ -7226,7 +7374,7 @@ compressed JSON header blocks. (propagated-inputs `(("guile" ,guile-3.0) ("guile-commonmark" ,guile-commonmark) - ("guile-json" ,guile-json-3))) + ("guile-json" ,guile-json-4))) (home-page "https://github.com/UMCUGenetics/hpcguix-web") (synopsis "Web interface for cluster deployments of Guix") (description "Hpcguix-web provides a web interface to the list of packages diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 90be7d2625..3804209841 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -93,14 +93,14 @@ backend which implements them.") (define-public wpebackend-fdo (package (name "wpebackend-fdo") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append "https://wpewebkit.org/releases/" "wpebackend-fdo-" version ".tar.xz")) (sha256 (base32 - "0rzm16m3mw9dh2jis9avk2rhz7bijanrzlywyiaicyzrv2wxfnvz")))) + "1jdi43gciqjgvhnqxs160f3hmp1hkqhrllb0hhmldyxc4wryw3kl")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no tests diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index a29a7d9764..615ac788ed 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -9,7 +9,7 @@ ;;; 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> -;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is> +;;; Copyright © 2016, 2017, 2018, 2020 Nikita <nikita@n0.is> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> @@ -151,15 +151,14 @@ the leaves of a full binary tree.") (define-public herbstluftwm (package (name "herbstluftwm") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) (uri (string-append "https://herbstluftwm.org/tarballs/herbstluftwm-" version ".tar.gz")) (sha256 - (base32 - "0wbl1s1gwdc61ll6qmkwb56swjxv99by1dhi080bdqn0w8p75804")) + (base32 "1qmb4pjf2f6g0dvcg11cw9njwmxblhqzd70ai8qnlgqw1iz3nkm1")) (file-name (string-append "herbstluftwm-" version ".tar.gz")))) (build-system cmake-build-system) (inputs @@ -1176,15 +1175,15 @@ It is inspired by Xmonad and dwm. Its major features include: (define-public cwm (package (name "cwm") - (version "6.3") + (version "6.6") (source (origin (method url-fetch) - (uri (string-append "http://chneukirchen.org/releases/cwm-" + (uri (string-append "https://leahneukirchen.org/releases/cwm-" version ".tar.gz")) (sha256 (base32 - "17pdp9cfgh2n3n3905l4rl9qk7b722i8psnarhlc2h98qzx7zmac")))) + "0p350pbfn92m21jiq4i324sdskxhs71p435g0mgz7cmzprnhhg92")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "CC=gcc" @@ -1219,7 +1218,7 @@ It is inspired by Xmonad and dwm. Its major features include: (native-inputs `(("pkg-config" ,pkg-config) ("bison" ,bison))) - (home-page "https://github.com/chneukirchen/cwm") + (home-page "https://github.com/leahneukirchen/cwm") (synopsis "OpenBSD fork of the calmwm window manager") (description "Cwm is a stacking window manager for X11. It is an OpenBSD project derived from the original Calm Window Manager.") @@ -1268,14 +1267,14 @@ its size (define-public polybar (package (name "polybar") - (version "3.4.2") + (version "3.4.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/polybar/polybar/releases/" "download/" version "/polybar-" version ".tar")) (sha256 - (base32 "0fmnviz4b01aw50nkv4yibm8ykc5ff860ynw3xb1ymlsjrvwj8jd")))) + (base32 "0bw22qvbcdvyd0qv3ax48r34rnclbbb6dyb8h8zljq1r3lf15vfl")))) (build-system cmake-build-system) (arguments ;; Test is disabled because it requires downloading googletest from the @@ -1660,11 +1659,11 @@ productive, customizable lisp based systems.") (delete 'cleanup) (delete 'create-symlinks))))))) -(define-public stumpish - (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") - (revision "1")) +(define stumpwm-contrib + (let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d63") + (revision "2")) (package - (name "stumpish") + (name "stumpwm-contrib") (version (git-version "0.0.1" revision commit)) ;no upstream release (source (origin @@ -1672,154 +1671,189 @@ productive, customizable lisp based systems.") (uri (git-reference (url "https://github.com/stumpwm/stumpwm-contrib.git") (commit commit))) - (file-name (git-file-name name version)) (sha256 - (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) + (base32 "0giac390bq95ag41xkxqp8jjrhfx1wpgglz7jg5rkm0wjhcwmyml")))) + (build-system asdf-build-system/sbcl) (inputs - `(("bash" ,bash) - ("rlwrap" ,rlwrap))) - (build-system trivial-build-system) - (arguments - '(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (copy-recursively (assoc-ref %build-inputs "source") ".") - (chdir "util/stumpish") - (substitute* "stumpish" - (("rlwrap") (string-append (assoc-ref %build-inputs "rlwrap") - "/bin/rlwrap")) - (("/bin/sh") (string-append (assoc-ref %build-inputs "bash") - "/bin/bash"))) - (install-file "stumpish" (string-append %output "/bin"))))) + `(("stumpwm" ,stumpwm "lib"))) (home-page "https://github.com/stumpwm/stumpwm-contrib") (synopsis "StumpWM interactive shell") (description "This package provides a StumpWM interactive shell.") (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) +(define-public stumpish + (package + (inherit stumpwm-contrib) + (name "stumpish") + (inputs + `(("bash" ,bash) + ("rlwrap" ,rlwrap))) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (copy-recursively (assoc-ref %build-inputs "source") ".") + (chdir "util/stumpish") + (substitute* "stumpish" + (("rlwrap") (string-append (assoc-ref %build-inputs "rlwrap") + "/bin/rlwrap")) + (("/bin/sh") (string-append (assoc-ref %build-inputs "bash") + "/bin/bash"))) + (install-file "stumpish" (string-append %output "/bin"))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "StumpWM interactive shell") + (description "This package provides a StumpWM interactive shell.") + (license (list license:gpl2+ license:gpl3+ license:bsd-2)))) + (define-public sbcl-stumpwm+slynk (deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk)) (define-public sbcl-stumpwm-ttf-fonts - (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") - (revision "1")) - (package - (name "sbcl-ttf-fonts") - (version (git-version "0.0.1" revision commit)) ;no upstream release - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/stumpwm/stumpwm-contrib.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) - (inputs - `(("stumpwm" ,stumpwm "lib") - ("clx-truetype" ,sbcl-clx-truetype))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "util/ttf-fonts")))))) - (home-page "https://github.com/stumpwm/stumpwm-contrib") - (synopsis "Implementation of TTF font rendering for Lisp") - (description "This package provides a Lisp implementation of TTF font + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-ttf-fonts") + (inputs + `(("stumpwm" ,stumpwm "lib") + ("clx-truetype" ,sbcl-clx-truetype))) + (arguments + '(#:asd-system-name "ttf-fonts" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "util/ttf-fonts") #t))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Implementation of TTF font rendering for Lisp") + (description "This package provides a Lisp implementation of TTF font rendering.") - (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + (license (list license:gpl2+ license:gpl3+ license:bsd-2)))) (define-public sbcl-stumpwm-pass - (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") - (revision "1")) - (package - (name "sbcl-pass") - (version (git-version "0.0.1" revision commit)) ;no upstream release - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/stumpwm/stumpwm-contrib.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) - (inputs - `(("stumpwm" ,stumpwm "lib"))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "util/pass")))))) - (home-page "https://github.com/stumpwm/stumpwm-contrib") - (synopsis "Integrate @code{pass} wih StumpWM") - (description "This package provides an interface which integrates + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-pass") + (arguments + '(#:asd-system-name "pass" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "util/pass") #t))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Integrate @code{pass} wih StumpWM") + (description "This package provides an interface which integrates password-store into StumpWM.") - (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + (license (list license:gpl2+ license:gpl3+ license:bsd-2)))) (define-public sbcl-stumpwm-globalwindows - (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") - (revision "1")) - (package - (name "sbcl-globalwindows") - (version (git-version "0.0.1" revision commit)) ;no upstream release - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/stumpwm/stumpwm-contrib.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) - (inputs - `(("stumpwm" ,stumpwm "lib"))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "util/globalwindows")))))) - (home-page "https://github.com/stumpwm/stumpwm-contrib") - (synopsis "Manipulate all windows in the current X session") - (description "This package provides a StumpWM module to manipulate all + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-globalwindows") + (arguments + '(#:asd-system-name "globalwindows" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "util/globalwindows") #t))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Manipulate all windows in the current X session") + (description "This package provides a StumpWM module to manipulate all windows in the current X session.") - (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + (license (list license:gpl2+ license:gpl3+ license:bsd-2)))) (define-public sbcl-stumpwm-swm-gaps - (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") - (revision "1")) - (package - (name "sbcl-swm-gaps") - (version (git-version "0.0.1" revision commit)) ;no upstream release - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/stumpwm/stumpwm-contrib.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) - (inputs - `(("stumpwm" ,stumpwm "lib"))) - (build-system asdf-build-system/sbcl) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'chdir - (lambda _ - (chdir "util/swm-gaps")))))) - (home-page "https://github.com/stumpwm/stumpwm-contrib") - (synopsis "Gaps between windows for StumpWM") - (description "This package provides a StumpWM module which adds gaps + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-swm-gaps") + (arguments + '(#:asd-system-name "swm-gaps" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "util/swm-gaps") #t))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Gaps between windows for StumpWM") + (description "This package provides a StumpWM module which adds gaps between windows.") - (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + (license (list license:gpl2+ license:gpl3+ license:bsd-2)))) + +(define-public sbcl-stumpwm-net + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-net") + (arguments + '(#:asd-system-name "net" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir (lambda _ (chdir "modeline/net") #t))))) + (home-page + "https://github.com/stumpwm/stumpwm-contrib/tree/master/modeline/net") + (synopsis "Modeline support for network connectivity") + (description "Modeline support for network connectivity.") + (supported-systems + (filter (lambda (a) (string-contains a "linux")) %supported-systems)) + (license license:gpl3+))) + +(define-public sbcl-stumpwm-wifi + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-wifi") + (arguments + '(#:asd-system-name "wifi" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir (lambda _ (chdir "modeline/wifi") #t))))) + (home-page + "https://github.com/stumpwm/stumpwm-contrib/tree/master/modeline/wifi") + (synopsis "Modeline support for wifi connectivity") + (description "Modeline support for wifi connectivity.") + (supported-systems + (filter (lambda (a) (string-contains a "linux")) %supported-systems)) + (license license:gpl3+))) + +(define-public sbcl-stumpwm-stumptray + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-stumptray") + (arguments + '(#:asd-system-name "stumptray" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir (lambda _ (chdir "modeline/stumptray") #t))))) + (inputs + `(("stumpwm" ,stumpwm "lib") + ("xembed" ,sbcl-clx-xembed) + ("alexandria" ,sbcl-alexandria))) + (home-page + "https://github.com/stumpwm/stumpwm-contrib/tree/master/modeline/stumptray") + (synopsis "Modeline support for stumptray connectivity") + (description "Modeline support for stumptray connectivity.") + (supported-systems + (filter (lambda (a) (string-contains a "linux")) %supported-systems)) + (license license:gpl3+))) + +(define-public sbcl-stumpwm-kbd-layouts + (package + (inherit stumpwm-contrib) + (name "sbcl-stumpwm-kbd-layouts") + (arguments + '(#:asd-system-name "kbd-layouts" + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir (lambda _ (chdir "util/kbd-layouts") #t))))) + (home-page + "https://github.com/stumpwm/stumpwm-contrib/tree/master/util/kbd-layouts") + (synopsis "Keyboard layout switcher for StumpWM") + (description "Keyboard layout switcher for StumpWM") + (license license:gpl3+))) (define-public lemonbar (let ((commit "35183ab81d2128dbb7b6d8e119cc57846bcefdb4") @@ -1838,9 +1872,10 @@ between windows.") "1wwqbph392iwz8skaqxb0xpklb1l6yganqz80g4x1fhrnz7idmlh")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; no test suite - #:make-flags (list "CC=gcc" - (string-append "PREFIX=" %output)) + `(#:tests? #f ; no test suite + #:make-flags + (list ,(string-append "CC=" (cc-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (delete 'configure)))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 256b86a39a..7cf8cc9a67 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> -;;; Copyright © 2016, 2017, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Petter <petter@mykolab.ch> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; Copyright © 2017 Nikita <nikita@n0.is> @@ -27,7 +27,7 @@ ;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu> ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com> -;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw> +;;; Copyright © 2019, 2020 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 David Wilson <david@daviwil.com> @@ -58,6 +58,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix hg-download) #:use-module (guix utils) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -161,7 +162,7 @@ program.") (define-public autorandr (package (name "autorandr") - (version "1.9") + (version "1.10.1") (home-page "https://github.com/phillipberndt/autorandr") (source (origin @@ -171,8 +172,10 @@ program.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1bb0l7fcm5lcx9y02zdxv7pfdqf4v4gsc5br3v1x9gzjvqj64l7n")))) + (base32 "0msw9b1hdy3gbq9w5d04mfizhyirz1c648x84mlcbzl8salm7vpg")))) (build-system python-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs `(("xrandr" ,xrandr) ("libxcb" ,libxcb))) @@ -187,18 +190,20 @@ program.") (("/usr") (assoc-ref outputs "out"))) (substitute* "autorandr.py" (("popen\\(\"xrandr") (string-append "popen(\"" xrandr)) - (("\\[\"xrandr") (string-append "[\"" xrandr)))) + (("\\[\"xrandr") (string-append "[\"" xrandr))) + (substitute* "contrib/autorandr_launcher/autorandr_launcher.c" + (("/usr/bin/autorandr") + (string-append (assoc-ref outputs "out") "/bin/autorandr"))) + (setenv "CC" "gcc")) #t)) (add-after 'install 'install-contrib (lambda* (#:key outputs #:allow-other-keys) (invoke "make" (string-append "DESTDIR=" (assoc-ref outputs "out")) "PREFIX=" - "BASH_COMPLETIONS_DIR=etc/bash_completiond.d" - "install_manpage" - "install_bash_completion" - "install_launcher" - "install_autostart_config")))))) + "BASH_COMPLETIONS_DIR=etc/bash_completion.d" + "install" + "TARGETS=autorandr launcher manpage bash_completion")))))) (synopsis "Auto-detect connected displays and load appropriate setup") (description "Autorandr wraps around xrandr to help with X11 multi-screen configuration management. It allows the user to create profiles @@ -210,7 +215,7 @@ used to further tweak the behaviour of the different profiles.") (define-public bemenu (package (name "bemenu") - (version "0.2.0") + (version "0.4.1") (source (origin (method git-fetch) @@ -219,10 +224,18 @@ used to further tweak the behaviour of the different profiles.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0piax49az5kp96r1g6dcgj87fi6p4jl286wlkxsdvljzpkn8q6gv")))) - (build-system cmake-build-system) + (base32 "1fjcs9d3533ay3nz79cx3c0lmy2chgragr2lhsy0xl2ckr0iins0")))) + (build-system gnu-build-system) (arguments - '(#:configure-flags '("-DBEMENU_WAYLAND_RENDERER=ON"))) + '(#:tests? #f + #:make-flags (list "CC=gcc" + "CFLAGS=-O2 -fPIC" + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib") + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) (inputs `(("cairo" ,cairo) ("libx11" ,libx11) @@ -241,7 +254,7 @@ used to further tweak the behaviour of the different profiles.") "bemenu is a dynamic menu which allows the user to flexibly select from a list of options (usually programs to launch). It renders the menu graphically with X11 or Wayland, or in a text terminal with ncurses.") - (license (list license:gpl3+ ; client program[s] and other sources + (license (list license:gpl3+ ; client program[s] and other sources license:lgpl3+)))) ; library and bindings (define-public copyq @@ -482,18 +495,16 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.100") - (source - (origin - (method url-fetch) - (uri (string-append - "https://dri.freedesktop.org/libdrm/libdrm-" - version - ".tar.bz2")) - (sha256 - (base32 - "0p8a1l3a3s40i81mawm8nhrbk7p97ss05qkawp1yx73c30lchz67")) - (patches (search-patches "libdrm-symbol-check.patch")))) + (version "2.4.101") + (source (origin + (method url-fetch) + (uri (string-append + "https://dri.freedesktop.org/libdrm/libdrm-" + version ".tar.xz")) + (sha256 + (base32 + "19vqbhqljhln0lrpnv3s7y3lkhsdcp76dl8bhqj3cis9ism1pwyx")) + (patches (search-patches "libdrm-realpath-virtio.patch")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -615,7 +626,7 @@ move windows, switch between desktops, etc.).") (define-public scrot (package (name "scrot") - (version "1.2") + (version "1.3") (source (origin (method git-fetch) @@ -625,7 +636,7 @@ move windows, switch between desktops, etc.).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "08gkdby0ysx2mki57z81zlm7vfnq9c1gq692xw67cg5vv2p3320w")))) + (base32 "0x70hd59ik37kqd8xqpwrz46np01jv324iz28x2s0kk36d7sblsj")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -793,7 +804,7 @@ to find buttons, etc, on the screen to click on.") (define-public xbanish (package (name "xbanish") - (version "1.6") + (version "1.7") (home-page "https://github.com/jcs/xbanish") (source (origin (method git-fetch) @@ -802,14 +813,14 @@ to find buttons, etc, on the screen to click on.") (file-name (git-file-name name version)) (sha256 (base32 - "0vp8ja68hpmqkl61zyjar3czhmny1hbm74m8f393incfz1ymr3i8")))) + "0ic5f7zgc32p5g1wxas9y5h8dhik0pvsa8wmn6skdry56gw9vg9q")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;no tests + `(#:tests? #f ; no tests #:make-flags (list "CC=gcc" (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases - (delete 'configure)))) + (delete 'configure)))) ; no configure script (inputs `(("libx11" ,libx11) ("libxfixes" ,libxfixes) @@ -886,7 +897,7 @@ transparent text on your screen.") (define-public xbindkeys (package (name "xbindkeys") - (version "1.8.6") + (version "1.8.7") (source (origin (method url-fetch) ;; Download from the savannah mirror list fails @@ -896,11 +907,13 @@ transparent text on your screen.") ".tar.gz")) (sha256 (base32 - "060df6d8y727jp1inp7blp44cs8a7jig7vcm8ndsn6gw36z1h3bc")))) + "1wl2vc5alisiwyk8m07y1ryq8w3ll9ym83j27g4apm4ixjl8d6x2")))) (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs `(("libx11" ,libx11) - ("guile" ,guile-2.0))) + ("guile" ,guile-2.2))) (home-page "https://www.nongnu.org/xbindkeys/") (synopsis "Associate a combination of keys with a shell command") (description @@ -1151,6 +1164,50 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).") (base32 "1fi27b73x85qqar526dbd33av7mahca2ykaqwr7siqiw1qqcby6j")))) (build-system gnu-build-system) + (arguments + `(#:imported-modules (,@%gnu-build-system-modules + (guix build python-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'split-outputs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gtk (assoc-ref outputs "gtk")) + (desktop-file "/share/applications/redshift-gtk.desktop")) + (mkdir-p (string-append gtk "/bin")) + (link (string-append out "/bin/redshift-gtk") + (string-append gtk "/bin/redshift-gtk")) + (delete-file (string-append out "/bin/redshift-gtk")) + (copy-recursively (string-append out "/lib") + (string-append gtk "/lib")) + (delete-file-recursively (string-append out "/lib")) + (mkdir-p (string-append gtk "/share/applications")) + (link (string-append out desktop-file) + (string-append gtk desktop-file)) + (delete-file (string-append out desktop-file)) + (with-directory-excursion (string-append out "/share") + (for-each (lambda (dir) + (copy-recursively + (string-append out "/share/" dir) + (string-append gtk "/share/" dir)) + (delete-file-recursively dir)) + '("appdata" "icons"))) + #t))) + (add-after 'split-outputs 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gtk (assoc-ref outputs "gtk")) + (python-version + (@ (guix build python-build-system) python-version)) + (python (assoc-ref inputs "python")) + (sitedir (string-append gtk "/lib/python" + (python-version python) + "/site-packages"))) + (wrap-program (string-append gtk "/bin/redshift-gtk") + `("PYTHONPATH" ":" prefix + (,(string-append sitedir ":" (getenv "PYTHONPATH")))) + `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (outputs '("out" "gtk")) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) @@ -1159,7 +1216,13 @@ the X.Org X Server version 1.7 and later (X11R7.5 or later).") ("libx11" ,libx11) ("libxcb" ,libxcb) ("libxxf86vm" ,libxxf86vm) - ("glib" ,glib))) ; for Geoclue2 support + ("glib" ,glib) ;for Geoclue2 support + + ;; To build the GTK3 GUI, we need these. + ("gtk+" ,gtk+) + ("python" ,python) + ("python-pygobject" ,python-pygobject) + ("python-pyxdg" ,python-pyxdg))) (home-page "https://github.com/jonls/redshift") (synopsis "Adjust the color temperature of your screen") (description @@ -1187,6 +1250,24 @@ color temperature should be set to match the lamps in your room.") (base32 "0nbkcw3avmzjg1jr1g9yfpm80kzisy55idl09b6wvzv2sz27n957")))) (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'install 'create-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + ;; For the GeoClue provider to work, a .desktop file + ;; needs to be provided. A template is available, + ;; but it only gets installed when the GUI is enabled. + ;; Install it manually for this Wayland variant. + (let* ((out (assoc-ref outputs "out")) + (desktop-file + (string-append + out "/share/applications/redshift.desktop"))) + (mkdir-p (dirname desktop-file)) + (copy-file "data/applications/redshift.desktop.in" + desktop-file) + (substitute* desktop-file + (("^_") "")) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -1504,13 +1585,13 @@ program for X11. It was designed to be fast, tiny and scriptable in any languag #:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "DESTDIR=" out))))) + (home-page "https://github.com/vixus0/xftwidth") (synopsis "Calculator for determining pixel widths of displayed text using Xft fonts") (description "xftwidth is a small C program for calculating the pixel widths of displayed text using Xft fonts. It is especially useful in scripts for displaying text in graphical panels, menus, popups, and notification windows generated using dzen. These scripts are often used in conjunction with minimalistic tiling window managers such as herbstluftwm and bspwm.") - (home-page "http://github.com/vixus0/xftwidth") (license license:expat))) (define-public xcb-util-xrm @@ -1828,7 +1909,7 @@ colors on all monitors attached to an XRandR-capable X11 display server.") (define-public sct (package (name "sct") - (version "0.4") + (version "0.5") (source (origin (method url-fetch) @@ -1836,12 +1917,12 @@ colors on all monitors attached to an XRandR-capable X11 display server.") (string-append "https://www.umaxx.net/dl/sct-" version ".tar.gz")) (sha256 - (base32 - "0r57z9ki8pvxhawfxys0v5h85z2x211sqxki0xvk1bga88ryldlv")))) + (base32 "0lrhx771iccbw04wrhj0ygids1pzmjfc4hvklm30m3p3flvhqf0m")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list "CC=gcc") - #:tests? #f ; No tests exist. + `(#:make-flags + (list ,(string-append "CC=" (cc-for-target))) + #:tests? #f ; no test suite #:phases (modify-phases %standard-phases (delete 'configure) @@ -2188,9 +2269,9 @@ configuring visual settings in different UI toolkits separately.") (install-file "clipnotify" bin) (install-file "README.md" doc) #t)))) - #:make-flags (list "CC=gcc") - ;; the package provides no test suite: - #:tests? #f)) + #:make-flags + (list ,(string-append "CC=" (cc-for-target))) + #:tests? #f)) ; no test suite (inputs `(("libx11" ,libx11) ("libXfixes" ,libxfixes))) @@ -2358,3 +2439,31 @@ is to find @file{.desktop} files and offer you a menu to start an application using @command{dmenu}.") (home-page "https://github.com/enkore/j4-dmenu-desktop") (license license:gpl3+))) + +(define-public wofi + (package + (name "wofi") + (version "1.1.2") + (source (origin + (method hg-fetch) + (uri (hg-reference + (url "https://hg.sr.ht/~scoopta/wofi") + (changeset (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "086j5wshawjbwdmmmldivfagc2rr7g5a2gk11l0snqqslm294xsn")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t)) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("gtk3" ,gtk+) + ("wayland" ,wayland))) + (synopsis "Launcher/menu program for wayland") + (description + "Wofi is a launcher/menu program for wlroots based wayland compositors +such as sway, similar to @command{rofi}.") + (home-page "https://hg.sr.ht/~scoopta/wofi") + (license license:gpl3+))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 61b64ef553..89a4206363 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -120,15 +120,15 @@ Xfce Desktop Environment.") (define-public xfconf (package (name "xfconf") - (version "4.14.1") + (version "4.14.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfconf/" (version-major+minor version) "/" + "xfconf-" version ".tar.bz2")) (sha256 (base32 - "0n8d55c98ff7wgwv3qa4g369sv4iasgm1w62zq10kq5f56iy14xq")))) + "00hcb96bw5ylfs9ppblchj8zv9026m3dlf7lnmgiq5f6xyh5542q")))) (build-system gnu-build-system) (arguments '(#:phases @@ -661,7 +661,7 @@ like appearance, display, keyboard and mouse settings.") (define-public thunar (package (name "thunar") - (version "1.8.14") + (version "1.8.15") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -669,7 +669,7 @@ like appearance, display, keyboard and mouse settings.") "thunar-" version ".tar.bz2")) (sha256 (base32 - "17r1z8cyp709lz38w7b5vqi1zbgm2i3sqvdvicsbvma2b0gppica")))) + "14vw4yaf9fff24zmj4dp8r8hf8mb19hl4w4l0jc8c4qzy865c93n")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -724,7 +724,7 @@ and import the new pictures from your camera.") (define-public xfwm4 (package (name "xfwm4") - (version "4.14.1") + (version "4.14.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -732,7 +732,7 @@ and import the new pictures from your camera.") "xfwm4-" version ".tar.bz2")) (sha256 (base32 - "0a0la57jh618qfl7czsn7mspcraqczkm1m616j7jwxkhh2hq21qh")))) + "14pxiymg0hpg3yijbjv5w6259pra4rqq79b7a6mvd8wn4ls40nxi")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 51ac6d44d1..90181a1773 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -817,16 +818,17 @@ server, collect the answer, and finally decoding the XML to Perl.") (base32 "1z1a88bpy64j42bbyl8acbfl3dn9iaz47gx6clkgy5sbn4kr0kgk")))) (build-system perl-build-system) - (arguments - `(#:tests? #f)) ; tests require internet connection (native-inputs `(("perl-module-build" ,perl-module-build) ("perl-uri" ,perl-uri) ("perl-class-data-inheritable" ,perl-class-data-inheritable))) - (inputs + (propagated-inputs `(("perl-class-errorhandler" ,perl-class-errorhandler) ("perl-datetime" ,perl-datetime) + ("perl-datetime-format-flexible" ,perl-datetime-format-flexible) + ("perl-datetime-format-iso8601" ,perl-datetime-format-iso8601) ("perl-datetime-format-mail" ,perl-datetime-format-mail) + ("perl-datetime-format-natural" ,perl-datetime-format-natural) ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf) ("perl-feed-find" ,perl-feed-find) ("perl-html-parser" ,perl-html-parser) @@ -1284,14 +1286,14 @@ spreadsheet.") (define-public xerces-c (package (name "xerces-c") - (version "3.1.4") + (version "3.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://apache/xerces/c/3/sources/" "xerces-c-" version ".tar.xz")) (sha256 (base32 - "0hb29c0smqlpxj0zdm09s983z5jx37szlliccnvgh0qq91wwqwwr")))) + "0jf1khvlssg31vkxbc25dxjxcxm56xb8nywj1sypj6hxzjlrkz0j")))) (build-system gnu-build-system) (arguments (let ((system (or (%current-target-system) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9a7b856791..e5fe3e14cf 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2556,7 +2556,7 @@ including most mice, keyboards, tablets and touchscreens.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libinput" ,libinput) + `(("libinput" ,libinput-minimal) ("xorg-server" ,xorg-server))) (home-page "https://www.x.org/wiki/") (synopsis "Input driver for X server based on libinput") diff --git a/gnu/services.scm b/gnu/services.scm index 2e4648bf78..27e5558231 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (guix modules) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages hurd) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) @@ -91,6 +93,8 @@ activation-service-type activation-service->script %linux-bare-metal-service + %hurd-rc-script + %hurd-startup-service special-files-service-type extra-special-file etc-service-type @@ -603,6 +607,39 @@ ACTIVATION-SCRIPT-TYPE." activation-service-type %linux-kernel-activation)) +(define %hurd-rc-script + ;; The RC script to be started upon boot. + (program-file "rc" + (with-imported-modules (source-module-closure + '((guix build utils) + (gnu build hurd-boot) + (guix build syscalls))) + #~(begin + (use-modules (guix build utils) + (gnu build hurd-boot) + (guix build syscalls) + (ice-9 match) + (system repl repl) + (srfi srfi-1) + (srfi srfi-26)) + (boot-hurd-system))))) + +(define (hurd-rc-entry rc) + "Return, as a monadic value, an entry for the RC script in the system +directory." + (mlet %store-monad ((rc (lower-object rc))) + (return `(("rc" ,rc))))) + +(define hurd-startup-service-type + ;; The service that creates the initial SYSTEM/rc startup file. + (service-type (name 'startup) + (extensions + (list (service-extension system-service-type hurd-rc-entry))) + (default-value %hurd-rc-script))) + +(define %hurd-startup-service + ;; The service that produces the RC script. + (service hurd-startup-service-type %hurd-rc-script)) (define special-files-service-type ;; Service to install "special files" such as /bin/sh and /usr/bin/env. diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index c3c6d2f1be..16d6f76c1a 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -869,7 +869,7 @@ IPP specifications.") (use-modules (guix build utils)) (define (mkdir-p/perms directory owner perms) (mkdir-p directory) - (chown "/var/run/cups" (passwd:uid owner) (passwd:gid owner)) + (chown directory (passwd:uid owner) (passwd:gid owner)) (chmod directory perms)) (define (build-subject parameters) (string-concatenate diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index 93f2ae576c..9e45743586 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -1036,29 +1036,12 @@ with the administrator's password." (match-record enlightenment-desktop-configuration <enlightenment-desktop-configuration> (enlightenment) - (let ((module-arch (match (string-tokenize (%current-system) - (char-set-complement (char-set #\-))) - ((arch "linux") (string-append "linux-gnu-" arch)) - ((arch "gnu") (string-append "gnu-" arch))))) - (list (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_sys") - (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_backlight") - ;; TODO: Move this binary to a screen-locker service. - (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_ckpasswd") - (file-append enlightenment - (string-append - "/lib/enlightenment/modules/cpufreq/" - module-arch "-" - (package-version enlightenment) - "/freqset")) - (file-append enlightenment - (string-append - "/lib/enlightenment/modules/sysinfo/" - module-arch "-" - (package-version enlightenment) - "/cpuclock_sysfs")))))) + (list (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_sys") + (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_system") + (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_ckpasswd")))) (define enlightenment-desktop-service-type (service-type diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index d6dc792821..937dff7bdb 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,7 +53,10 @@ loop-back communications.") (enable-proxy? (boolean #t) - "Enable or disable the user-land proxy (enabled by default).")) + "Enable or disable the user-land proxy (enabled by default).") + (debug? + (boolean #f) + "Enable or disable debug output.")) (define %docker-accounts (list (user-group (name "docker") (system? #t)))) @@ -71,19 +75,24 @@ loop-back communications.") (mkdir-p #$state-dir)))) (define (containerd-shepherd-service config) - (let* ((package (docker-configuration-containerd config))) + (let* ((package (docker-configuration-containerd config)) + (debug? (docker-configuration-debug? config))) (shepherd-service (documentation "containerd daemon.") (provision '(containerd)) (start #~(make-forkexec-constructor - (list (string-append #$package "/bin/containerd")) + (list (string-append #$package "/bin/containerd") + #$@(if debug? + '("--log-level=debug") + '())) #:log-file "/var/log/containerd.log")) (stop #~(make-kill-destructor))))) (define (docker-shepherd-service config) (let* ((docker (docker-configuration-docker config)) (enable-proxy? (docker-configuration-enable-proxy? config)) - (proxy (docker-configuration-proxy config))) + (proxy (docker-configuration-proxy config)) + (debug? (docker-configuration-debug? config))) (shepherd-service (documentation "Docker daemon.") (provision '(dockerd)) @@ -101,6 +110,9 @@ loop-back communications.") (start #~(make-forkexec-constructor (list (string-append #$docker "/bin/dockerd") "-p" "/var/run/docker.pid" + #$@(if debug? + '("--debug" "--log-level=debug") + '()) (if #$enable-proxy? "--userland-proxy" "") "--userland-proxy-path" (string-append #$proxy "/bin/proxy")) diff --git a/gnu/services/hurd.scm b/gnu/services/hurd.scm new file mode 100644 index 0000000000..61d92b4bda --- /dev/null +++ b/gnu/services/hurd.scm @@ -0,0 +1,118 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu services hurd) + #:use-module (gnu packages admin) + #:use-module (gnu packages hurd) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu system) + #:use-module (guix gexp) + #:use-module (guix records) + #:export (hurd-console-configuration + hurd-console-service-type + hurd-getty-configuration + hurd-getty-service-type)) + +;;; Commentary: +;;; +;;; This module implements services for the Hurd. +;;; +;;; Code: + +;;; +;;; The Hurd VGA console service. +;;; + +(define-record-type* <hurd-console-configuration> + hurd-console-configuration make-hurd-console-configuration + hurd-console-configuration? + (hurd hurd-console-configuration-hurd ;package + (default hurd))) + +(define (hurd-console-shepherd-service config) + "Return a <shepherd-service> for a Hurd VGA console with CONFIG." + + (define console-command + #~(list + (string-append #$(hurd-console-configuration-hurd config) "/bin/console") + "-c" "/dev/vcs" + "-d" "vga" + "-d" "pc_kbd" + "-d" "generic_speaker")) + + (list (shepherd-service + (documentation "Run the Hurd’s VGA console client.") + (provision '(console)) + (requirement '(user-processes)) + (start #~(make-forkexec-constructor #$console-command)) + (stop #~(make-kill-destructor))))) + +(define hurd-console-service-type + (service-type + (name 'console) + (description "Run the Hurd console client.") + (extensions + (list (service-extension shepherd-root-service-type + hurd-console-shepherd-service))) + (default-value (hurd-console-configuration)))) + + +;;; +;;; The Hurd getty service. +;;; + +(define-record-type* <hurd-getty-configuration> + hurd-getty-configuration make-hurd-getty-configuration + hurd-getty-configuration? + (hurd hurd-getty-configuration-hurd ;<package> + (default hurd)) + (tty hurd-getty-configuration-tty) ;string + (baud-rate hurd-getty-configuration-baud-rate + (default 38400))) ;integer + +(define (hurd-getty-shepherd-service config) + "Return a <shepherd-service> for a Hurd getty with CONFIG." + + (let ((hurd (hurd-getty-configuration-hurd config)) + (tty (hurd-getty-configuration-tty config)) + (baud-rate (hurd-getty-configuration-baud-rate config))) + + (define getty-command + #~(list + (string-append #$hurd "/libexec/getty") + #$(number->string baud-rate) + #$tty)) + + (list + (shepherd-service + (documentation "Run getty on a tty.") + (provision (list (string->symbol (string-append "term-" tty)))) + (requirement '(user-processes console)) + (start #~(make-forkexec-constructor #$getty-command)) + (stop #~(make-kill-destructor)))))) + +(define hurd-getty-service-type + (service-type + (name 'getty) + (extensions (list (service-extension shepherd-root-service-type + hurd-getty-shepherd-service))) + (description + "Provide console login using the Hurd @command{getty} program."))) + +;;; hurd.scm ends here diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm index 4e358197e2..859097e788 100644 --- a/gnu/services/nfs.scm +++ b/gnu/services/nfs.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -261,6 +262,10 @@ (default 2049)) (nfsd-threads nfs-configuration-nfsd-threads (default 8)) + (nfsd-tcp? nfs-configuration-nfsd-tcp? + (default #t)) + (nfsd-udp? nfs-configuration-nfsd-udp? + (default #f)) (pipefs-directory nfs-configuration-pipefs-directory (default default-pipefs-directory)) ;; List of modules to debug; any of nfsd, nfs, rpc, idmap, statd, or mountd. @@ -272,6 +277,7 @@ (match-record config <nfs-configuration> (nfs-utils nfs-versions exports rpcmountd-port rpcstatd-port nfsd-port nfsd-threads + nfsd-tcp? nfsd-udp? pipefs-directory debug) (list (shepherd-service (documentation "Mount the nfsd pseudo file system.") @@ -332,7 +338,13 @@ #$@(map (lambda (version) (string-append "--nfs-version=" version)) nfs-versions) - #$(number->string nfsd-threads)))))) + #$(number->string nfsd-threads) + #$(if nfsd-tcp? + "--tcp" + "--no-tcp") + #$(if nfsd-udp? + "--udp" + "--no-udp")))))) (stop #~(lambda _ (zero? diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 2505bde97b..ca39994516 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -180,31 +180,32 @@ (define (xorg-configuration->file config) "Compute an Xorg configuration file corresponding to CONFIG, an <xorg-configuration> record." - (define all-modules - ;; 'xorg-server' provides 'fbdevhw.so' etc. - (append (xorg-configuration-modules config) - (list xorg-server))) - - (define build - #~(begin - (use-modules (ice-9 match) - (srfi srfi-1) - (srfi srfi-26)) - - (call-with-output-file #$output - (lambda (port) - (define drivers - '#$(xorg-configuration-drivers config)) + (let ((xorg-server (xorg-configuration-server config))) + (define all-modules + ;; 'xorg-server' provides 'fbdevhw.so' etc. + (append (xorg-configuration-modules config) + (list xorg-server))) + + (define build + #~(begin + (use-modules (ice-9 match) + (srfi srfi-1) + (srfi srfi-26)) + + (call-with-output-file #$output + (lambda (port) + (define drivers + '#$(xorg-configuration-drivers config)) - (define (device-section driver) - (string-append " + (define (device-section driver) + (string-append " Section \"Device\" Identifier \"device-" driver "\" Driver \"" driver "\" EndSection")) - (define (screen-section driver resolutions) - (string-append " + (define (screen-section driver resolutions) + (string-append " Section \"Screen\" Identifier \"screen-" driver "\" Device \"device-" driver "\" @@ -218,8 +219,8 @@ Section \"Screen\" EndSubSection EndSection")) - (define (input-class-section layout variant model options) - (string-append " + (define (input-class-section layout variant model options) + (string-append " Section \"InputClass\" Identifier \"evdev keyboard catchall\" MatchIsKeyboard \"on\" @@ -243,69 +244,69 @@ Section \"InputClass\" Driver \"evdev\" EndSection\n")) - (define (expand modules) - ;; Append to MODULES the relevant /lib/xorg/modules - ;; sub-directories. - (append-map (lambda (module) - (filter-map (lambda (directory) - (let ((full (string-append module - directory))) - (and (file-exists? full) - full))) - '("/lib/xorg/modules/drivers" - "/lib/xorg/modules/input" - "/lib/xorg/modules/multimedia" - "/lib/xorg/modules/extensions"))) - modules)) - - (display "Section \"Files\"\n" port) - (for-each (lambda (font) - (format port " FontPath \"~a\"~%" font)) - '#$(xorg-configuration-fonts config)) - (for-each (lambda (module) - (format port - " ModulePath \"~a\"~%" - module)) - (append (expand '#$all-modules) - - ;; For fbdevhw.so and so on. - (list #$(file-append xorg-server - "/lib/xorg/modules")))) - (display "EndSection\n" port) - (display " + (define (expand modules) + ;; Append to MODULES the relevant /lib/xorg/modules + ;; sub-directories. + (append-map (lambda (module) + (filter-map (lambda (directory) + (let ((full (string-append module + directory))) + (and (file-exists? full) + full))) + '("/lib/xorg/modules/drivers" + "/lib/xorg/modules/input" + "/lib/xorg/modules/multimedia" + "/lib/xorg/modules/extensions"))) + modules)) + + (display "Section \"Files\"\n" port) + (for-each (lambda (font) + (format port " FontPath \"~a\"~%" font)) + '#$(xorg-configuration-fonts config)) + (for-each (lambda (module) + (format port + " ModulePath \"~a\"~%" + module)) + (append (expand '#$all-modules) + + ;; For fbdevhw.so and so on. + (list #$(file-append xorg-server + "/lib/xorg/modules")))) + (display "EndSection\n" port) + (display " Section \"ServerFlags\" Option \"AllowMouseOpenFail\" \"on\" EndSection\n" port) - (display (string-join (map device-section drivers) "\n") - port) - (newline port) - (display (string-join - (map (cut screen-section <> - '#$(xorg-configuration-resolutions config)) - drivers) - "\n") - port) - (newline port) - - (let ((layout #$(and=> (xorg-configuration-keyboard-layout config) - keyboard-layout-name)) - (variant #$(and=> (xorg-configuration-keyboard-layout config) - keyboard-layout-variant)) - (model #$(and=> (xorg-configuration-keyboard-layout config) - keyboard-layout-model)) - (options '#$(and=> (xorg-configuration-keyboard-layout config) - keyboard-layout-options))) - (when layout - (display (input-class-section layout variant model options) - port) - (newline port))) - - (for-each (lambda (config) - (display config port)) - '#$(xorg-configuration-extra-config config)))))) - - (computed-file "xserver.conf" build)) + (display (string-join (map device-section drivers) "\n") + port) + (newline port) + (display (string-join + (map (cut screen-section <> + '#$(xorg-configuration-resolutions config)) + drivers) + "\n") + port) + (newline port) + + (let ((layout #$(and=> (xorg-configuration-keyboard-layout config) + keyboard-layout-name)) + (variant #$(and=> (xorg-configuration-keyboard-layout config) + keyboard-layout-variant)) + (model #$(and=> (xorg-configuration-keyboard-layout config) + keyboard-layout-model)) + (options '#$(and=> (xorg-configuration-keyboard-layout config) + keyboard-layout-options))) + (when layout + (display (input-class-section layout variant model options) + port) + (newline port))) + + (for-each (lambda (config) + (display config port)) + '#$(xorg-configuration-extra-config config)))))) + + (computed-file "xserver.conf" build))) (define (xorg-configuration-directory modules) "Return a directory that contains the @code{.conf} files for X.org that diff --git a/gnu/system.scm b/gnu/system.scm index cd75e4d4ba..d51691fe76 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -8,6 +8,8 @@ ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jannek@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,9 +39,11 @@ #:use-module (guix utils) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages cross-base) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages admin) + #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages pciutils) #:use-module (gnu packages package-management) @@ -81,6 +85,7 @@ operating-system-packages operating-system-host-name operating-system-hosts-file + operating-system-hurd operating-system-kernel operating-system-kernel-file operating-system-kernel-arguments @@ -126,6 +131,8 @@ operating-system-with-gc-roots operating-system-with-provenance + hurd-default-essential-services + boot-parameters boot-parameters? boot-parameters-label @@ -137,6 +144,7 @@ boot-parameters-kernel boot-parameters-kernel-arguments boot-parameters-initrd + boot-parameters-multiboot-modules read-boot-parameters read-boot-parameters-file boot-parameters->menu-entry @@ -183,6 +191,8 @@ (default '())) ; list of packages (kernel-arguments operating-system-user-kernel-arguments (default %default-kernel-arguments)) ; list of gexps/strings + (hurd operating-system-hurd + (default #f)) ; package (bootloader operating-system-bootloader) ; <bootloader-configuration> (label operating-system-label ; string (thunked) @@ -276,7 +286,8 @@ directly by the user." (store-mount-point boot-parameters-store-mount-point) (kernel boot-parameters-kernel) (kernel-arguments boot-parameters-kernel-arguments) - (initrd boot-parameters-initrd)) + (initrd boot-parameters-initrd) + (multiboot-modules boot-parameters-multiboot-modules)) (define (ensure-not-/dev device) "If DEVICE starts with a slash, return #f. This is meant to filter out @@ -307,7 +318,7 @@ file system labels." (match (read port) (('boot-parameters ('version 0) ('label label) ('root-device root) - ('kernel linux) + ('kernel kernel) rest ...) (boot-parameters (label label) @@ -323,12 +334,12 @@ file system labels." ((_ entries) (map sexp->menu-entry entries)) (#f '()))) - ;; In the past, we would store the directory name of the kernel instead - ;; of the absolute file name of its image. Detect that and correct it. - (kernel (if (string=? linux (direct-store-path linux)) - (string-append linux "/" + ;; In the past, we would store the directory name of linux instead of + ;; the absolute file name of its image. Detect that and correct it. + (kernel (if (string=? kernel (direct-store-path kernel)) + (string-append kernel "/" (system-linux-image-file-name)) - linux)) + kernel)) (kernel-arguments (match (assq 'kernel-arguments rest) @@ -342,6 +353,8 @@ file system labels." (('initrd (? string? file)) file))) + (multiboot-modules (or (assq 'multiboot-modules rest) '())) + (store-device ;; Linux device names like "/dev/sda1" are not suitable GRUB device ;; identifiers, so we just filter them out. @@ -379,14 +392,25 @@ The object has its kernel-arguments extended in order to make it bootable." (boot-parameters-kernel-arguments params)))))) (define (boot-parameters->menu-entry conf) - (menu-entry - (label (boot-parameters-label conf)) - (device (boot-parameters-store-device conf)) - (device-mount-point (boot-parameters-store-mount-point conf)) - (linux (boot-parameters-kernel conf)) - (linux-arguments (boot-parameters-kernel-arguments conf)) - (initrd (boot-parameters-initrd conf)))) - + (let* ((kernel (boot-parameters-kernel conf)) + (multiboot-modules (boot-parameters-multiboot-modules conf)) + (multiboot? (pair? multiboot-modules))) + (menu-entry + (label (boot-parameters-label conf)) + (device (boot-parameters-store-device conf)) + (device-mount-point (boot-parameters-store-mount-point conf)) + (linux (and (not multiboot?) kernel)) + (linux-arguments (if (not multiboot?) + (boot-parameters-kernel-arguments conf) + '())) + (initrd (boot-parameters-initrd conf)) + (multiboot-kernel (and multiboot? kernel)) + (multiboot-arguments (if multiboot? + (boot-parameters-kernel-arguments conf) + '())) + (multiboot-modules (if multiboot? + (boot-parameters-multiboot-modules conf) + '()))))) ;;; @@ -465,21 +489,23 @@ from the initrd." "Return the list of swap services for OS." (map swap-service (operating-system-swap-devices os))) -(define* (system-linux-image-file-name) - "Return the basename of the kernel image file for SYSTEM." - ;; FIXME: Evaluate the conditional based on the actual current system. - (let ((target (or (%current-target-system) (%current-system)))) - (cond - ((string-prefix? "arm" target) "zImage") - ((string-prefix? "mips" target) "vmlinuz") - ((string-prefix? "aarch64" target) "Image") - (else "bzImage")))) +(define* (system-linux-image-file-name #:optional + (target (or (%current-target-system) + (%current-system)))) + "Return the basename of the kernel image file for TARGET." + (cond + ((string-prefix? "arm" target) "zImage") + ((string-prefix? "mips" target) "vmlinuz") + ((string-prefix? "aarch64" target) "Image") + (else "bzImage"))) (define (operating-system-kernel-file os) "Return an object representing the absolute file name of the kernel image of OS." - (file-append (operating-system-kernel os) - "/" (system-linux-image-file-name))) + (if (operating-system-hurd os) + (file-append (operating-system-kernel os) "/boot/gnumach") + (file-append (operating-system-kernel os) + "/" (system-linux-image-file-name)))) (define (package-for-kernel target-kernel module-package) "Return a package like MODULE-PACKAGE, adapted for TARGET-KERNEL, if @@ -573,6 +599,25 @@ bookkeeping." (service firmware-service-type (operating-system-firmware os))))))) +(define (hurd-default-essential-services os) + (list (service system-service-type '()) + %boot-service + %hurd-startup-service + %activation-service + %shepherd-root-service + (service user-processes-service-type) + (account-service (append (operating-system-accounts os) + (operating-system-groups os)) + (operating-system-skeletons os)) + (root-file-system-service) + (service file-system-service-type '()) + (service fstab-service-type + (filter file-system-needed-for-boot? + (operating-system-file-systems os))) + (pam-root-service (operating-system-pam-services os)) + (operating-system-etc-service os) + (service profile-service-type (operating-system-packages os)))) + (define* (operating-system-services os) "Return all the services of OS, including \"essential\" services." (instantiate-missing-services @@ -676,7 +721,7 @@ This is the GNU system. Welcome.\n") (define* (operating-system-etc-service os) "Return a <service> that builds containing the static part of the /etc directory." - (let ((login.defs + (let* ((login.defs (plain-file "login.defs" (string-append "# Default paths for non-login shells started by su(1).\n" @@ -687,10 +732,13 @@ directory." "/run/current-system/profile/bin:" "/run/current-system/profile/sbin\n"))) - (issue (plain-file "issue" (operating-system-issue os))) - (nsswitch (plain-file "nsswitch.conf" - (name-service-switch->string - (operating-system-name-service-switch os)))) + (hurd (operating-system-hurd os)) + (issue (plain-file "issue" (operating-system-issue os))) + (nsswitch (operating-system-name-service-switch os)) + (nsswitch (and nsswitch + (plain-file "nsswitch.conf" + (name-service-switch->string nsswitch)))) + (sudoers (operating-system-sudoers-file os)) ;; Startup file for POSIX-compliant login shells, which set system-wide ;; environment variables. @@ -780,7 +828,7 @@ fi\n"))) ("rpc" ,(file-append net-base "/etc/rpc")) ("login.defs" ,#~#$login.defs) ("issue" ,#~#$issue) - ("nsswitch.conf" ,#~#$nsswitch) + ,@(if nsswitch `(("nsswitch.conf" ,#~#$nsswitch)) '()) ("profile" ,#~#$profile) ("bashrc" ,#~#$bashrc) ("hosts" ,#~#$(or (operating-system-hosts-file os) @@ -796,7 +844,12 @@ fi\n"))) ("timezone" ,(plain-file "timezone" (operating-system-timezone os))) ("localtime" ,(file-append tzdata "/share/zoneinfo/" (operating-system-timezone os))) - ("sudoers" ,(operating-system-sudoers-file os)))))) + ,@(if sudoers `(("sudoers" ,sudoers)) '()) + ,@(if hurd + `(("login" ,(file-append hurd "/etc/login")) + ("motd" ,(file-append hurd "/etc/motd")) + ("ttys" ,(file-append hurd "/etc/ttys"))) + '()))))) (define %root-account ;; Default root account. @@ -1061,9 +1114,13 @@ listed in OS. The C library expects to find it under (locale-directory definitions #:libcs (operating-system-locale-libcs os))) -(define (kernel->boot-label kernel) +(define* (kernel->boot-label kernel #:key hurd) "Return a label for the bootloader menu entry that boots KERNEL." - (cond ((package? kernel) + (cond ((package? hurd) + (string-append "GNU with the " + (string-titlecase (package-name hurd)) " " + (package-version hurd))) + ((package? kernel) (string-append "GNU with " (string-titlecase (package-name kernel)) " " (package-version kernel))) @@ -1076,7 +1133,8 @@ listed in OS. The C library expects to find it under (define (operating-system-default-label os) "Return the default label for OS, as it will appear in the bootloader menu entry." - (kernel->boot-label (operating-system-kernel os))) + (kernel->boot-label (operating-system-kernel os) + #:hurd (operating-system-hurd os))) (define (store-file-system file-systems) "Return the file system object among FILE-SYSTEMS that contains the store." @@ -1102,31 +1160,63 @@ entry." (define* (operating-system-bootcfg os #:optional (old-entries '())) "Return the bootloader configuration file for OS. Use OLD-ENTRIES, a list of <menu-entry>, to populate the \"old entries\" menu." - (let* ((root-fs (operating-system-root-file-system os)) + (let* ((file-systems (operating-system-file-systems os)) + (root-fs (operating-system-root-file-system os)) (root-device (file-system-device root-fs)) (params (operating-system-boot-parameters os root-device #:system-kernel-arguments? #t)) (entry (boot-parameters->menu-entry params)) (bootloader-conf (operating-system-bootloader os))) + (define generate-config-file (bootloader-configuration-file-generator (bootloader-configuration-bootloader bootloader-conf))) (generate-config-file bootloader-conf (list entry) - #:old-entries old-entries))) + #:old-entries old-entries + #:store-directory-prefix + (btrfs-store-subvolume-file-name file-systems)))) + +(define (operating-system-multiboot-modules os) + (if (operating-system-hurd os) (hurd-multiboot-modules os) '())) + +(define (hurd-multiboot-modules os) + (let* ((hurd (operating-system-hurd os)) + (root-file-system-command + (list (file-append hurd "/hurd/ext2fs.static") + "ext2fs" + "--multiboot-command-line='${kernel-command-line}'" + "--host-priv-port='${host-port}'" + "--device-master-port='${device-port}'" + "--exec-server-task='${exec-task}'" + "--store-type=typed" + "'${root}'" "'$(task-create)'" "'$(task-resume)'")) + (target (%current-target-system)) + (libc (if target + (with-parameters ((%current-target-system #f)) + ;; TODO: cross-libc has extra patches for the Hurd; + ;; remove in next rebuild cycle + (cross-libc target)) + glibc)) + (exec-server-command + (list (file-append libc "/lib/ld.so.1") "exec" + (file-append hurd "/hurd/exec") "'$(exec-task=task-create)'"))) + (list root-file-system-command exec-server-command))) (define* (operating-system-boot-parameters os root-device #:key system-kernel-arguments?) "Return a monadic <boot-parameters> record that describes the boot parameters of OS. When SYSTEM-KERNEL-ARGUMENTS? is true, add kernel arguments such as '--root' and '--load' to <boot-parameters>." - (let* ((initrd (operating-system-initrd-file os)) + (let* ((initrd (and (not (hurd-target?)) + (operating-system-initrd-file os))) (store (operating-system-store-file-system os)) (bootloader (bootloader-configuration-bootloader (operating-system-bootloader os))) (bootloader-name (bootloader-name bootloader)) - (label (operating-system-label os))) + (label (operating-system-label os)) + (multiboot-modules (operating-system-multiboot-modules os))) (boot-parameters (label label) (root-device root-device) @@ -1136,6 +1226,7 @@ such as '--root' and '--load' to <boot-parameters>." (operating-system-kernel-arguments os root-device) (operating-system-user-kernel-arguments os))) (initrd initrd) + (multiboot-modules multiboot-modules) (bootloader-name bootloader-name) (bootloader-menu-entries (bootloader-configuration-menu-entries (operating-system-bootloader os))) diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl index 4f30a5b756..1035ab1d60 100644 --- a/gnu/system/examples/bare-bones.tmpl +++ b/gnu/system/examples/bare-bones.tmpl @@ -3,7 +3,7 @@ (use-modules (gnu)) (use-service-modules networking ssh) -(use-package-modules screen) +(use-package-modules screen ssh) (operating-system (host-name "komputilo") @@ -46,5 +46,6 @@ (services (append (list (service dhcp-client-service-type) (service openssh-service-type (openssh-configuration + (openssh openssh-sans-x) (port-number 2222)))) %base-services))) diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl new file mode 100644 index 0000000000..414a9379c8 --- /dev/null +++ b/gnu/system/examples/bare-hurd.tmpl @@ -0,0 +1,54 @@ +;; -*-scheme-*- + +;; This is an operating system configuration template +;; for a "bare bones" setup, with no X11 display server. + +;; To build a disk image for a virtual machine, do +;; +;; ./pre-inst-env guix system disk-image --target=i586-pc-gnu \ +;; gnu/system/examples/bare-hurd.tmpl +;; +;; You may run it like so +;; +;; guix environment --ad-hoc qemu -- qemu-system-i386 -enable-kvm -m 512M \ +;; -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222 \ +;; -snapshot -hda <the-image> +;; +;; and use it like +;; +;; ssh -p 10022 root@localhost +;; guix build -e '(@@ (gnu packages commencement) gnu-make-boot0)' +;; +;; or even (if you use --image-size=3G) +;; +;; guix build hello + +(use-modules (gnu) (gnu system hurd) (guix utils)) +(use-service-modules ssh) +(use-package-modules ssh) + +(define %hurd-os + (operating-system + (inherit %hurd-default-operating-system) + (bootloader (bootloader-configuration + (bootloader grub-minimal-bootloader) + (target "/dev/sdX"))) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext2")) + %base-file-systems)) + (host-name "guixygnu") + (timezone "Europe/Amsterdam") + (packages (cons openssh-sans-x %base-packages/hurd)) + (services (cons (service openssh-service-type + (openssh-configuration + (openssh openssh-sans-x) + (use-pam? #f) + (port-number 2222) + (permit-root-login #t) + (allow-empty-passwords? #t) + (password-authentication? #t))) + %base-services/hurd)))) + +%hurd-os diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index b41f66e943..0f94577760 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,10 @@ #:use-module (ice-9 match) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-2) #:use-module (srfi srfi-9) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-35) #:use-module (srfi srfi-9 gnu) #:use-module (guix records) #:use-module (gnu system uuid) @@ -38,6 +42,9 @@ file-system-needed-for-boot? file-system-flags file-system-options + file-system-options->alist + alist->file-system-options + file-system-mount? file-system-check? file-system-create-mount-point? @@ -45,6 +52,8 @@ file-system-location file-system-type-predicate + btrfs-subvolume? + btrfs-store-subvolume-file-name file-system-label file-system-label? @@ -251,6 +260,33 @@ UUID-TYPE, a symbol such as 'dce or 'iso9660." ((? string?) device))) +(define (file-system-options->alist string) + "Translate the option string format of a <file-system> record into an +association list of options or option/value pairs." + (if string + (let ((options (string-split string #\,))) + (map (lambda (param) + (let ((=index (string-index param #\=))) + (if =index + (cons (string-take param =index) + (string-drop param (1+ =index))) + param))) + options)) + '())) + +(define (alist->file-system-options options) + "Return the string representation of OPTIONS, an association list. The +string obtained can be used as the option field of a <file-system> record." + (if (null? options) + #f + (string-join (map (match-lambda + ((key . value) + (string-append key "=" value)) + (key + key)) + options) + ","))) + (define (file-system-needed-for-boot? fs) "Return true if FS has the 'needed-for-boot?' flag set, or if it holds the store--e.g., if FS is the root file system." @@ -535,4 +571,54 @@ system has the given TYPE." (lambda (fs) (string=? (file-system-type fs) type))) + +;;; +;;; Btrfs specific helpers. +;;; + +(define (btrfs-subvolume? fs) + "Predicate to check if FS, a file-system object, is a Btrfs subvolume." + (and-let* ((btrfs-file-system? (string= "btrfs" (file-system-type fs))) + (option-keys (map (match-lambda + ((key . value) key) + (key key)) + (file-system-options->alist + (file-system-options fs))))) + (find (cut string-prefix? "subvol" <>) option-keys))) + +(define (btrfs-store-subvolume-file-name file-systems) + "Return the subvolume file name within the Btrfs top level onto which the +store is located, else #f." + + (define (prepend-slash/maybe s) + (if (string=? "/" (string-take s 1)) + s + (string-append "/" s))) + + (define (file-name-depth file-name) + (length (string-tokenize file-name %not-slash))) + + (and-let* ((btrfs-subvolume-fs (filter btrfs-subvolume? file-systems)) + (btrfs-subvolume-fs* + (sort btrfs-subvolume-fs + (lambda (fs1 fs2) + (> (file-name-depth (file-system-mount-point fs1)) + (file-name-depth (file-system-mount-point fs2)))))) + (store-subvolume-fs + (find (lambda (fs) (file-prefix? (file-system-mount-point fs) + (%store-prefix))) + btrfs-subvolume-fs*)) + (options (file-system-options->alist + (file-system-options store-subvolume-fs)))) + ;; XXX: Deriving the subvolume name based from a subvolume ID is not + ;; supported, as we'd need to query the actual file system. + (or (and=> (assoc-ref options "subvol") prepend-slash/maybe) + ;; FIXME: Use &fix-hint once it no longer pulls in (guix utils). + (raise (condition + (&message + (message "The store is on a Btrfs subvolume, but the \ +subvolume name is unknown. +Hint: Use the \"subvol\" Btrfs file system option."))))))) + + ;;; file-systems.scm ends here diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 58bfdf88f6..2205def577 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -21,6 +21,7 @@ #:use-module (guix gexp) #:use-module (guix profiles) #:use-module (guix utils) + #:use-module (gnu bootloader) #:use-module (gnu bootloader grub) #:use-module (gnu packages admin) #:use-module (gnu packages base) @@ -31,195 +32,74 @@ #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) #:use-module (gnu packages less) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services hurd) + #:use-module (gnu services shepherd) + #:use-module (gnu system) + #:use-module (gnu system shadow) #:use-module (gnu system vm) - #:export (cross-hurd-image)) + #:export (%base-packages/hurd + %base-services/hurd + %hurd-default-operating-system + %hurd-default-operating-system-kernel)) ;;; Commentary: ;;; -;;; This module provides tools to (cross-)build GNU/Hurd virtual machine -;;; images. +;;; This module provides system-specifics for the GNU/Hurd operating system +;;; and virtual machine. ;;; ;;; Code: -;; XXX: Surely this belongs in (guix profiles), but perhaps we need high-level -;; <profile> objects so one can specify hooks, etc.? -(define-gexp-compiler (compile-manifest (manifest - (@@ (guix profiles) <manifest>)) - system target) - "Lower MANIFEST as a profile." - (profile-derivation manifest - #:system system - #:target target)) +(define %hurd-default-operating-system-kernel + (if (hurd-system?) + gnumach + ;; A cross-built GNUmach does not work + (with-parameters ((%current-system "i686-linux") + (%current-target-system #f)) + gnumach))) (define %base-packages/hurd (list hurd bash coreutils file findutils grep sed guile-3.0 guile-colorized guile-readline - net-base inetutils less which)) - -(define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) - "Return a cross-built GNU/Hurd image." - - (define (cross-built thing) - (with-parameters ((%current-target-system "i586-pc-gnu")) - thing)) - - (define (cross-built-entry entry) - (manifest-entry - (inherit entry) - (item (cross-built (manifest-entry-item entry))) - (dependencies (map cross-built-entry - (manifest-entry-dependencies entry))))) - - (define system-profile - (map-manifest-entries cross-built-entry - (packages->manifest %base-packages/hurd))) - - (define grub.cfg - (let ((hurd (cross-built hurd)) - (mach (with-parameters ((%current-system "i686-linux")) - gnumach)) - (libc (cross-libc "i586-pc-gnu"))) - (computed-file "grub.cfg" - #~(call-with-output-file #$output - (lambda (port) - (format port " -set timeout=2 -search.file ~a/boot/gnumach - -menuentry \"GNU\" { - multiboot ~a/boot/gnumach root=device:hd0s1 - module ~a/hurd/ext2fs.static ext2fs \\ - --multiboot-command-line='${kernel-command-line}' \\ - --host-priv-port='${host-port}' \\ - --device-master-port='${device-port}' \\ - --exec-server-task='${exec-task}' -T typed '${root}' \\ - '$(task-create)' '$(task-resume)' - module ~a/lib/ld.so.1 exec ~a/hurd/exec '$(exec-task=task-create)' -}\n" - #+mach #+mach #+hurd - #+libc #+hurd)))))) - - (define fstab - (plain-file "fstab" - "# This file was generated from your Guix configuration. Any changes -# will be lost upon reboot or reconfiguration. - -/dev/hd0s1 / ext2 defaults -")) - - (define passwd - (plain-file "passwd" - "root:x:0:0:root:/root:/bin/sh -guixbuilder:x:1:1:guixbuilder:/var/empty:/bin/no-sh -")) - - (define group - (plain-file "group" - "guixbuild:x:1:guixbuilder -")) - - (define shadow - (plain-file "shadow" - "root::0:0:0:0::: -")) - - (define etc-profile - (plain-file "profile" - "\ -export PS1='\\u@\\h\\$ ' - -GUIX_PROFILE=\"/run/current-system/profile\" -. \"$GUIX_PROFILE/etc/profile\" - -GUIX_PROFILE=\"$HOME/.guix-profile\" -if [ -f \"$GUIX_PROFILE/etc/profile\" ]; then - . \"$GUIX_PROFILE/etc/profile\" -fi\n")) - - (define hurd-directives - `((directory "/servers") - ,@(map (lambda (server) - `(file ,(string-append "/servers/" server))) - '("startup" "exec" "proc" "password" - "default-pager" "crash-dump-core" - "kill" "suspend")) - ("/servers/crash" -> "crash-dump-core") - (directory "/servers/socket") - (file "/servers/socket/1") - (file "/servers/socket/2") - (file "/servers/socket/16") - ("/servers/socket/local" -> "1") - ("/servers/socket/inet" -> "2") - ("/servers/socket/inet6" -> "16") - (directory "/boot") - ("/boot/grub.cfg" -> ,grub.cfg) ;XXX: not strictly needed - ("/hurd" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - hurd) - "/hurd")) - - ;; TODO: Create those during activation, eventually. - (directory "/root") - (file "/root/.guile" - ,(object->string - '(begin - (use-modules (ice-9 readline) (ice-9 colorized)) - (activate-readline) (activate-colorized)))) - (directory "/run") - (directory "/run/current-system") - ("/run/current-system/profile" -> ,system-profile) - ("/etc/profile" -> ,etc-profile) - ("/etc/fstab" -> ,fstab) - ("/etc/group" -> ,group) - ("/etc/passwd" -> ,passwd) - ("/etc/shadow" -> ,shadow) - (file "/etc/hostname" "guixygnu") - (file "/etc/resolv.conf" - "nameserver 10.0.2.3\n") - ("/etc/services" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - net-base) - "/etc/services")) - ("/etc/protocols" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - net-base) - "/etc/protocols")) - ("/etc/motd" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - hurd) - "/etc/motd")) - ("/etc/login" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - hurd) - "/etc/login")) - - - ;; XXX can we instead, harmlessly set _PATH_TTYS (from glibc) in runttys.c? - ("/etc/ttys" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - hurd) - "/etc/ttys")) - ("/bin/sh" -> ,(file-append (with-parameters ((%current-target-system - "i586-pc-gnu")) - bash) - "/bin/sh")))) - - (qemu-image #:file-system-type "ext2" - #:file-system-options '("-o" "hurd") - #:device-nodes 'hurd - #:inputs `(("system" ,system-profile) - ("grub.cfg" ,grub.cfg) - ("fstab" ,fstab) - ("passwd" ,passwd) - ("group" ,group) - ("etc-profile" ,etc-profile) - ("shadow" ,shadow)) - #:copy-inputs? #t - #:os system-profile - #:bootcfg-drv grub.cfg - #:bootloader grub-bootloader - #:register-closures? #f - #:extra-directives hurd-directives)) - -;; Return this thunk so one can type "guix build -f gnu/system/hurd.scm". -cross-hurd-image + net-base inetutils less shepherd which)) + +(define %base-services/hurd + (list (service hurd-console-service-type + (hurd-console-configuration (hurd hurd))) + (service hurd-getty-service-type (hurd-getty-configuration + (tty "tty1"))) + (service hurd-getty-service-type (hurd-getty-configuration + (tty "tty2"))) + (service static-networking-service-type + (list (static-networking (interface "lo") + (ip "127.0.0.1") + (requirement '()) + (provision '(loopback)) + (name-servers '("10.0.2.3"))))) + (syslog-service) + (service guix-service-type + (guix-configuration + (extra-options '("--disable-chroot" + "--disable-deduplication")))))) + +(define %hurd-default-operating-system + (operating-system + (kernel %hurd-default-operating-system-kernel) + (kernel-arguments '()) + (hurd hurd) + (bootloader (bootloader-configuration + (bootloader grub-minimal-bootloader) + (target "/dev/vda"))) + (initrd (lambda _ '())) + (initrd-modules (lambda _ '())) + (firmware '()) + (host-name "guixygnu") + (file-systems '()) + (packages %base-packages/hurd) + (timezone "GNUrope") + (name-service-switch #f) + (essential-services (hurd-default-essential-services this-operating-system)) + (pam-services '()) + (setuid-programs '()) + (sudoers-file #f))) diff --git a/gnu/system/image.scm b/gnu/system/image.scm index 571b7af5f3..1bda25fd7f 100644 --- a/gnu/system/image.scm +++ b/gnu/system/image.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ #:use-module (gnu packages genimage) #:use-module (gnu packages guile) #:autoload (gnu packages gnupg) (guile-gcrypt) + #:use-module (gnu packages hurd) #:use-module (gnu packages linux) #:use-module (gnu packages mtools) #:use-module ((srfi srfi-1) #:prefix srfi-1:) @@ -54,6 +56,7 @@ #:export (esp-partition root-partition + hurd-disk-image efi-disk-image iso9660-image @@ -65,9 +68,17 @@ ;;; Images definitions. ;;; +;; This is the offset before the first partition. GRUB will install itself in +;; this post-MBR gap. +(define root-offset (* 512 2048)) + +;; Generic root partition label. +(define root-label "Guix_image") + (define esp-partition (partition (size (* 40 (expt 2 20))) + (offset root-offset) (label "GNU-ESP") ;cosmetic only ;; Use "vfat" here since this property is used when mounting. The actual ;; FAT-ness is based on file system size (16 in this case). @@ -78,11 +89,32 @@ (define root-partition (partition (size 'guess) - (label "Guix_image") + (label root-label) (file-system "ext4") (flags '(boot)) (initializer (gexp initialize-root-partition)))) +(define hurd-initialize-root-partition + #~(lambda* (#:rest args) + (apply initialize-root-partition + (append args + (list #:make-device-nodes + make-hurd-device-nodes))))) + +(define hurd-disk-image + (image + (format 'disk-image) + (target "i586-pc-gnu") + (partitions + (list (partition + (size 'guess) + (offset root-offset) + (label root-label) + (file-system "ext2") + (file-system-options '("-o" "hurd" "-O" "ext_attr")) + (flags '(boot)) + (initializer hurd-initialize-root-partition)))))) + (define efi-disk-image (image (format 'disk-image) @@ -117,6 +149,7 @@ 'make-partition-image'." #~'(#$@(list (partition-size partition)) #$(partition-file-system partition) + #$(partition-file-system-options partition) #$(partition-label partition) #$(and=> (partition-uuid partition) uuid-bytevector))) @@ -136,16 +169,32 @@ (with-imported-modules `(,@(source-module-closure '((gnu build vm) (gnu build image) + (gnu build hurd-boot) + (gnu build linux-boot) (guix store database)) #:select? not-config?) ((guix config) => ,(make-config.scm))) #~(begin (use-modules (gnu build vm) (gnu build image) + (gnu build hurd-boot) + (gnu build linux-boot) (guix store database) (guix build utils)) gexp* ...)))) +(define (root-partition? partition) + "Return true if PARTITION is the root partition, false otherwise." + (member 'boot (partition-flags partition))) + +(define (find-root-partition image) + "Return the root partition of the given IMAGE." + (srfi-1:find root-partition? (image-partitions image))) + +(define (root-partition-index image) + "Return the index of the root partition of the given IMAGE." + (1+ (srfi-1:list-index root-partition? (image-partitions image)))) + ;; ;; Disk image. @@ -221,8 +270,11 @@ used in the image." #:references-graphs '#$graph #:deduplicate? #f #:system-directory #$os + #:grub-efi #+grub-efi #:bootloader-package - #$(bootloader-package bootloader) + #+(bootloader-package bootloader) + #:bootloader-installer + #+(bootloader-installer bootloader) #:bootcfg #$bootcfg #:bootcfg-location #$(bootloader-configuration-file bootloader))))) @@ -232,7 +284,7 @@ used in the image." (type (partition-file-system partition)) (image-builder (with-imported-modules* - (let ((inputs '#$(list e2fsprogs dosfstools mtools))) + (let ((inputs '#+(list e2fsprogs dosfstools mtools))) (set-path-environment-variable "PATH" '("bin" "sbin") inputs) (make-partition-image #$(partition->gexp partition) #$output @@ -243,11 +295,17 @@ used in the image." ;; Return the genimage partition configuration for PARTITION. (let ((label (partition-label partition)) (dos-type (partition->dos-type partition)) - (image (partition-image partition))) + (image (partition-image partition)) + (offset (partition-offset partition))) #~(format #f "~/partition ~a { - ~/~/partition-type = ~a - ~/~/image = \"~a\" - ~/}" #$label #$dos-type #$image))) +~/~/partition-type = ~a +~/~/image = \"~a\" +~/~/offset = \"~a\" +~/}" + #$label + #$dos-type + #$image + #$offset))) (let* ((format (image-format image)) (image-type (format->image-type format)) @@ -269,9 +327,17 @@ image ~a { (let* ((substitutable? (image-substitutable? image)) (builder (with-imported-modules* - (let ((inputs '#$(list genimage coreutils findutils))) + (let ((inputs '#+(list genimage coreutils findutils)) + (bootloader-installer + #+(bootloader-disk-image-installer bootloader))) (set-path-environment-variable "PATH" '("bin" "sbin") inputs) - (genimage #$(image->genimage-cfg image) #$output)))) + (genimage #$(image->genimage-cfg image) #$output) + ;; 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 @@ -364,14 +430,6 @@ used in the image. " ;; Image creation. ;; -(define (root-partition? partition) - "Return true if PARTITION is the root partition, false otherwise." - (member 'boot (partition-flags partition))) - -(define (find-root-partition image) - "Return the root partition of the given IMAGE." - (srfi-1:find root-partition? (image-partitions image))) - (define (image->root-file-system image) "Return the IMAGE root partition file-system type." (let ((format (image-format image))) @@ -398,18 +456,18 @@ to OS. Also set the UUID and the size of the root partition." (string=? (file-system-mount-point fs) "/")) (operating-system-file-systems os))) - (let*-values (((partitions) (image-partitions base-image)) - ((root-partition other-partitions) - (srfi-1:partition root-partition? partitions))) - (image - (inherit base-image) - (operating-system os) - (partitions - (cons (partition - (inherit (car root-partition)) - (uuid (file-system-device root-file-system)) - (size (root-size base-image))) - other-partitions))))) + (image + (inherit base-image) + (operating-system os) + (partitions + (map (lambda (p) + (if (root-partition? p) + (partition + (inherit p) + (uuid (file-system-device root-file-system)) + (size (root-size base-image))) + p)) + (image-partitions base-image))))) (define (operating-system-for-image image) "Return an operating-system based on the one specified in IMAGE, but @@ -462,71 +520,61 @@ it can be used for bootloading." (type root-file-system-type)) file-systems-to-keep))))) -(define* (make-system-image image) +(define* (system-image image) "Return the derivation of IMAGE. It can be a raw disk-image or an ISO9660 image, depending on IMAGE format." (define substitutable? (image-substitutable? image)) (let* ((os (operating-system-for-image image)) (image* (image-with-os image os)) + (target (image-target 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) - (system-disk-image image* - #:bootcfg bootcfg - #:bootloader bootloader - #:register-closures? register-closures? - #:inputs `(("system" ,os) - ("bootcfg" ,bootcfg)))) - ((iso9660) - (system-iso9660-image image* - #:bootcfg bootcfg - #:bootloader bootloader - #:register-closures? register-closures? - #:inputs `(("system" ,os) - ("bootcfg" ,bootcfg)) - #:grub-mkrescue-environment - '(("MKRESCUE_SED_MODE" . "mbr_hfs"))))))) - -(define (find-image file-system-type) - "Find and return an image that could match the given FILE-SYSTEM-TYPE. This -is useful to adapt to interfaces written before the addition of the <image> -record." - ;; XXX: Add support for system and target here, or in the caller. + (with-parameters ((%current-target-system target)) + (case (image-format image) + ((disk-image) + (system-disk-image image* + #:bootcfg bootcfg + #:bootloader bootloader + #:register-closures? register-closures? + #:inputs `(("system" ,os) + ("bootcfg" ,bootcfg)))) + ((iso9660) + (system-iso9660-image + image* + #:bootcfg bootcfg + #:bootloader bootloader + #:register-closures? register-closures? + #:inputs `(("system" ,os) + ("bootcfg" ,bootcfg)) + ;; Make sure to use a mode that does no imply + ;; HFS+ tree creation that may fail with: + ;; + ;; "libisofs: FAILURE : Too much files to mangle, + ;; cannot guarantee unique file names" + ;; + ;; This happens if some limits are exceeded, see: + ;; https://lists.gnu.org/archive/html/grub-devel/2020-06/msg00048.html + #: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) - (_ efi-disk-image))) - -(define (system-image image) - "Wrap 'make-system-image' call, so that it is used only if the given IMAGE -is supported. Otherwise, fallback to image creation in a VM. This is -temporary and should be removed once 'make-system-image' is able to deal with -all types of images." - (define substitutable? (image-substitutable? image)) - (define volatile-root? (image-volatile-root? image)) + (_ (cond + ((and target + (hurd-triplet? target)) + hurd-disk-image) + (else + efi-disk-image))))) - (let* ((image-os (image-operating-system image)) - (image-root-filesystem-type (image->root-file-system image)) - (bootloader (bootloader-configuration-bootloader - (operating-system-bootloader image-os))) - (bootloader-name (bootloader-name bootloader)) - (size (image-size image)) - (format (image-format image))) - (mbegin %store-monad - (if (and (or (eq? bootloader-name 'grub) - (eq? bootloader-name 'extlinux)) - (eq? format 'disk-image)) - ;; Fallback to image creation in a VM when it is not yet supported - ;; by this module. - (system-disk-image-in-vm image-os - #:disk-image-size size - #:file-system-type image-root-filesystem-type - #:volatile? volatile-root? - #:substitutable? substitutable?) - (lower-object - (make-system-image image)))))) +;;; Local Variables: +;;; eval: (put 'maybe-with-target 'scheme-indent-function 1) +;;; End: ;;; image.scm ends here diff --git a/gnu/system/install.scm b/gnu/system/install.scm index fe49ffdb94..d0ff2e7c52 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -32,6 +32,7 @@ #:use-module ((guix packages) #:select (package-version)) #:use-module ((guix store) #:select (%store-prefix)) #:use-module (gnu installer) + #:use-module (gnu system locale) #:use-module (gnu services dbus) #:use-module (gnu services networking) #:use-module (gnu services shepherd) @@ -439,10 +440,12 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; things needed by 'profile-derivation' to minimize the amount of ;; download. (service gc-root-service-type - (list bare-bones-os - glibc-utf8-locales - texinfo - guile-3.0)) + (append + (list bare-bones-os + glibc-utf8-locales + texinfo + guile-3.0) + %default-locale-libcs)) ;; Machines without Kernel Mode Setting (those with many old and ;; current AMD GPUs, SiS GPUs, ...) need uvesafb to show the GUI diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 3e483fd86c..f2b6b71b4d 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -141,7 +141,7 @@ (define* (expression->derivation-in-linux-vm name exp #:key - (system (%current-system)) target + (system (%current-system)) (linux linux-libre) initrd (qemu qemu-minimal) @@ -226,10 +226,11 @@ substitutable." (let* ((native-inputs '#+(list qemu (canonical-package coreutils))) - (linux (string-append #$linux "/" - #$(system-linux-image-file-name))) - (initrd #$initrd) - (loader #$loader) + (linux (string-append + #+linux "/" + #+(system-linux-image-file-name system))) + (initrd #+initrd) + (loader #+loader) (graphs '#$(match references-graphs (((graph-files . _) ...) graph-files) (_ #f))) @@ -249,8 +250,6 @@ substitutable." #:memory-size #$memory-size #:make-disk-image? #$make-disk-image? #:single-file-output? #$single-file-output? - #:target-arm32? #$(check target-arm32?) - #:target-aarch64? #$(check target-aarch64?) #:disk-image-format #$disk-image-format #:disk-image-size size #:references-graphs graphs)))))) @@ -258,7 +257,7 @@ substitutable." (gexp->derivation name builder ;; TODO: Require the "kvm" feature. #:system system - #:target target + #:target #f ;EXP is always executed natively #:env-vars env-vars #:guile-for-build guile-for-build #:references-graphs references-graphs @@ -318,11 +317,27 @@ system that is passed to 'populate-root-file-system'." (local-file (search-path %load-path "guix/store/schema.sql")))) + (define preserve-target + (if target + (lambda (obj) + (with-parameters ((%current-target-system target)) + obj)) + identity)) + + (define inputs* + (map (match-lambda + ((name thing) + `(,name ,(preserve-target thing))) + ((name thing output) + `(,name ,(preserve-target thing) ,output))) + inputs)) + (expression->derivation-in-linux-vm name (with-extensions gcrypt-sqlite3&co (with-imported-modules `(,@(source-module-closure '((gnu build vm) (gnu build bootloader) + (gnu build hurd-boot) (guix store database) (guix build utils)) #:select? not-config?) @@ -330,9 +345,10 @@ system that is passed to 'populate-root-file-system'." #~(begin (use-modules (gnu build bootloader) (gnu build vm) + ((gnu build hurd-boot) + #:select (make-hurd-device-nodes)) ((gnu build linux-boot) - #:select (make-essential-device-nodes - make-hurd-device-nodes)) + #:select (make-essential-device-nodes)) (guix store database) (guix build utils) (srfi srfi-26) @@ -346,7 +362,7 @@ system that is passed to 'populate-root-file-system'." (setlocale LC_ALL "en_US.utf8") (let ((inputs - '#$(append (list parted e2fsprogs dosfstools) + '#+(append (list parted e2fsprogs dosfstools) (map canonical-package (list sed grep coreutils findutils gawk)))) @@ -356,7 +372,7 @@ system that is passed to 'populate-root-file-system'." '#$(map (match-lambda ((name thing) thing) ((name thing output) `(,thing ,output))) - inputs))) + inputs*))) (set-path-environment-variable "PATH" '("bin" "sbin") inputs) @@ -368,7 +384,7 @@ system that is passed to 'populate-root-file-system'." #:closures graphs #:copy-closures? #$copy-inputs? #:register-closures? #$register-closures? - #:system-directory #$os + #:system-directory #$(preserve-target os) #:make-device-nodes #$(match device-nodes @@ -423,18 +439,17 @@ system that is passed to 'populate-root-file-system'." #:partitions partitions #:grub-efi grub-efi #:bootloader-package - #$(bootloader-package bootloader) - #:bootcfg #$bootcfg-drv + #+(bootloader-package bootloader) + #:bootcfg #$(preserve-target bootcfg-drv) #:bootcfg-location #$(bootloader-configuration-file bootloader) #:bootloader-installer - #$(bootloader-installer bootloader))))))) + #+(bootloader-installer bootloader))))))) #:system system - #:target target #:make-disk-image? #t #:disk-image-size disk-image-size #:disk-image-format disk-image-format - #:references-graphs inputs + #:references-graphs inputs* #:substitutable? substitutable?)) (define* (system-docker-image os @@ -751,6 +766,8 @@ environment with the store shared with the host. MAPPINGS is a list of (define* (system-qemu-image/shared-store os #:key + (system (%current-system)) + (target (%current-target-system)) full-boot? (disk-image-size (* (if full-boot? 500 30) (expt 2 20)))) "Return a derivation that builds a QEMU image of OS that shares its store @@ -771,6 +788,8 @@ bootloader refers to: OS kernel, initrd, bootloader data, etc." ;; This is more than needed (we only need the kernel, initrd, GRUB for its ;; font, and the background image), but it's hard to filter that. (qemu-image #:os os + #:system system + #:target target #:bootcfg-drv bootcfg #:bootloader (bootloader-configuration-bootloader (operating-system-bootloader os)) @@ -811,6 +830,8 @@ with '-virtfs' options for the host file systems listed in SHARED-FS." (define* (system-qemu-image/shared-store-script os #:key + (system (%current-system)) + (target (%current-target-system)) (qemu qemu) (graphic? #t) (memory-size 256) @@ -834,6 +855,8 @@ it is mostly useful when FULL-BOOT? is true." (mlet* %store-monad ((os -> (virtualized-operating-system os mappings full-boot?)) (image (system-qemu-image/shared-store os + #:system system + #:target target #:full-boot? full-boot? #:disk-image-size disk-image-size))) (define kernel-arguments @@ -841,7 +864,8 @@ it is mostly useful when FULL-BOOT? is true." #+@(operating-system-kernel-arguments os "/dev/vda1"))) (define qemu-exec - #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) + #~(list #+(file-append qemu "/bin/" + (qemu-command (or target system))) #$@(if full-boot? #~() #~("-kernel" #$(operating-system-kernel-file os) @@ -858,7 +882,7 @@ it is mostly useful when FULL-BOOT? is true." #~(call-with-output-file #$output (lambda (port) (format port "#!~a~% exec ~a \"$@\"~%" - #$(file-append bash "/bin/sh") + #+(file-append bash "/bin/sh") (string-join #$qemu-exec " ")) (chmod port #o555)))) @@ -907,10 +931,11 @@ FORWARDINGS is a list of host-port/guest-port pairs." (define-gexp-compiler (virtual-machine-compiler (vm <virtual-machine>) system target) - ;; XXX: SYSTEM and TARGET are ignored. (match vm (($ <virtual-machine> os qemu graphic? memory-size disk-image-size ()) (system-qemu-image/shared-store-script os + #:system system + #:target target #:qemu qemu #:graphic? graphic? #:memory-size memory-size @@ -923,6 +948,8 @@ FORWARDINGS is a list of host-port/guest-port pairs." "user,model=virtio-net-pci," (port-forwardings->qemu-options forwardings))))) (system-qemu-image/shared-store-script os + #:system system + #:target target #:qemu qemu #:graphic? graphic? #:memory-size memory-size diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 94d970e1cc..db355b85ca 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,7 @@ %test-raid-root-os %test-encrypted-root-os %test-btrfs-root-os + %test-btrfs-root-on-subvolume-os %test-jfs-root-os %test-f2fs-root-os @@ -226,19 +228,21 @@ packages defined in installation-os." (mlet* %store-monad ((_ (set-grafting #f)) (system (current-system)) - (target (operating-system-derivation target-os)) + (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 ;; roots. This way, we know 'guix system init' will ;; succeed. Also add guile-final, which is pulled in ;; through provenance.drv and may not always be present. - (image + (target (operating-system-derivation target-os)) + (image -> (system-image (image - (inherit - (find-image - installation-disk-image-file-system-type)) + (inherit base-image) (size install-size) (operating-system (operating-system-with-gc-roots @@ -865,6 +869,99 @@ build (current-guix) and then store a couple of full system images.") ;;; +;;; Btrfs root file system on a subvolume. +;;; + +(define-os-with-source (%btrfs-root-on-subvolume-os + %btrfs-root-on-subvolume-os-source) + ;; The OS we want to install. + (use-modules (gnu) (gnu tests) (srfi srfi-1)) + + (operating-system + (host-name "hurd") + (timezone "America/Montreal") + (locale "en_US.UTF-8") + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "/dev/vdb"))) + (kernel-arguments '("console=ttyS0")) + (file-systems (cons* (file-system + (device (file-system-label "btrfs-pool")) + (mount-point "/") + (options "subvol=rootfs,compress=zstd") + (type "btrfs")) + (file-system + (device (file-system-label "btrfs-pool")) + (mount-point "/home") + (options "subvol=homefs,compress=lzo") + (type "btrfs")) + %base-file-systems)) + (users (cons (user-account + (name "charlie") + (group "users") + (supplementary-groups '("wheel" "audio" "video"))) + %base-user-accounts)) + (services (cons (service marionette-service-type + (marionette-configuration + (imported-modules '((gnu services herd) + (guix combinators))))) + %base-services)))) + +(define %btrfs-root-on-subvolume-installation-script + ;; Shell script of a simple installation. + "\ +. /etc/profile +set -e -x +guix --version + +export GUIX_BUILD_OPTIONS=--no-grafts +ls -l /run/current-system/gc-roots +parted --script /dev/vdb mklabel gpt \\ + mkpart primary ext2 1M 3M \\ + mkpart primary ext2 3M 2G \\ + set 1 boot on \\ + set 1 bios_grub on + +# Setup the top level Btrfs file system with its subvolume. +mkfs.btrfs -L btrfs-pool /dev/vdb2 +mount /dev/vdb2 /mnt +btrfs subvolume create /mnt/rootfs +btrfs subvolume create /mnt/homefs +umount /dev/vdb2 + +# Mount the subvolumes, ready for installation. +mount LABEL=btrfs-pool -o 'subvol=rootfs,compress=zstd' /mnt +mkdir /mnt/home +mount LABEL=btrfs-pool -o 'subvol=homefs,compress=zstd' /mnt/home + +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/target-config.scm /mnt/etc/config.scm +guix system build /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n") + +(define %test-btrfs-root-on-subvolume-os + (system-test + (name "btrfs-root-on-subvolume-os") + (description + "Test basic functionality of an OS installed like one would do by hand. +This test is expensive in terms of CPU and storage usage since we need to +build (current-guix) and then store a couple of full system images.") + (value + (mlet* %store-monad + ((image + (run-install %btrfs-root-on-subvolume-os + %btrfs-root-on-subvolume-os-source + #:script + %btrfs-root-on-subvolume-installation-script)) + (command (qemu-command/writable-image image))) + (run-basic-test %btrfs-root-on-subvolume-os command + "btrfs-root-on-subvolume-os"))))) + + +;;; ;;; JFS root file system. ;;; |