aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader.scm127
-rw-r--r--gnu/bootloader/extlinux.scm120
-rw-r--r--gnu/bootloader/grub.scm (renamed from gnu/system/grub.scm)137
-rw-r--r--gnu/build/install.scm36
-rw-r--r--gnu/build/vm.scm18
-rw-r--r--gnu/local.mk13
-rw-r--r--gnu/packages/admin.scm6
-rw-r--r--gnu/packages/aux-files/linux-libre/4.11-i686.conf3
-rw-r--r--gnu/packages/aux-files/linux-libre/4.11-x86_64.conf3
-rw-r--r--gnu/packages/benchmark.scm8
-rw-r--r--gnu/packages/bioinformatics.scm102
-rw-r--r--gnu/packages/ebook.scm72
-rw-r--r--gnu/packages/emacs.scm113
-rw-r--r--gnu/packages/games.scm26
-rw-r--r--gnu/packages/ghostscript.scm1
-rw-r--r--gnu/packages/gnome.scm74
-rw-r--r--gnu/packages/gnupg.scm12
-rw-r--r--gnu/packages/image.scm5
-rw-r--r--gnu/packages/imagemagick.scm4
-rw-r--r--gnu/packages/java.scm130
-rw-r--r--gnu/packages/linux.scm20
-rw-r--r--gnu/packages/lisp.scm159
-rw-r--r--gnu/packages/logging.scm15
-rw-r--r--gnu/packages/mc.scm8
-rw-r--r--gnu/packages/mes.scm27
-rw-r--r--gnu/packages/nano.scm4
-rw-r--r--gnu/packages/package-management.scm13
-rw-r--r--gnu/packages/patches/calibre-dont-load-remote-icons.patch45
-rw-r--r--gnu/packages/patches/calibre-drop-unrar.patch48
-rw-r--r--gnu/packages/patches/calibre-use-packaged-feedparser.patch51
-rw-r--r--gnu/packages/patches/gspell-dash-test.patch16
-rw-r--r--gnu/packages/patches/jbig2dec-CVE-2017-7885.patch38
-rw-r--r--gnu/packages/patches/jbig2dec-CVE-2017-7975.patch40
-rw-r--r--gnu/packages/patches/jbig2dec-CVE-2017-7976.patch122
-rw-r--r--gnu/packages/patches/qtscript-disable-tests.patch64
-rw-r--r--gnu/packages/patches/ruby-concurrent-test-arm.patch26
-rw-r--r--gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch31
-rw-r--r--gnu/packages/patches/shadow-CVE-2017-2616.patch72
-rw-r--r--gnu/packages/php.scm10
-rw-r--r--gnu/packages/python.scm4
-rw-r--r--gnu/packages/qt.scm162
-rw-r--r--gnu/packages/ruby.scm12
-rw-r--r--gnu/packages/security-token.scm12
-rw-r--r--gnu/packages/shells.scm37
-rw-r--r--gnu/packages/ssh.scm2
-rw-r--r--gnu/packages/tls.scm7
-rw-r--r--gnu/packages/video.scm23
-rw-r--r--gnu/packages/vim.scm8
-rw-r--r--gnu/system.scm26
-rw-r--r--gnu/system/examples/lightweight-desktop.tmpl30
-rw-r--r--gnu/system/vm.scm40
-rw-r--r--gnu/tests.scm3
-rw-r--r--gnu/tests/nfs.scm3
53 files changed, 1559 insertions, 629 deletions
diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm
new file mode 100644
index 0000000000..4e77974d31
--- /dev/null
+++ b/gnu/bootloader.scm
@@ -0,0 +1,127 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 David Craven <david@craven.ch>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu bootloader)
+ #:use-module (guix discovery)
+ #:use-module (guix records)
+ #:use-module (guix ui)
+ #:use-module (srfi srfi-1)
+ #:export (bootloader
+ bootloader?
+ bootloader-name
+ bootloader-package
+ bootloader-installer
+ bootloader-configuration-file
+ bootloader-configuration-file-generator
+
+ bootloader-configuration
+ bootloader-configuration?
+ bootloader-configuration-bootloader
+ bootloader-configuration-device
+ bootloader-configuration-menu-entries
+ bootloader-configuration-default-entry
+ bootloader-configuration-timeout
+ bootloader-configuration-theme
+ bootloader-configuration-terminal-outputs
+ bootloader-configuration-terminal-inputs
+ bootloader-configuration-serial-unit
+ bootloader-configuration-serial-speed
+ bootloader-configuration-additional-configuration
+
+ %bootloaders
+ lookup-bootloader-by-name))
+
+
+;;;
+;;; Bootloader record.
+;;;
+
+;; The <bootloader> record contains fields expressing how the bootloader
+;; should be installed. Every bootloader in gnu/bootloader/ directory
+;; has to be described by this record.
+
+(define-record-type* <bootloader>
+ bootloader make-bootloader
+ bootloader?
+ (name bootloader-name)
+ (package bootloader-package)
+ (installer bootloader-installer)
+ (configuration-file bootloader-configuration-file)
+ (configuration-file-generator bootloader-configuration-file-generator))
+
+
+;;;
+;;; Bootloader configuration record.
+;;;
+
+;; The <bootloader-configuration> record contains bootloader independant
+;; configuration used to fill bootloader configuration file.
+
+(define-record-type* <bootloader-configuration>
+ bootloader-configuration make-bootloader-configuration
+ bootloader-configuration?
+ (bootloader bootloader-configuration-bootloader) ; <bootloader>
+ (device bootloader-configuration-device ; string
+ (default #f))
+ (menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters>
+ (default '()))
+ (default-entry bootloader-configuration-default-entry ; integer
+ (default 0))
+ (timeout bootloader-configuration-timeout ; seconds as integer
+ (default 5))
+ (theme bootloader-configuration-theme ; bootloader-specific theme
+ (default #f))
+ (terminal-outputs bootloader-configuration-terminal-outputs ; list of symbols
+ (default '(gfxterm)))
+ (terminal-inputs bootloader-configuration-terminal-inputs ; list of symbols
+ (default '()))
+ (serial-unit bootloader-configuration-serial-unit ; integer | #f
+ (default #f))
+ (serial-speed bootloader-configuration-serial-speed ; integer | #f
+ (default #f))
+ (additional-configuration bootloader-configuration-additional-configuration ; record
+ (default #f)))
+
+
+;;;
+;;; Bootloaders.
+;;;
+
+(define (bootloader-modules)
+ "Return the list of bootloader modules."
+ (all-modules (map (lambda (entry)
+ `(,entry . "gnu/bootloader"))
+ %load-path)))
+
+(define %bootloaders
+ ;; The list of publically-known bootloaders.
+ (delay (fold-module-public-variables (lambda (obj result)
+ (if (bootloader? obj)
+ (cons obj result)
+ result))
+ '()
+ (bootloader-modules))))
+
+(define (lookup-bootloader-by-name name)
+ "Return the bootloader called NAME."
+ (or (find (lambda (bootloader)
+ (eq? name (bootloader-name bootloader)))
+ (force %bootloaders))
+ (leave (G_ "~a: no such bootloader~%") name)))
diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm
new file mode 100644
index 0000000000..67b8815d40
--- /dev/null
+++ b/gnu/bootloader/extlinux.scm
@@ -0,0 +1,120 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 David Craven <david@craven.ch>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu bootloader extlinux)
+ #:use-module (gnu bootloader)
+ #:use-module (gnu system)
+ #:use-module (gnu packages bootloaders)
+ #:use-module (guix gexp)
+ #:use-module (guix monads)
+ #:use-module (guix records)
+ #:use-module (guix utils)
+ #:export (extlinux-bootloader))
+
+(define* (extlinux-configuration-file config entries
+ #:key
+ (system (%current-system))
+ (old-entries '()))
+ "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
+corresponding to old generations of the system."
+
+ (define all-entries
+ (append entries (bootloader-configuration-menu-entries config)))
+
+ (define (boot-parameters->gexp params)
+ (let ((label (boot-parameters-label params))
+ (kernel (boot-parameters-kernel params))
+ (kernel-arguments (boot-parameters-kernel-arguments params))
+ (initrd (boot-parameters-initrd params)))
+ #~(format port "LABEL ~a
+ MENU LABEL ~a
+ KERNEL ~a
+ FDTDIR ~a/lib/dtbs
+ INITRD ~a
+ APPEND ~a
+~%"
+ #$label #$label
+ #$kernel #$kernel #$initrd
+ (string-join (list #$@kernel-arguments)))))
+
+ (define builder
+ #~(call-with-output-file #$output
+ (lambda (port)
+ (let ((timeout #$(bootloader-configuration-timeout config)))
+ (format port "# This file was generated from your GuixSD configuration. Any changes
+# will be lost upon reconfiguration.
+UI menu.c32
+PROMPT ~a
+TIMEOUT ~a~%"
+ (if (> timeout 0) 1 0)
+ ;; timeout is expressed in 1/10s of seconds.
+ (* 10 timeout))
+ #$@(map boot-parameters->gexp all-entries)
+
+ #$@(if (pair? old-entries)
+ #~((format port "~%")
+ #$@(map boot-parameters->gexp old-entries)
+ (format port "~%"))
+ #~())))))
+
+ (gexp->derivation "extlinux.conf" builder))
+
+
+
+
+;;;
+;;; Install procedures.
+;;;
+
+(define dd
+ #~(lambda (bs count if of)
+ (zero? (system* "dd"
+ (string-append "bs=" (number->string bs))
+ (string-append "count=" (number->string count))
+ (string-append "if=" if)
+ (string-append "of=" of)))))
+
+(define install-extlinux
+ #~(lambda (bootloader device mount-point)
+ (let ((extlinux (string-append bootloader "/sbin/extlinux"))
+ (install-dir (string-append mount-point "/boot/extlinux"))
+ (syslinux-dir (string-append bootloader "/share/syslinux")))
+ (for-each (lambda (file)
+ (install-file file install-dir))
+ (find-files syslinux-dir "\\.c32$"))
+
+ (unless (and (zero? (system* extlinux "--install" install-dir))
+ (#$dd 440 1 (string-append syslinux-dir "/mbr.bin") device))
+ (error "failed to install SYSLINUX")))))
+
+
+
+;;;
+;;; Bootloader definitions.
+;;;
+
+(define extlinux-bootloader
+ (bootloader
+ (name 'extlinux)
+ (package syslinux)
+ (installer install-extlinux)
+ (configuration-file "/boot/extlinux/extlinux.conf")
+ (configuration-file-generator extlinux-configuration-file)))
diff --git a/gnu/system/grub.scm b/gnu/bootloader/grub.scm
index 85878de85c..49616b7164 100644
--- a/gnu/system/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,7 +19,7 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-(define-module (gnu system grub)
+(define-module (gnu bootloader grub)
#:use-module (guix store)
#:use-module (guix packages)
#:use-module (guix derivations)
@@ -28,6 +29,7 @@
#:use-module (guix download)
#:use-module (gnu artwork)
#:use-module (gnu system)
+ #:use-module (gnu bootloader)
#:use-module (gnu system file-systems)
#:autoload (gnu packages bootloaders) (grub)
#:autoload (gnu packages compression) (gzip)
@@ -50,15 +52,10 @@
%background-image
%default-theme
- grub-configuration
- grub-configuration?
- grub-configuration-device
- grub-configuration-grub
+ grub-bootloader
+ grub-efi-bootloader
- menu-entry
- menu-entry?
-
- grub-configuration-file))
+ grub-configuration))
;;; Commentary:
;;;
@@ -106,29 +103,6 @@ denoting a file name."
(color-highlight '((fg . yellow) (bg . black)))
(color-normal '((fg . light-gray) (bg . black))))) ;XXX: #x303030
-(define-record-type* <grub-configuration>
- grub-configuration make-grub-configuration
- grub-configuration?
- (grub grub-configuration-grub ; package
- (default (@ (gnu packages bootloaders) grub)))
- (device grub-configuration-device) ; string
- (menu-entries grub-configuration-menu-entries ; list
- (default '()))
- (default-entry grub-configuration-default-entry ; integer
- (default 0))
- (timeout grub-configuration-timeout ; integer
- (default 5))
- (theme grub-configuration-theme ; <grub-theme>
- (default %default-theme))
- (terminal-outputs grub-configuration-terminal-outputs ; list of symbols
- (default '(gfxterm)))
- (terminal-inputs grub-configuration-terminal-inputs ; list of symbols
- (default '()))
- (serial-unit grub-configuration-serial-unit ; integer | #f
- (default #f))
- (serial-speed grub-configuration-serial-speed ; integer | #f
- (default #f)))
-
(define-record-type* <menu-entry>
menu-entry make-menu-entry
menu-entry?
@@ -147,6 +121,11 @@ denoting a file name."
;;; Background image & themes.
;;;
+(define (bootloader-theme config)
+ "Return user defined theme in CONFIG if defined or %default-theme
+otherwise."
+ (or (bootloader-configuration-theme config) %default-theme))
+
(define* (svg->png svg #:key width height)
"Build a PNG of HEIGHT x WIDTH from SVG."
(gexp->derivation "grub-image.png"
@@ -171,7 +150,8 @@ 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 (grub-configuration-theme config)))))
+ (grub-theme-images
+ (bootloader-theme config)))))
(if image
(svg->png (grub-image-file image)
#:width width #:height height)
@@ -212,14 +192,14 @@ system string---e.g., \"x86_64-linux\"."
""))
(define (setup-gfxterm config font-file)
- (if (memq 'gfxterm (grub-configuration-terminal-outputs config))
- #~(format #f "if loadfont ~a; then
+ (if (memq 'gfxterm (bootloader-configuration-terminal-outputs config))
+ #~(format #f "if loadfont ~a; then
setup_gfxterm
fi~%" #$font-file)
- ""))
+ ""))
(define (theme-colors type)
- (let* ((theme (grub-configuration-theme config))
+ (let* ((theme (bootloader-theme config))
(colors (type theme)))
(string-append (symbol->string (assoc-ref colors 'fg)) "/"
(symbol->string (assoc-ref colors 'bg)))))
@@ -266,10 +246,10 @@ fi~%"
is a string that can be inserted in grub.cfg."
(let* ((symbols->string (lambda (list)
(string-join (map symbol->string list) " ")))
- (outputs (grub-configuration-terminal-outputs config))
- (inputs (grub-configuration-terminal-inputs config))
- (unit (grub-configuration-serial-unit config))
- (speed (grub-configuration-serial-speed config))
+ (outputs (bootloader-configuration-terminal-outputs config))
+ (inputs (bootloader-configuration-terminal-inputs config))
+ (unit (bootloader-configuration-serial-unit config))
+ (speed (bootloader-configuration-serial-speed config))
;; Respectively, GRUB_TERMINAL_OUTPUT and GRUB_TERMINAL_INPUT,
;; as documented in GRUB manual section "Simple Configuration
@@ -347,12 +327,13 @@ code."
(system (%current-system))
(old-entries '()))
"Return the GRUB configuration file corresponding to CONFIG, a
-<grub-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."
+<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."
(define all-entries
- (append (map boot-parameters->menu-entry entries)
- (grub-configuration-menu-entries config)))
+ (map boot-parameters->menu-entry
+ (append entries
+ (bootloader-configuration-menu-entries config))))
(define entry->gexp
(match-lambda
@@ -391,8 +372,8 @@ corresponding to old generations of the system."
(format port "
set default=~a
set timeout=~a~%"
- #$(grub-configuration-default-entry config)
- #$(grub-configuration-timeout config))
+ #$(bootloader-configuration-default-entry config)
+ #$(bootloader-configuration-timeout config))
#$@(map entry->gexp all-entries)
#$@(if (pair? old-entries)
@@ -404,4 +385,64 @@ submenu \"GNU system, old configurations...\" {~%")
(gexp->derivation "grub.cfg" builder)))
+
+
+;;;
+;;; Install procedures.
+;;;
+
+(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")
+
+ (unless (zero? (system* grub "--no-floppy"
+ "--boot-directory" install-dir
+ device))
+ (error "failed to install GRUB")))))
+
+
+
+;;;
+;;; Bootloader definitions.
+;;;
+
+(define grub-bootloader
+ (bootloader
+ (name 'grub)
+ (package grub)
+ (installer install-grub)
+ (configuration-file "/boot/grub/grub.cfg")
+ (configuration-file-generator grub-configuration-file)))
+
+(define* grub-efi-bootloader
+ (bootloader
+ (inherit grub-bootloader)
+ (name 'grub-efi)
+ (package grub-efi)))
+
+
+;;;
+;;; Compatibility macros.
+;;;
+
+(define-syntax grub-configuration
+ (syntax-rules (grub)
+ ((_ (grub package) fields ...)
+ (if (eq? package grub)
+ (bootloader-configuration
+ (bootloader grub-bootloader)
+ fields ...)
+ (bootloader-configuration
+ (bootloader grub-efi-bootloader)
+ fields ...)))
+ ((_ fields ...)
+ (bootloader-configuration
+ (bootloader grub-bootloader)
+ fields ...))))
+
;;; grub.scm ends here
diff --git a/gnu/build/install.scm b/gnu/build/install.scm
index 5cb6055a0c..9e30c0d23e 100644
--- a/gnu/build/install.scm
+++ b/gnu/build/install.scm
@@ -22,8 +22,7 @@
#:use-module (guix build store-copy)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
- #:export (install-grub
- install-grub-config
+ #:export (install-boot-config
evaluate-populate-directive
populate-root-file-system
reset-timestamps
@@ -39,36 +38,17 @@
;;;
;;; Code:
-(define (install-grub grub.cfg device mount-point)
- "Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on
-MOUNT-POINT.
-
-Note that the caller must make sure that GRUB.CFG is registered as a GC root
-so that the fonts, background images, etc. referred to by GRUB.CFG are not
-GC'd."
- (install-grub-config grub.cfg mount-point)
-
- ;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or root
- ;; partition.
- (setenv "GRUB_ENABLE_CRYPTODISK" "y")
-
- (unless (zero? (system* "grub-install" "--no-floppy"
- "--boot-directory"
- (string-append mount-point "/boot")
- device))
- (error "failed to install GRUB")))
-
-(define (install-grub-config grub.cfg mount-point)
- "Atomically copy GRUB.CFG into boot/grub/grub.cfg on the MOUNT-POINT. Note
-that the caller must make sure that GRUB.CFG is registered as a GC root so
-that the fonts, background images, etc. referred to by GRUB.CFG are not GC'd."
- (let* ((target (string-append mount-point "/boot/grub/grub.cfg"))
+(define (install-boot-config bootcfg bootcfg-location mount-point)
+ "Atomically copy BOOTCFG into BOOTCFG-LOCATION on the MOUNT-POINT. Note
+that the caller must make sure that BOOTCFG is registered as a GC root so
+that the fonts, background images, etc. referred to by BOOTCFG are not GC'd."
+ (let* ((target (string-append mount-point bootcfg-location))
(pivot (string-append target ".new")))
(mkdir-p (dirname target))
- ;; Copy GRUB.CFG instead of just symlinking it, because symlinks won't
+ ;; Copy BOOTCFG instead of just symlinking it, because symlinks won't
;; work when /boot is on a separate partition. Do that atomically.
- (copy-file grub.cfg pivot)
+ (copy-file bootcfg pivot)
(rename-file pivot target)))
(define (evaluate-populate-directive directive target)
diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index 7147ce1993..57619764ce 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -310,11 +310,11 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(unless register-closures?
(reset-timestamps target))))
-(define (register-grub.cfg-root target bootcfg)
+(define (register-bootcfg-root target bootcfg)
"On file system TARGET, register BOOTCFG as a GC root."
(let ((directory (string-append target "/var/guix/gcroots")))
(mkdir-p directory)
- (symlink bootcfg (string-append directory "/grub.cfg"))))
+ (symlink bootcfg (string-append directory "/bootcfg"))))
(define (install-efi grub esp config-file)
"Write a self-contained GRUB EFI loader to the mounted ESP using CONFIG-FILE."
@@ -346,7 +346,10 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
(define* (initialize-hard-disk device
#:key
- grub.cfg
+ bootloader-package
+ bootcfg
+ bootcfg-location
+ bootloader-installer
(grub-efi #f)
(partitions '()))
"Initialize DEVICE as a disk containing all the <partition> objects listed
@@ -375,7 +378,10 @@ passing it a directory name where it is mounted."
(display "mounting root partition...\n")
(mkdir-p target)
(mount (partition-device root) target (partition-file-system root))
- (install-grub grub.cfg device target)
+ (install-boot-config bootcfg bootcfg-location target)
+ (when bootloader-installer
+ (display "installing bootloader...\n")
+ (bootloader-installer bootloader-package device target))
(when esp
;; Mount the ESP somewhere and install GRUB UEFI image.
@@ -402,8 +408,8 @@ passing it a directory name where it is mounted."
(delete-file grub-config)
(umount mount-point)))
- ;; Register GRUB.CFG as a GC root.
- (register-grub.cfg-root target grub.cfg)
+ ;; Register BOOTCFG as a GC root.
+ (register-bootcfg-root target bootcfg)
(umount target)))
diff --git a/gnu/local.mk b/gnu/local.mk
index f1a3cf6dba..3ca546913c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -36,6 +36,9 @@
GNU_SYSTEM_MODULES = \
gnu.scm \
%D%/artwork.scm \
+ %D%/bootloader.scm \
+ %D%/bootloader/grub.scm \
+ %D%/bootloader/extlinux.scm \
%D%/packages.scm \
%D%/packages/abduco.scm \
%D%/packages/abiword.scm \
@@ -443,7 +446,6 @@ GNU_SYSTEM_MODULES = \
\
%D%/system.scm \
%D%/system/file-systems.scm \
- %D%/system/grub.scm \
%D%/system/install.scm \
%D%/system/linux-container.scm \
%D%/system/linux-initrd.scm \
@@ -518,7 +520,9 @@ dist_patch_DATA = \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/calibre-drop-unrar.patch \
+ %D%/packages/patches/calibre-dont-load-remote-icons.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
+ %D%/packages/patches/calibre-use-packaged-feedparser.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
%D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \
%D%/packages/patches/ceph-disable-cpu-optimizations.patch \
@@ -644,6 +648,7 @@ dist_patch_DATA = \
%D%/packages/patches/graphite2-non-linear-classes-even-number.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \
%D%/packages/patches/gsl-test-i686.patch \
+ %D%/packages/patches/gspell-dash-test.patch \
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
%D%/packages/patches/guile-default-utf8.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
@@ -684,6 +689,9 @@ dist_patch_DATA = \
%D%/packages/patches/jasper-CVE-2017-6850.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/jbig2dec-CVE-2016-9601.patch \
+ %D%/packages/patches/jbig2dec-CVE-2017-7885.patch \
+ %D%/packages/patches/jbig2dec-CVE-2017-7975.patch \
+ %D%/packages/patches/jbig2dec-CVE-2017-7976.patch \
%D%/packages/patches/jq-CVE-2015-8863.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \
@@ -943,6 +951,7 @@ dist_patch_DATA = \
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
%D%/packages/patches/qemu-CVE-2017-7493.patch \
%D%/packages/patches/qt4-ldflags.patch \
+ %D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/ratpoison-shell.patch \
@@ -965,8 +974,6 @@ dist_patch_DATA = \
%D%/packages/patches/screen-fix-info-syntax-error.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
- %D%/packages/patches/shadow-4.4-su-snprintf-fix.patch \
- %D%/packages/patches/shadow-CVE-2017-2616.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 1610729c44..aa6ccc0a73 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -281,17 +281,15 @@ client and server, a telnet client and server, and an rsh client and server.")
(define-public shadow
(package
(name "shadow")
- (version "4.4")
+ (version "4.5")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/shadow-maint/shadow/releases/"
"download/" version "/shadow-" version ".tar.xz"))
- (patches (search-patches "shadow-4.4-su-snprintf-fix.patch"
- "shadow-CVE-2017-2616.patch"))
(sha256
(base32
- "0g7hf55ar2pafg5g3ldx0fwzjk36wf4xb21p4ndanbjm3c2a9ab1"))))
+ "0hdpai78n63l3v3fgr3kkiqzhd0awrpfnnzz4mf7lmxdh61qb37w"))))
(build-system gnu-build-system)
(arguments
'(;; Assume System V `setpgrp (void)', which is the default on GNU
diff --git a/gnu/packages/aux-files/linux-libre/4.11-i686.conf b/gnu/packages/aux-files/linux-libre/4.11-i686.conf
index 6234a980ae..93c1f1747b 100644
--- a/gnu/packages/aux-files/linux-libre/4.11-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/4.11-i686.conf
@@ -935,8 +935,7 @@ CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_SMC=m
-CONFIG_SMC_DIAG=m
+# CONFIG_SMC is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
diff --git a/gnu/packages/aux-files/linux-libre/4.11-x86_64.conf b/gnu/packages/aux-files/linux-libre/4.11-x86_64.conf
index d47a5d1226..ea6e5cc899 100644
--- a/gnu/packages/aux-files/linux-libre/4.11-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/4.11-x86_64.conf
@@ -919,8 +919,7 @@ CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_SMC=m
-CONFIG_SMC_DIAG=m
+# CONFIG_SMC is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index ab5da5ffc5..136f141d8b 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -30,7 +30,7 @@
(define-public fio
(package
(name "fio")
- (version "2.19")
+ (version "2.20")
(source (origin
(method url-fetch)
(uri (string-append
@@ -38,7 +38,7 @@
"fio-" version ".tar.bz2"))
(sha256
(base32
- "0dwx2dpbsg3xyd8jzm64gazy6ij4zirlfdrbgcxr1a0z5smcmcw1"))))
+ "15vgbzlcjd21bi9ahlbs8h9ca4raw5qgi711n802qmagjdjbmlxw"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
@@ -78,8 +78,8 @@
(dst (string-append newbin "/" file)))
(link src dst)
(delete-file src)))
- '("fio2gnuplot" "fio_latency2csv.py"
- "fiologparser_hist.py" "fiologparser.py"))
+ '("fio2gnuplot" "fiologparser_hist.py"
+ "fiologparser.py"))
;; Make sure numpy et.al is found.
(wrap-program (string-append newbin "/fiologparser_hist.py")
`("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 9f5d8141d8..9b4afbfcfb 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -614,7 +614,7 @@ Python.")
(define-public python-biom-format
(package
(name "python-biom-format")
- (version "2.1.5")
+ (version "2.1.6")
(source
(origin
(method url-fetch)
@@ -625,14 +625,15 @@ Python.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1n25w3p1rixbpac8iysmzcja6m4ip5r6sz19l8y6wlwi49hxn278"))))
+ "08cr7wpahk6zb31h4bs7jmzpvxcqv9s13xz40h6y2h656jvdvnpj"))))
(build-system python-build-system)
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-scipy" ,python-scipy)
("python-future" ,python-future)
("python-click" ,python-click)
- ("python-h5py" ,python-h5py)))
+ ("python-h5py" ,python-h5py)
+ ("python-pandas" ,python-pandas)))
(native-inputs
`(("python-nose" ,python-nose)))
(home-page "http://www.biom-format.org")
@@ -2092,7 +2093,7 @@ identify enrichments with functional annotations of the genome.")
(define-public diamond
(package
(name "diamond")
- (version "0.8.38")
+ (version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2101,7 +2102,7 @@ identify enrichments with functional annotations of the genome.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0q2z6z5f7c0kbbzpjamkcyqg0rc6h5rxfp97qbmb0wxaycr7jajq"))))
+ "19lvz661mmgikbry0nvnsjc01fdxqbw9rl2868dvjfraxbcx9ras"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no "check" target
@@ -2121,8 +2122,7 @@ translated DNA query sequences against a protein reference database (BLASTP
and BLASTX alignment mode). The speedup over BLAST is up to 20,000 on short
reads at a typical sensitivity of 90-99% relative to BLAST depending on the
data and settings.")
- (license (license:non-copyleft "file://src/COPYING"
- "See src/COPYING in the distribution."))))
+ (license license:agpl3+)))
(define-public discrover
(package
@@ -2417,7 +2417,7 @@ similarity of community members.")
(define-public fasttree
(package
(name "fasttree")
- (version "2.1.9")
+ (version "2.1.10")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2425,7 +2425,7 @@ similarity of community members.")
version ".c"))
(sha256
(base32
- "0ljvvw8i1als1wbfzvrf15c3ii2vw9db20a259g6pzg34xyyb97k"))))
+ "0vcjdvy1j4m702vmak4svbfkrpcw63k7wymfksjp9a982zy8kjsl"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@@ -2551,7 +2551,7 @@ Illumina, Roche 454, and the SOLiD platform.")
(define-public fraggenescan
(package
(name "fraggenescan")
- (version "1.20")
+ (version "1.30")
(source
(origin
(method url-fetch)
@@ -2559,7 +2559,7 @@ Illumina, Roche 454, and the SOLiD platform.")
(string-append "mirror://sourceforge/fraggenescan/"
"FragGeneScan" version ".tar.gz"))
(sha256
- (base32 "1zzigqmvqvjyqv4945kv6nc5ah2xxm1nxgrlsnbzav3f5c0n0pyj"))))
+ (base32 "158dcnwczgcyhwm4qlx19sanrwgdpzf6bn2y57mbpx55lkgz1mzj"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -2574,6 +2574,7 @@ Illumina, Roche 454, and the SOLiD platform.")
(string-append "system(\"" (which "rm")))
(("system\\(\"mv")
(string-append "system(\"" (which "mv")))
+ (("\\\"awk") (string-append "\"" (which "awk")))
;; This script and other programs expect the training files
;; to be in the non-standard location bin/train/XXX. Change
;; this to be share/fraggenescan/train/XXX instead.
@@ -2583,10 +2584,7 @@ Illumina, Roche 454, and the SOLiD platform.")
"train/\".$FGS_train_file;")))
(substitute* "run_hmm.c"
(("^ strcat\\(train_dir, \\\"train/\\\"\\);")
- (string-append " strcpy(train_dir, \"" share "/train/\");")))
- (substitute* "post_process.pl"
- (("^my \\$dir = substr.*")
- (string-append "my $dir = \"" share "\";"))))
+ (string-append " strcpy(train_dir, \"" share "/train/\");"))))
#t))
(replace 'build
(lambda _ (and (zero? (system* "make" "clean"))
@@ -2598,8 +2596,6 @@ Illumina, Roche 454, and the SOLiD platform.")
(share (string-append out "/share/fraggenescan/train")))
(install-file "run_FragGeneScan.pl" bin)
(install-file "FragGeneScan" bin)
- (install-file "FGS_gff.py" bin)
- (install-file "post_process.pl" bin)
(copy-recursively "train" share))))
(delete 'check)
(add-after 'install 'post-install-check
@@ -2607,8 +2603,9 @@ Illumina, Roche 454, and the SOLiD platform.")
;; output files gets created.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (string-append (assoc-ref outputs "out")))
- (bin (string-append out "/bin/")))
- (and (zero? (system* (string-append bin "run_FragGeneScan.pl")
+ (bin (string-append out "/bin/"))
+ (frag (string-append bin "run_FragGeneScan.pl")))
+ (and (zero? (system* frag ; Test complete genome.
"-genome=./example/NC_000913.fna"
"-out=./test2"
"-complete=1"
@@ -2616,7 +2613,13 @@ Illumina, Roche 454, and the SOLiD platform.")
(file-exists? "test2.faa")
(file-exists? "test2.ffn")
(file-exists? "test2.gff")
- (file-exists? "test2.out"))))))))
+ (file-exists? "test2.out")
+ (zero? (system* ; Test incomplete sequences.
+ frag
+ "-genome=./example/NC_000913-fgs.ffn"
+ "-out=out"
+ "-complete=0"
+ "-train=454_30")))))))))
(inputs
`(("perl" ,perl)
("python" ,python-2))) ;not compatible with python 3.
@@ -2696,6 +2699,46 @@ comment or quality sections.")
(supported-systems '("x86_64-linux"))
(license license:expat))))
+(define-public gemma
+ (package
+ (name "gemma")
+ (version "0.96")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/xiangzhou/GEMMA/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "055ynn16gd12pf78n4vr2a9jlwsbwzajpdnf2y2yilg1krfff222"))))
+ (inputs
+ `(("gsl" ,gsl)
+ ("lapack" ,lapack)
+ ("zlib" ,zlib)))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags '("FORCE_DYNAMIC=1") ; use shared libs
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'bin-mkdir
+ (lambda _
+ (mkdir-p "bin")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "bin/gemma"
+ (string-append
+ out "/bin"))))))
+ #:tests? #f)) ; no tests included yet
+ (home-page "https://github.com/xiangzhou/GEMMA")
+ (synopsis "Tool for genome-wide efficient mixed model association")
+ (description
+ "Genome-wide Efficient Mixed Model Association (GEMMA) provides a
+standard linear mixed model resolver with application in genome-wide
+association studies (GWAS).")
+ (license license:gpl3)))
+
(define-public grit
(package
(name "grit")
@@ -4054,7 +4097,7 @@ partial genes, and identifies translation initiation sites.")
(define-public roary
(package
(name "roary")
- (version "3.7.0")
+ (version "3.8.2")
(source
(origin
(method url-fetch)
@@ -4063,7 +4106,7 @@ partial genes, and identifies translation initiation sites.")
version ".tar.gz"))
(sha256
(base32
- "0x2hpb3nfsc6x2nq1788w0fhqfzc7cn2dp4xwyva9m3k6xlz0m43"))))
+ "03dfr2cd5fp80bcr65923zpdzrasvcxl7c2vgh8373v25a1yfap7"))))
(build-system perl-build-system)
(arguments
`(#:phases
@@ -5396,18 +5439,13 @@ Cuffdiff or Ballgown programs.")
(define-public taxtastic
(package
(name "taxtastic")
- (version "0.5.7")
- ;; Versions after 0.5.4 do not appear to be distributed on PyPI so we
- ;; download the package from GitHub.
+ (version "0.6.4")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://github.com/fhcrc/taxtastic/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (pypi-uri "taxtastic" version))
(sha256
(base32
- "1s0h5y1lds1c40jhir5585ffm6yjyn8h5aqimpgv64rhqhfv56xx"))))
+ "0s79z8kfl853x7l4h8ms05k31q87aw62nrchlk20w9n227j35929"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@@ -7904,14 +7942,14 @@ library implementing most of the pipeline's features.")
(define-public r-mutationalpatterns
(package
(name "r-mutationalpatterns")
- (version "1.2.0")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MutationalPatterns" version))
(sha256
(base32
- "00jh1qklj8jb9j7mwvkfybq368h2wg9yc2cwkgb7yb9vsw72r61d"))))
+ "1s50diwh1j6vg3mgahh6bczvq74mfdbmwjrad4d5lh723gnc5pjg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 0a53e6ca99..1d64e9b69f 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,7 +20,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ebook)
- #:use-module ((guix licenses) #:select (gpl3 lgpl2.1+))
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -27,8 +28,10 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages gnome)
#:use-module (gnu packages glib)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
@@ -38,6 +41,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xorg))
(define-public chmlib
@@ -56,12 +60,12 @@
(home-page "http://www.jedrea.com/chmlib/")
(synopsis "Library for CHM files")
(description "CHMLIB is a library for dealing with ITSS/CHM format files.")
- (license lgpl2.1+)))
+ (license license:lgpl2.1+)))
(define-public calibre
(package
(name "calibre")
- (version "2.76.0")
+ (version "2.85.1")
(source
(origin
(method url-fetch)
@@ -70,33 +74,35 @@
version ".tar.xz"))
(sha256
(base32
- "1xfm586n6gm44mkyn25mbiyhj6w9ji9yl6fvmnr4zk1q6qcga3v8"))
+ "1g8s0kp1gj05yysfgqpp2lgrxvzc0fsny1hwzx5jh9hvqn0b53cc"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))
(snippet
'(begin
+ (delete-file-recursively "src/calibre/ebooks/markdown")
(delete-file-recursively "src/unrar")
- (delete-file "src/odf/thumbnail.py")))
+ (delete-file "src/odf/thumbnail.py")
+ (delete-file-recursively "resources/fonts/liberation")
+ (delete-file-recursively "src/chardet")
+ (substitute* (find-files "." "\\.py")
+ (("calibre\\.ebooks\\.markdown") "markdown"))
+ #t))
(patches (search-patches "calibre-drop-unrar.patch"
+ "calibre-use-packaged-feedparser.patch"
+ "calibre-dont-load-remote-icons.patch"
"calibre-no-updates-dialog.patch"))))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("font-liberation" ,font-liberation)
("qtbase" ,qtbase) ; for qmake
;; xdg-utils is supposed to be used for desktop integration, but it
;; also creates lots of messages
;; mkdir: cannot create directory '/homeless-shelter': Permission denied
+ ("python2-flake8" ,python2-flake8)
("xdg-utils" ,xdg-utils)))
- ;; FIXME: The following are missing inputs according to the documentation,
- ;; but the package can apparently be used without them,
- ;; They may need to be added if a deficiency is detected.
- ;; BeautifulSoup >= 3.0.5
- ;; dnspython >= 1.6.0
- ;; poppler >= 0.20.2
- ;; libwmf >= 0.2.8
- ;; psutil >= 0.6.1
- ;; python-pygments >= 2.0.1 ; used for ebook editing
+ ;; Beautifulsoup3 is bundled but obsolete and not packaged, so just leave it bundled.
(inputs
`(("chmlib" ,chmlib)
("fontconfig" ,fontconfig)
@@ -108,16 +114,22 @@
("libxrender" ,libxrender)
("openssl" ,openssl)
("podofo" ,podofo)
+ ("poppler" ,poppler)
("python" ,python-2)
("python2-apsw" ,python2-apsw)
+ ("python2-chardet" ,python2-chardet)
("python2-cssselect" ,python2-cssselect)
("python2-cssutils" ,python2-cssutils)
("python2-dateutil" ,python2-dateutil)
("python2-dbus" ,python2-dbus)
+ ("python2-dnspython" ,python2-dnspython)
+ ("python2-feedparser" ,python2-feedparser)
("python2-lxml" ,python2-lxml)
+ ("python2-markdown" ,python2-markdown)
("python2-mechanize" ,python2-mechanize)
("python2-netifaces" ,python2-netifaces)
("python2-pillow" ,python2-pillow)
+ ("python2-pygments" ,python2-pygments)
("python2-pyqt" ,python2-pyqt)
("python2-sip" ,python2-sip)
("sqlite" ,sqlite)))
@@ -130,6 +142,12 @@
#:use-setuptools? #f
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "src/calibre/linux.py"
+ ;; We can't use the uninstaller in Guix. Don't build it.
+ (("self\\.create_uninstaller()") ""))
+ #t))
(add-before 'build 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let ((podofo (assoc-ref inputs "podofo"))
@@ -137,7 +155,17 @@
(substitute* "setup/build_environment.py"
(("sys.prefix") (string-append "'" pyqt "'")))
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
- (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))))))))
+ (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib")))))
+ (add-after 'install 'install-font-liberation
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (for-each (lambda (file)
+ (install-file file (string-append
+ (assoc-ref outputs "out")
+ "/share/calibre/fonts/liberation")))
+ (find-files (string-append
+ (assoc-ref inputs "font-liberation")
+ "/share/fonts/truetype")))
+ #t)))))
(home-page "http://calibre-ebook.com/")
(synopsis "E-book library management software")
(description "Calibre is an ebook library manager. It can view, convert
@@ -145,4 +173,16 @@ and catalog ebooks in most of the major ebook formats. It can also talk
to many ebook reader devices. It can go out to the Internet and fetch
metadata for books. It can download newspapers and convert them into
ebooks for convenient reading.")
- (license gpl3))) ; some files are under various other licenses, see COPYRIGHT
+ ;; Calibre is largely GPL3+, but includes a number of components covered
+ ;; by other licenses. See COPYRIGHT for more details.
+ (license (list license:gpl3+
+ license:gpl2+
+ license:lgpl2.1+
+ license:lgpl2.1
+ license:bsd-3
+ license:expat
+ license:zpl2.1
+ license:asl2.0
+ license:public-domain
+ license:silofl1.1
+ license:cc-by-sa3.0))))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 3d9e83713e..4a0d20c9f1 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1156,14 +1156,14 @@ rather than the contents of files.")
(define-public emacs-async
(package
(name "emacs-async")
- (version "1.9")
+ (version "1.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/async-"
version ".tar"))
(sha256
(base32
- "1ip5nc8xyln5szvqwp6wqva9xr84pn8ssn3nnphrszr19y4js2bm"))))
+ "17fnvrj7jww29sav6a6jpizclg4w2962m6h37akpii71gf0vrffw"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/async.html")
(synopsis "Asynchronous processing in Emacs")
@@ -3361,7 +3361,7 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
(define-public emacs-helm
(package
(name "emacs-helm")
- (version "1.9.8")
+ (version "2.7.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3370,7 +3370,7 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "019dpzr6l83k1fgxn40aqxjvrpz4dl5d9vi7fc5wjnifmxaqxia6"))))
+ "1scdirpclgq3pi1j2c90gqaaqg1pgvasp98f4jqw8c5xbqcr7jdw"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@@ -3387,6 +3387,55 @@ considered to be its successor. Helm sets out to clean up the legacy code in
not tied in the trap of backward compatibility.")
(license license:gpl3+)))
+(define-public emacs-helm-swoop
+ (package
+ (name "emacs-helm-swoop")
+ (version "1.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ShingoFukuyama/helm-swoop/archive/"
+ version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z34pfi0gsk054pxr906ilaalaw0xz3s536163gf9ykkwmc2356d"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-helm" ,emacs-helm)))
+ (home-page "https://github.com/ShingoFukuyama/helm-swoop")
+ (synopsis "Filter and jump to lines in an Emacs buffer using Helm")
+ (description
+ "This package builds on the Helm interface to provide several commands
+for search-based navigation of buffers.")
+ (license license:gpl2+)))
+
+(define-public emacs-helm-projectile
+ (package
+ (name "emacs-helm-projectile")
+ (version "0.14.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/bbatsov/helm-projectile/archive/v"
+ version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "19cfmilqh8kbab3b2hmx6lyrj73q6vfmn3p730x95g23iz16mnd5"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-helm" ,emacs-helm)
+ ("emacs-projectile" ,emacs-projectile)))
+ (home-page "https://github.com/bbatsov/helm-projectile")
+ (synopsis "Helm integration for Projectile")
+ (description
+ "This Emacs library provides a Helm interface for Projectile.")
+ (license license:gpl3+)))
+
(define-public emacs-cider
(package
(name "emacs-cider")
@@ -3579,14 +3628,14 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
- (version "20170502")
+ (version "20170515")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
- "12inz804j55ycprb2m3ay54d1bhwhjssmn5nrfm7cfklyhfsy27s"))))
+ "0lfapcxil69x1a63cszgq72lqks1z3gpyxw7vcllqlgi7n7a4y6f"))))
(build-system emacs-build-system)
(home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@@ -4145,7 +4194,7 @@ jQuery and Bootstrap resources included via osscdn.")
(define-public emacspeak
(package
(name "emacspeak")
- (version "45.0")
+ (version "46.0")
(source
(origin
(method url-fetch)
@@ -4154,7 +4203,11 @@ jQuery and Bootstrap resources included via osscdn.")
version "/emacspeak-" version ".tar.bz2"))
(sha256
(base32
- "0npcr867xbbhwa0i7v26hnk4z2d51522jwcfwc594j74kbv3g6ka"))))
+ "15x4yfp3wl2fxm1nkx6pz3clw6zyw3argcsqxgcx6pa28sivlg2n"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete the bundled byte-compiled elisp files.
+ '(for-each delete-file (find-files "lisp" "\\.elc$")))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "prefix="
@@ -4162,25 +4215,35 @@ jQuery and Bootstrap resources included via osscdn.")
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "Makefile"
- (("\\$\\(INSTALL\\) -d \\$\\(libdir\\)/servers/linux-outloud")
- "")
- (("\\$\\(INSTALL\\) -m 755 \\$\\{OUTLOUD\\}.*$") "")
- (("\\*info\\*") "*"))
- (substitute* "etc/emacspeak.sh.def"
- (("<emacspeak-dir>")
- (string-append (assoc-ref outputs "out")
- "/share/emacs/site-lisp/emacspeak/lisp")))
+ (lambda _
+ ;; Configure Emacspeak according to etc/install.org.
(zero? (system* "make" "config"))))
- (add-after 'install 'install-espeak-server
+ (add-after 'build 'build-espeak
+ (lambda _
+ (zero? (system* "make" "espeak"))))
+ (replace 'install
(lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (with-directory-excursion "servers/linux-espeak"
- (and (zero? (system* "make"))
- (zero? (system* "make" "install"
- (string-append "PREFIX=" out))))))))
- (add-after 'install-espeak-server 'wrap-program
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (lisp (string-append out "/share/emacs/site-lisp/emacspeak"))
+ (info (string-append out "/share/info")))
+ ;; According to etc/install.org, the Emacspeak directory should
+ ;; be copied to its installation destination.
+ (for-each
+ (lambda (file)
+ (copy-recursively file (string-append lisp "/" file)))
+ '("etc" "info" "lisp" "media" "servers" "sounds" "stumpwm"
+ "xsl"))
+ ;; Make sure emacspeak is loaded from the correct directory.
+ (substitute* "etc/emacspeak.sh"
+ (("exec emacs.*$")
+ (string-append "exec emacs -l " lisp
+ "/lisp/emacspeak-setup.el $CL_ALL")))
+ ;; Install the convenient startup script.
+ (mkdir-p bin)
+ (copy-file "etc/emacspeak.sh" (string-append bin "/emacspeak")))
+ #t))
+ (add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(emacspeak (string-append out "/bin/emacspeak"))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 3517f06acf..fc1e3dcf37 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1059,14 +1059,14 @@ reference interpreter, using the Glk API.")
(define-public fizmo
(package
(name "fizmo")
- (version "0.7.9")
+ (version "0.8.4")
(source (origin
(method url-fetch)
(uri (string-append "https://christoph-ender.de/fizmo/source/"
name "-" version ".tar.gz"))
(sha256
(base32
- "1w7cgyjrhgkadjrazijzhq7zh0pl5bfc6wl7mdpgh020y4kp46d7"))))
+ "1sd988db2302r7cbfcfghbmg8ck43c6hvnlnlpb0rqxb7pm9cwyy"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -1079,12 +1079,13 @@ reference interpreter, using the Glk API.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("libjpeg" ,libjpeg)
+ `(("freetype" ,freetype)
+ ("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libsndfile" ,libsndfile)
("libxml2" ,libxml2)
("ncurses" ,ncurses)
- ("sdl" ,sdl)))
+ ("sdl2" ,sdl2)))
(home-page "https://christoph-ender.de/fizmo/")
(synopsis "Z-machine interpreter")
(description
@@ -1410,14 +1411,14 @@ older games.")
(define-public gamine
(package
(name "gamine")
- (version "1.4")
+ (version "1.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gamine-game/"
"gamine-" version ".tar.gz"))
(sha256
(base32
- "1iny959i1kl2ab6z5xi4s66mrvrwcarxyvjfp2k1sx532s8knk8h"))))
+ "08wnk7w84c2413hwny89j2cn89cvfdf67bfc6wl0bf475if0mf4h"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1490,7 +1491,7 @@ is programmed in Haskell.")
(define-public manaplus
(package
(name "manaplus")
- (version "1.7.3.4")
+ (version "1.7.5.14")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1498,7 +1499,7 @@ is programmed in Haskell.")
version "/manaplus-" version ".tar.xz"))
(sha256
(base32
- "0mbxzsgjg16pqa3jnxkd7wwvw1lrx455r7fvwjfhzp0yv7acrn10"))))
+ "1b5q79jkdrck5lq8lvhnpq2mly257r8lylp7b8sp8xn4365f86ch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -1512,7 +1513,6 @@ is programmed in Haskell.")
("curl" ,curl)
("libxml2" ,libxml2)
("mesa" ,mesa)
- ("physfs" ,physfs)
("sdl-union" ,(sdl-union))))
(home-page "http://manaplus.org")
(synopsis "Client for 'The Mana World' and similar games")
@@ -2160,14 +2160,14 @@ and a game metadata scraper.")
(define openttd-engine
(package
(name "openttd-engine")
- (version "1.6.1")
+ (version "1.7.0")
(source
(origin (method url-fetch)
(uri (string-append "http://binaries.openttd.org/releases/"
version "/openttd-" version "-source.tar.xz"))
(sha256
(base32
- "1ak32fj5xkk2fvmm3g8i7wzmk4bh2ijsp8fzvvw5wj6365p9j24v"))
+ "1q4r5860dpkkw4fpfz3f8mvdd8xjpnwwzr9zybgmgb255bs0g4yz"))
(modules '((guix build utils)))
(snippet
;; The DOS port contains proprietary software.
@@ -2207,8 +2207,8 @@ and a game metadata scraper.")
passengers by land, water and air. It is a re-implementation of Transport
Tycoon Deluxe with many enhancements including multiplayer mode,
internationalization support, conditional orders and the ability to clone,
-autoreplace and autoupdate vehicles. This package only includes the game engine. When you start
-it you will be prompted to download a graphics set.")
+autoreplace and autoupdate vehicles. This package only includes the game
+engine. When you start it you will be prompted to download a graphics set.")
(home-page "http://openttd.org/")
;; This package is GPLv2, except for a few files located in
;; "src/3rdparty/" which are under the 3-clause BSD, LGPLv2.1+ and Zlib
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 4e8736cd71..1cb651c96b 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -132,6 +132,7 @@ printing, and psresize, for adjusting page sizes.")
(name "ghostscript")
(replacement ghostscript/fixed)
(version "9.14.0")
+ ;; XXX Try removing the bundled copy of jbig2dec.
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ghostscript/gnu-ghostscript-"
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index cec8baebfe..e81a3f0883 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -51,6 +51,7 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
+ #:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages base)
@@ -1870,7 +1871,7 @@ libraries written in C.")
(define-public vte
(package
(name "vte")
- (version "0.48.2")
+ (version "0.48.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -1878,7 +1879,7 @@ libraries written in C.")
name "-" version ".tar.xz"))
(sha256
(base32
- "14060d5rmjjmxaknrabhnsjwxni5wa3crg61mqxv8f7yxl0v6y62"))))
+ "1hsqc7238862mqnva5qqdfxnhpwq3ak6zx6kbjj95cs04wcgpad3"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1905,7 +1906,7 @@ editors, IDEs, etc.")
(package
(inherit vte)
(name "vte-ng")
- (version "0.48.2.a")
+ (version "0.48.3.a")
(native-inputs
`(("gtk-doc" ,gtk-doc)
("gperf" ,gperf)
@@ -1920,7 +1921,7 @@ editors, IDEs, etc.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0m0bqcppa9vzysxizbymwifpii1lgg1cjy7yphvb1ivxz1pk7bal"))))
+ "1wdkf090zclqy11hxdjgy8f6fgzajl0xzzirajikhbaiill7f8zh"))))
(arguments
`(#:configure-flags '("CXXFLAGS=-Wformat=0")
#:phases (modify-phases %standard-phases
@@ -2852,7 +2853,7 @@ playlists in a variety of formats.")
(define-public aisleriot
(package
(name "aisleriot")
- (version "3.22.1")
+ (version "3.22.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -2860,7 +2861,7 @@ playlists in a variety of formats.")
name "-" version ".tar.xz"))
(sha256
(base32
- "01ydq39kk8xvv8nbqqbh458gpmvx676sms71r1iix42z40a13caj"))))
+ "0a8cir7vgi67sncl0m7cypq11amardm7r68gr3q52a11l8ajycdx"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
@@ -3983,7 +3984,7 @@ classes for commonly used data structures.")
(define-public gexiv2
(package
(name "gexiv2")
- (version "0.10.4")
+ (version "0.10.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -3991,7 +3992,7 @@ classes for commonly used data structures.")
name "-" version ".tar.xz"))
(sha256
(base32
- "190www3b61spfgwx42jw8h5hsz2996jcxky48k63468avjpk33dd"))))
+ "09aqsnpah71p9gx0ap2px2dyanrs7jmkkar6q114n9b7js8qh9qk"))))
(build-system gnu-build-system)
(native-inputs
`(("glib" ,glib "bin")
@@ -5350,7 +5351,7 @@ beautifying border effects.")
(define-public dconf-editor
(package
(name "dconf-editor")
- (version "3.22.1")
+ (version "3.22.3")
(source
(origin
(method url-fetch)
@@ -5359,7 +5360,7 @@ beautifying border effects.")
name "-" version ".tar.xz"))
(sha256
(base32
- "09n1ljryjgkmxwly542zb2dh9j7h76chc0br2bbhrhkwvjjmc3ha"))))
+ "1939yq3fl55c2dqkc6nzp6cbpxq9sli74gdj0rj7c50pwvbngwam"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
@@ -6136,3 +6137,56 @@ accessibility infrastructure.")
via speech and refreshable braille. Orca works with applications and toolkits
that support the Assistive Technology Service Provider Interface (AT-SPI).")
(license license:lgpl2.1+)))
+
+(define-public gspell
+ (package
+ (name "gspell")
+ (version "1.3.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major+minor version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1n4kd5i11l79h8bpvx3cz79ww0b4z89y99h4czvyg80qlarn585w"))
+ (patches (search-patches "gspell-dash-test.patch"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+
+ ;; Allow Enchant and its Aspell backend to find the en_US
+ ;; dictionary.
+ (setenv "ASPELL_DICT_DIR"
+ (string-append (assoc-ref inputs "aspell-dict-en")
+ "/lib/aspell"))
+ #t)))))
+ (inputs
+ `(("enchant" ,enchant)
+ ("iso-codes" ,iso-codes)
+ ("gtk+" ,gtk+)
+ ("glib" ,glib)))
+ (native-inputs
+ `(("glib" ,glib "bin")
+ ("pkg-config" ,pkg-config)
+ ("xmllint" ,libxml2)
+
+ ;; For tests.
+ ("xorg-server" ,xorg-server)
+ ("aspell-dict-en" ,aspell-dict-en)))
+ (home-page "https://wiki.gnome.org/Projects/gspell")
+ (synopsis "GNOME's alternative spell checker")
+ (description
+ "gspell provides a flexible API to add spell-checking to a GTK+
+application. It provides a GObject API, spell-checking to text entries and
+text views, and buttons to choose the language.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 3edb157704..440e7d550f 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -192,16 +192,14 @@ specifications are building blocks of S/MIME and TLS.")
(define-public npth
(package
(name "npth")
- (version "1.3")
+ (version "1.4")
(source
(origin
(method url-fetch)
- (uri (string-append
- "mirror://gnupg/npth/npth-"
- version ".tar.bz2"))
+ (uri (string-append "mirror://gnupg/npth/npth-" version ".tar.bz2"))
(sha256
(base32
- "0am86vblapwz84254qpmhz0chk70g6qzh3wdxcs0gvba8d01ka5w"))))
+ "1wpijvxg5svj893q9vp5r83d9ipwhpbyphb55m89l5m36qc185c9"))))
(build-system gnu-build-system)
(home-page "https://www.gnupg.org")
(synopsis "Non-preemptive thread library")
@@ -217,14 +215,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
- (version "2.1.20")
+ (version "2.1.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
- "03cnd6gz8f4lf69inskssw57idrswcdimhccdyglmrlv6rlrmkr4"))))
+ "1p97limv29p01y79mgnzpwixa50lv53wgdl3ymk9idkmpaldisks"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index de8043d236..86902d5680 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -509,7 +509,10 @@ arithmetic ops.")
(sha256
(base32 "04akiwab8iy5iy34razcvh9mcja9wy737civ3sbjxk4j143s1b2s"))
(patches (search-patches "jbig2dec-ignore-testtest.patch"
- "jbig2dec-CVE-2016-9601.patch"))))
+ "jbig2dec-CVE-2016-9601.patch"
+ "jbig2dec-CVE-2017-7885.patch"
+ "jbig2dec-CVE-2017-7975.patch"
+ "jbig2dec-CVE-2017-7976.patch"))))
(build-system gnu-build-system)
(synopsis "Decoder of the JBIG2 image compression format")
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 48902bbfd0..bde3ebe402 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -46,14 +46,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.8-4")
+ (version "6.9.8-6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
- "04fb0x8zc9z11127wsnxlzg0jcgs4xwlx8fxy4jac2y3mmmlzhm6"))))
+ "1sxg2wx3nrzbymh5wcqiv1x401nrz95xkrqgk3x446vx8lq7ln6w"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 85f2bb975f..e86c904e71 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -840,16 +840,16 @@ IcedTea build harness.")
(license license:gpl2+))))
(define-public icedtea-8
- (let* ((version "3.3.0")
+ (let* ((version "3.4.0")
(drop (lambda (name hash)
(origin
(method url-fetch)
(uri (string-append
- "http://icedtea.classpath.org/download/drops/"
+ "http://icedtea.classpath.org/download/drops"
"/icedtea8/" version "/" name ".tar.xz"))
(sha256 (base32 hash))))))
(package (inherit icedtea-7)
- (version "3.3.0")
+ (version "3.4.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -857,7 +857,7 @@ IcedTea build harness.")
version ".tar.xz"))
(sha256
(base32
- "02vmxa6gc6gizcri1fy797qmmm9y77vgi7gy9pwkk4agcw4zyr5p"))
+ "16if055973y6yw7n5gczp8iksvc31cy4p5by9lkbniadqj4z665m"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -929,31 +929,34 @@ IcedTea build harness.")
`(("jdk" ,icedtea-7 "jdk")
("openjdk-src"
,(drop "openjdk"
- "0889n19w6rvpzxgmmk9hlgzdh9ya95qkc2ajgpnzr3h69g15nz48"))
+ "0va5i3zr8y8ncv914rz914jda9d88gq0viww3smdqnln8n78rszi"))
+ ("aarch32-drop"
+ ,(drop "aarch32"
+ "0cway5a5hcfyh4pzl9zz5xr7lil4gsliy6r5iqbaasd2d9alvqiq"))
("corba-drop"
,(drop "corba"
- "0qcb72hhlsjgp6h9wd048qgyc88b7lfnxyc51xfyav0nhpfjnj8r"))
+ "1l9zr97a3kq00bj4i8wcdsjlz3xlfldxd8zhkcxikinwd5n0n8a7"))
("jaxp-drop"
,(drop "jaxp"
- "1vyc7dw10x5k45jmi348y8min6sg651ns12zzn30fjzhpfi36nds"))
+ "0lqxrsr3xlpwm2na6f2rpl7znrz34dkb9dg3zjmympyjy4kqljn7"))
("jaxws-drop"
,(drop "jaxws"
- "1dki6p39z1ms94cjvj5hd9q75q75g244c0xib82pma3q74jg6hx4"))
+ "1b3chckk10dzrpa7cswmcf1jvryaiwkj8lihfqjr5j7l668jwr4h"))
("jdk-drop"
,(drop "jdk"
- "17czby3nylcglp7l3d90a4pz1izc1sslifv8hrmynm9hn4m9d3k8"))
+ "15lq0k2jv2x26x6vqkbljdcxk35i3b60pcsw3j1sdfmlk1xy6wgc"))
("langtools-drop"
,(drop "langtools"
- "1h4azc21k58g9gn2y686wrvn9ahgac0ii7jhrrrmb5c1kjs0y2qv"))
+ "17xkb8ahkg04ri0bp5wblcp1a2lp8j7c83ic5zdbggvgm339k5s8"))
("hotspot-drop"
,(drop "hotspot"
- "12bfgwhrjfhgj6a2dsysdwhirg0jx88pi44y7s8a1bdan1mp03r8"))
+ "0xpx8ykaq0ki6r0dl3dzca2xgp1p82z8mvsxcs2931ib667ncgcp"))
("nashorn-drop"
,(drop "nashorn"
- "0bg9r16jffc64fhyczn4jpx7bkfw7w62prw65mh66vshqk4lbh0f"))
+ "1bnn4731lhlvg8axy4mjxgvh646yl22hp52wipx8cfca4vkn2f1z"))
("shenandoah-drop"
,(drop "shenandoah"
- "0abjlsvz669i06mlks28wnh11mm55y5613990pn5j7hfbw8a34q5"))
+ "0fpxl8zlii1hpm777r875ys2cr5ih3gb6p1nm9jfa6krjrccrxv1"))
,@(fold alist-delete (package-native-inputs icedtea-7)
'("gcj" "openjdk-src" "corba-drop" "jaxp-drop" "jaxws-drop"
"jdk-drop" "langtools-drop" "hotspot-drop")))))))
@@ -3149,9 +3152,9 @@ C++, or Python actions. ANTLR provides excellent support for tree construction,
tree walking, and translation.")
(license license:public-domain)))
-(define-public stringtemplate3
+(define-public java-stringtemplate-3
(package
- (name "stringtemplate3")
+ (name "java-stringtemplate")
(version "3.2.1")
(source (origin
(method url-fetch)
@@ -3163,21 +3166,30 @@ tree walking, and translation.")
"086yj68np1vqhkj7483diz3km6s6y4gmwqswa7524a0ca6vxn2is"))))
(build-system ant-build-system)
(arguments
- `(#:jar-name "stringtemplate-3.2.1.jar"
- #:tests? #f
+ `(#:jar-name (string-append ,name "-" ,version ".jar")
+ #:test-dir "test"
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (srfi srfi-1))
#:phases
(modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda _
+ (substitute* "build.xml"
+ (("\\$\\{test.home\\}/java")
+ "${test.home}/org"))
+ #t))
(add-before 'build 'generate-grammar
(lambda _
- (let ((dir "src/org/antlr/stringtemplate/language/"))
- (for-each (lambda (file)
- (display file)
- (newline)
- (system* "antlr" "-o" dir (string-append dir file)))
- '("template.g" "angle.bracket.template.g" "action.g"
- "eval.g" "group.g" "interface.g"))))))))
+ (with-directory-excursion "src/org/antlr/stringtemplate/language/"
+ (every (lambda (file)
+ (format #t "~a\n" file)
+ (zero? (system* "antlr" file)))
+ '("template.g" "angle.bracket.template.g" "action.g"
+ "eval.g" "group.g" "interface.g"))))))))
(native-inputs
- `(("antlr" ,antlr2)))
+ `(("antlr" ,antlr2)
+ ("java-junit" ,java-junit)))
(home-page "http://www.stringtemplate.org")
(synopsis "Template engine to generate formatted text output")
(description "StringTemplate is a java template engine (with ports for C#,
@@ -3201,9 +3213,9 @@ StringTemplate also powers ANTLR.")
;; only grammar files with the antlr2 syntax.
;; So we build antlr3.1 -> antlr3.3 -> ST4.0.6 -> antlr3-bootstrap -> ST4 -> antlr3.
-(define-public stringtemplate4
- (package
- (name "stringtemplate4")
+(define-public java-stringtemplate
+ (package (inherit java-stringtemplate-3)
+ (name "java-stringtemplate")
(version "4.0.8")
(source (origin
(method url-fetch)
@@ -3215,36 +3227,36 @@ StringTemplate also powers ANTLR.")
"1pri8hqa95rfdkjy55icl5q1m09zwp5k67ib14abas39s4v3w087"))))
(build-system ant-build-system)
(arguments
- `(#:tests? #f
- #:jar-name (string-append ,name "-" ,version ".jar")
+ `(#:jar-name (string-append ,name "-" ,version ".jar")
+ #:tests? #f ; FIXME: tests fail for unknown reasons
+ #:test-dir "test"
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (srfi srfi-1))
#:phases
(modify-phases %standard-phases
+ (add-before 'check 'fix-test-target
+ (lambda _
+ (substitute* "build.xml"
+ (("\\$\\{test.home\\}/java") "${test.home}/")
+ (("\\*Test.java") "Test*.java"))
+ #t))
(add-before 'build 'generate-grammar
- (lambda* (#:key inputs #:allow-other-keys)
- (chdir "src/org/stringtemplate/v4/compiler/")
- (for-each (lambda (file)
- (display file)
- (newline)
- (system* "antlr3" file))
- '("STParser.g" "Group.g" "CodeGenerator.g"))
- (chdir "../../../../.."))))))
+ (lambda _
+ (with-directory-excursion "src/org/stringtemplate/v4/compiler/"
+ (every (lambda (file)
+ (format #t "~a\n" file)
+ (zero? (system* "antlr3" file)))
+ '("STParser.g" "Group.g" "CodeGenerator.g"))))))))
(inputs
`(("antlr3" ,antlr3-bootstrap)
("antlr2" ,antlr2)
- ("stringtemplate" ,stringtemplate3)))
- (home-page "http://www.stringtemplate.org")
- (synopsis "Template engine to generate formatted text output")
- (description "StringTemplate is a java template engine (with ports for C#,
-Objective-C, JavaScript, Scala) for generating source code, web pages, emails,
-or any other formatted text output. StringTemplate is particularly good at
-code generators, multiple site skins, and internationalization / localization.
-StringTemplate also powers ANTLR.")
- (license license:bsd-3)))
+ ("java-stringtemplate" ,java-stringtemplate-3)
+ ("java-junit" ,java-junit)))))
-(define stringtemplate4-4.0.6
- (package
- (inherit stringtemplate4)
- (name "stringtemplate4")
+(define java-stringtemplate-4.0.6
+ (package (inherit java-stringtemplate)
+ (name "java-stringtemplate")
(version "4.0.6")
(source (origin
(method url-fetch)
@@ -3257,7 +3269,7 @@ StringTemplate also powers ANTLR.")
(inputs
`(("antlr3" ,antlr3-3.3)
("antlr2" ,antlr2)
- ("stringtemplate" ,stringtemplate3)))))
+ ("java-stringtemplate" ,java-stringtemplate-3)))))
(define-public antlr3
(package
@@ -3344,12 +3356,12 @@ import org.antlr.grammar.v3.ANTLRTreePrinter;"))
("antlr3" ,antlr3-bootstrap)))
(inputs
`(("junit" ,java-junit)
- ("stringtemplate" ,stringtemplate3)
- ("stringtemplate4" ,stringtemplate4)))
+ ("stringtemplate" ,java-stringtemplate-3)
+ ("stringtemplate4" ,java-stringtemplate)))
(propagated-inputs
- `(("stringtemplate" ,stringtemplate3)
+ `(("stringtemplate" ,java-stringtemplate-3)
("antlr" ,antlr2)
- ("stringtemplate4" ,stringtemplate4-4.0.6)))
+ ("stringtemplate4" ,java-stringtemplate-4.0.6)))
(home-page "http://www.antlr3.org")
(synopsis "Framework for constructing recognizers, compilers, and translators")
(description "ANTLR, ANother Tool for Language Recognition, (formerly PCCTS)
@@ -3400,7 +3412,7 @@ tree walking, and translation.")
(string-append "#!" (which "sh") "\n"
"java -cp " jar "/antlr3-3.3.jar:"
(string-concatenate
- (find-files (assoc-ref inputs "stringtemplate")
+ (find-files (assoc-ref inputs "java-stringtemplate")
".*\\.jar"))
":"
(string-concatenate
@@ -3450,7 +3462,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))))
(inputs
`(("junit" ,java-junit)))
(propagated-inputs
- `(("stringtemplate" ,stringtemplate3)
+ `(("java-stringtemplate" ,java-stringtemplate-3)
("antlr" ,antlr2)
("antlr3" ,antlr3-3.1)))))
@@ -3522,7 +3534,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;"))))
(inputs
`(("junit" ,java-junit)))
(propagated-inputs
- `(("stringtemplate" ,stringtemplate3)))))
+ `(("stringtemplate" ,java-stringtemplate-3)))))
(define-public java-asm
(package
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index cd2c833e39..bfe6b64ffe 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -354,8 +354,8 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
-(define %linux-libre-version "4.11")
-(define %linux-libre-hash "0j1bzzq9iq5i1zm7gnig8v0clr8wq303kvcdsaifc0r0ggz1mx1n")
+(define %linux-libre-version "4.11.2")
+(define %linux-libre-hash "0vp6hjc7cb6q6bhbg6jcf08r27xbf293cdib2vfng15ygvxpyfij")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@@ -364,14 +364,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.27"
- "1b39zijjkv21kya359y4g88w5ff110v95pvc4wfvc83dvik9hny5"
+ (make-linux-libre "4.9.29"
+ "0yj4gajdzilxnh9lhb2zl0hs654lagdfx8cp7bv2w4q41bnmc3l9"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.67"
- "1nadmrd26llc17ipig7bx7rf2gwns94g86a3ilcvgdk17hq5riss"
+ (make-linux-libre "4.4.69"
+ "14q5lqsfmwyiilbhffr3bwsm6i3z1jv6y09rg8x3faibcg766wny"
%intel-compatible-systems
#:configuration-file kernel-config))
@@ -2864,7 +2864,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "4.10.2")
+ (version "4.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@@ -2872,7 +2872,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "02p63nz78lrr156cmbb759z76cn95hv6mmz7v592lmiq0dkxy2gd"))))
+ "03mzv89f08gdsqv4ima793g44kdavcfyjialf5dr0zd2ab66hyp1"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!)
@@ -3325,14 +3325,14 @@ the default @code{nsswitch} and the experimental @code{umich_ldap}.")
(define-public mcelog
(package
(name "mcelog")
- (version "149")
+ (version "150")
(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
- "08hd8bl9rgss990icb69srarrfwcg8k7py979ak753j92ybbkhdm"))
+ "1skfiracl3a1afmml8mvnccr4rym4ibv33c342rkyxn0j3088h24"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 57d0191b70..64acc75e59 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
-;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
+;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -659,7 +659,7 @@ portable between implementations.")
(sha256
(base32 "0f48pcbhqs3wwwzjl5nk57d4hcbib4l9xblxc66b8c2fhvhmhxnv"))
(file-name (string-append "fiveam-" version ".tar.gz"))))
- (inputs `(("sbcl-alexandria" ,sbcl-alexandria)))
+ (inputs `(("alexandria" ,sbcl-alexandria)))
(build-system asdf-build-system/sbcl)
(synopsis "Common Lisp testing framework")
(description "FiveAM is a simple (as far as writing and running tests
@@ -687,8 +687,8 @@ interactive development model in mind.")
(base32 "10ryrcx832fwqdawb6jmknymi7wpdzhi30qzx7cbrk0cpnka71w2"))
(file-name
(string-append "bordeaux-threads-" version ".tar.gz"))))
- (inputs `(("sbcl-alexandria" ,sbcl-alexandria)))
- (native-inputs `(("tests:cl-fiveam" ,sbcl-fiveam)))
+ (inputs `(("alexandria" ,sbcl-alexandria)))
+ (native-inputs `(("fiveam" ,sbcl-fiveam)))
(build-system asdf-build-system/sbcl)
(synopsis "Portable shared-state concurrency library for Common Lisp")
(description "BORDEAUX-THREADS is a proposed standard for a minimal
@@ -749,7 +749,7 @@ thin compatibility layer for gray streams.")
(base32 "16grnxvs7vqm5s6myf8a5s7vwblzq1kgwj8i7ahz8vwvihm9gzfi"))
(file-name (string-append "flexi-streams-" version ".tar.gz"))))
(build-system asdf-build-system/sbcl)
- (inputs `(("sbcl-trivial-gray-streams" ,sbcl-trivial-gray-streams)))
+ (inputs `(("trivial-gray-streams" ,sbcl-trivial-gray-streams)))
(synopsis "Implementation of virtual bivalent streams for Common Lisp")
(description "Flexi-streams is an implementation of \"virtual\" bivalent
streams that can be layered atop real binary or bivalent streams and that can
@@ -779,7 +779,7 @@ streams which are similar to string streams.")
(base32 "1i7daxf0wnydb0pgwiym7qh2wy70n14lxd6dyv28sy0naa8p31gd"))
(file-name (string-append "cl-ppcre-" version ".tar.gz"))))
(build-system asdf-build-system/sbcl)
- (native-inputs `(("tests:cl-flexi-streams" ,sbcl-flexi-streams)))
+ (native-inputs `(("flexi-streams" ,sbcl-flexi-streams)))
(synopsis "Portable regular expression library for Common Lisp")
(description "CL-PPCRE is a portable regular expression library for Common
Lisp, which is compatible with perl. It is pretty fast, thread-safe, and
@@ -793,6 +793,51 @@ compatible with ANSI-compliant Common Lisp implementations.")
(define-public ecl-cl-ppcre
(sbcl-package->ecl-package sbcl-cl-ppcre))
+(define sbcl-cl-unicode-base
+ (let ((revision "1")
+ (commit "9fcd06fba1ddc9e66aed2f2d6c32dc9b764f03ea"))
+ (package
+ (name "sbcl-cl-unicode-base")
+ (version (string-append "0.1.5-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/edicl/cl-unicode.git")
+ (commit commit)))
+ (file-name (string-append "cl-unicode-" version "-checkout"))
+ (sha256
+ (base32
+ "1jicprb5b3bv57dy1kg03572gxkcaqdjhak00426s76g0plmx5ki"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-unicode.asd"
+ #:asd-system-name "cl-unicode/base"))
+ (inputs
+ `(("cl-ppcre" ,sbcl-cl-ppcre)))
+ (home-page "http://weitz.de/cl-unicode/")
+ (synopsis "Portable Unicode library for Common Lisp")
+ (description "CL-UNICODE is a portable Unicode library Common Lisp, which
+is compatible with perl. It is pretty fast, thread-safe, and compatible with
+ANSI-compliant Common Lisp implementations.")
+ (license license:bsd-2))))
+
+(define-public sbcl-cl-unicode
+ (package
+ (inherit sbcl-cl-unicode-base)
+ (name "sbcl-cl-unicode")
+ (inputs
+ `(("cl-unicode/base" ,sbcl-cl-unicode-base)
+ ,@(package-inputs sbcl-cl-unicode-base)))
+ (native-inputs
+ `(("flexi-streams" ,sbcl-flexi-streams)))
+ (arguments '())))
+
+(define-public ecl-cl-unicode
+ (sbcl-package->ecl-package sbcl-cl-unicode))
+
+(define-public cl-unicode
+ (sbcl-package->cl-source-package sbcl-cl-unicode))
+
(define-public sbcl-clx
(let ((revision "1")
(commit "1c62774b03c1cf3fe6e5cb532df8b14b44c96b95"))
@@ -822,8 +867,6 @@ compatible with ANSI-compliant Common Lisp implementations.")
(substitute* "clx.asd"
(("\\(:file \"trapezoid\"\\)") ""))))))
(build-system asdf-build-system/sbcl)
- (arguments
- '(#:special-dependencies '("sb-bsd-sockets")))
(home-page "http://www.cliki.net/portable-clx")
(synopsis "X11 client library for Common Lisp")
(description "CLX is an X11 client library for Common Lisp. The code was
@@ -851,31 +894,27 @@ from other CLXes around the net.")
(base32 "1maxp98gh64az3d9vz9br6zdd6rc9fmj2imvax4by85g6kxvdz1i"))
(file-name (string-append "stumpwm-" version ".tar.gz"))))
(build-system asdf-build-system/sbcl)
- (inputs `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
- ("sbcl-clx" ,sbcl-clx)))
- (outputs '("out" "bin"))
+ (inputs `(("cl-ppcre" ,sbcl-cl-ppcre)
+ ("clx" ,sbcl-clx)))
+ (outputs '("out" "lib"))
(arguments
- '(#:special-dependencies '("sb-posix")
- #:phases
+ '(#:phases
(modify-phases %standard-phases
(add-after 'create-symlinks 'build-program
- (lambda* (#:key lisp outputs inputs #:allow-other-keys)
+ (lambda* (#:key outputs #:allow-other-keys)
(build-program
- lisp
- (string-append (assoc-ref outputs "bin") "/bin/stumpwm")
- #:inputs inputs
+ (string-append (assoc-ref outputs "out") "/bin/stumpwm")
+ outputs
#:entry-program '((stumpwm:stumpwm) 0))))
(add-after 'build-program 'create-desktop-file
- (lambda* (#:key outputs lisp binary? #:allow-other-keys)
- (let ((output (or (assoc-ref outputs "bin")
- (assoc-ref outputs "out")))
- (xsessions "/share/xsessions"))
- (mkdir-p (string-append output xsessions))
- (with-output-to-file
- (string-append output xsessions
- "/stumpwm.desktop")
- (lambda _
- (format #t
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (xsessions (string-append out "/share/xsessions")))
+ (mkdir-p xsessions)
+ (call-with-output-file
+ (string-append xsessions "/stumpwm.desktop")
+ (lambda (file)
+ (format file
"[Desktop Entry]~@
Name=stumpwm~@
Comment=The Stump Window Manager~@
@@ -883,7 +922,7 @@ from other CLXes around the net.")
TryExec=~@*~a/bin/stumpwm~@
Icon=~@
Type=Application~%"
- output)))
+ out)))
#t))))))
(synopsis "Window manager written in Common Lisp")
(description "Stumpwm is a window manager written entirely in Common Lisp.
@@ -904,11 +943,15 @@ productive, customizable lisp based systems.")
(outputs '("out"))
(arguments '()))))
+;; The slynk that users expect to install includes all of slynk's contrib
+;; modules. Therefore, we build the base module and all contribs first; then
+;; we expose the union of these as `sbcl-slynk'. The following variable
+;; describes the base module.
(define sbcl-slynk-boot0
(let ((revision "1")
(commit "5706cd45d484a4f25795abe8e643509d31968aa2"))
(package
- (name "sbcl-slynk")
+ (name "sbcl-slynk-boot0")
(version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
(source
(origin
@@ -948,19 +991,22 @@ productive, customizable lisp based systems.")
(scandir "slynk"))))))
(build-system asdf-build-system/sbcl)
(arguments
- `(#:tests? #f)) ; No test suite
+ `(#:tests? #f ; No test suite
+ #:asd-system-name "slynk"))
(synopsis "Common Lisp IDE for Emacs")
- (description "SLY is a fork of SLIME. It also features a completely
-redesigned REPL based on Emacs's own full-featured comint.el, live code
-annotations, and a consistent interactive button interface. Everything can be
-copied to the REPL. One can create multiple inspectors with independent
-history.")
+ (description "SLY is a fork of SLIME, an IDE backend for Common Lisp.
+It also features a completely redesigned REPL based on Emacs's own
+full-featured comint.el, live code annotations, and a consistent interactive
+button interface. Everything can be copied to the REPL. One can create
+multiple inspectors with independent history.")
(home-page "https://github.com/joaotavora/sly")
(license license:public-domain)
(properties `((cl-source-variant . ,(delay cl-slynk)))))))
(define-public cl-slynk
- (sbcl-package->cl-source-package sbcl-slynk-boot0))
+ (package
+ (inherit (sbcl-package->cl-source-package sbcl-slynk-boot0))
+ (name "cl-slynk")))
(define ecl-slynk-boot0
(sbcl-package->ecl-package sbcl-slynk-boot0))
@@ -969,10 +1015,11 @@ history.")
(package
(inherit sbcl-slynk-boot0)
(name "sbcl-slynk-arglists")
- (inputs `(("sbcl-slynk" ,sbcl-slynk-boot0)))
+ (inputs `(("slynk" ,sbcl-slynk-boot0)))
(arguments
- `(#:asd-file "slynk.asd"
- ,@(package-arguments sbcl-slynk-boot0)))))
+ (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
+ ((#:asd-file _ "") "slynk.asd")
+ ((#:asd-system-name _ #f) #f)))))
(define ecl-slynk-arglists
(sbcl-package->ecl-package sbcl-slynk-arglists))
@@ -989,7 +1036,7 @@ history.")
(package
(inherit sbcl-slynk-arglists)
(name "sbcl-slynk-fancy-inspector")
- (inputs `(("sbcl-slynk-util" ,sbcl-slynk-util)
+ (inputs `(("slynk-util" ,sbcl-slynk-util)
,@(package-inputs sbcl-slynk-arglists)))))
(define ecl-slynk-fancy-inspector
@@ -1067,6 +1114,7 @@ history.")
(define-public sbcl-slynk
(package
(inherit sbcl-slynk-boot0)
+ (name "sbcl-slynk")
(inputs
`(("slynk" ,sbcl-slynk-boot0)
("slynk-util" ,sbcl-slynk-util)
@@ -1104,12 +1152,15 @@ history.")
(prepend-to-source-registry
(string-append (assoc-ref %outputs "out") "//"))
- (build-image "sbcl"
- (string-append
- (assoc-ref %outputs "image")
- "/bin/slynk")
- #:inputs %build-inputs
- #:dependencies ',slynk-systems))))))
+
+ (parameterize ((%lisp-type "sbcl")
+ (%lisp (string-append (assoc-ref %build-inputs "sbcl")
+ "/bin/sbcl")))
+ (build-image (string-append
+ (assoc-ref %outputs "image")
+ "/bin/slynk")
+ %outputs
+ #:dependencies ',slynk-systems)))))))
(define-public ecl-slynk
(package
@@ -1138,28 +1189,30 @@ history.")
(inherit sbcl-stumpwm)
(name "sbcl-stumpwm-with-slynk")
(outputs '("out"))
- (native-inputs
- `(("stumpwm" ,sbcl-stumpwm)
+ (inputs
+ `(("stumpwm" ,sbcl-stumpwm "lib")
("slynk" ,sbcl-slynk)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-stumpwm)
((#:phases phases)
`(modify-phases ,phases
(replace 'build-program
- (lambda* (#:key lisp inputs outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(program (string-append out "/bin/stumpwm")))
- (build-program lisp program
- #:inputs inputs
+ (build-program program outputs
#:entry-program '((stumpwm:stumpwm) 0)
#:dependencies '("stumpwm"
- ,@slynk-systems))
+ ,@slynk-systems)
+ #:dependency-prefixes
+ (map (lambda (input) (assoc-ref inputs input))
+ '("stumpwm" "slynk")))
;; Remove unneeded file.
(delete-file (string-append out "/bin/stumpwm-exec.fasl"))
#t)))
(delete 'copy-source)
(delete 'build)
(delete 'check)
- (delete 'link-dependencies)
+ (delete 'create-asd-file)
(delete 'cleanup)
(delete 'create-symlinks)))))))
diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm
index 2523d65f61..7501f1e5db 100644
--- a/gnu/packages/logging.scm
+++ b/gnu/packages/logging.scm
@@ -109,6 +109,21 @@ command line.")
`(("python-pyyaml" ,python-pyyaml)
("python-sockjs-tornado" ,python-sockjs-tornado)
("python-tornado" ,python-tornado)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-commands.py
+ (lambda args
+ (substitute* "tailon/commands.py"
+ (("self\\.first_in_path\\('grep'\\)")
+ (string-append"'" (which "grep") "'"))
+ (("self\\.first_in_path\\('gawk', 'awk'\\)")
+ (string-append"'" (which "gawk") "'"))
+ (("self\\.first_in_path\\('gsed', 'sed'\\)")
+ (string-append"'" (which "sed") "'"))
+ (("self\\.first_in_path\\('gtail', 'tail'\\)")
+ (string-append"'" (which "tail") "'")))
+ #t)))))
(home-page "https://tailon.readthedocs.io/")
(synopsis
"Webapp for looking at and searching through log files")
diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm
index 3cdc542157..bae12439f1 100644
--- a/gnu/packages/mc.scm
+++ b/gnu/packages/mc.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,7 +30,8 @@
#:use-module (gnu packages ssh)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages check)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages zip))
(define-public mc
(package
@@ -51,7 +52,8 @@
("ncurses" ,ncurses)
("libssh2" ,libssh2)
("glib" ,glib)
- ("check" ,check)))
+ ("check" ,check)
+ ("unzip" ,unzip)))
(arguments
`(#:configure-flags
'("--with-screen=ncurses" "--enable-aspell")
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 84d6f8ff78..1e233a852d 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -54,30 +54,35 @@ extensive examples, including parsers for the Javascript and C99 languages.")
(license (list gpl3+ lgpl3+))))
(define-public mes
- (let ((commit "a437c173b9da1949ad966fd50dd4f26e522a910a")
+ (let ((commit "d4420bbcc9f994e2cce430cf156f383dc4092bca")
(revision "0")
- (triplet "i686-unknown-linux-gnu"))
+ (triplet "i686-unknown-linux-gnu")
+ (version "0.6"))
(package
(name "mes")
- (version (string-append "0.5-" revision "." (string-take commit 7)))
+ (version (string-append version "-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/janneke/mes")
(commit commit)))
(file-name (string-append name "-" version))
- ;; TODO: Unbundle nyacc.
(sha256
- (base32 "1ynr0hc0k15307sgzv09k3y5rvy46h0wbh7zcblx1f9v7y8k90zv"))))
+ (base32 "0qqywk3siyhf08v7xac08lqldklrqfndlp495wgy6ii9fn93197k"))))
(build-system gnu-build-system)
- (supported-systems '("x86_64-linux"))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (propagated-inputs
+ `(("nyacc" ,nyacc)))
(native-inputs
`(("guile" ,guile-2.2)
- ;; Use cross-compiler rather than #:system "i686-linux" to get
- ;; MesCC 64 bit .go files installed ready for use with Guile.
- ("i686-linux-binutils" ,(cross-binutils triplet))
- ("i686-linux-gcc" ,(let ((triplet triplet)) (cross-gcc triplet)))
- ("perl" ,perl))) ;build-aux/gitlog-to-changelog
+ ,@(if (string-prefix? "x86_64-linux" (or (%current-target-system)
+ (%current-system)))
+ ;; Use cross-compiler rather than #:system "i686-linux" to get
+ ;; MesCC 64 bit .go files installed ready for use with Guile.
+ `(("i686-linux-binutils" ,(cross-binutils triplet))
+ ("i686-linux-gcc" ,(cross-gcc triplet)))
+ '())
+ ("perl" ,perl))) ;build-aux/gitlog-to-changelog
(arguments
`(#:phases
(modify-phases %standard-phases
diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm
index f0344d7481..61ff3ced06 100644
--- a/gnu/packages/nano.scm
+++ b/gnu/packages/nano.scm
@@ -29,7 +29,7 @@
(define-public nano
(package
(name "nano")
- (version "2.8.2")
+ (version "2.8.4")
(source
(origin
(method url-fetch)
@@ -37,7 +37,7 @@
version ".tar.xz"))
(sha256
(base32
- "1q5rxkvsv974085xrd2k11ffazadabcb9cnpfra0shmj71xqlgh2"))))
+ "04bvmimrw40cbcnm3xm5l5lir0qy7cncfkmwrlzg8jiy1x7jdky7"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 246d2539d6..12e1f9e6c0 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -52,6 +52,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages ssh)
#:use-module (gnu packages vim)
+ #:use-module (srfi srfi-1)
#:use-module (ice-9 match))
(define (boot-guile-uri arch)
@@ -265,6 +266,18 @@ the Nix package manager.")
;; Alias for backward compatibility.
(define-public guix-devel guix)
+(define-public guile2.0-guix
+ (package
+ (inherit guix)
+ (name "guile2.0-guix")
+ (inputs
+ `(("guile" ,guile-2.0)
+ ,@(alist-delete "guile" (package-inputs guix))))
+ (propagated-inputs
+ `(("gnutls" ,gnutls)
+ ("guile-json" ,guile2.0-json)
+ ("guile-ssh" ,guile2.0-ssh)))))
+
(define (source-file? file stat)
"Return true if FILE is likely a source file, false if it is a typical
generated file."
diff --git a/gnu/packages/patches/calibre-dont-load-remote-icons.patch b/gnu/packages/patches/calibre-dont-load-remote-icons.patch
new file mode 100644
index 0000000000..2168263072
--- /dev/null
+++ b/gnu/packages/patches/calibre-dont-load-remote-icons.patch
@@ -0,0 +1,45 @@
+From: Martin Pitt <mpitt@debian.org>
+Date: Mon, 14 Nov 2016 22:41:24 +0100
+Subject: content-server: Don't load external URLs for privacy
+
+Spotted by lintian.
+---
+ resources/content_server/browse/browse.html | 4 +---
+ resources/content_server/index.html | 2 +-
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/resources/content_server/browse/browse.html b/resources/content_server/browse/browse.html
+index 36f7199..e615707 100644
+--- a/resources/content_server/browse/browse.html
++++ b/resources/content_server/browse/browse.html
+@@ -7,7 +7,7 @@
+ <title>..:: calibre {library} ::.. {title}</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=100" />
+ <meta name="robots" content="noindex" />
+- <link rel="icon" type="image/x-icon" href="//calibre-ebook.com/favicon.ico" />
++ <link rel="icon" type="image/x-icon" href="favicon.ico" />
+
+ <link rel="stylesheet" type="text/css" href="{prefix}/static/browse/browse.css" />
+ <link type="text/css" href="{prefix}/static/jquery_ui/css/humanity-custom/jquery-ui-1.8.5.custom.css" rel="stylesheet" />
+@@ -63,8 +63,6 @@
+ <input type="image"
+ src="{prefix}/static/button-donate.png"
+ name="submit"></input>
+- <img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif"
+- width="1" height="1"></img>
+ </div>
+ </form>
+ <div id="calibre-home-link" title="Go to the calibre website"></div>
+diff --git a/resources/content_server/index.html b/resources/content_server/index.html
+index 51cc33a..e71d0e8 100644
+--- a/resources/content_server/index.html
++++ b/resources/content_server/index.html
+@@ -9,7 +9,7 @@
+ <script type="text/javascript" src="{prefix}/static/date.js" charset="utf-8"></script>
+ <script type="text/javascript" src="{prefix}/static/jquery.js" charset="utf-8"></script>
+ <script type="text/javascript" src="{prefix}/static/gui.js" charset="utf-8"></script>
+- <link rel="icon" href="//calibre-ebook.com/favicon.ico" type="image/x-icon" />
++ <link rel="icon" href="favicon.ico" type="image/x-icon" />
+ </head>
+ <body>
+ <div id="banner">
diff --git a/gnu/packages/patches/calibre-drop-unrar.patch b/gnu/packages/patches/calibre-drop-unrar.patch
index 4eb64404f6..adf977b183 100644
--- a/gnu/packages/patches/calibre-drop-unrar.patch
+++ b/gnu/packages/patches/calibre-drop-unrar.patch
@@ -1,15 +1,20 @@
-Taken from Debian. Updated by Alex Griffin.
+Recreated old debian patch on the latest calibre version
-Author: Dmitry Shachnev <mitya57@gmail.com>
-Description: do not build unrar extension as we strip unrar from the tarball
-Forwarded: not-needed
-Last-Update: 2013-04-04
+From 6764e4c211e50d4f4633dbabfba7cbc3089c51dc Mon Sep 17 00:00:00 2001
+From: Brendan Tildesley <brendan.tildesley@openmailbox.org>
+Date: Sat, 13 May 2017 21:12:12 +1000
+Subject: [PATCH] Remove unrar extension
-Index: calibre/setup/extensions.py
-===================================================================
---- calibre.orig/setup/extensions.json 2016-07-21 21:21:05.000000000 -0500
-+++ calibre/setup/extensions.json 2016-07-27 11:22:17.167710112 -0500
-@@ -211,14 +211,5 @@
+---
+ setup/extensions.json | 11 -----------
+ src/calibre/ebooks/metadata/archive.py | 2 +-
+ 2 files changed, 1 insertion(+), 12 deletions(-)
+
+diff --git a/setup/extensions.json b/setup/extensions.json
+index 1f6d1fb5fd..127390450f 100644
+--- a/setup/extensions.json
++++ b/setup/extensions.json
+@@ -211,16 +211,5 @@
"sources": "calibre/devices/mtp/unix/devices.c calibre/devices/mtp/unix/libmtp.c",
"headers": "calibre/devices/mtp/unix/devices.h calibre/devices/mtp/unix/upstream/music-players.h calibre/devices/mtp/unix/upstream/device-flags.h",
"libraries": "mtp"
@@ -20,22 +25,25 @@ Index: calibre/setup/extensions.py
- "inc_dirs": "unrar",
- "defines": "SILENT RARDLL UNRAR _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE",
- "windows_defines": "SILENT RARDLL UNRAR",
+- "haiku_defines": "LITTLE_ENDIAN SILENT RARDLL UNRAR _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE _BSD_SOURCE",
+- "haiku_libraries": "bsd",
- "optimize_level": 2,
- "windows_libraries": "User32 Advapi32 kernel32 Shell32"
}
]
-
-
-Index: calibre/src/calibre/ebooks/metadata/archive.py
-===================================================================
---- calibre.orig/src/calibre/ebooks/metadata/archive.py 2016-07-21 21:21:05.000000000 -0500
-+++ calibre/src/calibre/ebooks/metadata/archive.py 2016-07-27 11:21:07.793616039 -0500
-@@ -42,7 +42,7 @@
- description = _('Extract common e-book formats from archives '
- '(zip/rar) files. Also try to autodetect if they are actually '
- 'cbz/cbr files.')
+diff --git a/src/calibre/ebooks/metadata/archive.py b/src/calibre/ebooks/metadata/archive.py
+index f5c0b7bed3..32257dcdae 100644
+--- a/src/calibre/ebooks/metadata/archive.py
++++ b/src/calibre/ebooks/metadata/archive.py
+@@ -44,7 +44,7 @@ class ArchiveExtract(FileTypePlugin):
+ description = _('Extract common e-book formats from archive files '
+ '(ZIP/RAR). Also try to autodetect if they are actually '
+ 'CBZ/CBR files.')
- file_types = set(['zip', 'rar'])
+ file_types = set(['zip'])
supported_platforms = ['windows', 'osx', 'linux']
on_import = True
+--
+2.12.2
+
diff --git a/gnu/packages/patches/calibre-use-packaged-feedparser.patch b/gnu/packages/patches/calibre-use-packaged-feedparser.patch
new file mode 100644
index 0000000000..8f4bbc8248
--- /dev/null
+++ b/gnu/packages/patches/calibre-use-packaged-feedparser.patch
@@ -0,0 +1,51 @@
+From: Martin Pitt <mpitt@debian.org>
+Date: Mon, 14 Nov 2016 22:41:23 +0100
+Subject: Use packaged instead of bundled feedparser Python module
+
+---
+ recipes/lenta_ru.recipe | 4 +++-
+ src/calibre/web/feeds/__init__.py | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/recipes/lenta_ru.recipe b/recipes/lenta_ru.recipe
+index aa4dac4..4b6710c 100644
+--- a/recipes/lenta_ru.recipe
++++ b/recipes/lenta_ru.recipe
+@@ -4,11 +4,13 @@
+ Lenta.ru
+ '''
+
+-from calibre.web.feeds.feedparser import parse
+ from calibre.ebooks.BeautifulSoup import Tag
+ from calibre.web.feeds.news import BasicNewsRecipe
++from feedparser import parse
++from functools import partial
+ import re
+
++parse = partial(parse, agent='Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11')
+
+ class LentaRURecipe(BasicNewsRecipe):
+ title = u'Lenta.ru: \u041d\u043e\u0432\u043e\u0441\u0442\u0438'
+diff --git a/src/calibre/web/feeds/__init__.py b/src/calibre/web/feeds/__init__.py
+index 8c9d748..f262604 100644
+--- a/src/calibre/web/feeds/__init__.py
++++ b/src/calibre/web/feeds/__init__.py
+@@ -11,7 +11,10 @@ from calibre.utils.logging import default_log
+ from calibre import entity_to_unicode, strftime, force_unicode
+ from calibre.utils.date import dt_factory, utcnow, local_tz
+ from calibre.utils.cleantext import clean_ascii_chars, clean_xml_chars
++from feedparser import parse
++from functools import partial
+
++parse = partial(parse, agent='Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.11) Gecko/20101012 Firefox/3.6.11')
+
+ class Article(object):
+
+@@ -334,7 +337,6 @@ def feed_from_xml(raw_xml, title=None, oldest_article=7,
+ max_articles_per_feed=100,
+ get_article_url=lambda item: item.get('link', None),
+ log=default_log):
+- from calibre.web.feeds.feedparser import parse
+ # Handle unclosed escaped entities. They trip up feedparser and HBR for one
+ # generates them
+ raw_xml = re.sub(r'(&amp;#\d+)([^0-9;])', r'\1;\2', raw_xml)
diff --git a/gnu/packages/patches/gspell-dash-test.patch b/gnu/packages/patches/gspell-dash-test.patch
new file mode 100644
index 0000000000..e737921c4b
--- /dev/null
+++ b/gnu/packages/patches/gspell-dash-test.patch
@@ -0,0 +1,16 @@
+Somehow, Aspell 0.60.6.1 and aspell-dict-en-2016.11.20-0 don't consider
+this a valid spelling. Skip it.
+
+--- gspell-1.3.2/testsuite/test-checker.c 2017-05-17 16:02:40.832415940 +0200
++++ gspell-1.3.2/testsuite/test-checker.c 2017-05-17 16:02:50.768351895 +0200
+@@ -101,9 +101,6 @@ test_dashes (void)
+
+ checker = gspell_checker_new (lang);
+
+- correctly_spelled = gspell_checker_check_word (checker, "spell-checking", -1, &error);
+- g_assert_no_error (error);
+- g_assert (correctly_spelled);
+
+ correctly_spelled = gspell_checker_check_word (checker, "nrst-auie", -1, &error);
+ g_assert_no_error (error);
+
diff --git a/gnu/packages/patches/jbig2dec-CVE-2017-7885.patch b/gnu/packages/patches/jbig2dec-CVE-2017-7885.patch
new file mode 100644
index 0000000000..a598392765
--- /dev/null
+++ b/gnu/packages/patches/jbig2dec-CVE-2017-7885.patch
@@ -0,0 +1,38 @@
+Fix CVE-2017-7885:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7885
+https://bugs.ghostscript.com/show_bug.cgi?id=697703
+
+Patch copied from upstream source repository:
+
+https://git.ghostscript.com/?p=jbig2dec.git;a=commit;h=258290340bb657c9efb44457f717b0d8b49f4aa3
+
+From 258290340bb657c9efb44457f717b0d8b49f4aa3 Mon Sep 17 00:00:00 2001
+From: Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+Date: Wed, 3 May 2017 22:06:01 +0100
+Subject: [PATCH] Bug 697703: Prevent integer overflow vulnerability.
+
+Add extra check for the offset being greater than the size
+of the image and hence reading off the end of the buffer.
+
+Thank you to Dai Ge for finding this issue and suggesting a patch.
+---
+ jbig2_symbol_dict.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jbig2_symbol_dict.c b/jbig2_symbol_dict.c
+index 4acaba9..36225cb 100644
+--- a/jbig2_symbol_dict.c
++++ b/jbig2_symbol_dict.c
+@@ -629,7 +629,7 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
+ byte *dst = image->data;
+
+ /* SumatraPDF: prevent read access violation */
+- if (size - jbig2_huffman_offset(hs) < image->height * stride) {
++ if ((size - jbig2_huffman_offset(hs) < image->height * stride) || (size < jbig2_huffman_offset(hs))) {
+ jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, "not enough data for decoding (%d/%d)", image->height * stride,
+ size - jbig2_huffman_offset(hs));
+ jbig2_image_release(ctx, image);
+--
+2.13.0
+
diff --git a/gnu/packages/patches/jbig2dec-CVE-2017-7975.patch b/gnu/packages/patches/jbig2dec-CVE-2017-7975.patch
new file mode 100644
index 0000000000..c83fe9d9f2
--- /dev/null
+++ b/gnu/packages/patches/jbig2dec-CVE-2017-7975.patch
@@ -0,0 +1,40 @@
+Fix CVE-2017-7975:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7975
+https://bugs.ghostscript.com/show_bug.cgi?id=697693
+
+Patch copied from upstream source repository:
+
+https://git.ghostscript.com/?p=jbig2dec.git;a=commit;h=f8992b8fe65c170c8624226f127c5c4bfed42c66
+
+From f8992b8fe65c170c8624226f127c5c4bfed42c66 Mon Sep 17 00:00:00 2001
+From: Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+Date: Wed, 26 Apr 2017 22:12:14 +0100
+Subject: [PATCH] Bug 697693: Prevent SEGV due to integer overflow.
+
+While building a Huffman table, the start and end points were susceptible
+to integer overflow.
+
+Thank you to Jiaqi for finding this issue and suggesting a patch.
+---
+ jbig2_huffman.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/jbig2_huffman.c b/jbig2_huffman.c
+index 511e461..b4189a1 100644
+--- a/jbig2_huffman.c
++++ b/jbig2_huffman.c
+@@ -421,8 +421,8 @@ jbig2_build_huffman_table(Jbig2Ctx *ctx, const Jbig2HuffmanParams *params)
+
+ if (PREFLEN == CURLEN) {
+ int RANGELEN = lines[CURTEMP].RANGELEN;
+- int start_j = CURCODE << shift;
+- int end_j = (CURCODE + 1) << shift;
++ uint32_t start_j = CURCODE << shift;
++ uint32_t end_j = (CURCODE + 1) << shift;
+ byte eflags = 0;
+
+ if (end_j > max_j) {
+--
+2.13.0
+
diff --git a/gnu/packages/patches/jbig2dec-CVE-2017-7976.patch b/gnu/packages/patches/jbig2dec-CVE-2017-7976.patch
new file mode 100644
index 0000000000..2fe02358b8
--- /dev/null
+++ b/gnu/packages/patches/jbig2dec-CVE-2017-7976.patch
@@ -0,0 +1,122 @@
+Fix CVE-2017-7976:
+
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-7976
+https://bugs.ghostscript.com/show_bug.cgi?id=697683
+
+In order to make the bug-fix patch apply, we also include an earlier commit
+that it depends on.
+
+Patches copied from upstream source repository:
+
+Earlier commit, creating context for the CVE fix:
+https://git.ghostscript.com/?p=jbig2dec.git;a=commit;h=9d2c4f3bdb0bd003deae788e7187c0f86e624544
+
+CVE-2017-7976 bug fix:
+https://git.ghostscript.com/?p=jbig2dec.git;a=commit;h=cfa054925de49675ac5445515ebf036fa9379ac6
+
+From 9d2c4f3bdb0bd003deae788e7187c0f86e624544 Mon Sep 17 00:00:00 2001
+From: Tor Andersson <tor.andersson@artifex.com>
+Date: Wed, 14 Dec 2016 15:56:31 +0100
+Subject: [PATCH] Fix warnings: remove unsigned < 0 tests that are always
+ false.
+
+---
+ jbig2_image.c | 2 +-
+ jbig2_mmr.c | 2 +-
+ jbig2_symbol_dict.c | 9 ++-------
+ 3 files changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/jbig2_image.c b/jbig2_image.c
+index 94e5a4c..00f966b 100644
+--- a/jbig2_image.c
++++ b/jbig2_image.c
+@@ -256,7 +256,7 @@ jbig2_image_compose(Jbig2Ctx *ctx, Jbig2Image *dst, Jbig2Image *src, int x, int
+ /* general OR case */
+ s = ss;
+ d = dd = dst->data + y * dst->stride + leftbyte;
+- if (d < dst->data || leftbyte > dst->stride || h * dst->stride < 0 || d - leftbyte + h * dst->stride > dst->data + dst->height * dst->stride) {
++ if (d < dst->data || leftbyte > dst->stride || d - leftbyte + h * dst->stride > dst->data + dst->height * dst->stride) {
+ return jbig2_error(ctx, JBIG2_SEVERITY_FATAL, -1, "preventing heap overflow in jbig2_image_compose");
+ }
+ if (leftbyte == rightbyte) {
+diff --git a/jbig2_mmr.c b/jbig2_mmr.c
+index 390e27c..da54934 100644
+--- a/jbig2_mmr.c
++++ b/jbig2_mmr.c
+@@ -977,7 +977,7 @@ jbig2_decode_mmr_line(Jbig2MmrCtx *mmr, const byte *ref, byte *dst)
+ if (b1 < 2)
+ break;
+ if (c) {
+- if (b1 - 2 < a0 || a0 < 0)
++ if (a0 == MINUS1 || b1 - 2 < a0)
+ return -1;
+ jbig2_set_bits(dst, a0, b1 - 2);
+ }
+diff --git a/jbig2_symbol_dict.c b/jbig2_symbol_dict.c
+index 11a2252..4acaba9 100644
+--- a/jbig2_symbol_dict.c
++++ b/jbig2_symbol_dict.c
+@@ -92,11 +92,6 @@ jbig2_sd_new(Jbig2Ctx *ctx, uint32_t n_symbols)
+ {
+ Jbig2SymbolDict *new_dict = NULL;
+
+- if (n_symbols < 0) {
+- jbig2_error(ctx, JBIG2_SEVERITY_FATAL, -1, "Negative number of symbols in symbol dict: %d", n_symbols);
+- return NULL;
+- }
+-
+ new_dict = jbig2_new(ctx, Jbig2SymbolDict, 1);
+ if (new_dict != NULL) {
+ new_dict->glyphs = jbig2_new(ctx, Jbig2Image *, n_symbols);
+@@ -613,7 +608,7 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
+ uint32_t j;
+ int x;
+
+- if (code || (BMSIZE < 0)) {
++ if (code) {
+ jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, "error decoding size of collective bitmap!");
+ goto cleanup4;
+ }
+@@ -716,7 +711,7 @@ jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
+ code = jbig2_arith_int_decode(IAEX, as, (int32_t *)&exrunlength);
+ /* prevent infinite loop */
+ zerolength = exrunlength > 0 ? 0 : zerolength + 1;
+- if (code || (exrunlength > limit - i) || (exrunlength < 0) || (zerolength > 4) || (exflag && (exrunlength + j > params->SDNUMEXSYMS))) {
++ if (code || (exrunlength > limit - i) || (zerolength > 4) || (exflag && (exrunlength + j > params->SDNUMEXSYMS))) {
+ if (code)
+ jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, "failed to decode exrunlength for exported symbols");
+ else if (exrunlength <= 0)
+--
+2.13.0
+
+From cfa054925de49675ac5445515ebf036fa9379ac6 Mon Sep 17 00:00:00 2001
+From: Shailesh Mistry <shailesh.mistry@hotmail.co.uk>
+Date: Wed, 10 May 2017 17:50:39 +0100
+Subject: [PATCH] Bug 697683: Bounds check before reading from image source
+ data.
+
+Add extra check to prevent reading off the end of the image source
+data buffer.
+
+Thank you to Dai Ge for finding this issue and suggesting a patch.
+---
+ jbig2_image.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/jbig2_image.c b/jbig2_image.c
+index 661d0a5..ae161b9 100644
+--- a/jbig2_image.c
++++ b/jbig2_image.c
+@@ -263,7 +263,8 @@ jbig2_image_compose(Jbig2Ctx *ctx, Jbig2Image *dst, Jbig2Image *src, int x, int
+ /* general OR case */
+ s = ss;
+ d = dd = dst->data + y * dst->stride + leftbyte;
+- if (d < dst->data || leftbyte > dst->stride || d - leftbyte + h * dst->stride > dst->data + dst->height * dst->stride) {
++ if (d < dst->data || leftbyte > dst->stride || d - leftbyte + h * dst->stride > dst->data + dst->height * dst->stride ||
++ s - leftbyte + (h - 1) * src->stride + rightbyte > src->data + src->height * src->stride) {
+ return jbig2_error(ctx, JBIG2_SEVERITY_FATAL, -1, "preventing heap overflow in jbig2_image_compose");
+ }
+ if (leftbyte == rightbyte) {
+--
+2.13.0
+
diff --git a/gnu/packages/patches/qtscript-disable-tests.patch b/gnu/packages/patches/qtscript-disable-tests.patch
new file mode 100644
index 0000000000..41a017d864
--- /dev/null
+++ b/gnu/packages/patches/qtscript-disable-tests.patch
@@ -0,0 +1,64 @@
+In all of these tests the result wraps around and comes out the negative of the exptected value.
+
+---
+ tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.7-02.js | 2 +-
+ tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-3.js | 5 ++++-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.7-02.js b/tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.7-02.js
+index 43bd923..103f251 100644
+--- a/tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.7-02.js
++++ b/tests/auto/qscriptjstestsuite/tests/ecma/Expressions/11.4.7-02.js
+@@ -74,7 +74,7 @@ test_negation(-1073741823, 1073741823);
+
+ //2147483648 == (1 << 31)
+ test_negation(2147483648, -2147483648);
+-test_negation(-2147483648, 2147483648);
++//test_negation(-2147483648, 2147483648);
+
+ //2147483648 == (1 << 31) - 1
+ test_negation(2147483647, -2147483647);
+diff --git a/tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-3.js b/tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-3.js
+index dc56427..c1a4bf3 100644
+--- a/tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-3.js
++++ b/tests/auto/qscriptjstestsuite/tests/ecma/TypeConversion/9.3.1-3.js
+@@ -86,11 +86,12 @@ new TestCase(
+ // test cases from bug http://scopus.mcom.com/bugsplat/show_bug.cgi?id=122882
+
+
+-
++/*
+ new TestCase( SECTION,
+ '- -"0x80000000"',
+ 2147483648,
+ - -"0x80000000" );
++*/
+
+ new TestCase( SECTION,
+ '- -"0x100000000"',
+@@ -280,10 +281,12 @@ new TestCase( SECTION,
+ 305419896,
+ 0x12345678 );
+
++/*
+ new TestCase( SECTION,
+ "0x80000000",
+ 2147483648,
+ 0x80000000 );
++*/
+
+ new TestCase( SECTION,
+ "0xffffffff",
+@@ -681,10 +681,12 @@ new TestCase( SECTION,
+ NaN,
+ -"+Infiniti" );
+
++/*
+ new TestCase( SECTION,
+ "- -\"0x80000000\"",
+ 2147483648,
+ - -"0x80000000" );
++*/
+
+ new TestCase( SECTION,
+ "- -\"0x100000000\"",
diff --git a/gnu/packages/patches/ruby-concurrent-test-arm.patch b/gnu/packages/patches/ruby-concurrent-test-arm.patch
index 75e6365565..06d5657814 100644
--- a/gnu/packages/patches/ruby-concurrent-test-arm.patch
+++ b/gnu/packages/patches/ruby-concurrent-test-arm.patch
@@ -5,27 +5,27 @@ Work around two test suite failures on ARM:
The regexps here assume addresses like "0x1234" but on ARM (32-bit)
we get something like "0x-7db1e810" (notice the dash).
-diff --git a/spec/concurrent/edge/future_spec.rb b/spec/concurrent/edge/future_spec.rb
-index a48fd29..4344d7e 100644
---- b/spec/concurrent/edge/future_spec.rb
-+++ a/spec/concurrent/edge/future_spec.rb
-@@ -322,9 +322,9 @@
+diff --git a/spec/concurrent/edge/promises_spec.rb b/spec/concurrent/edge/promises_spec.rb
+index 727210f..149f7cd 100644
+--- a/spec/concurrent/edge/promises_spec.rb
++++ b/spec/concurrent/edge/promises_spec.rb
+@@ -371,9 +371,9 @@ describe 'Concurrent::Promises' do
four = three.delay.then(&:succ)
# meaningful to_s and inspect defined for Future and Promise
-- expect(head.to_s).to match /<#Concurrent::Edge::Future:0x[\da-f]+ pending>/
-+ expect(head.to_s).to match /<#Concurrent::Edge::Future:0x-?[\da-f]+ pending>/
+- expect(head.to_s).to match /<#Concurrent::Promises::Future:0x[\da-f]+ pending>/
++ expect(head.to_s).to match /<#Concurrent::Promises::Future:0x-?[\da-f]+ pending>/
expect(head.inspect).to(
-- match(/<#Concurrent::Edge::Future:0x[\da-f]+ pending blocks:\[<#Concurrent::Edge::ThenPromise:0x[\da-f]+ pending>\]>/))
-+ match(/<#Concurrent::Edge::Future:0x-?[\da-f]+ pending blocks:\[<#Concurrent::Edge::ThenPromise:0x-?[\da-f]+ pending>\]>/))
+- match(/<#Concurrent::Promises::Future:0x[\da-f]+ pending>/))
++ match(/<#Concurrent::Promises::Future:0x-?[\da-f]+ pending>/))
# evaluates only up to three, four is left unevaluated
expect(three.value!).to eq 3
diff --git a/spec/concurrent/map_spec.rb b/spec/concurrent/map_spec.rb
-index 13fd5b7..1c82ebe 100644
---- b/spec/concurrent/map_spec.rb
-+++ a/spec/concurrent/map_spec.rb
-@@ -827,7 +827,7 @@
+index c4050be..0a9095d 100644
+--- a/spec/concurrent/map_spec.rb
++++ b/spec/concurrent/map_spec.rb
+@@ -794,7 +794,7 @@ module Concurrent
end
it '#inspect' do
diff --git a/gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch b/gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch
deleted file mode 100644
index 3f357c4924..0000000000
--- a/gnu/packages/patches/shadow-4.4-su-snprintf-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Patch copied from upstream source repository:
-
-https://github.com/shadow-maint/shadow/commit/67d2bb6e0a5ac124ce1f026dd5723217b1493194
-
-From 67d2bb6e0a5ac124ce1f026dd5723217b1493194 Mon Sep 17 00:00:00 2001
-From: Serge Hallyn <serge@hallyn.com>
-Date: Sun, 18 Sep 2016 21:31:18 -0500
-Subject: [PATCH] su.c: fix missing length argument to snprintf
-
----
- src/su.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/su.c b/src/su.c
-index 0c50a9456afd..93ffd2fbe2b4 100644
---- a/src/su.c
-+++ b/src/su.c
-@@ -373,8 +373,8 @@ static void prepare_pam_close_session (void)
- stderr);
- (void) kill (-pid_child, caught);
-
-- snprintf (kill_msg, _(" ...killed.\n"));
-- snprintf (wait_msg, _(" ...waiting for child to terminate.\n"));
-+ snprintf (kill_msg, 256, _(" ...killed.\n"));
-+ snprintf (wait_msg, 256, _(" ...waiting for child to terminate.\n"));
-
- (void) signal (SIGALRM, kill_child);
- (void) alarm (2);
---
-2.11.0.rc2
-
diff --git a/gnu/packages/patches/shadow-CVE-2017-2616.patch b/gnu/packages/patches/shadow-CVE-2017-2616.patch
deleted file mode 100644
index f88aac40bc..0000000000
--- a/gnu/packages/patches/shadow-CVE-2017-2616.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Fix CVE-2017-2616:
-
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2616
-http://seclists.org/oss-sec/2017/q1/490
-http://seclists.org/oss-sec/2017/q1/474
-
-Patch copied from upstream source repository:
-
-https://github.com/shadow-maint/shadow/commit/08fd4b69e84364677a10e519ccb25b71710ee686
-
-From 08fd4b69e84364677a10e519ccb25b71710ee686 Mon Sep 17 00:00:00 2001
-From: Tobias Stoeckmann <tobias@stoeckmann.org>
-Date: Thu, 23 Feb 2017 09:47:29 -0600
-Subject: [PATCH] su: properly clear child PID
-
-If su is compiled with PAM support, it is possible for any local user
-to send SIGKILL to other processes with root privileges. There are
-only two conditions. First, the user must be able to perform su with
-a successful login. This does NOT have to be the root user, even using
-su with the same id is enough, e.g. "su $(whoami)". Second, SIGKILL
-can only be sent to processes which were executed after the su process.
-It is not possible to send SIGKILL to processes which were already
-running. I consider this as a security vulnerability, because I was
-able to write a proof of concept which unlocked a screen saver of
-another user this way.
----
- src/su.c | 19 +++++++++++++++++--
- 1 file changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/src/su.c b/src/su.c
-index f20d230..d86aa86 100644
---- a/src/su.c
-+++ b/src/su.c
-@@ -379,11 +379,13 @@ static void prepare_pam_close_session (void)
- /* wake child when resumed */
- kill (pid, SIGCONT);
- stop = false;
-+ } else {
-+ pid_child = 0;
- }
- } while (!stop);
- }
-
-- if (0 != caught) {
-+ if (0 != caught && 0 != pid_child) {
- (void) fputs ("\n", stderr);
- (void) fputs (_("Session terminated, terminating shell..."),
- stderr);
-@@ -393,9 +395,22 @@ static void prepare_pam_close_session (void)
- snprintf (wait_msg, sizeof wait_msg, _(" ...waiting for child to terminate.\n"));
-
- (void) signal (SIGALRM, kill_child);
-+ (void) signal (SIGCHLD, catch_signals);
- (void) alarm (2);
-
-- (void) wait (&status);
-+ sigemptyset (&ourset);
-+ if ((sigaddset (&ourset, SIGALRM) != 0)
-+ || (sigprocmask (SIG_BLOCK, &ourset, NULL) != 0)) {
-+ fprintf (stderr, _("%s: signal masking malfunction\n"), Prog);
-+ kill_child (0);
-+ } else {
-+ while (0 == waitpid (pid_child, &status, WNOHANG)) {
-+ sigsuspend (&ourset);
-+ }
-+ pid_child = 0;
-+ (void) sigprocmask (SIG_UNBLOCK, &ourset, NULL);
-+ }
-+
- (void) fputs (_(" ...terminated.\n"), stderr);
- }
-
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm
index ab277ed973..1b55cd4eb9 100644
--- a/gnu/packages/php.scm
+++ b/gnu/packages/php.scm
@@ -53,7 +53,7 @@
(define-public php
(package
(name "php")
- (version "7.1.4")
+ (version "7.1.5")
(home-page "https://secure.php.net/")
(source (origin
(method url-fetch)
@@ -61,7 +61,7 @@
name "-" version ".tar.xz"))
(sha256
(base32
- "02rh1lcfj2hakyls73gwn6w00yblnfh4883w13gn7sgkmn346lbi"))
+ "1b7njiqgy66ga5c8wsm78mqqjr7lj3hlpwbbvksi2mn4jv1s6jfi"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "ext"
@@ -169,12 +169,6 @@
"ext/standard/tests/general_functions/proc_open.phpt")
(("/bin/cat") (which "cat")))
- ;; These tests fail because they include a file whose modification
- ;; time is 0. Touch them to make the test pass. The issue is reported
- ;; upstream as #74137.
- (utime "sapi/phpdbg/tests/include.inc" 1 1)
- (utime "sapi/phpdbg/tests/phpdbg_get_executable_stream_wrapper.inc" 1 1)
-
;; The encoding of this file is not recognized, so we simply drop it.
(delete-file "ext/mbstring/tests/mb_send_mail07.phpt")
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 57a67de416..54dc493904 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -10717,14 +10717,14 @@ development version of CPython that are not available in older releases.")
(define-public python-future
(package
(name "python-future")
- (version "0.15.2")
+ (version "0.16.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "future" version))
(sha256
(base32
- "15wvcfzssc68xqnqi1dq4fhd0848hwi9jn42hxyvlqna40zijfrx"))))
+ "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773"))))
(build-system python-build-system)
;; Many tests connect to the network or are otherwise flawed.
;; https://github.com/PythonCharmers/python-future/issues/210
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 074ef0b466..d94c652ab2 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -47,7 +47,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
- #:use-module (gnu packages databases)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@@ -349,7 +349,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtbase
(package
(name "qtbase")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -358,7 +358,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0zjmcrmnnmaz1lr9wc5i6y565hsvl8ycn790ivqaz62dv54zbkgd"))
+ "01f07yjly7y24njl2h4hyknmi7pf8yd9gky23szcfkd40ap12wf1"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -375,6 +375,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
`(("alsa-lib" ,alsa-lib)
("cups" ,cups)
("dbus" ,dbus)
+ ("double-conversion" ,double-conversion)
("eudev" ,eudev)
("expat" ,expat)
("fontconfig" ,fontconfig)
@@ -467,19 +468,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"-openssl-linked"
;; explicitly link with dbus instead of dlopening it
"-dbus-linked"
- ;; drop special machine instructions not supported
- ;; on all instances of the target
+ ;; don't use the precompiled headers
+ "-no-pch"
+ ;; drop special machine instructions that do not have
+ ;; runtime detection
,@(if (string-prefix? "x86_64"
(or (%current-target-system)
(%current-system)))
'()
'("-no-sse2"))
- "-no-sse3"
- "-no-ssse3"
- "-no-sse4.1"
- "-no-sse4.2"
- "-no-avx"
- "-no-avx2"
"-no-mips_dsp"
"-no-mips_dspr2")))))
(add-after 'install 'patch-qt_config.prf
@@ -532,7 +529,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtsvg
(package (inherit qtbase)
(name "qtsvg")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -541,7 +538,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0irr9h566hl9nx8p919rz276zbfvvd6vqdb6i9g6b3piikdigw5h"))))
+ "12fwzbp28szqw1sk3flb8i6xnxgl94siwyy41ffdmd0s44f1jwwq"))))
(propagated-inputs `())
(native-inputs `(("perl" ,perl)))
(inputs
@@ -575,7 +572,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtimageformats
(package (inherit qtsvg)
(name "qtimageformats")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -584,11 +581,10 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1x3p1xmw7spxa4bwriyrwsfrq31jabsdjsi5fras9y39naia55sg"))
+ "0vv0wh5q5sih294x661djzwvgdwy7r6xpnxsc111k5hwq7m5w13m"))
(modules '((guix build utils)))
(snippet
- '(begin
- (delete-file-recursively "src/3rdparty")))))
+ '(delete-file-recursively "src/3rdparty"))))
(native-inputs `())
(inputs
`(("jasper" ,jasper)
@@ -602,7 +598,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtx11extras
(package (inherit qtsvg)
(name "qtx11extras")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -611,7 +607,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "09z49jm70f5i0gcdz9a16z00pg96x8pz7vri5wpirh3fqqn0qnjz"))))
+ "03i8lk9qcdf8h2k4f3rkqqkzbrlnyaspv9mgjkn4k61s2asz5mxy"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -623,7 +619,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtxmlpatterns
(package (inherit qtsvg)
(name "qtxmlpatterns")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -632,7 +628,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1rgqnpg64gn5agmvjwy0am8hp5fpxl3cdkixr1yrsdxi5a6961d8"))))
+ "016s75j2cml7kc8scdm9a6pmxm8jhs424lml2h9znm1flmgadzvv"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
@@ -640,7 +636,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(add-after 'unpack 'disable-network-tests
(lambda _ (substitute* "tests/auto/auto.pro"
(("qxmlquery") "# qxmlquery")
- (("xmlpatterns") "# xmlpatterns"))
+ (("xmlpatterns ") "# xmlpatterns"))
#t))))))
(native-inputs `(("perl" ,perl)))
(inputs `(("qtbase" ,qtbase)))))
@@ -648,7 +644,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtdeclarative
(package (inherit qtsvg)
(name "qtdeclarative")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -657,7 +653,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0mjxfwnplpx60jc6y94krg00isddl9bfwc7dayl981njb4qds4zx"))))
+ "0ilaf2sprpk9fg2j3905hxnhm0xbnm88ppk4zifp7n0jmnwix51j"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -674,7 +670,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtconnectivity
(package (inherit qtsvg)
(name "qtconnectivity")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -683,7 +679,18 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0rmr7bd4skby7bax9hpj2sid2bq3098nkw7xm02mdp04hc3bks5k"))))
+ "1w97na5s420y08dcydqinbqb0rd9h4pfdnjbwslr0qvzsvlh2bbv"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments qtsvg)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'disable-failing-tests
+ ;; this test fails on armhf and aarch64
+ (lambda _
+ (substitute* "tests/auto/qndefnfcsmartposterrecord/tst_qndefnfcsmartposterrecord.cpp"
+ (("QCOMPARE\\(record.action\\(\\), QNdefNfcSmartPosterRecord::UnspecifiedAction")
+ "//QCOMPARE(record.action(), QNdefNfcSmartPosterRecord::UnspecifiedAction"))
+ #t))))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@@ -695,7 +702,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwebsockets
(package (inherit qtsvg)
(name "qtwebsockets")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -704,7 +711,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1laj0slwibs0bg69kgrdhc9k1s6yisq3pcsr0r9rhbkzisv7aajw"))))
+ "1xa5p36grqxz3fa08amn7r3dy6k28g6y0gkc6jgj7lyhjzr0l4da"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -716,7 +723,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtsensors
(package (inherit qtsvg)
(name "qtsensors")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -725,7 +732,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "041v1x8pwfzpyk6y0sy5zgm915pi15xdhiy18fd5wqayvcp99cyc"))))
+ "15p7bp21yj4cdl5yfc9qnn4lhhiwiwx3b71lrb431kgqxhwhcp9s"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))
@@ -734,7 +741,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtmultimedia
(package (inherit qtsvg)
(name "qtmultimedia")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -743,7 +750,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1vvxmgmvjnz9w1h2ph1j2fy77ij141ycx5fric60lq02pxzifax5"))
+ "01sakngvsqr90qhrxyghfqdpddpxwbjyzzhm34k0hlpr6i409g58"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -769,7 +776,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwayland
(package (inherit qtsvg)
(name "qtwayland")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -778,7 +785,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1iq1c89y4ggq0dxjlf62jyhh8a9l3x7y914x84w5pby8h3hwagzj"))))
+ "06ilh55vaxbkyv7irw0n11gxgc34ypx2qhqawxzy7kllzg9zcl7z"))))
(native-inputs
`(("glib" ,glib)
("perl" ,perl)
@@ -800,7 +807,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtserialport
(package (inherit qtsvg)
(name "qtserialport")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -809,7 +816,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "09jsryc0z49cz9783kq48rkn42f10c6krzivp812ddwjsfdy3mbn"))))
+ "1b86al3zn1pxyk0n59vh8bqxrpz2m0j33ygclaqbxl1sszg7ycaj"))))
(native-inputs `(("perl" ,perl)))
(inputs
`(("qtbase" ,qtbase)
@@ -818,7 +825,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtserialbus
(package (inherit qtsvg)
(name "qtserialbus")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -827,7 +834,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0mxi43l2inpbar8rmg21qjg33bv3f1ycxjgvzjf12ncnybhdnzkj"))))
+ "02n1b1wrvfg6c7z15c5c5gv9r5gd4pp58jrd1a8d8fg3ybcksd2q"))))
(inputs
`(("qtbase" ,qtbase)
("qtserialport" ,qtserialport)))))
@@ -835,7 +842,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtwebchannel
(package (inherit qtsvg)
(name "qtwebchannel")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -844,7 +851,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "16rij92dxy4k5231l3dpmhy7cnz0cjkn50cpzaf014zrdz3kmav3"))))
+ "0jhbgp9rdp5lpwjrykxmg4lb60wk7gm3dldz5kp3b8ms2dab3xav"))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)
@@ -854,7 +861,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtlocation
(package (inherit qtsvg)
(name "qtlocation")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -863,7 +870,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "17zkzffzwbg6aqhsggs23cmwzq4y45m938842lsc423hfm7fdsgr"))))
+ "1fqssa8rhq83lnxjcdh4ijqck3lmqglpk8yax8x17w49v6gf78a8"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -877,7 +884,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qttools
(package (inherit qtsvg)
(name "qttools")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -886,7 +893,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1b6zqa5690b8lqms7rrhb8rcq0xg5hp117v3m08qngbcd0i706b4"))))
+ "10wx4vydj91yag30457c7azx4ihrwky42l7zzwkbmdlksdv8xv4m"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -900,7 +907,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtscript
(package (inherit qtsvg)
(name "qtscript")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -909,7 +916,8 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "09m41n95448pszr7inlg03ycb66s1a9hzfylaka92382acf1myav"))))
+ "1lssbsjf2p2ag02fjq6k6vk7vywhj4jsl286r2fqi78q5lfvjfi9"))
+ (patches (search-patches "qtscript-disable-tests.patch"))))
(native-inputs
`(("perl" ,perl)
("qttools" ,qttools)))
@@ -919,7 +927,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtquickcontrols
(package (inherit qtsvg)
(name "qtquickcontrols")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -928,7 +936,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "17cyfyqzjbm9dhq9pjscz36y84y16rmxwk6h826gjfprddrimsvg"))))
+ "09mkswxw7wa2l8xz9fbblxr1pbi86hggis55j4k8ifnrrw60vrq4"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -939,7 +947,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtquickcontrols2
(package (inherit qtsvg)
(name "qtquickcontrols2")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -948,7 +956,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1v77ydy4k15lksp3bi2kgha2h7m79g4n7c2qhbr09xnvpb8ars7j"))))
+ "06yy98x4vic2yrlpp83gf4kvl7kd93q62k178w0cy4sgqxp8d6dh"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -959,7 +967,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtgraphicaleffects
(package (inherit qtsvg)
(name "qtgraphicaleffects")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -968,7 +976,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1j2drnx7zp3w6cgvy7bn00fyk5v7vw1j1hidaqcg78lzb6zgls1c"))))
+ "06frknb7m8bgg55rs7jjm61iziisy2ykzrrc5dy3vj0aad89najz"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -977,6 +985,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
("qtdeclarative" ,qtdeclarative)))))
(define-public qtdeclarative-render2d
+ ;; As of Qt-5.8.0 this module has been merged into qtdeclarative
(package (inherit qtsvg)
(name "qtdeclarative-render2d")
(version "5.7.1")
@@ -995,12 +1004,13 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(native-inputs `())
(inputs
`(("qtbase" ,qtbase)
- ("qtdeclarative" ,qtdeclarative)))))
+ ("qtdeclarative" ,qtdeclarative)))
+ (properties `((superseded . ,qtdeclarative)))))
(define-public qtgamepad
(package (inherit qtsvg)
(name "qtgamepad")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1009,7 +1019,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "10lijbsg9xx5ddbbjymdgl41nxz99yn1qgiww2kkggxwwdjj2axv"))))
+ "0dwcrq60h802z694h4108figlr3yvp8fpzhwjzbjm503v8yaxw5j"))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)))
@@ -1024,7 +1034,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtscxml
(package (inherit qtsvg)
(name "qtscxml")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1033,7 +1043,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "135kknqdmib2cjryfmvfgv7a2qx9pyba3m7i7nkbc5d742r4mbcx"))
+ "1i4xl24q4i32mbhyndrwaz0xj79d9n84s320gmkf5rwnfcwrvfxn"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1048,7 +1058,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtpurchasing
(package (inherit qtsvg)
(name "qtpurchasing")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1057,7 +1067,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "0hkvrgafz1hx9q4yc3nskv3pd3fszghvvd5a7mj33ynf55wpb57n"))))
+ "0mdkw73yx1csz9mf3wl0w1x1b8cv9j5px4nvakrknkjzaa9qgzdk"))))
(inputs
`(("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)))))
@@ -1065,7 +1075,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtcanvas3d
(package (inherit qtsvg)
(name "qtcanvas3d")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1074,7 +1084,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1d5xpq3mhjg4ipxzap7s2vnlfcd02d3yq720npv10xxp2ww0i1x8"))
+ "18yaikbwk4d7sh09psi3kjn1mxjp4d2f3qchfzgq5x96yn8gfijl"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "examples/canvas3d/3rdparty"))))
@@ -1099,7 +1109,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtcharts
(package (inherit qtsvg)
(name "qtcharts")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1108,7 +1118,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1qrzcddwff2hxsbxrraff16j4abah2zkra2756s1mvydj9lyxzl5"))))
+ "11m5g1fxip6z2xk1z6g6h4rq7v282qbkxflan8hs87hadnzars03"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1119,7 +1129,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtdatavis3d
(package (inherit qtsvg)
(name "qtdatavis3d")
- (version "5.7.1")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qt.io/official_releases/qt/"
@@ -1128,7 +1138,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
version ".tar.xz"))
(sha256
(base32
- "1y00p0wyj5cw9c2925y537vpmmg9q3kpf7qr1s7sv67dvvf8bzqv"))))
+ "1n2vdf6n7pr9xrjwbvbar899q74shx6cy19x32adxfn2iilygwbp"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:tests? _ #f) #f))) ; TODO: Enable the tests
@@ -1139,7 +1149,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public python-sip
(package
(name "python-sip")
- (version "4.18.1")
+ (version "4.19.2")
(source
(origin
(method url-fetch)
@@ -1148,7 +1158,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"sip-" version "/sip-" version ".tar.gz"))
(sha256
(base32
- "1452zy3g0qv4fpd9c0y4gq437kn0xf7bbfniibv5n43zpwnpmklv"))))
+ "0cq5r21fmjyw5v7a6l4sfbaj3zgm7k5b2cryj6bnjki54nnllas3"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-wrapper)))
@@ -1202,7 +1212,7 @@ module provides support functions to the automatically generated code.")
(define-public python-pyqt
(package
(name "python-pyqt")
- (version "5.7")
+ (version "5.8.2")
(source
(origin
(method url-fetch)
@@ -1212,7 +1222,7 @@ module provides support functions to the automatically generated code.")
version ".tar.gz"))
(sha256
(base32
- "01avscn1bir0h8zzfh1jvpljgwg6qkax5nk142xrm63rbyx969l9"))
+ "1s1nalcspam9dc7f63jkqn1i2sv9lrqn57p2zsc61g8bncahbmzb"))
(patches (search-patches "pyqt-configure.patch"))))
(build-system gnu-build-system)
(native-inputs
@@ -1292,17 +1302,17 @@ contain over 620 classes.")
(define-public python-pyqt-4
(package (inherit python-pyqt)
(name "python-pyqt")
- (version "4.11.4")
+ (version "4.12")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://sourceforge/pyqt/PyQt4/"
- "PyQt-" version "/PyQt-x11-gpl-"
+ "PyQt-" version "/PyQt4_gpl_x11-"
version ".tar.gz"))
(sha256
(base32
- "01zlviy5lq8g6db84wnvvpsrfnip9lbcpxagsyqa6as3jmsff7zw"))))
+ "1nw8r88a5g2d550yvklawlvns8gd5slw53yy688kxnsa65aln79w"))))
(native-inputs
`(("python-sip" ,python-sip)
("qt" ,qt-4)))
@@ -1431,19 +1441,19 @@ different kinds of sliders, and much more.")
(define-public qtwebkit
(package
(name "qtwebkit")
- (version "5.7.1")
+ (version "5.8.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.qt.io/community_releases/"
(version-major+minor version)
- "/" version "/qtwebkit-opensource-src-" version
- ".tar.xz"))
+ "/" version "-final/qtwebkit-opensource-src-"
+ version ".tar.xz"))
;; Note: since Qt 5.6, Qt no longer officially supports qtwebkit:
;; <http://lists.qt-project.org/pipermail/development/2016-May/025923.html>.
(sha256
(base32
- "00szgcra6pf2myfjrdbsr1gmrxycpbjqlzkplna5yr1rjg4gfv54"))))
+ "1v0vj6slyh19mjrrpbqdzb47fr0f4xk7bc8803xjzybb11h8dbkr"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 0d4ae1dbb0..14511d0c32 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -447,13 +447,13 @@ expectations and mocks frameworks.")
(define-public bundler
(package
(name "bundler")
- (version "1.14.5")
+ (version "1.14.6")
(source (origin
(method url-fetch)
(uri (rubygems-uri "bundler" version))
(sha256
(base32
- "0635s6naz9hn4iqbvkhnm1by4j4spvv13mb7nzwwimnpbqgx663i"))))
+ "0h3x2csvlz99v2ryj1w72vn6kixf7rl35lhdryvh7s49brnj0cgl"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; avoid dependency cycles
@@ -2911,7 +2911,7 @@ differences (added or removed nodes) between two XML/HTML documents.")
(define-public ruby-rack
(package
(name "ruby-rack")
- (version "2.0.1")
+ (version "2.0.3")
(source
(origin
(method url-fetch)
@@ -2923,7 +2923,7 @@ differences (added or removed nodes) between two XML/HTML documents.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "00k62v8lpyjzghkn0h0awrnqj1jmlcs2wp57py27m43y65v89cp3"))
+ "12bnqrcg43x9hsswjqg31qqwk8cwj2fh0d2m179y20bjghhn54kx"))
;; Ignore test which fails inside the build environment but works
;; outside.
(patches (search-patches "ruby-rack-ignore-failing-test.patch"))))
@@ -4107,7 +4107,7 @@ call.")
(define-public ruby-concurrent
(package
(name "ruby-concurrent")
- (version "1.0.2")
+ (version "1.0.5")
(source
(origin
(method url-fetch)
@@ -4120,7 +4120,7 @@ call.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1x3g2admp14ykwfxidsicqbhlfsnxh9wyc806np4i15hws4if1d8"))
+ "0qhv0qzsby4iijgwa4s9r88zj8123pmyz1dwaqzdk57xgqll9pny"))
;; Exclude failing test reported at
;; https://github.com/ruby-concurrency/concurrent-ruby/issues/534
(patches (search-patches "ruby-concurrent-ignore-broken-test.patch"
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 7bce8c5aa7..5873d85b55 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -35,15 +35,15 @@
(define-public ccid
(package
(name "ccid")
- (version "1.4.26")
+ (version "1.4.27")
(source (origin
(method url-fetch)
(uri (string-append
- "https://alioth.debian.org/frs/download.php/file/4205/"
+ "https://alioth.debian.org/frs/download.php/file/4218/"
"ccid-" version ".tar.bz2"))
(sha256
(base32
- "0bxy835c133ajalpj4gx60nqkjvpf9y1n97n04pw105pi9qbyrrj"))))
+ "0dyikpmhsph36ndgd61bs4yx437v5y0bmm8ahjacp1k9c1ly4q56"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
@@ -93,15 +93,15 @@ the low-level development kit for the Yubico YubiKey authentication device.")
(define-public pcsc-lite
(package
(name "pcsc-lite")
- (version "1.8.20")
+ (version "1.8.21")
(source (origin
(method url-fetch)
(uri (string-append
- "https://alioth.debian.org/frs/download.php/file/4203/"
+ "https://alioth.debian.org/frs/download.php/file/4216/"
"pcsc-lite-" version ".tar.bz2"))
(sha256
(base32
- "1ckb0jf4n585a4j26va3jm2nrv3c1y38974514f8qy3c04a02zgc"))))
+ "1b8kwl81f6s3y7qh68ahr8sp8a0w6m464v9b3s4zxq2cgpmnaczy"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers")))
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 4e684e8c81..47d3a46148 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -32,6 +32,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages documentation)
#:use-module (gnu packages groff)
+ #:use-module (gnu packages libbsd)
#:use-module (gnu packages libedit)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
@@ -457,3 +458,39 @@ components: a process notation for running programs and setting up pipelines
and redirections, and a complete syscall library for low-level access to the
operating system.")
(license bsd-3))))
+
+(define-public loksh
+ (package
+ (name "loksh")
+ (version "6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/dimkr/loksh/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wg7ds56yr8fgg1m149bi53bvrwccwiashmwknggza1sqgj9m2lq"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libbsd" ,libbsd)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (arguments
+ `(#:tests? #f ;No tests included
+ #:make-flags (list "CC=gcc" "HAVE_LIBBSD=1"
+ (string-append "DESTDIR="
+ (assoc-ref %outputs "out"))
+ "PREFIX=")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)))) ;No configure script
+ (home-page "https://github.com/dimkr/loksh")
+ (synopsis "Korn Shell from OpenBSD")
+ (description
+ "loksh is a Linux port of OpenBSD's @command{ksh}. It is a small,
+interactive POSIX shell targeted at resource-constrained systems.")
+ ;; The file 'LEGAL' says it is the public domain, and the 2
+ ;; exceptions which are listed are not included in this port.
+ (license public-domain)))
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index b01a94f871..c96ed0a72b 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -68,6 +68,7 @@
(base32
"03bcp9ksqp0s1pmwfmzhcknvkxay5k0mjzzxp3rjlifbng1vxq9r"))))
(build-system cmake-build-system)
+ (outputs '("out" "debug"))
(arguments
'(#:configure-flags '("-DWITH_GCRYPT=ON")
@@ -238,6 +239,7 @@ Additionally, various channel-specific options can be negotiated.")
"], [chmod +x examples/"
file "])\n"))))))
(build-system gnu-build-system)
+ (outputs '("out" "debug"))
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoreconf
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 1516fb8527..ebf9a47302 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -474,15 +474,14 @@ security, and applying best practice development processes.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "0.14.0")
+ (version "0.14.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
- "0hrmh28rrc0fsiw6nqfwbkwb1s4nkl54x50c0g0xlnp86752nzff"))))
+ "0asmkfkzbswnkrvbj5m01xgy4f6g1fjbj2nir1hhrn3ipcdrsv8f"))))
(build-system python-build-system)
-
(arguments
`(#:phases
(modify-phases %standard-phases
@@ -540,7 +539,7 @@ security, and applying best practice development processes.")
(uri (pypi-uri name version))
(sha256
(base32
- "0hbp3njss01a0d3brvcfzja0w0j9plwrv6l70jsfvnhy3rrd7bcq"))))
+ "0rdby57hw35qdrbl7kigscphnz4kqb608bqzrcb73nb99092i6si"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f9e8b898c9..b7c26a0424 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -273,7 +273,7 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public x265
(package
(name "x265")
- (version "2.3")
+ (version "2.4")
(source
(origin
(method url-fetch)
@@ -281,7 +281,7 @@ H.264 (MPEG-4 AVC) video streams.")
"x265_" version ".tar.gz"))
(sha256
(base32
- "07z4ydxg0lk6j43h0wlh2xddb91cy4y4mny2ln71d4278b1hllj7"))
+ "0afp0xlk0fb4q6j4sh3hyvjnjccdp61sn21zg3fyqvwgswcafalw"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "source/compat/getopt"))))
@@ -646,7 +646,7 @@ audio/video codec library.")
(define-public vlc
(package
(name "vlc")
- (version "2.2.4")
+ (version "2.2.5.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -654,14 +654,7 @@ audio/video codec library.")
version "/vlc-" version ".tar.xz"))
(sha256
(base32
- "1gjkrwlg8ab3skzl67cxb9qzg4187ifckd1z9kpy11q058fyjchn"))
- (modules '((guix build utils)))
- (snippet
- ;; There are two occurrences where __DATE__ and __TIME__ are
- ;; used to capture the build time and show it to the user.
- '(substitute* (find-files "." "help\\.c(pp)?$")
- (("__DATE__") "\"2016\"")
- (("__TIME__") "\"00:00\"")))))
+ "1k51vm6piqlrnld7sxyg0s4kdkd3lan97lmy3v5wdh3qyll8m2xj"))))
(build-system gnu-build-system)
(native-inputs
`(("git" ,git) ; needed for a test
@@ -1599,14 +1592,14 @@ tools, XML authoring components, and an extensible plug-in based API.")
(define-public v4l-utils
(package
(name "v4l-utils")
- (version "1.12.3")
+ (version "1.12.5")
(source (origin
(method url-fetch)
(uri (string-append "https://linuxtv.org/downloads/v4l-utils"
"/v4l-utils-" version ".tar.bz2"))
(sha256
(base32
- "0vpl3jl0x441y7b5cn7zhdsyi954hp9h2p30jhnr1zkx1rpxsiss"))))
+ "03g2b4rivrilimcp57mwrlsa3qvrxmk4sza08mygwmqbvcnic606"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
@@ -1816,14 +1809,14 @@ specifications.")
(define-public libaacs
(package
(name "libaacs")
- (version "0.8.1")
+ (version "0.9.0")
(source
(origin
(method url-fetch)
(uri (string-append "ftp://ftp.videolan.org/pub/videolan/libaacs/"
version "/" name "-" version ".tar.bz2"))
(sha256
- (base32 "1s5v075hnbs57995r6lljm79wgrip3gnyf55a0y7bja75jh49hwm"))))
+ (base32 "1kms92i0c7i1yl659kqjf19lm8172pnpik5lsxp19xphr74vvq27"))))
(inputs
`(("libgcrypt" ,libgcrypt)))
(native-inputs
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index 697c7dedc7..27c0b0da9c 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -60,7 +60,7 @@
(define-public vim
(package
(name "vim")
- (version "8.0.0566")
+ (version "8.0.0600")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/vim/vim/archive/v"
@@ -68,7 +68,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0qq9pj8391sikzaahlqi289l5wdkbvsdhz8qb6np268yqizpg4p2"))))
+ "1ifaj0lfzqn06snkcd83l58m9r6lg7lk3wspx71k5ycvypyfi67s"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -138,6 +138,10 @@ configuration files.")
;; https://github.com/vim/vim/issues/1460
(substitute* "src/testdir/test_cmdline.vim"
(("call assert_equal\\(.+getcmd.+\\(\\)\\)") ""))
+ ;; FIXME: This test broke after GCC-5 core-updates merge.
+ ;; "Test_system_exmode line 7: Expected '0' but got '/'"
+ (substitute* "src/testdir/test_system.vim"
+ (("call assert_equal\\('0', a\\[0\\]\\)") ""))
#t))
(add-before 'check 'start-xserver
(lambda* (#:key inputs #:allow-other-keys)
diff --git a/gnu/system.scm b/gnu/system.scm
index 2fab394d23..0076f2fcb1 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -48,6 +48,7 @@
#:use-module (gnu services)
#:use-module (gnu services shepherd)
#:use-module (gnu services base)
+ #:use-module (gnu bootloader)
#:use-module (gnu system shadow)
#:use-module (gnu system nss)
#:use-module (gnu system locale)
@@ -103,6 +104,7 @@
boot-parameters?
boot-parameters-label
boot-parameters-root-device
+ boot-parameters-boot-name
boot-parameters-store-device
boot-parameters-store-mount-point
boot-parameters-kernel
@@ -139,7 +141,7 @@ booted from ROOT-DEVICE"
(default linux-libre))
(kernel-arguments operating-system-user-kernel-arguments
(default '())) ; list of gexps/strings
- (bootloader operating-system-bootloader) ; <grub-configuration>
+ (bootloader operating-system-bootloader) ; <bootloader-configuration>
(initrd operating-system-initrd ; (list fs) -> M derivation
(default base-initrd))
@@ -213,6 +215,7 @@ directly by the user."
;; exactly to the device field of the <file-system> object representing the
;; OS's root file system, so it might be a device path like "/dev/sda3".
(root-device boot-parameters-root-device)
+ (boot-name boot-parameters-boot-name)
(store-device boot-parameters-store-device)
(store-mount-point boot-parameters-store-mount-point)
(kernel boot-parameters-kernel)
@@ -231,6 +234,11 @@ directly by the user."
(label label)
(root-device root)
+ (boot-name
+ (match (assq 'boot-name rest)
+ ((_ args) args)
+ (#f 'grub))) ; for compatibility reasons.
+
;; 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))
@@ -847,12 +855,11 @@ populate the \"old entries\" menu."
(root-device -> (if (eq? 'uuid (file-system-title root-fs))
(uuid->string (file-system-device root-fs))
(file-system-device root-fs)))
- (entry (operating-system-boot-parameters os system root-device)))
- ((module-ref (resolve-interface '(gnu system grub))
- 'grub-configuration-file)
- (operating-system-bootloader os)
- (list entry)
- #:old-entries old-entries)))
+ (entry (operating-system-boot-parameters os system root-device))
+ (bootloader-conf -> (operating-system-bootloader os)))
+ ((bootloader-configuration-file-generator
+ (bootloader-configuration-bootloader bootloader-conf))
+ bootloader-conf (list entry) #:old-entries old-entries)))
(define (fs->boot-device fs)
"Given FS, a <file-system> object, return a value suitable for use as the
@@ -869,6 +876,9 @@ kernel arguments for that derivation to <boot-parameters>."
(mlet* %store-monad
((initrd (operating-system-initrd-file os))
(store -> (operating-system-store-file-system os))
+ (bootloader -> (bootloader-configuration-bootloader
+ (operating-system-bootloader os)))
+ (boot-name -> (bootloader-name bootloader))
(label -> (kernel->boot-label (operating-system-kernel os))))
(return (boot-parameters
(label label)
@@ -879,6 +889,7 @@ kernel arguments for that derivation to <boot-parameters>."
(operating-system-kernel-arguments os system.drv root-device)
(operating-system-user-kernel-arguments os)))
(initrd initrd)
+ (boot-name boot-name)
(store-device (fs->boot-device store))
(store-mount-point (file-system-mount-point store))))))
@@ -904,6 +915,7 @@ being stored into the \"parameters\" file)."
(kernel-arguments
#$(boot-parameters-kernel-arguments params))
(initrd #$(boot-parameters-initrd params))
+ (boot-name #$(boot-parameters-boot-name params))
(store
(device #$(boot-parameters-store-device params))
(mount-point #$(boot-parameters-store-mount-point params))))
diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl
index 389ec8574b..6fb6283d29 100644
--- a/gnu/system/examples/lightweight-desktop.tmpl
+++ b/gnu/system/examples/lightweight-desktop.tmpl
@@ -4,23 +4,31 @@
(use-modules (gnu) (gnu system nss))
(use-service-modules desktop)
-(use-package-modules wm ratpoison certs suckless)
+(use-package-modules bootloaders certs ratpoison suckless wm)
(operating-system
(host-name "antelope")
(timezone "Europe/Paris")
(locale "en_US.utf8")
- ;; Assuming /dev/sdX is the target hard disk, and "my-root"
- ;; is the label of the target root file system.
- (bootloader (grub-configuration (device "/dev/sdX")))
-
- (file-systems (cons (file-system
- (device "my-root")
- (title 'label)
- (mount-point "/")
- (type "ext4"))
- %base-file-systems))
+ ;; Use the UEFI variant of GRUB with the EFI System
+ ;; Partition on /dev/sda1.
+ (bootloader (grub-configuration (grub grub-efi)
+ (device "/dev/sda1")))
+
+ ;; Assume the target root file system is labelled "my-root".
+ (file-systems (cons* (file-system
+ (device "my-root")
+ (title 'label)
+ (mount-point "/")
+ (type "ext4"))
+ (file-system
+ ;; Specify partition here since FAT
+ ;; labels are currently unsupported.
+ (device "/dev/sda1")
+ (mount-point "/boot/efi")
+ (type "vfat"))
+ %base-file-systems))
(users (cons (user-account
(name "alice")
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index f01f68fbd3..ad5e6b75bb 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -47,10 +47,11 @@
#:select (%guile-static-stripped))
#:use-module (gnu packages admin)
+ #:use-module (gnu bootloader)
#:use-module (gnu system shadow)
#:use-module (gnu system pam)
#:use-module (gnu system linux-initrd)
- #:use-module (gnu system grub)
+ #:use-module (gnu bootloader)
#:use-module (gnu system file-systems)
#:use-module (gnu system)
#:use-module (gnu services)
@@ -177,8 +178,9 @@ made available under the /xchg CIFS share."
(disk-image-format "qcow2")
(file-system-type "ext4")
file-system-label
- os-derivation
- grub-configuration
+ os-drv
+ bootcfg-drv
+ bootloader
(register-closures? #t)
(inputs '())
copy-inputs?)
@@ -202,7 +204,7 @@ the image."
(guix build utils))
(let ((inputs
- '#$(append (list qemu parted grub e2fsprogs dosfstools)
+ '#$(append (list qemu parted e2fsprogs dosfstools)
(map canonical-package
(list sed grep coreutils findutils gawk))
(if register-closures? (list guix) '())))
@@ -224,7 +226,7 @@ the image."
#:closures graphs
#:copy-closures? #$copy-inputs?
#:register-closures? #$register-closures?
- #:system-directory #$os-derivation))
+ #:system-directory #$os-drv))
(partitions (list (partition
(size #$(- disk-image-size
(* 50 (expt 2 20))))
@@ -246,8 +248,14 @@ the image."
(flags '(esp))))))
(initialize-hard-disk "/dev/vda"
#:partitions partitions
- #:grub.cfg #$grub-configuration
- #:grub-efi #$grub-efi)
+ #:grub-efi #$grub-efi
+ #:bootloader-package
+ #$(bootloader-package bootloader)
+ #:bootcfg #$bootcfg-drv
+ #:bootcfg-location
+ #$(bootloader-configuration-file bootloader)
+ #:bootloader-installer
+ #$(bootloader-installer bootloader))
(reboot)))))
#:system system
#:make-disk-image? #t
@@ -301,8 +309,10 @@ to USB sticks meant to be read-only."
(mlet* %store-monad ((os-drv (operating-system-derivation os))
(bootcfg (operating-system-bootcfg os)))
(qemu-image #:name name
- #:os-derivation os-drv
- #:grub-configuration bootcfg
+ #:os-drv os-drv
+ #:bootcfg-drv bootcfg
+ #:bootloader (bootloader-configuration-bootloader
+ (operating-system-bootloader os))
#:disk-image-size disk-image-size
#:disk-image-format "raw"
#:file-system-type file-system-type
@@ -344,8 +354,10 @@ of the GNU system as described by OS."
(mlet* %store-monad
((os-drv (operating-system-derivation os))
(bootcfg (operating-system-bootcfg os)))
- (qemu-image #:os-derivation os-drv
- #:grub-configuration bootcfg
+ (qemu-image #:os-drv os-drv
+ #:bootcfg-drv bootcfg
+ #:bootloader (bootloader-configuration-bootloader
+ (operating-system-bootloader os))
#:disk-image-size disk-image-size
#:file-system-type file-system-type
#:inputs `(("system" ,os-drv)
@@ -443,8 +455,10 @@ bootloader refers to: OS kernel, initrd, bootloader data, etc."
;; BOOTCFG and all its dependencies, including the output of OS-DRV.
;; 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-derivation os-drv
- #:grub-configuration bootcfg
+ (qemu-image #:os-drv os-drv
+ #:bootcfg-drv bootcfg
+ #:bootloader (bootloader-configuration-bootloader
+ (operating-system-bootloader os))
#:disk-image-size disk-image-size
#:inputs (if full-boot?
`(("bootcfg" ,bootcfg))
diff --git a/gnu/tests.scm b/gnu/tests.scm
index 810711ab91..2886a982f4 100644
--- a/gnu/tests.scm
+++ b/gnu/tests.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -20,8 +21,8 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix records)
+ #:use-module (gnu bootloader grub)
#:use-module (gnu system)
- #:use-module (gnu system grub)
#:use-module (gnu system file-systems)
#:use-module (gnu system shadow)
#:use-module (gnu services)
diff --git a/gnu/tests/nfs.scm b/gnu/tests/nfs.scm
index 1f28f5a5b8..9e1ac1d55a 100644
--- a/gnu/tests/nfs.scm
+++ b/gnu/tests/nfs.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
+;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,8 +20,8 @@
(define-module (gnu tests nfs)
#:use-module (gnu tests)
+ #:use-module (gnu bootloader grub)
#:use-module (gnu system)
- #:use-module (gnu system grub)
#:use-module (gnu system file-systems)
#:use-module (gnu system shadow)
#:use-module (gnu system vm)