From 7736bae9b72ab0a0bc7d7740a4724396a8dfcab3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Apr 2017 13:59:20 -0400 Subject: [PATCH 01/85] gnu: mutt: Update to 1.8.1. * gnu/packages/mail.scm (mutt): Update to 1.8.1. [source]: Use HTTPS URL. --- gnu/packages/mail.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 255837198b..7fa7ad5d87 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -221,14 +221,14 @@ (define-public fetchmail (define-public mutt (package (name "mutt") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) - (uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-" - version ".tar.gz")) + (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" + "mutt-" version ".tar.gz")) (sha256 (base32 - "1axdcylyv0p194y6lj1jx127g5yc74zqzzxdc014cjw02bd1x125")) + "1b8dggq5x1b77a9i9250b3jhv2iddfzhr9rix1yfzckdms65mr8b")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs From 9866cf14571b513ac686784d65b90b139c11297b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 14 Apr 2017 19:11:03 -0400 Subject: [PATCH 02/85] gnu: samba: Update to 4.5.8. This fixes a regression introduced by the security fixes for CVE-2017-2619. * gnu/packages/samba.scm (samba): Update to 4.5.8. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 8c13222fe3..5bcd5980a1 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -146,14 +146,14 @@ (define (copy dir) (define-public samba (package (name "samba") - (version "4.5.7") + (version "4.5.8") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "004lzl059bc2wvkmivxiy96y87l4ajjw16qvkqcdhf86z2dg0w5c")))) + "1w41pxszv5z6gjclg6zymn47mk8n51lnpgcx1k2q18i3i1nnafzn")))) (build-system gnu-build-system) (arguments '(#:phases From 904f8a31ab5f9e08959254cf3564915dd1e81435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 9 Apr 2017 17:42:47 +0800 Subject: [PATCH 03/85] gnu: speech-dispatcher: Add more inputs. * gnu/packages/speech.scm (speech-dispatcher)[inputs]: Add espeak, pulseaudio and python. --- gnu/packages/speech.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 1d903520e7..53303d28d7 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -24,11 +24,13 @@ (define-module (gnu packages speech) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) #:use-module (gnu packages textutils)) (define-public mitlm @@ -75,9 +77,12 @@ (define-public speech-dispatcher ("pkg-config" ,pkg-config))) (inputs `(("dotconf" ,dotconf) + ("espeak" ,espeak) ("glib" ,glib) ("libltdl" ,libltdl) - ("libsndfile" ,libsndfile))) + ("libsndfile" ,libsndfile) + ("pulseaudio" ,pulseaudio) + ("python" ,python))) (synopsis "Common interface to speech synthesizers") (description "The Speech Dispatcher project provides a high-level device independent layer for access to speech synthesis through a simple, From 3e00ac47d63a7b0fdbb4b1a4f28c3b131ccc6808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 9 Apr 2017 17:45:31 +0800 Subject: [PATCH 04/85] gnu: Add python-pyatspi. * gnu/packages/gnome.scm (python-pyatspi): New package. --- gnu/packages/gnome.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 105348c9d1..57b312f0c1 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -6029,3 +6029,31 @@ (define-public gnome-system-monitor graphical time histories of CPU/memory/swap usage and the ability to kill/reinice processes.") (license license:gpl2+))) + +(define-public python-pyatspi + (package + (name "python-pyatspi") + (version "2.24.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/pyatspi/" + (version-major+minor version) + "/pyatspi-" version ".tar.xz")) + (sha256 + (base32 + "14m6y27ziqc9f6339gjz49mlsk6mrsyg4bkj055cdzc7sfjlgvz7")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python) + ("python-pygobject" ,python-pygobject))) + (synopsis "Python client bindings for D-Bus AT-SPI") + (home-page "https://wiki.linuxfoundation.org/accessibility\ +/atk/at-spi/at-spi_on_d-bus") + (description + "This package includes a python client library for the AT-SPI D-Bus +accessibility infrastructure.") + (license license:lgpl2.0) + (properties '((upstream-name . "pyatspi"))))) From 53201c0def3c226a2d46c2a9e2f2d82d1d5d7c53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 9 Apr 2017 17:47:10 +0800 Subject: [PATCH 05/85] gnu: Add orca. * gnu/packages/gnome.scm (orca): New package. --- gnu/packages/gnome.scm | 63 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 57b312f0c1..40bac9fd93 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -127,6 +127,7 @@ (define-module (gnu packages gnome) #:use-module (gnu packages fonts) #:use-module (gnu packages qemu) #:use-module (gnu packages zip) + #:use-module (gnu packages speech) #:use-module (srfi srfi-1)) (define-public brasero @@ -6057,3 +6058,65 @@ (define-public python-pyatspi accessibility infrastructure.") (license license:lgpl2.0) (properties '((upstream-name . "pyatspi"))))) + +(define-public orca + (package + (name "orca") + (version "3.24.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1la6f815drykrgqf791jx1dda6716cfv6052frqp7nhjxr75xg97")))) + (build-system glib-or-gtk-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'qualify-xkbcomp + (lambda* (#:key inputs #:allow-other-keys) + (let ((xkbcomp (string-append + (assoc-ref inputs "xkbcomp") "/bin/xkbcomp"))) + (substitute* "src/orca/orca.py" + (("'xkbcomp'") (format #f "'~a'" xkbcomp)))) + #t)) + (add-after 'install 'wrap-orca + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (prog (string-append out "/bin/orca"))) + (wrap-program prog + `("GI_TYPELIB_PATH" ":" prefix + (,(getenv "GI_TYPELIB_PATH"))) + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix + (,(getenv "GST_PLUGIN_SYSTEM_PATH"))) + `("PYTHONPATH" ":" prefix + (,(getenv "PYTHONPATH"))))) + #t))))) + (native-inputs + `(("intltool" ,intltool) + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("xmllint" ,libxml2))) + (inputs + `(("at-spi2-atk" ,at-spi2-atk) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gtk+" ,gtk+) + ("python" ,python) + ("python-pygobject" ,python-pygobject) + ("python-pyatspi" ,python-pyatspi) + ("python-speechd" ,speech-dispatcher) + ("xkbcomp" ,xkbcomp))) + (synopsis + "Screen reader for individuals who are blind or visually impaired") + (home-page "https://wiki.gnome.org/Projects/Orca") + (description + "Orca is a screen reader that provides access to the graphical desktop +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+))) From a41134b44219a0aadbad4445586c571b0fbffbbd Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 2 Apr 2017 15:52:33 +0200 Subject: [PATCH 06/85] scripts: system: Move save-load-path-excursion and save-environment-excursion macros to the top. * guix/scripts/system.scm (save-load-path-excursion, save-environment-excursion): Move definitions to the top of the file. It allows to use them in the whole file. Signed-off-by: Danny Milosavljevic --- guix/scripts/system.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index b0a794bf8e..57580c8d5d 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 Alex Kost ;;; Copyright © 2016, 2017 Chris Marusich +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; From c2e9942b8fc8918c3e1d9612f99bea06be9ff81d Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 2 Apr 2017 15:52:34 +0200 Subject: [PATCH 07/85] system: Rename kernel->grub-label to kernel->boot-label. * gnu/system.scm (kernel->grub-label): Rename to kernel->boot-label. (operating-system-grub.cfg): Adapt. (operating-system-parameters-file): Ditto. Signed-off-by: Danny Milosavljevic --- gnu/system.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 0f52351cf0..e74763d3d7 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -700,8 +700,8 @@ (define definitions (locale-directory definitions #:libcs (operating-system-locale-libcs os))) -(define (kernel->grub-label kernel) - "Return a label for the GRUB menu entry that boots KERNEL." +(define (kernel->boot-label kernel) + "Return a label for the bootloader menu entry that boots KERNEL." (string-append "GNU with " (string-titlecase (package-name kernel)) " " (package-version kernel) @@ -735,7 +735,7 @@ (define* (operating-system-grub.cfg os #:optional (old-entries '())) ((system (operating-system-derivation os)) (root-fs -> (operating-system-root-file-system os)) (store-fs -> (operating-system-store-file-system os)) - (label -> (kernel->grub-label (operating-system-kernel os))) + (label -> (kernel->boot-label (operating-system-kernel os))) (kernel -> (operating-system-kernel-file os)) (initrd (operating-system-initrd-file os)) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) @@ -774,7 +774,7 @@ (define (operating-system-parameters-file os) (mlet %store-monad ((initrd (operating-system-initrd-file os)) (root -> (operating-system-root-file-system os)) (store -> (operating-system-store-file-system os)) - (label -> (kernel->grub-label + (label -> (kernel->boot-label (operating-system-kernel os)))) (gexp->file "parameters" #~(boot-parameters From 475e2ce211ac05a814c1f1bc2b9648baa17ad369 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 15 Apr 2017 13:21:39 +0200 Subject: [PATCH 08/85] scripts: system: Move save-load-path-excursion and save-environment-excursion macros to the top. * guix/scripts/system.scm (save-load-path-excursion, save-environment-excursion): Move definitions to the top of the file. It allows to use them in the whole file. Signed-off-by: Danny Milosavljevic --- guix/scripts/system.scm | 54 ++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 57580c8d5d..a1c6d35909 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -78,6 +78,29 @@ (define (read-operating-system file) ;;; Installation. ;;; +(define-syntax-rule (save-load-path-excursion body ...) + "Save the current values of '%load-path' and '%load-compiled-path', run +BODY..., and restore them." + (let ((path %load-path) + (cpath %load-compiled-path)) + (dynamic-wind + (const #t) + (lambda () + body ...) + (lambda () + (set! %load-path path) + (set! %load-compiled-path cpath))))) + +(define-syntax-rule (save-environment-excursion body ...) + "Save the current environment variables, run BODY..., and restore them." + (let ((env (environ))) + (dynamic-wind + (const #t) + (lambda () + body ...) + (lambda () + (environ env))))) + (define topologically-sorted* (store-lift topologically-sorted)) @@ -202,29 +225,6 @@ (define %system-profile ;; The system profile. (string-append %state-directory "/profiles/system")) -(define-syntax-rule (save-environment-excursion body ...) - "Save the current environment variables, run BODY..., and restore them." - (let ((env (environ))) - (dynamic-wind - (const #t) - (lambda () - body ...) - (lambda () - (environ env))))) - -(define-syntax-rule (save-load-path-excursion body ...) - "Save the current values of '%load-path' and '%load-compiled-path', run -BODY..., and restore them." - (let ((path %load-path) - (cpath %load-compiled-path)) - (dynamic-wind - (const #t) - (lambda () - body ...) - (lambda () - (set! %load-path path) - (set! %load-compiled-path cpath))))) - (define-syntax-rule (with-shepherd-error-handling mbody ...) "Catch and report Shepherd errors that arise when binding MBODY, a monadic expression in %STORE-MONAD." @@ -622,10 +622,10 @@ (define println (operating-system-bootloader os)))) (grub.cfg (if (eq? 'container action) (return #f) - (operating-system-grub.cfg os - (if (eq? 'init action) - '() - (profile-grub-entries))))) + (operating-system-bootcfg os + (if (eq? 'init action) + '() + (profile-grub-entries))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From 32380cdbb12065f2ae4f7cf595d073181b99f18d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 15 Apr 2017 10:18:04 +0200 Subject: [PATCH 09/85] gnu: wireshark: Update to 2.2.6. * gnu/packages/networking.scm (wireshark): Update to 2.2.6. Signed-off-by: Arun Isaac --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 0c7dcd0fc3..82e7cea657 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -470,7 +470,7 @@ (define-public whois (define-public wireshark (package (name "wireshark") - (version "2.2.5") + (version "2.2.6") (synopsis "Network traffic analyzer") (source (origin @@ -479,7 +479,7 @@ (define-public wireshark version ".tar.bz2")) (sha256 (base32 - "1j4sc3pmy8l6k41007spglcqiabjlzc7f85pn3jmjr9ksv9qipbm")))) + "0jd89i9si43lyv3hsl6p1lkjmz4zagvc37wcbigsxxc5v8gda9zn")))) (build-system glib-or-gtk-build-system) (inputs `(("bison" ,bison) ("c-ares" ,c-ares) From 03daeaa70fa9e248b1c20e79610c546e07b54ebf Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 15 Apr 2017 13:49:37 +0200 Subject: [PATCH 10/85] scripts: system: Back out operating-system-bootcfg change. Follow-up to 475e2ce211ac05a814c1f1bc2b9648baa17ad369. * guix/scripts/system.scm (perform-action): Back out operating-system-bootcfg change. --- guix/scripts/system.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index a1c6d35909..8fe2a6b04e 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -622,10 +622,10 @@ (define println (operating-system-bootloader os)))) (grub.cfg (if (eq? 'container action) (return #f) - (operating-system-bootcfg os - (if (eq? 'init action) - '() - (profile-grub-entries))))) + (operating-system-grub.cfg os + (if (eq? 'init action) + '() + (profile-grub-entries))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From c76b3046f651e8f46db1a093fdfc78cdc0bc3a13 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sun, 2 Apr 2017 15:52:29 +0200 Subject: [PATCH 11/85] system: Rename operating-system-grub.cfg to operating-system-bootcfg. * gnu/system.scm (operating-system-grub.cfg): Rename to... (operating-system-bootcfg): ... this. * gnu/system/vm.scm (system-disk-image): Use operating-system-bootcfg. (system-qemu-image): Use operating-system-bootcfg. (system-qemu-image/shared-store): Use operating-system-bootcfg. * guix/scripts/system.scm (perform-action): Use operating-system-bootcfg. Signed-off-by: Danny Milosavljevic --- gnu/system.scm | 9 +++++---- gnu/system/vm.scm | 18 +++++++++--------- guix/scripts/system.scm | 8 ++++---- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index e74763d3d7..369dc20b8f 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2016 Alex Kost ;;; Copyright © 2016 Chris Marusich +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -92,7 +93,7 @@ (define-module (gnu system) operating-system-derivation operating-system-profile - operating-system-grub.cfg + operating-system-bootcfg operating-system-etc-directory operating-system-locale-directory operating-system-boot-script @@ -728,9 +729,9 @@ (define (operating-system-store-file-system os) "Return the file system that contains the store of OS." (store-file-system (operating-system-file-systems os))) -(define* (operating-system-grub.cfg os #:optional (old-entries '())) - "Return the GRUB configuration file for OS. Use OLD-ENTRIES to populate the -\"old entries\" menu." +(define* (operating-system-bootcfg os #:optional (old-entries '())) + "Return the bootloader configuration file for OS. Use OLD-ENTRIES to +populate the \"old entries\" menu." (mlet* %store-monad ((system (operating-system-derivation os)) (root-fs -> (operating-system-root-file-system os)) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 5c6e7f684a..ddb8981ec8 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -284,10 +284,10 @@ (define file-systems-to-keep file-systems-to-keep))))) (mlet* %store-monad ((os-drv (operating-system-derivation os)) - (grub.cfg (operating-system-grub.cfg os))) + (bootcfg (operating-system-bootcfg os))) (qemu-image #:name name #:os-derivation os-drv - #:grub-configuration grub.cfg + #:grub-configuration bootcfg #:disk-image-size disk-image-size #:disk-image-format "raw" #:file-system-type file-system-type @@ -295,7 +295,7 @@ (define file-systems-to-keep #:copy-inputs? #t #:register-closures? #t #:inputs `(("system" ,os-drv) - ("grub.cfg" ,grub.cfg)))))) + ("grub.cfg" ,bootcfg)))))) (define* (system-qemu-image os #:key @@ -328,13 +328,13 @@ (define file-systems-to-keep file-systems-to-keep))))) (mlet* %store-monad ((os-drv (operating-system-derivation os)) - (grub.cfg (operating-system-grub.cfg os))) + (bootcfg (operating-system-bootcfg os))) (qemu-image #:os-derivation os-drv - #:grub-configuration grub.cfg + #:grub-configuration bootcfg #:disk-image-size disk-image-size #:file-system-type file-system-type #:inputs `(("system" ,os-drv) - ("grub.cfg" ,grub.cfg)) + ("grub.cfg" ,bootcfg)) #:copy-inputs? #t)))) @@ -423,16 +423,16 @@ (define* (system-qemu-image/shared-store bootloaded included; thus, make a disk image that contains everything the bootloader refers to: OS kernel, initrd, bootloader data, etc." (mlet* %store-monad ((os-drv (operating-system-derivation os)) - (grub.cfg (operating-system-grub.cfg os))) + (bootcfg (operating-system-bootcfg os))) ;; XXX: When FULL-BOOT? is true, we end up creating an image that contains ;; GRUB.CFG 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 grub.cfg + #:grub-configuration bootcfg #:disk-image-size disk-image-size #:inputs (if full-boot? - `(("grub.cfg" ,grub.cfg)) + `(("grub.cfg" ,bootcfg)) '()) ;; XXX: Passing #t here is too slow, so let it off by default. diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 8fe2a6b04e..a1c6d35909 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -622,10 +622,10 @@ (define println (operating-system-bootloader os)))) (grub.cfg (if (eq? 'container action) (return #f) - (operating-system-grub.cfg os - (if (eq? 'init action) - '() - (profile-grub-entries))))) + (operating-system-bootcfg os + (if (eq? 'init action) + '() + (profile-grub-entries))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From 07f812c404cd05dcac0d2801ad476f6e367ca6d4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 15 Apr 2017 14:22:24 +0200 Subject: [PATCH 12/85] vm: Reword grub.cfg to bootcfg. * gnu/build/vm.scm (register-grub.cfg-root): Reword grub.cfg to bootcfg, (initialize-hard-disk): ditto, * gnu/system/vm.scm (system-disk-image): ditto, (system-qemu-image): ditto, (system-qemu-image/shared-store): ditto. Signed-off-by: Danny Milosavljevic --- gnu/build/vm.scm | 9 +++++---- gnu/system/vm.scm | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 44a3000eb1..1eb9a4c45e 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -284,18 +285,18 @@ (define target-store (unless register-closures? (reset-timestamps target)))) -(define (register-grub.cfg-root target grub.cfg) - "On file system TARGET, register GRUB.CFG as a GC root." +(define (register-grub.cfg-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 grub.cfg (string-append directory "/grub.cfg")))) + (symlink bootcfg (string-append directory "/grub.cfg")))) (define* (initialize-hard-disk device #:key grub.cfg (partitions '())) "Initialize DEVICE as a disk containing all the objects listed -in PARTITIONS, and using GRUB.CFG as its bootloader configuration file. +in PARTITIONS, and using BOOTCFG as its bootloader configuration file. Each partition is initialized by calling its 'initializer' procedure, passing it a directory name where it is mounted." diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index ddb8981ec8..374d8b6636 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Leo Famulari +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -295,7 +296,7 @@ (define file-systems-to-keep #:copy-inputs? #t #:register-closures? #t #:inputs `(("system" ,os-drv) - ("grub.cfg" ,bootcfg)))))) + ("bootcfg" ,bootcfg)))))) (define* (system-qemu-image os #:key @@ -334,7 +335,7 @@ (define file-systems-to-keep #:disk-image-size disk-image-size #:file-system-type file-system-type #:inputs `(("system" ,os-drv) - ("grub.cfg" ,bootcfg)) + ("bootcfg" ,bootcfg)) #:copy-inputs? #t)))) @@ -425,14 +426,14 @@ (define* (system-qemu-image/shared-store (mlet* %store-monad ((os-drv (operating-system-derivation os)) (bootcfg (operating-system-bootcfg os))) ;; XXX: When FULL-BOOT? is true, we end up creating an image that contains - ;; GRUB.CFG and all its dependencies, including the output of OS-DRV. + ;; 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 #:disk-image-size disk-image-size #:inputs (if full-boot? - `(("grub.cfg" ,bootcfg)) + `(("bootcfg" ,bootcfg)) '()) ;; XXX: Passing #t here is too slow, so let it off by default. From 7085ca9690f6b3838ae3dc0f832c30e41681e835 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 15 Apr 2017 14:37:01 +0200 Subject: [PATCH 13/85] system: Rename (internal) grub-device to fs->boot-device. * gnu/system.scm (grub-device): Rename to... (fs->boot-device): ... this. (operating-system-grub.cfg): Adapt. (operating-system-parameters-file): Adapt. Signed-off-by: Danny Milosavljevic --- gnu/system.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 369dc20b8f..69cbc8a081 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -746,7 +746,7 @@ (define* (operating-system-bootcfg os #:optional (old-entries '())) (label label) ;; The device where the kernel and initrd live. - (device (grub-device store-fs)) + (device (fs->boot-device store-fs)) (device-mount-point (file-system-mount-point store-fs)) @@ -761,7 +761,7 @@ (define* (operating-system-bootcfg os #:optional (old-entries '())) (grub-configuration-file (operating-system-bootloader os) entries #:old-entries old-entries))) -(define (grub-device fs) +(define (fs->boot-device fs) "Given FS, a object, return a value suitable for use as the device in a ." (case (file-system-title fs) @@ -787,7 +787,7 @@ (define (operating-system-parameters-file os) #$(operating-system-kernel-arguments os)) (initrd #$initrd) (store - (device #$(grub-device store)) + (device #$(fs->boot-device store)) (mount-point #$(file-system-mount-point store)))) #:set-load-path? #f))) From e61519ab9c26b2309c84b65456c4ee5cd4d2c163 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 15 Apr 2017 15:22:47 +0200 Subject: [PATCH 14/85] scripts: system: Rename grub? and install-grub? to bootloader? and install-bootloader?. * guix/scripts/system.scm (perform-action): Rename grub? to bootloader, (%options): rename install-grub? to install-bootloader?, (%default-options): ditto, (process-action): reindent and rename grub? to bootloader?. --- guix/scripts/system.scm | 48 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index a1c6d35909..b1a754f92d 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -591,7 +591,7 @@ (define latest (warning (_ "Failing to do that may downgrade your system!~%")))) (define* (perform-action action os - #:key grub? dry-run? derivations-only? + #:key bootloader? dry-run? derivations-only? use-substitutes? device target image-size full-boot? (mappings '()) @@ -631,7 +631,7 @@ (define println ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC ;; root. See . (drvs -> (if (memq action '(init reconfigure)) - (if grub? + (if bootloader? (list sys grub.cfg grub) (list sys grub.cfg)) (list sys))) @@ -648,7 +648,7 @@ (define println drvs) ;; Make sure GRUB is accessible. - (when grub? + (when bootloader? (let ((prefix (derivation->output-path grub))) (setenv "PATH" (string-append prefix "/bin:" prefix "/sbin:" @@ -658,7 +658,7 @@ (define println ((reconfigure) (mbegin %store-monad (switch-to-system os) - (mwhen grub? + (mwhen bootloader? (install-grub* (derivation->output-path grub.cfg) device "/")))) ((init) @@ -666,7 +666,7 @@ (define println (format #t (_ "initializing operating system under '~a'...~%") target) (install sys (canonicalize-path target) - #:grub? grub? + #:grub? bootloader? #:grub.cfg (derivation->output-path grub.cfg) #:device device)) (else @@ -788,7 +788,7 @@ (define %options result))) (option '("no-grub") #f #f (lambda (opt name arg result) - (alist-cons 'install-grub? #f result))) + (alist-cons 'install-bootloader? #f result))) (option '("full-boot") #f #f (lambda (opt name arg result) (alist-cons 'full-boot? #t result))) @@ -825,7 +825,7 @@ (define %default-options (max-silent-time . 3600) (verbosity . 0) (image-size . ,(* 900 (expt 2 20))) - (install-grub? . #t))) + (install-bootloader? . #t))) ;;; @@ -837,23 +837,23 @@ (define (process-action action args opts) ACTION must be one of the sub-commands that takes an operating system declaration as an argument (a file name.) OPTS is the raw alist of options resulting from command-line parsing." - (let* ((file (match args - (() #f) - ((x . _) x))) - (system (assoc-ref opts 'system)) - (os (if file - (load* file %user-module - #:on-error (assoc-ref opts 'on-error)) - (leave (_ "no configuration file specified~%")))) + (let* ((file (match args + (() #f) + ((x . _) x))) + (system (assoc-ref opts 'system)) + (os (if file + (load* file %user-module + #:on-error (assoc-ref opts 'on-error)) + (leave (_ "no configuration file specified~%")))) - (dry? (assoc-ref opts 'dry-run?)) - (grub? (assoc-ref opts 'install-grub?)) - (target (match args - ((first second) second) - (_ #f))) - (device (and grub? - (grub-configuration-device - (operating-system-bootloader os))))) + (dry? (assoc-ref opts 'dry-run?)) + (bootloader? (assoc-ref opts 'install-bootloader?)) + (target (match args + ((first second) second) + (_ #f))) + (device (and bootloader? + (grub-configuration-device + (operating-system-bootloader os))))) (with-store store (set-build-options-from-command-line store opts) @@ -879,7 +879,7 @@ (define (process-action action args opts) m) (_ #f)) opts) - #:grub? grub? + #:bootloader? bootloader? #:target target #:device device #:gc-root (assoc-ref opts 'gc-root))))) #:system system)))) From 99828febe05663c5d93dc52594eab28c6a1fe3d8 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 15 Apr 2017 15:32:25 +0200 Subject: [PATCH 15/85] tests: Remove unused import (gnu system grub). * gnu/tests/web.scm: Remove unused import. --- gnu/tests/web.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm index cdc5791237..bc7e3b89a9 100644 --- a/gnu/tests/web.scm +++ b/gnu/tests/web.scm @@ -19,7 +19,6 @@ (define-module (gnu tests web) #:use-module (gnu tests) #: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) From 0ab1e8ae8892c92fd7a1fd07430ba6f2b710668d Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 15 Apr 2017 15:49:47 +0200 Subject: [PATCH 16/85] system: grub: Use (first all-entries) instead of (first entries). * gnu/system/grub.scm (grub-configuration-file): Use (first all-entries) instead of (first entries). --- gnu/system/grub.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index 4f9bde6a62..bcfc3beae6 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -298,9 +298,9 @@ (define entry->gexp #$initrd))))) (mlet %store-monad ((sugar (eye-candy config - (menu-entry-device (first entries)) + (menu-entry-device (first all-entries)) (menu-entry-device-mount-point - (first entries)) + (first all-entries)) #:system system #:port #~port))) (define builder From 2e58e05bb68d4b747882cfa2b460b132d456f54a Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Sat, 15 Apr 2017 16:19:06 +0200 Subject: [PATCH 17/85] system: Pass boot-parameters to (gnu system grub). * gnu/system.scm (operating-system-bootcfg): Pass boot-parameters. * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters->menu-entry. Signed-off-by: Danny Milosavljevic --- gnu/system.scm | 11 ++++++----- gnu/system/grub.scm | 15 +++++++++++++-- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 69cbc8a081..4721668ba3 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -742,16 +742,17 @@ (define* (operating-system-bootcfg os #:optional (old-entries '())) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) (uuid->string (file-system-device root-fs)) (file-system-device root-fs))) - (entries -> (list (menu-entry + (entries -> (list (boot-parameters (label label) + (root-device root-device) ;; The device where the kernel and initrd live. - (device (fs->boot-device store-fs)) - (device-mount-point + (store-device (fs->boot-device store-fs)) + (store-mount-point (file-system-mount-point store-fs)) - (linux kernel) - (linux-arguments + (kernel kernel) + (kernel-arguments (cons* (string-append "--root=" root-device) #~(string-append "--system=" #$system) #~(string-append "--load=" #$system diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index bcfc3beae6..f2838d633d 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -26,6 +26,7 @@ (define-module (gnu system grub) #:use-module (guix gexp) #:use-module (guix download) #:use-module (gnu artwork) + #:use-module (gnu system) #:use-module (gnu system file-systems) #:autoload (gnu packages bootloaders) (grub) #:autoload (gnu packages compression) (gzip) @@ -266,6 +267,15 @@ (define (grub-root-search device file) (#f #~(format #f "search --file --set ~a" #$file))))) +(define (boot-parameters->menu-entry conf) + (menu-entry + (label (boot-parameters-label conf)) + (device (boot-parameters-store-device conf)) + (device-mount-point (boot-parameters-store-mount-point conf)) + (linux (boot-parameters-kernel conf)) + (linux-arguments (boot-parameters-kernel-arguments conf)) + (initrd (boot-parameters-initrd conf)))) + (define* (grub-configuration-file config entries #:key (system (%current-system)) @@ -275,7 +285,8 @@ (define* (grub-configuration-file config entries object. OLD-ENTRIES is taken to be a list of menu entries corresponding to old generations of the system." (define all-entries - (append entries (grub-configuration-menu-entries config))) + (append (map boot-parameters->menu-entry entries) + (grub-configuration-menu-entries config))) (define entry->gexp (match-lambda @@ -321,7 +332,7 @@ (define builder #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map entry->gexp old-entries) + #$@(map entry->gexp (map boot-parameters->menu-entry old-entries)) (format port "}~%")) #~())))) From 4ec1f82c636678858b1fe0ce6c755f66dc2dea77 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 12 Apr 2017 21:17:36 +0200 Subject: [PATCH 18/85] gnu: kodi: Update to 18.0_alpha-2-478d306. * gnu/packages/kodi.scm (kodi): Update to 18.0_alpha-2-478d306. [arguments]<#:configure-flags>: Remove obsolete flag. --- gnu/packages/kodi.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index b5d86b5636..c59b78773d 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -239,8 +239,8 @@ (define libdvdcss/kodi (define-public kodi ;; We package the git version because the current released ;; version was cut while the cmake transition was in turmoil. - (let ((commit "ec5d53da72868ad37df8bc005452a6daaa20f20b") - (revision "1")) + (let ((commit "478d3064a8c3d395e8afac314143561c7468ad87") + (revision "2")) (package (name "kodi") (version (string-append "18.0_alpha-" revision "-" (string-take commit 7))) @@ -252,7 +252,7 @@ (define-public kodi (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "05f0bip0w784ya72plw3p2bism5m501q07si2xbmg03vhqsagjl5")) + "19vb1qkk0ffh0b03x6whwl598bylsby3813i79vgrq5cvr4pigfy")) (snippet '(begin (use-modules (guix build utils)) @@ -263,7 +263,6 @@ (define-public kodi ;; And these sources: ;; "tools/depend/native/JsonSchemaBuilder" ;; "tools/depend/native/TexturePacker" - ;; "lib/UnrarXlib" ;; "lib/gtest" ;; "lib/cpluff" ;; "lib/libexif" @@ -287,8 +286,7 @@ (define-public kodi (string-append "-Dlibdvdcss_URL=" (assoc-ref %build-inputs "libdvdcss-bootstrapped")) (string-append "-DSYSTEM_LDFLAGS=-Wl,-rpath=" - (assoc-ref %build-inputs "curl") "/lib") - "-DENABLE_NONFREE=OFF") + (assoc-ref %build-inputs "curl") "/lib")) #:phases (modify-phases %standard-phases ;; The build system tries to bootstrap these bundled components From f46eb986c2d4d2bf35d03544e260ac8573a4158b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Apr 2017 01:53:43 +0200 Subject: [PATCH 19/85] gnu: xf86-video-intel: Update to 2.99.917-5-b57abe2. * gnu/packages/xorg.scm (xf86-video-intel): Update to 2.99.917-5-b57abe2. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 635c1832a4..aff1050a87 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2812,10 +2812,10 @@ (define-public xf86-video-i128 (define-public xf86-video-intel - (let ((commit "7e9e92c86b0fc4c848d164fe571798add5e1e36e")) + (let ((commit "b57abe20e81f4b8e4dd203b6a9eda7ff441bc8ce")) (package (name "xf86-video-intel") - (version (string-append "2.99.917-4-" (string-take commit 7))) + (version (string-append "2.99.917-5-" (string-take commit 7))) (source (origin ;; there's no current tarball @@ -2825,7 +2825,7 @@ (define-public xf86-video-intel (commit commit))) (sha256 (base32 - "0igfw8vpz1q0a2526j81fl65z6avfh6lzzrijcs72gwihqqhb1sv")) + "1l08jdrqrpaj2168hlz0hwlx27bm7n7lnv82jjyvy884v47gn2ay")) (file-name (string-append name "-" version)))) (build-system gnu-build-system) (inputs `(("mesa" ,mesa) From e5da4d8b4027a8300ee80a970e8628266609c126 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Apr 2017 11:52:11 +0200 Subject: [PATCH 20/85] gnu: mupdf: Update to 1.11. Also delete two stray patches that were added in 92ae98e2a0c2ffc807111dbf7616df47a9d3b31c and lost in a subsequent merge (mupdf/fixed was already gone at e90e0fad1b3ba79d81f02424e143ee6f4f736e8b). * gnu/packages/patches/mupdf-CVE-2017-5896.patch, gnu/packages/patches/mupdf-CVE-2017-5991.patch, gnu/packages/patches/mupdf-mujs-CVE-2016-10132.patch, gnu/packages/patches/mupdf-mujs-CVE-2016-10133.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them. * gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch: Adjust. * gnu/packages/pdf.scm (mupdf): Update to 1.11. [source]: Remove mujs patches. Adjust snippet to source rename. --- gnu/local.mk | 4 - .../patches/mupdf-CVE-2017-5896.patch | 63 ------ .../patches/mupdf-CVE-2017-5991.patch | 101 ---------- .../mupdf-build-with-openjpeg-2.1.patch | 16 +- .../patches/mupdf-mujs-CVE-2016-10132.patch | 188 ------------------ .../patches/mupdf-mujs-CVE-2016-10133.patch | 36 ---- gnu/packages/pdf.scm | 10 +- 7 files changed, 11 insertions(+), 407 deletions(-) delete mode 100644 gnu/packages/patches/mupdf-CVE-2017-5896.patch delete mode 100644 gnu/packages/patches/mupdf-CVE-2017-5991.patch delete mode 100644 gnu/packages/patches/mupdf-mujs-CVE-2016-10132.patch delete mode 100644 gnu/packages/patches/mupdf-mujs-CVE-2016-10133.patch diff --git a/gnu/local.mk b/gnu/local.mk index 82e94171b8..c78eeb5e8d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -785,10 +785,6 @@ dist_patch_DATA = \ %D%/packages/patches/multiqc-fix-git-subprocess-error.patch \ %D%/packages/patches/mumps-build-parallelism.patch \ %D%/packages/patches/mupdf-build-with-openjpeg-2.1.patch \ - %D%/packages/patches/mupdf-mujs-CVE-2016-10132.patch \ - %D%/packages/patches/mupdf-mujs-CVE-2016-10133.patch \ - %D%/packages/patches/mupdf-CVE-2017-5896.patch \ - %D%/packages/patches/mupdf-CVE-2017-5991.patch \ %D%/packages/patches/mupen64plus-ui-console-notice.patch \ %D%/packages/patches/musl-CVE-2016-8859.patch \ %D%/packages/patches/mutt-store-references.patch \ diff --git a/gnu/packages/patches/mupdf-CVE-2017-5896.patch b/gnu/packages/patches/mupdf-CVE-2017-5896.patch deleted file mode 100644 index 1537ecc896..0000000000 --- a/gnu/packages/patches/mupdf-CVE-2017-5896.patch +++ /dev/null @@ -1,63 +0,0 @@ -Fix CVE-2017-5896: - -https://bugs.ghostscript.com/show_bug.cgi?id=697515 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5896 -http://www.openwall.com/lists/oss-security/2017/02/10/1 -https://security-tracker.debian.org/tracker/CVE-2017-5896 -https://blogs.gentoo.org/ago/2017/02/09/mupdf-use-after-free-in-fz_subsample_pixmap-pixmap-c/ - -Patch lifted from upstream source repository: - -http://git.ghostscript.com/?p=mupdf.git;h=2c4e5867ee699b1081527bc6c6ea0e99a35a5c27 - -From 2c4e5867ee699b1081527bc6c6ea0e99a35a5c27 Mon Sep 17 00:00:00 2001 -From: Robin Watts -Date: Thu, 9 Feb 2017 07:12:16 -0800 -Subject: [PATCH] bug 697515: Fix out of bounds read in fz_subsample_pixmap - -Pointer arithmetic for final special case was going wrong. ---- - source/fitz/pixmap.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c -index a8317127..f1291dc2 100644 ---- a/source/fitz/pixmap.c -+++ b/source/fitz/pixmap.c -@@ -1104,6 +1104,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor, - "@STACK:r1,<9>,factor,n,fwd,back,back2,fwd2,divX,back4,fwd4,fwd3,divY,back5,divXY\n" - "ldr r4, [r13,#4*22] @ r4 = divXY \n" - "ldr r5, [r13,#4*11] @ for (nn = n; nn > 0; n--) { \n" -+ "ldr r8, [r13,#4*17] @ r8 = back4 \n" - "18: @ \n" - "mov r14,#0 @ r14= v = 0 \n" - "sub r5, r5, r1, LSL #8 @ for (xx = x; xx > 0; x--) { \n" -@@ -1120,7 +1121,7 @@ fz_subsample_pixmap_ARM(unsigned char *ptr, int w, int h, int f, int factor, - "mul r14,r4, r14 @ r14= v *= divX \n" - "mov r14,r14,LSR #16 @ r14= v >>= 16 \n" - "strb r14,[r9], #1 @ *d++ = r14 \n" -- "sub r0, r0, r8 @ s -= back2 \n" -+ "sub r0, r0, r8 @ s -= back4 \n" - "subs r5, r5, #1 @ n-- \n" - "bgt 18b @ } \n" - "21: @ \n" -@@ -1249,6 +1250,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor) - x += f; - if (x > 0) - { -+ int back4 = x * n - 1; - div = x * y; - for (nn = n; nn > 0; nn--) - { -@@ -1263,7 +1265,7 @@ fz_subsample_pixmap(fz_context *ctx, fz_pixmap *tile, int factor) - s -= back5; - } - *d++ = v / div; -- s -= back2; -+ s -= back4; - } - } - } --- -2.12.0 - diff --git a/gnu/packages/patches/mupdf-CVE-2017-5991.patch b/gnu/packages/patches/mupdf-CVE-2017-5991.patch deleted file mode 100644 index 1fa6dc3466..0000000000 --- a/gnu/packages/patches/mupdf-CVE-2017-5991.patch +++ /dev/null @@ -1,101 +0,0 @@ -Fix CVE-2017-5991: - -https://bugs.ghostscript.com/show_bug.cgi?id=697500 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5991 -https://security-tracker.debian.org/tracker/CVE-2017-5991 - -Patch lifted from upstream source repository: - -http://git.ghostscript.com/?p=mupdf.git;h=1912de5f08e90af1d9d0a9791f58ba3afdb9d465 - -From 1912de5f08e90af1d9d0a9791f58ba3afdb9d465 Mon Sep 17 00:00:00 2001 -From: Robin Watts -Date: Thu, 9 Feb 2017 15:49:15 +0000 -Subject: [PATCH] Bug 697500: Fix NULL ptr access. - -Cope better with errors during rendering - avoid letting the -gstate stack get out of sync. - -This avoids us ever getting into the situation of popping -a clip when we should be popping a mask or a group. This was -causing an unexpected case in the painting. ---- - source/pdf/pdf-op-run.c | 26 ++++++++++++++++++-------- - 1 file changed, 18 insertions(+), 8 deletions(-) - -diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c -index a3ea895d..f1eac8d3 100644 ---- a/source/pdf/pdf-op-run.c -+++ b/source/pdf/pdf-op-run.c -@@ -1213,6 +1213,7 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf - pdf_run_processor *pr = (pdf_run_processor *)proc; - pdf_gstate *gstate = NULL; - int oldtop = 0; -+ int oldbot = -1; - fz_matrix local_transform = *transform; - softmask_save softmask = { NULL }; - int gparent_save; -@@ -1232,16 +1233,17 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf - fz_var(cleanup_state); - fz_var(gstate); - fz_var(oldtop); -+ fz_var(oldbot); - - gparent_save = pr->gparent; - pr->gparent = pr->gtop; -+ oldtop = pr->gtop; - - fz_try(ctx) - { - pdf_gsave(ctx, pr); - - gstate = pr->gstate + pr->gtop; -- oldtop = pr->gtop; - - pdf_xobject_bbox(ctx, xobj, &xobj_bbox); - pdf_xobject_matrix(ctx, xobj, &xobj_matrix); -@@ -1302,12 +1304,25 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf - - doc = pdf_get_bound_document(ctx, xobj->obj); - -+ oldbot = pr->gbot; -+ pr->gbot = pr->gtop; -+ - pdf_process_contents(ctx, (pdf_processor*)pr, doc, resources, xobj->obj, NULL); - } - fz_always(ctx) - { -+ /* Undo any gstate mismatches due to the pdf_process_contents call */ -+ if (oldbot != -1) -+ { -+ while (pr->gtop > pr->gbot) -+ { -+ pdf_grestore(ctx, pr); -+ } -+ pr->gbot = oldbot; -+ } -+ - if (cleanup_state >= 3) -- pdf_grestore(ctx, pr); /* Remove the clippath */ -+ pdf_grestore(ctx, pr); /* Remove the state we pushed for the clippath */ - - /* wrap up transparency stacks */ - if (transparency) -@@ -1341,13 +1356,8 @@ pdf_run_xobject(fz_context *ctx, pdf_run_processor *proc, pdf_xobject *xobj, pdf - pr->gstate[pr->gparent].ctm = gparent_save_ctm; - pr->gparent = gparent_save; - -- if (gstate) -- { -- while (oldtop < pr->gtop) -- pdf_grestore(ctx, pr); -- -+ while (oldtop < pr->gtop) - pdf_grestore(ctx, pr); -- } - - pdf_unmark_obj(ctx, xobj->obj); - } --- -2.12.0 - diff --git a/gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch b/gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch index d97c1cb348..0b5b735ff3 100644 --- a/gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch +++ b/gnu/packages/patches/mupdf-build-with-openjpeg-2.1.patch @@ -13,17 +13,15 @@ diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c index 6b92e5c..72dea50 100644 --- a/source/fitz/load-jpx.c +++ b/source/fitz/load-jpx.c -@@ -1,13 +1,5 @@ - #include "mupdf/fitz.h" +@@ -444,11 +444,6 @@ + + #else /* HAVE_LURATECH */ --/* Without the definition of OPJ_STATIC, compilation fails on windows -- * due to the use of __stdcall. We believe it is required on some -- * linux toolchains too. */ -#define OPJ_STATIC --#ifndef _MSC_VER +-#define OPJ_HAVE_INTTYPES_H +-#if !defined(_WIN32) && !defined(_WIN64) -#define OPJ_HAVE_STDINT_H -#endif -- - #include + #define USE_JPIP - static void fz_opj_error_callback(const char *msg, void *client_data) + #include diff --git a/gnu/packages/patches/mupdf-mujs-CVE-2016-10132.patch b/gnu/packages/patches/mupdf-mujs-CVE-2016-10132.patch deleted file mode 100644 index e752e57ec5..0000000000 --- a/gnu/packages/patches/mupdf-mujs-CVE-2016-10132.patch +++ /dev/null @@ -1,188 +0,0 @@ -Fix CVE-2016-10132: - -https://bugs.ghostscript.com/show_bug.cgi?id=697381 -http://seclists.org/oss-sec/2017/q1/74 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10132 - -Patch lifted from upstream source repository: - -http://git.ghostscript.com/?p=mujs.git;h=fd003eceda531e13fbdd1aeb6e9c73156496e569 - -From fd003eceda531e13fbdd1aeb6e9c73156496e569 Mon Sep 17 00:00:00 2001 -From: Tor Andersson -Date: Fri, 2 Dec 2016 14:56:20 -0500 -Subject: [PATCH] Fix 697381: check allocation when compiling regular - expressions. - -Also use allocator callback function. ---- - thirdparty/mujs/jsgc.c | 2 +- - thirdparty/mujs/jsregexp.c | 2 +- - thirdparty/mujs/jsstate.c | 6 ------ - thirdparty/mujs/regexp.c | 45 +++++++++++++++++++++++++++++++++++---------- - thirdparty/mujs/regexp.h | 7 +++++++ - 5 files changed, 44 insertions(+), 18 deletions(-) - -diff --git a/thirdparty/mujs/jsgc.c b/thirdparty/mujs/jsgc.c -index 4f7e7dc..f80111e 100644 ---- a/thirdparty/mujs/jsgc.c -+++ b/thirdparty/mujs/jsgc.c -@@ -46,7 +46,7 @@ static void jsG_freeobject(js_State *J, js_Object *obj) - jsG_freeproperty(J, obj->head); - if (obj->type == JS_CREGEXP) { - js_free(J, obj->u.r.source); -- js_regfree(obj->u.r.prog); -+ js_regfreex(J->alloc, J->actx, obj->u.r.prog); - } - if (obj->type == JS_CITERATOR) - jsG_freeiterator(J, obj->u.iter.head); -diff --git a/thirdparty/mujs/jsregexp.c b/thirdparty/mujs/jsregexp.c -index a2d5156..7b09c06 100644 ---- a/thirdparty/mujs/jsregexp.c -+++ b/thirdparty/mujs/jsregexp.c -@@ -16,7 +16,7 @@ void js_newregexp(js_State *J, const char *pattern, int flags) - if (flags & JS_REGEXP_I) opts |= REG_ICASE; - if (flags & JS_REGEXP_M) opts |= REG_NEWLINE; - -- prog = js_regcomp(pattern, opts, &error); -+ prog = js_regcompx(J->alloc, J->actx, pattern, opts, &error); - if (!prog) - js_syntaxerror(J, "regular expression: %s", error); - -diff --git a/thirdparty/mujs/jsstate.c b/thirdparty/mujs/jsstate.c -index 638cab3..fd5bcf6 100644 ---- a/thirdparty/mujs/jsstate.c -+++ b/thirdparty/mujs/jsstate.c -@@ -9,12 +9,6 @@ - - static void *js_defaultalloc(void *actx, void *ptr, int size) - { -- if (size == 0) { -- free(ptr); -- return NULL; -- } -- if (!ptr) -- return malloc((size_t)size); - return realloc(ptr, (size_t)size); - } - -diff --git a/thirdparty/mujs/regexp.c b/thirdparty/mujs/regexp.c -index 9852be2..01c18a3 100644 ---- a/thirdparty/mujs/regexp.c -+++ b/thirdparty/mujs/regexp.c -@@ -807,23 +807,31 @@ static void dumpprog(Reprog *prog) - } - #endif - --Reprog *regcomp(const char *pattern, int cflags, const char **errorp) -+Reprog *regcompx(void *(*alloc)(void *ctx, void *p, int n), void *ctx, -+ const char *pattern, int cflags, const char **errorp) - { - struct cstate g; - Renode *node; - Reinst *split, *jump; - int i; - -- g.prog = malloc(sizeof (Reprog)); -- g.pstart = g.pend = malloc(sizeof (Renode) * strlen(pattern) * 2); -+ g.pstart = NULL; -+ g.prog = NULL; - - if (setjmp(g.kaboom)) { - if (errorp) *errorp = g.error; -- free(g.pstart); -- free(g.prog); -+ alloc(ctx, g.pstart, 0); -+ alloc(ctx, g.prog, 0); - return NULL; - } - -+ g.prog = alloc(ctx, NULL, sizeof (Reprog)); -+ if (!g.prog) -+ die(&g, "cannot allocate regular expression"); -+ g.pstart = g.pend = alloc(ctx, NULL, sizeof (Renode) * strlen(pattern) * 2); -+ if (!g.pstart) -+ die(&g, "cannot allocate regular expression parse list"); -+ - g.source = pattern; - g.ncclass = 0; - g.nsub = 1; -@@ -840,7 +848,9 @@ Reprog *regcomp(const char *pattern, int cflags, const char **errorp) - die(&g, "syntax error"); - - g.prog->nsub = g.nsub; -- g.prog->start = g.prog->end = malloc((count(node) + 6) * sizeof (Reinst)); -+ g.prog->start = g.prog->end = alloc(ctx, NULL, (count(node) + 6) * sizeof (Reinst)); -+ if (!g.prog->start) -+ die(&g, "cannot allocate regular expression instruction list"); - - split = emit(g.prog, I_SPLIT); - split->x = split + 3; -@@ -859,20 +869,35 @@ Reprog *regcomp(const char *pattern, int cflags, const char **errorp) - dumpprog(g.prog); - #endif - -- free(g.pstart); -+ alloc(ctx, g.pstart, 0); - - if (errorp) *errorp = NULL; - return g.prog; - } - --void regfree(Reprog *prog) -+void regfreex(void *(*alloc)(void *ctx, void *p, int n), void *ctx, Reprog *prog) - { - if (prog) { -- free(prog->start); -- free(prog); -+ alloc(ctx, prog->start, 0); -+ alloc(ctx, prog, 0); - } - } - -+static void *default_alloc(void *ctx, void *p, int n) -+{ -+ return realloc(p, (size_t)n); -+} -+ -+Reprog *regcomp(const char *pattern, int cflags, const char **errorp) -+{ -+ return regcompx(default_alloc, NULL, pattern, cflags, errorp); -+} -+ -+void regfree(Reprog *prog) -+{ -+ regfreex(default_alloc, NULL, prog); -+} -+ - /* Match */ - - static int isnewline(int c) -diff --git a/thirdparty/mujs/regexp.h b/thirdparty/mujs/regexp.h -index 4bb4615..6bb73e8 100644 ---- a/thirdparty/mujs/regexp.h -+++ b/thirdparty/mujs/regexp.h -@@ -1,6 +1,8 @@ - #ifndef regexp_h - #define regexp_h - -+#define regcompx js_regcompx -+#define regfreex js_regfreex - #define regcomp js_regcomp - #define regexec js_regexec - #define regfree js_regfree -@@ -8,6 +10,11 @@ - typedef struct Reprog Reprog; - typedef struct Resub Resub; - -+Reprog *regcompx(void *(*alloc)(void *ctx, void *p, int n), void *ctx, -+ const char *pattern, int cflags, const char **errorp); -+void regfreex(void *(*alloc)(void *ctx, void *p, int n), void *ctx, -+ Reprog *prog); -+ - Reprog *regcomp(const char *pattern, int cflags, const char **errorp); - int regexec(Reprog *prog, const char *string, Resub *sub, int eflags); - void regfree(Reprog *prog); --- -2.9.1 - diff --git a/gnu/packages/patches/mupdf-mujs-CVE-2016-10133.patch b/gnu/packages/patches/mupdf-mujs-CVE-2016-10133.patch deleted file mode 100644 index d73849262c..0000000000 --- a/gnu/packages/patches/mupdf-mujs-CVE-2016-10133.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix CVE-2016-10133: - -https://bugs.ghostscript.com/show_bug.cgi?id=697401 -http://seclists.org/oss-sec/2017/q1/74 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10133 - -Patch lifted from upstream source repository: - -https://git.ghostscript.com/?p=mujs.git;h=77ab465f1c394bb77f00966cd950650f3f53cb24 - -From 77ab465f1c394bb77f00966cd950650f3f53cb24 Mon Sep 17 00:00:00 2001 -From: Tor Andersson -Date: Thu, 12 Jan 2017 14:47:01 +0100 -Subject: [PATCH] Fix 697401: Error when dropping extra arguments to - lightweight functions. - ---- - thirdparty/mujs/jsrun.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/thirdparty/mujs/jsrun.c b/thirdparty/mujs/jsrun.c -index ee80845..782a6f9 100644 ---- a/thirdparty/mujs/jsrun.c -+++ b/thirdparty/mujs/jsrun.c -@@ -937,7 +937,7 @@ static void jsR_calllwfunction(js_State *J, int n, js_Function *F, js_Environmen - jsR_savescope(J, scope); - - if (n > F->numparams) { -- js_pop(J, F->numparams - n); -+ js_pop(J, n - F->numparams); - n = F->numparams; - } - for (i = n; i < F->varlen; ++i) --- -2.9.1 - diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 0882d3b942..5ccaa38eea 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -531,7 +531,7 @@ (define-public podofo (define-public mupdf (package (name "mupdf") - (version "1.10a") + (version "1.11") (source (origin (method url-fetch) @@ -539,10 +539,8 @@ (define-public mupdf name "-" version "-source.tar.gz")) (sha256 (base32 - "0dm8wcs8i29aibzkqkrn8kcnk4q0kd1v66pg48h5c3qqp4v1zk5a")) - (patches (search-patches "mupdf-build-with-openjpeg-2.1.patch" - "mupdf-mujs-CVE-2016-10132.patch" - "mupdf-mujs-CVE-2016-10133.patch")) + "02phamcchgsmvjnb3ir7r5sssvx9fcrscn297z73b82n1jl79510")) + (patches (search-patches "mupdf-build-with-openjpeg-2.1.patch")) (modules '((guix build utils))) (snippet ;; Delete all the bundled libraries except for mujs, which is @@ -554,7 +552,7 @@ (define-public mupdf "thirdparty/glfw" "thirdparty/harfbuzz" "thirdparty/jbig2dec" - "thirdparty/jpeg" + "thirdparty/libjpeg" "thirdparty/openjpeg" "thirdparty/zlib"))))) (build-system gnu-build-system) From f71f29cab2b484ea8e63d29a5766f680d0e800c1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Apr 2017 12:26:02 +0200 Subject: [PATCH 21/85] gnu: bc: Update to 1.07.1. * gnu/packages/algebra.scm (bc): Update to 1.07.1. [native-inputs]: Add ED and TEXINFO. [arguments]<#:phases>: Remove. --- gnu/packages/algebra.scm | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index ab73a6e2e5..670a8954a9 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages ed) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages gl) @@ -39,6 +41,7 @@ (define-module (gnu packages algebra) #:use-module (gnu packages readline) #:use-module (gnu packages shells) #:use-module (gnu packages tex) + #:use-module (gnu packages texinfo) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) @@ -468,35 +471,21 @@ (define-public gmp-ecm (define-public bc (package (name "bc") - (version "1.06") + (version "1.07.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/bc/bc-" version ".tar.gz")) (sha256 (base32 - "0cqf5jkwx6awgd2xc2a0mkpxilzcfmhncdcfg7c9439wgkqxkxjf")))) + "0amh9ik44jfg66csyvf4zz1l878c4755kjndq9j0270akflgrbb2")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) - (native-inputs `(("flex" ,flex))) + (native-inputs + `(("ed" ,ed) + ("flex" ,flex) + ("texinfo" ,texinfo))) (arguments - '(#:phases - (alist-replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - ;; This old `configure' script doesn't support - ;; variables passed as arguments. - (let ((out (assoc-ref outputs "out"))) - (setenv "CONFIG_SHELL" (which "bash")) - (zero? - (system* - "./configure" - (string-append "--prefix=" out) - ;; By default, man and info pages are put in - ;; PREFIX/{man,info}, but we want them in - ;; PREFIX/share/{man,info}. - (string-append "--mandir=" out "/share/man") - (string-append "--infodir=" out "/share/info"))))) - %standard-phases) - #:configure-flags + '(#:configure-flags (list "--with-readline"))) (home-page "https://www.gnu.org/software/bc/") (synopsis "Arbitrary precision numeric processing language") From bf144793aeb744fdc5bdfa98db776038ba0ea6c7 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Apr 2017 12:30:03 +0200 Subject: [PATCH 22/85] gnu: rocksdb: Disable failing test. * gnu/packages/databases.scm (rocksdb)[arguments]<#:phases>: Add one more test to 'disable-failing-tests' phase. --- gnu/packages/databases.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 794c775901..4dad473de3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -593,6 +593,9 @@ (define-public rocksdb (add-before 'check 'disable-failing-tests (lambda _ (substitute* "Makefile" + ;; This test fails with GCC-5 and is unmaintained. + ;; https://github.com/facebook/rocksdb/issues/2148 + (("^[[:blank:]]+spatial_db_test[[:blank:]]+\\\\") "\\") ;; These tests reliably fail due to "Too many open files". (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\") (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\")) From f91c677c03479c26a9c9ee5f2f44d8dc77bec262 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 14 Apr 2017 21:03:31 +0200 Subject: [PATCH 23/85] gnu: rocksdb: Don't build static library. * gnu/packages/databases.scm (rocksdb)[arguments]<#:phases>: Add new Makefile substitution. Remove 'delete-static-library' phase. Adjust 'build-release-libraries' phase to match. <#:make-flags>: Remove redundant flag. --- gnu/packages/databases.scm | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 4dad473de3..cc2f8a2f92 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -576,9 +576,6 @@ (define-public rocksdb (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" - ;; Make the resulting library position-independent so the - ;; static version can be included in shared objects. - "EXTRA_CXXFLAGS=-fPIC" (string-append "INSTALL_PATH=" (assoc-ref %outputs "out"))) #:phases @@ -587,6 +584,9 @@ (define-public rocksdb (lambda _ (substitute* "Makefile" (("build_tools/gnu_parallel") "parallel") + ;; Don't depend on the static library when installing. + (("install: install-static") + "install: install-shared") (("#!/bin/sh") (string-append "#!" (which "sh")))) #t)) (delete 'configure) @@ -600,26 +600,15 @@ (define-public rocksdb (("^[[:blank:]]+env_test[[:blank:]]+\\\\") "\\") (("^[[:blank:]]+persistent_cache_test[[:blank:]]+\\\\") "\\")) #t)) - (add-after - 'check 'build-release-libraries - ;; The 'check' target depends on the default target which is compiled - ;; with debug symbols. The 'install' target depends on shared and - ;; static release targets so we build them here for clarity. - ;; TODO: Add debug output. - (lambda* (#:key (make-flags '()) #:allow-other-keys) - ;; Prevent the build from adding machine-specific optimizations. - ;; This does not work if passed as a make flag... - (setenv "PORTABLE" "1") - (and (zero? (apply system* "make" "static_lib" make-flags)) - (zero? (apply system* "make" "shared_lib" make-flags))))) - (add-after 'install 'delete-static-library - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib"))) - (for-each (lambda (file) - (delete-file file)) - (find-files lib "\\.l?a$")) - #t)))))) + (add-after 'check 'build-release-libraries + ;; The default build target is a debug build for tests. The + ;; install target depends on "shared_lib" and "static_lib" + ;; targets for release builds so we build them here for clarity. + ;; TODO: Add debug output. + (lambda* (#:key (make-flags '()) #:allow-other-keys) + ;; Prevent the build from adding machine-specific optimizations. + (setenv "PORTABLE" "1") + (zero? (apply system* "make" "shared_lib" make-flags))))))) (native-inputs `(("parallel" ,parallel) ("perl" ,perl) From 8c326cf644b2fda3f33eb8816387ff1bd2acc640 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 15 Apr 2017 00:09:24 +0200 Subject: [PATCH 24/85] gnu: ceph: Disable failing test. * gnu/packages/patches/ceph-disable-unittest-throttle.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/storage.scm (ceph)[source]: Use it. --- gnu/local.mk | 1 + .../ceph-disable-unittest-throttle.patch | 52 +++++++++++++++++++ gnu/packages/storage.scm | 1 + 3 files changed, 54 insertions(+) create mode 100644 gnu/packages/patches/ceph-disable-unittest-throttle.patch diff --git a/gnu/local.mk b/gnu/local.mk index c78eeb5e8d..cf9f5c7197 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -512,6 +512,7 @@ dist_patch_DATA = \ %D%/packages/patches/calibre-no-updates-dialog.patch \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ + %D%/packages/patches/ceph-disable-unittest-throttle.patch \ %D%/packages/patches/ceph-skip-collect-sys-info-test.patch \ %D%/packages/patches/ceph-skip-unittest_blockdev.patch \ %D%/packages/patches/chicken-CVE-2017-6949.patch \ diff --git a/gnu/packages/patches/ceph-disable-unittest-throttle.patch b/gnu/packages/patches/ceph-disable-unittest-throttle.patch new file mode 100644 index 0000000000..08ae5f9e24 --- /dev/null +++ b/gnu/packages/patches/ceph-disable-unittest-throttle.patch @@ -0,0 +1,52 @@ +FIXME: This test broke after the gcc-5/glibc-2.25 core-updates merge. +Not sure what's going on here, it hangs after spawning the first thread. + +diff --git a/src/test/common/Throttle.cc b/src/test/common/Throttle.cc +index 5b6d73217d..40a477b2a3 100644 +--- a/src/test/common/Throttle.cc ++++ b/src/test/common/Throttle.cc +@@ -216,44 +216,6 @@ TEST_F(ThrottleTest, wait) { + } while(!waited); + } + +-TEST_F(ThrottleTest, destructor) { +- Thread_get *t; +- { +- int64_t throttle_max = 10; +- Throttle *throttle = new Throttle(g_ceph_context, "throttle", throttle_max); +- +- ASSERT_FALSE(throttle->get(5)); +- +- t = new Thread_get(*throttle, 7); +- t->create("t_throttle"); +- bool blocked; +- useconds_t delay = 1; +- do { +- usleep(delay); +- if (throttle->get_or_fail(1)) { +- throttle->put(1); +- blocked = false; +- } else { +- blocked = true; +- } +- delay *= 2; +- } while(!blocked); +- delete throttle; +- } +- +- { // +- // The thread is left hanging, otherwise it will abort(). +- // Deleting the Throttle on which it is waiting creates a +- // inconsistency that will be detected: the Throttle object that +- // it references no longer exists. +- // +- pthread_t id = t->get_thread_id(); +- ASSERT_EQ(pthread_kill(id, 0), 0); +- delete t; +- ASSERT_EQ(pthread_kill(id, 0), 0); +- } +-} +- + std::pair > test_backoff( + double low_threshhold, + double high_threshhold, diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 7288a0f790..388eb10444 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -59,6 +59,7 @@ (define-public ceph (patches (search-patches "ceph-skip-unittest_blockdev.patch" "ceph-skip-collect-sys-info-test.patch" + "ceph-disable-unittest-throttle.patch" "ceph-disable-cpu-optimizations.patch")) (modules '((guix build utils))) (snippet From abae042ea4d7fc3add0341dc2e04aaa0d7a12646 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 15 Apr 2017 19:34:00 +0200 Subject: [PATCH 25/85] scripts: system: Introduce profile-boot-parameters. * guix/scripts/system.scm (profile-boot-parameters): New variable. (reinstall-grub): Use profile-boot-parameters. (perform-action): Use profile-boot-parameters. Follow-up to 2e58e05bb68d4b747882cfa2b460b132d456f54a. --- guix/scripts/system.scm | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index b1a754f92d..3ba420d8e7 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -363,6 +363,24 @@ (define (seconds->string seconds) (date->string (time-utc->date time) "~Y-~m-~d ~H:~M"))) +(define* (profile-boot-parameters #:optional (profile %system-profile) + (numbers (generation-numbers profile))) + "Return a list of 'menu-entry' for the generations of PROFILE specified by +NUMBERS, which is a list of generation numbers." + (define (system->boot-parameters system number time) + (unless-file-not-found + (let* ((file (string-append system "/parameters")) + (params (call-with-input-file file + read-boot-parameters))) + params))) + (let* ((systems (map (cut generation-file-name profile <>) + numbers)) + (times (map (lambda (system) + (unless-file-not-found + (stat:mtime (lstat system)))) + systems))) + (filter-map system->boot-parameters systems numbers times))) + (define* (profile-grub-entries #:optional (profile %system-profile) (numbers (generation-numbers profile))) "Return a list of 'menu-entry' for the generations of PROFILE specified by @@ -438,9 +456,9 @@ (define (reinstall-grub store number) ;; from the actual past values for this generation's entry. (grub-config (grub-configuration (device root-device))) ;; Make the specified system generation the default entry. - (entries (profile-grub-entries %system-profile (list number))) + (entries (profile-boot-parameters %system-profile (list number))) (old-generations (delv number (generation-numbers %system-profile))) - (old-entries (profile-grub-entries %system-profile old-generations)) + (old-entries (profile-boot-parameters %system-profile old-generations)) (grub.cfg (run-with-store store (grub-configuration-file grub-config entries @@ -625,7 +643,7 @@ (define println (operating-system-bootcfg os (if (eq? 'init action) '() - (profile-grub-entries))))) + (profile-boot-parameters))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From 3cd501c859d0010a74d9205c89707a94cc2f7047 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 14 Apr 2017 16:16:42 +0200 Subject: [PATCH 26/85] gnu: speedtest-cli: Update to 1.0.3. * gnu/packages/networking.scm (speedtest-cli): Update to 1.0.3. Signed-off-by: Marius Bakke --- gnu/packages/networking.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 82e7cea657..3413487f9e 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2016 Arun Isaac ;;; Copyright © 2016 Benz Schenk ;;; Copyright © 2016, 2017 Pjotr Prins +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -1124,7 +1125,7 @@ (define-public openvswitch (define-public speedtest-cli (package (name "speedtest-cli") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) @@ -1133,7 +1134,7 @@ (define-public speedtest-cli (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ir9fqwr7cl9kfq7dgh9vkydkwf59wsx0cwbzbffw8i313xhzxa1")))) + "1v4xd03303mlzmv43qaz3fmskp2prhs1678a5522ia2yqwv98adz")))) (build-system python-build-system) (home-page "https://github.com/sivel/speedtest-cli") (synopsis "Internet bandwidth tester") From b74f224744361a08cce36bb74460ef41db3eb27d Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Sat, 15 Apr 2017 04:30:38 +0200 Subject: [PATCH 27/85] gnu: idris: Update to 1.0. * gnu/packages/idris.scm (idris): Update to 1.0. Signed-off-by: Marius Bakke --- gnu/packages/idris.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 2b7f4cc9dd..4e3a4fddbe 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -31,7 +31,7 @@ (define-module (gnu packages idris) (define-public idris (package (name "idris") - (version "0.99.1") + (version "1.0") (source (origin (method url-fetch) (uri (string-append @@ -39,7 +39,7 @@ (define-public idris "idris-" version "/idris-" version ".tar.gz")) (sha256 (base32 - "12kw452arnl5ldip2x749j5np3l40bv7asqdv9w0f60j45hii40r")))) + "1srbz0cyvd0k1yqgbrwnfj94yg5y3z533q1kzac96z1h7v454s5h")))) (build-system haskell-build-system) (inputs `(("gmp" ,gmp) From 178670c9ebf4c4037510aab96cfb7e4f55586331 Mon Sep 17 00:00:00 2001 From: Peter Mikkelsen Date: Sat, 15 Apr 2017 04:31:19 +0200 Subject: [PATCH 28/85] gnu: idris: Fix idris-default-arguments. * gnu/packages/idris.scm (idris-default-arguments): Don't set IDRIS_LIBRARY_PATH before building and change --install to --build. Signed-off-by: Marius Bakke --- gnu/packages/idris.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index 4e3a4fddbe..de9b5dd1d0 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -146,12 +146,14 @@ (define (idris-default-arguments name) idris-path-files)) (install-cmd (cons* idris-bin "--ibcsubdir" ibcsubdir - "--install" ipkg + "--build" ipkg + ;; only trigger a build, as --ibcsubdir + ;; already installs .ibc files. + (apply append (map (lambda (path) (list "--idrispath" path)) idris-path-subdirs))))) - (setenv "IDRIS_LIBRARY_PATH" idris-libs) ;; FIXME: Seems to be a bug in idris that causes a dubious failure. (apply system* install-cmd) #t)))))) From 891f3dc0222eb644943cdc90b08a710e24775590 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 15 Apr 2017 10:25:36 +0200 Subject: [PATCH 29/85] gnu: asymptote: Update to 2.41 * gnu/packages/plotutils.scm (asymptote): Update to 2.41. Signed-off-by: Marius Bakke --- gnu/packages/plotutils.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 6d84bf2db6..f94d56992e 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2015 Eric Bavier -;;; Copyright © 2016 Nicolas Goaziou +;;; Copyright © 2016, 2017 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -173,14 +173,14 @@ (define-public ploticus (define-public asymptote (package (name "asymptote") - (version "2.40") + (version "2.41") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asymptote/" version "/asymptote-" version ".src.tgz")) (sha256 (base32 - "08hy8hgh217df9kwznr22mg8vxxh3rbmbxgx3nqhxyggc9xqy544")))) + "1w7fbq6gy65g0mxg6wdxi7v178c5yxvh9yrnv3bzm4sjzf4pwvhx")))) (build-system gnu-build-system) ;; Note: The 'asy' binary retains a reference to docdir for use with its ;; "help" command in interactive mode, so adding a "doc" output is not From 2f36d90f2d24738bda8dc522645ad8f50bd62207 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 15 Apr 2017 10:28:57 +0200 Subject: [PATCH 30/85] gnu: giac-xcas: Update to 1.2.3-37. * gnu/packages/algebra.scm (giac-xcas): Update to 1.2.3-37. Signed-off-by: Marius Bakke --- gnu/packages/algebra.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 670a8954a9..db1344f34b 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Andreas Enge ;;; Copyright © 2013, 2015, 2017 Ludovic Courtès -;;; Copyright © 2016 Nicolas Goaziou +;;; Copyright © 2016, 2017 Nicolas Goaziou ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 Tobias Geerinckx-Rice @@ -206,7 +206,7 @@ (define-public gp2c (define-public giac-xcas (package (name "giac-xcas") - (version "1.2.3-25") + (version "1.2.3-37") (source (origin (method url-fetch) ;; "~parisse/giac" is not used because the maintainer regularly @@ -218,7 +218,7 @@ (define-public giac-xcas "source/giac_" version ".tar.gz")) (sha256 (base32 - "0d6a42p8111raf7k16yvjajnpj22abiqndy3yzkrb4b8l071r24d")))) + "180146rm8fxlbd6x25x81yscf6q8qjpzr35k203r25c2xkcb7h2x")))) (build-system gnu-build-system) (arguments `(#:phases From 958a1fda9e0ad41468cbdb88766e7c854dd32df4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sat, 15 Apr 2017 22:02:38 +0200 Subject: [PATCH 31/85] system: Make grub use instead of again. * gnu/system/grub.scm: Remove boot-parameters->menu-entry. (grub-configuration): Don't use boot-parameters->menu-entry. * gnu/system.scm (operating-system-bootcfg): Use menu-entry. * guix/scripts/system.scm (reinstall-grub): Use profile-grub-entries. (perform-action): Use profile-grub-entries. --- gnu/system.scm | 11 +++++------ gnu/system/grub.scm | 13 ++----------- guix/scripts/system.scm | 6 +++--- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 4721668ba3..69cbc8a081 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -742,17 +742,16 @@ (define* (operating-system-bootcfg os #:optional (old-entries '())) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) (uuid->string (file-system-device root-fs)) (file-system-device root-fs))) - (entries -> (list (boot-parameters + (entries -> (list (menu-entry (label label) - (root-device root-device) ;; The device where the kernel and initrd live. - (store-device (fs->boot-device store-fs)) - (store-mount-point + (device (fs->boot-device store-fs)) + (device-mount-point (file-system-mount-point store-fs)) - (kernel kernel) - (kernel-arguments + (linux kernel) + (linux-arguments (cons* (string-append "--root=" root-device) #~(string-append "--system=" #$system) #~(string-append "--load=" #$system diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index f2838d633d..cde4b9e23a 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -267,15 +267,6 @@ (define (grub-root-search device file) (#f #~(format #f "search --file --set ~a" #$file))))) -(define (boot-parameters->menu-entry conf) - (menu-entry - (label (boot-parameters-label conf)) - (device (boot-parameters-store-device conf)) - (device-mount-point (boot-parameters-store-mount-point conf)) - (linux (boot-parameters-kernel conf)) - (linux-arguments (boot-parameters-kernel-arguments conf)) - (initrd (boot-parameters-initrd conf)))) - (define* (grub-configuration-file config entries #:key (system (%current-system)) @@ -285,7 +276,7 @@ (define* (grub-configuration-file config entries 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) + (append entries (grub-configuration-menu-entries config))) (define entry->gexp @@ -332,7 +323,7 @@ (define builder #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map entry->gexp (map boot-parameters->menu-entry old-entries)) + #$@(map entry->gexp old-entries) (format port "}~%")) #~())))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 3ba420d8e7..9d86efdd77 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -456,9 +456,9 @@ (define (reinstall-grub store number) ;; from the actual past values for this generation's entry. (grub-config (grub-configuration (device root-device))) ;; Make the specified system generation the default entry. - (entries (profile-boot-parameters %system-profile (list number))) + (entries (profile-grub-entries %system-profile (list number))) (old-generations (delv number (generation-numbers %system-profile))) - (old-entries (profile-boot-parameters %system-profile old-generations)) + (old-entries (profile-grub-entries %system-profile old-generations)) (grub.cfg (run-with-store store (grub-configuration-file grub-config entries @@ -643,7 +643,7 @@ (define println (operating-system-bootcfg os (if (eq? 'init action) '() - (profile-boot-parameters))))) + (profile-grub-entries))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From af3f64477cb1586a567268c4df85dbb3bf4362cf Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sat, 15 Apr 2017 00:32:23 +0530 Subject: [PATCH 32/85] gnu: racket: Update to 6.8. * gnu/packages/scheme.scm (racket): Update to 6.8. --- gnu/packages/scheme.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 1ccf62586f..f6aee005c4 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -392,7 +392,7 @@ (define-public scheme48 (define-public racket (package (name "racket") - (version "6.6") + (version "6.8") (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" @@ -402,7 +402,7 @@ (define-public racket version "/racket/racket-" version "-src-unix.tgz"))) (sha256 (base32 - "1kzdi1n6h6hmz8zd9k8r5a5yp2ryi4w3c2fjm1k6cqicn18cwaxz")))) + "1l9z1a0r5zydr50cklx9xjw3l0pwnf64i10xq7112fl1r89q3qgv")))) (build-system gnu-build-system) (arguments '(#:phases From efe7d19a9edafb793dca21dcefce89ead3465030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 15 Apr 2017 22:12:37 +0200 Subject: [PATCH 33/85] services: 'service-parameters' becomes 'service-value'. * gnu/services.scm ()[parameters]: Rename to... [value]: ... this. Change calls to 'service-parameters' to 'service-value'. * gnu/system.scm, gnu/tests/base.scm, guix/scripts/system.scm, tests/services.scm: Likewise. * doc/guix.texi (Service Reference): Adjust accordingly. --- doc/guix.texi | 2 +- gnu/services.scm | 21 +++++++++++++-------- gnu/system.scm | 8 ++++---- gnu/tests/base.scm | 2 +- guix/scripts/system.scm | 6 +++--- tests/services.scm | 4 ++-- 6 files changed, 24 insertions(+), 19 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 07f52becf8..bf46f89bf2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15684,7 +15684,7 @@ Return true if @var{obj} is a service. Return the type of @var{service}---i.e., a @code{} object. @end deffn -@deffn {Scheme Procedure} service-parameters @var{service} +@deffn {Scheme Procedure} service-value @var{service} Return the value associated with @var{service}. It represents its parameters. @end deffn diff --git a/gnu/services.scm b/gnu/services.scm index 9f6e323e18..af4cffe819 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -51,7 +51,8 @@ (define-module (gnu services) service service? service-kind - service-parameters + service-value + service-parameters ;deprecated simple-service modify-services @@ -142,10 +143,14 @@ (define (write-service-type type port) ;; Services of a given type. (define-record-type - (service type parameters) + (service type value) service? (type service-kind) - (parameters service-parameters)) + (value service-value)) + +(define service-parameters + ;; Deprecated alias. + service-value) (define (simple-service name target value) "Return a service that extends TARGET with VALUE. This works by creating a @@ -161,7 +166,7 @@ (define-syntax %modify-service service) ((_ svc (kind param => exp ...) clauses ...) (if (eq? (service-kind svc) kind) - (let ((param (service-parameters svc))) + (let ((param (service-value svc))) (service (service-kind svc) (begin exp ...))) (%modify-service svc clauses ...))))) @@ -321,7 +326,7 @@ (define (directory-union name things) (define* (activation-service->script service) "Return as a monadic value the activation script for SERVICE, a service of ACTIVATION-SCRIPT-TYPE." - (activation-script (service-parameters service))) + (activation-script (service-value service))) (define (activation-script gexps) "Return the system's activation script, which evaluates GEXPS." @@ -432,7 +437,7 @@ (define (extra-special-file file target) (define (etc-directory service) "Return the directory for SERVICE, a service of type ETC-SERVICE-TYPE." - (files->etc-directory (service-parameters service))) + (files->etc-directory (service-value service))) (define (files->etc-directory files) (file-union "etc" files)) @@ -605,7 +610,7 @@ (define (apply-extension target) (match (find (matching-extension target) (service-type-extensions (service-kind service))) (($ _ compute) - (compute (service-parameters service)))))) + (compute (service-value service)))))) (match (filter (lambda (service) (eq? (service-kind service) target-type)) @@ -616,7 +621,7 @@ (define (apply-extension target) (extensions (map (apply-extension sink) dependents)) (extend (service-type-extend (service-kind sink))) (compose (service-type-compose (service-kind sink))) - (params (service-parameters sink))) + (params (service-value sink))) ;; We distinguish COMPOSE and EXTEND because PARAMS typically has a ;; different type than the elements of EXTENSIONS. (if extend diff --git a/gnu/system.scm b/gnu/system.scm index 69cbc8a081..89c4150f99 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -615,7 +615,7 @@ (define* (operating-system-boot-script os #:key container?) (let* ((services (operating-system-services os #:container? container?)) (boot (fold-services services #:target-type boot-service-type))) ;; BOOT is the script as a monadic value. - (service-parameters boot))) + (service-value boot))) (define (operating-system-user-accounts os) "Return the list of user accounts of OS." @@ -623,12 +623,12 @@ (define (operating-system-user-accounts os) (account (fold-services services #:target-type account-service-type))) (filter user-account? - (service-parameters account)))) + (service-value account)))) (define (operating-system-shepherd-service-names os) "Return the list of Shepherd service names for OS." (append-map shepherd-service-provision - (service-parameters + (service-value (fold-services (operating-system-services os) #:target-type shepherd-root-service-type)))) @@ -638,7 +638,7 @@ (define* (operating-system-derivation os #:key container?) (let* ((services (operating-system-services os #:container? container?)) (system (fold-services services))) ;; SYSTEM contains the derivation as a monadic value. - (service-parameters system))) + (service-value system))) (define* (operating-system-profile os #:key container?) "Return a derivation that builds the system profile of OS." diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index bcb8299c73..6ce5ab3de1 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -56,7 +56,7 @@ (define* (run-basic-test os command #:optional (name "basic") inserted before the first test. This is used to introduce an extra initialization step, such as entering a LUKS passphrase." (define special-files - (service-parameters + (service-value (fold-services (operating-system-services os) #:target-type special-files-service-type))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 9d86efdd77..9ffdc15abb 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -289,7 +289,7 @@ (define (upgrade-shepherd-services os) running service. Unloading or stopping the wrong service ('udev', say) could bring the system down." (define new-services - (service-parameters + (service-value (fold-services (operating-system-services os) #:target-type shepherd-root-service-type))) @@ -487,7 +487,7 @@ (define (reinstall-grub store number) (define (service-node-label service) "Return a label to represent SERVICE." (let ((type (service-kind service)) - (value (service-parameters service))) + (value (service-value service))) (string-append (symbol->string (service-type-name type)) (cond ((or (number? value) (symbol? value)) (string-append " " (object->string value))) @@ -711,7 +711,7 @@ (define (export-shepherd-graph os port) (let* ((services (operating-system-services os)) (pid1 (fold-services services #:target-type shepherd-root-service-type)) - (shepherds (service-parameters pid1)) ;list of + (shepherds (service-value pid1)) ;list of (sinks (filter (lambda (service) (null? (shepherd-service-requirement service))) shepherds))) diff --git a/tests/services.scm b/tests/services.scm index 8993c3dafc..7983427a7d 100644 --- a/tests/services.scm +++ b/tests/services.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,7 +75,7 @@ (define live-service (iota 5 1))) #:target-type t1))) (and (eq? (service-kind r) t1) - (service-parameters r)))) + (service-value r)))) (test-assert "fold-services, ambiguity" (let* ((t1 (service-type (name 't1) (extensions '()) From f816dba680124860022ba155cf5a6a337739ef11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 15 Apr 2017 23:48:34 +0200 Subject: [PATCH 34/85] ui: Gracefully report '&message' conditions. * guix/ui.scm (report-load-error, warn-about-load-error) (read/eval): Add special-case for SRFI-35 &message conditions. --- guix/ui.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index b3c94795fe..ae59718747 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -260,7 +260,11 @@ (define* (report-load-error file args #:optional frame) (format (current-error-port) (_ "~a: error: ~a~%") (location->string loc) message))) (('srfi-34 obj) - (report-error (_ "exception thrown: ~s~%") obj)) + (if (message-condition? obj) + (report-error (_ "~a~%") + (gettext (condition-message obj) + %gettext-domain)) + (report-error (_ "exception thrown: ~s~%") obj))) ((error args ...) (report-error (_ "failed to load '~a':~%") file) (apply display-error frame (current-error-port) args)))) @@ -277,8 +281,12 @@ (define (warn-about-load-error file args) ;FIXME: factorize with ↑ (format (current-error-port) (_ "~a: warning: ~a~%") (location->string loc) message))) (('srfi-34 obj) - (warning (_ "failed to load '~a': exception thrown: ~s~%") - file obj)) + (if (message-condition? obj) + (warning (_ "failed to load '~a': ~a~%") + file + (gettext (condition-message obj) %gettext-domain)) + (warning (_ "failed to load '~a': exception thrown: ~s~%") + file obj))) ((error args ...) (warning (_ "failed to load '~a':~%") file) (apply display-error #f (current-error-port) args)))) @@ -539,7 +547,11 @@ (define (read/eval str) (('syntax-error proc message properties form . rest) (report-error (_ "syntax error: ~a~%") message)) (('srfi-34 obj) - (report-error (_ "exception thrown: ~s~%") obj)) + (if (message-condition? obj) + (report-error (_ "~a~%") + (gettext (condition-message obj) + %gettext-domain)) + (report-error (_ "exception thrown: ~s~%") obj))) ((error args ...) (apply display-error #f (current-error-port) args)) (what? #f)) From 1bb895eabf74a1e571887eb1521915e668a5c28d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 15 Apr 2017 23:53:23 +0200 Subject: [PATCH 35/85] services: Service types can now specify a default value for instances. * gnu/services.scm (&no-default-value): New variable. ()[default-value]: New field. (): Rename constructor from 'service' to 'make-service'. (service): New macro. (%service-with-default-value): New procedure. (&missing-value-service-error): New error condition. * tests/services.scm ("services, default value"): New test. * doc/guix.texi (Service Types and Services): Document 'default-value'. (Service Reference): Explain default values. --- doc/guix.texi | 39 ++++++++++++++++++++++++++--- gnu/services.scm | 62 ++++++++++++++++++++++++++++++++++++++++++---- tests/services.scm | 11 ++++++++ 3 files changed, 103 insertions(+), 9 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index bf46f89bf2..fdd71141f0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15555,11 +15555,12 @@ with a simple example, the service type for the Guix build daemon (extensions (list (service-extension shepherd-root-service-type guix-shepherd-service) (service-extension account-service-type guix-accounts) - (service-extension activation-service-type guix-activation))))) + (service-extension activation-service-type guix-activation))) + (default-value (guix-configuration)))) @end example @noindent -It defines two things: +It defines three things: @enumerate @item @@ -15572,6 +15573,9 @@ service, returns a list of objects to extend the service of that type. Every service type has at least one service extension. The only exception is the @dfn{boot service type}, which is the ultimate service. + +@item +Optionally, a default value for instances of this type. @end enumerate In this example, @var{guix-service-type} extends three services: @@ -15607,7 +15611,13 @@ A service of this type is instantiated like this: The second argument to the @code{service} form is a value representing the parameters of this specific service instance. @xref{guix-configuration-type, @code{guix-configuration}}, for -information about the @code{guix-configuration} data type. +information about the @code{guix-configuration} data type. When the +value is omitted, the default value specified by +@code{guix-service-type} is used: + +@example +(service guix-service-type) +@end example @var{guix-service-type} is quite simple because it extends other services but is not extensible itself. @@ -15670,10 +15680,31 @@ Services}). This section provides a reference on how to manipulate services and service types. This interface is provided by the @code{(gnu services)} module. -@deffn {Scheme Procedure} service @var{type} @var{value} +@deffn {Scheme Procedure} service @var{type} [@var{value}] Return a new service of @var{type}, a @code{} object (see below.) @var{value} can be any object; it represents the parameters of this particular service instance. + +When @var{value} is omitted, the default value specified by @var{type} +is used; if @var{type} does not specify a default value, an error is +raised. + +For instance, this: + +@example +(service openssh-service-type) +@end example + +@noindent +is equivalent to this: + +@example +(service openssh-service-type + (openssh-configuration)) +@end example + +In both cases the result is an instance of @code{openssh-service-type} +with the default configuration. @end deffn @deffn {Scheme Procedure} service? @var{obj} diff --git a/gnu/services.scm b/gnu/services.scm index af4cffe819..b1b53fd18b 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -25,6 +25,7 @@ (define-module (gnu services) #:use-module (guix profiles) #:use-module (guix sets) #:use-module (guix ui) + #:use-module ((guix utils) #:select (source-properties->location)) #:use-module (guix modules) #:use-module (gnu packages base) #:use-module (gnu packages bash) @@ -47,6 +48,7 @@ (define-module (gnu services) service-type-extensions service-type-compose service-type-extend + service-type-default-value service service? @@ -60,6 +62,9 @@ (define-module (gnu services) fold-services service-error? + missing-value-service-error? + missing-value-service-error-type + missing-value-service-error-location missing-target-service-error? missing-target-service-error-service missing-target-service-error-target-type @@ -119,6 +124,10 @@ (define-record-type (target service-extension-target) ; (compute service-extension-compute)) ;params -> params +(define &no-default-value + ;; Value used to denote service types that have no associated default value. + '(no default value)) + (define-record-type* service-type make-service-type service-type? (name service-type-name) ;symbol (for debugging) @@ -132,7 +141,11 @@ (define-record-type* service-type make-service-type ;; Extend the services' own parameters with the extension composition. (extend service-type-extend ;list of Any -> parameters - (default #f))) + (default #f)) + + ;; Optional default value for instances of this type. + (default-value service-type-default-value ;Any + (default &no-default-value))) (define (write-service-type type port) (format port "#" @@ -143,11 +156,53 @@ (define (write-service-type type port) ;; Services of a given type. (define-record-type - (service type value) + (make-service type value) service? (type service-kind) (value service-value)) +(define-syntax service + (syntax-rules () + "Return a service instance of TYPE. The service value is VALUE or, if +omitted, TYPE's default value." + ((_ type value) + (make-service type value)) + ((_ type) + (%service-with-default-value (current-source-location) + type)))) + +(define (%service-with-default-value location type) + "Return a instance of service type TYPE with its default value, if any. If +TYPE does not have a default value, an error is raised." + ;; TODO: Currently this is a run-time error but with a little bit macrology + ;; we could turn it into an expansion-time error. + (let ((default (service-type-default-value type))) + (if (eq? default &no-default-value) + (let ((location (source-properties->location location))) + (raise + (condition + (&missing-value-service-error (type type) (location location)) + (&message + (message (format #f (_ "~a: no value specified \ +for service of type '~a'") + (location->string location) + (service-type-name type))))))) + (service type default)))) + +(define-condition-type &service-error &error + service-error?) + +(define-condition-type &missing-value-service-error &service-error + missing-value-service-error? + (type missing-value-service-error-type) + (location missing-value-service-error-location)) + + + +;;; +;;; Helpers. +;;; + (define service-parameters ;; Deprecated alias. service-value) @@ -541,9 +596,6 @@ (define gc-root-service-type ;;; Service folding. ;;; -(define-condition-type &service-error &error - service-error?) - (define-condition-type &missing-target-service-error &service-error missing-target-service-error? (service missing-target-service-error-service) diff --git a/tests/services.scm b/tests/services.scm index 7983427a7d..8484ee982a 100644 --- a/tests/services.scm +++ b/tests/services.scm @@ -31,6 +31,17 @@ (define live-service (test-begin "services") +(test-equal "services, default value" + '(42 123 234 error) + (let* ((t1 (service-type (name 't1) (extensions '()))) + (t2 (service-type (name 't2) (extensions '()) + (default-value 42)))) + (list (service-value (service t2)) + (service-value (service t2 123)) + (service-value (service t1 234)) + (guard (c ((missing-value-service-error? c) 'error)) + (service t1))))) + (test-assert "service-back-edges" (let* ((t1 (service-type (name 't1) (extensions '()) (compose +) (extend *))) From 3d3c56500843b5573ba6419db5e66075fb8ac8ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 16 Apr 2017 00:06:43 +0200 Subject: [PATCH 36/85] services: Add a default value to various service types. * gnu/services/admin.scm (rottlog-service-type)[default-value]: New field. * gnu/services/base.scm (guix-service-type)[default-value]: New field. (guix-publish-service-type)[default-value]: New field. * gnu/services/cups.scm (cups-service-type)[default-value]: New field. * gnu/services/dict.scm (dicod-service-type)[default-value]: New field. * gnu/services/mcron.scm (mcron-service-type)[default-value]: New field. * gnu/services/networking.scm ()[config-file]: Add default value. (tor-service-type)[default-value]: New field. ()[interface, port, extra-settings]: Add default values. (bitlbee-service-type)[default-value]: New field. (wpa-supplicant-service-type)[default-value]: New field. (tlp-service-type)[default-value]: New field. (openssh-service-type)[default-value]: New field. * doc/guix.texi (Base Services, Log Rotation) (Networking Services, Printing Services): (Power management Services): Adjust examples accordingly. --- doc/guix.texi | 21 +++++++++++---------- gnu/services/admin.scm | 5 +++-- gnu/services/base.scm | 6 ++++-- gnu/services/cups.scm | 4 +++- gnu/services/dict.scm | 3 ++- gnu/services/mcron.scm | 5 +++-- gnu/services/networking.scm | 21 ++++++++++++++------- gnu/services/pm.scm | 3 ++- gnu/services/ssh.scm | 5 +++-- 9 files changed, 45 insertions(+), 28 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index fdd71141f0..810139dbc1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9066,9 +9066,9 @@ This service is not part of @var{%base-services}. @end deffn @anchor{guix-publish-service-type} -@deffn {Scheme Variable} guix-publish-service-type @var{config} +@deffn {Scheme Variable} guix-publish-service-type This is the service type for @command{guix publish} (@pxref{Invoking -guix publish}). @var{config} must be a @code{guix-configuration} +guix publish}). Its value must be a @code{guix-configuration} object, as described below. This assumes that @file{/etc/guix} already contains a signing key pair as @@ -9256,7 +9256,7 @@ with the default settings. (operating-system ;; @dots{} (services (cons* (mcron-service) - (service rottlog-service-type (rottlog-configuration)) + (service rottlog-service-type) %base-services))) @end lisp @@ -9433,10 +9433,9 @@ The value of this service is the @code{wpa-supplicant} package to use. Thus, it can be instantiated like this: @lisp -(use-modules (gnu services networking) - (gnu packages admin)) +(use-modules (gnu services networking)) -(service wpa-supplicant-service-type wpa-supplicant) +(service wpa-supplicant-service-type) @end lisp @end defvr @@ -10044,9 +10043,10 @@ system, add a @code{cups-service} to the operating system definition: @deffn {Scheme Variable} cups-service-type The service type for the CUPS print server. Its value should be a valid -CUPS configuration (see below). For example: +CUPS configuration (see below). To use the default settings, simply +write: @example -(service cups-service-type (cups-configuration)) +(service cups-service-type) @end example @end deffn @@ -13874,9 +13874,10 @@ source is detected. More information can be found at @deffn {Scheme Variable} tlp-service-type The service type for the TLP tool. Its value should be a valid -TLP configuration (see below). For example: +TLP configuration (see below). To use the default settings, simply +write: @example -(service tlp-service-type (tlp-configuration)) +(service tlp-service-type) @end example @end deffn diff --git a/gnu/services/admin.scm b/gnu/services/admin.scm index deaf677bd9..6ac24e32b0 100644 --- a/gnu/services/admin.scm +++ b/gnu/services/admin.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Jan Nieuwenhuizen -;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016, 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -115,6 +115,7 @@ (define rottlog-service-type ;; Add Rottlog to the global profile so users can access ;; the documentation. (service-extension profile-service-type - (compose list rottlog-rottlog)))))) + (compose list rottlog-rottlog)))) + (default-value (rottlog-configuration)))) ;;; admin.scm ends here diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 95a1ba2a6c..79ba205c54 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1424,7 +1424,8 @@ (define guix-service-type (service-extension account-service-type guix-accounts) (service-extension activation-service-type guix-activation) (service-extension profile-service-type - (compose list guix-configuration-guix)))))) + (compose list guix-configuration-guix)))) + (default-value (guix-configuration)))) (define* (guix-service #:optional (config %default-guix-configuration)) "Return a service that runs the Guix build daemon according to @@ -1477,7 +1478,8 @@ (define guix-publish-service-type (list (service-extension shepherd-root-service-type guix-publish-shepherd-service) (service-extension account-service-type - (const %guix-publish-accounts)))))) + (const %guix-publish-accounts)))) + (default-value (guix-publish-configuration)))) (define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost")) "Return a service that runs @command{guix publish} listening on @var{host} diff --git a/gnu/services/cups.scm b/gnu/services/cups.scm index 70a71eff0a..4c62e6a6f7 100644 --- a/gnu/services/cups.scm +++ b/gnu/services/cups.scm @@ -1022,7 +1022,9 @@ (define cups-service-type (inherit config) (extensions (append (opaque-cups-configuration-extensions config) - extensions))))))))) + extensions))))))) + + (default-value (cups-configuration)))) ;; A little helper to make it easier to document all those fields. (define (generate-cups-documentation) diff --git a/gnu/services/dict.scm b/gnu/services/dict.scm index 64de111511..69eadafd2e 100644 --- a/gnu/services/dict.scm +++ b/gnu/services/dict.scm @@ -162,7 +162,8 @@ (define dicod-service-type (service-extension activation-service-type (const %dicod-activation)) (service-extension shepherd-root-service-type - dicod-shepherd-service))))) + dicod-shepherd-service))) + (default-value (dicod-configuration)))) (define* (dicod-service #:key (config (dicod-configuration))) "Return a service that runs the @command{dicod} daemon, an implementation diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm index 313c8364f8..b6cb8bc726 100644 --- a/gnu/services/mcron.scm +++ b/gnu/services/mcron.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Ludovic Courtès +;;; Copyright © 2016, 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,7 +97,8 @@ (define mcron-service-type (mcron-configuration (inherit config) (jobs (append (mcron-configuration-jobs config) - jobs))))))) + jobs))))) + (default-value (mcron-configuration)))) ;empty job list (define* (mcron-service jobs #:optional (mcron mcron2)) "Return an mcron service running @var{mcron} that schedules @var{jobs}, a diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index ae9b8f87cc..99a3d493c5 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -529,7 +529,8 @@ (define-record-type* tor-configuration? (tor tor-configuration-tor (default tor)) - (config-file tor-configuration-config-file) + (config-file tor-configuration-config-file + (default (plain-file "empty" ""))) (hidden-services tor-configuration-hidden-services (default '()))) @@ -666,7 +667,8 @@ (define tor-service-type (inherit config) (hidden-services (append (tor-configuration-hidden-services config) - services))))))) + services))))) + (default-value (tor-configuration)))) (define* (tor-service #:optional (config-file (plain-file "empty" "")) @@ -719,9 +721,12 @@ (define-record-type* bitlbee-configuration? (bitlbee bitlbee-configuration-bitlbee (default bitlbee)) - (interface bitlbee-configuration-interface) - (port bitlbee-configuration-port) - (extra-settings bitlbee-configuration-extra-settings)) + (interface bitlbee-configuration-interface + (default "127.0.0.1")) + (port bitlbee-configuration-port + (default 6667)) + (extra-settings bitlbee-configuration-extra-settings + (default ""))) (define bitlbee-shepherd-service (match-lambda @@ -789,7 +794,8 @@ (define bitlbee-service-type (service-extension account-service-type (const %bitlbee-accounts)) (service-extension activation-service-type - (const %bitlbee-activation)))))) + (const %bitlbee-activation)))) + (default-value (bitlbee-configuration)))) (define* (bitlbee-service #:key (bitlbee bitlbee) (interface "127.0.0.1") (port 6667) @@ -1002,7 +1008,8 @@ (define wpa-supplicant-service-type (list (service-extension shepherd-root-service-type wpa-supplicant-shepherd-service) (service-extension dbus-root-service-type list) - (service-extension profile-service-type list))))) + (service-extension profile-service-type list))) + (default-value wpa-supplicant))) ;;; diff --git a/gnu/services/pm.scm b/gnu/services/pm.scm index fe55647eef..3cefe1874a 100644 --- a/gnu/services/pm.scm +++ b/gnu/services/pm.scm @@ -396,7 +396,8 @@ (define tlp-service-type (service-extension udev-service-type (compose list tlp-configuration-tlp)) (service-extension activation-service-type - tlp-activation))))) + tlp-activation))) + (default-value (tlp-configuration)))) (define (generate-tlp-documentation) (generate-documentation diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index b7f9887b30..9917c311c7 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès ;;; Copyright © 2016 David Craven ;;; Copyright © 2016 Julien Lepiller ;;; Copyright © 2017 Clément Lassieur @@ -408,7 +408,8 @@ (define openssh-service-type (service-extension activation-service-type openssh-activation) (service-extension account-service-type - (const %openssh-accounts)))))) + (const %openssh-accounts)))) + (default-value (openssh-configuration)))) ;;; From cbe0af11b2bffb1ef534941ac29d1384c9f09549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 16 Apr 2017 00:16:33 +0200 Subject: [PATCH 37/85] tests: dicod: Bail out if we cannot connect within 20 seconds. * gnu/tests/dict.scm (run-dicod-test)["connect inside"]: Bail out after 20 seconds of failure to connect. --- gnu/tests/dict.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/tests/dict.scm b/gnu/tests/dict.scm index f7a48ab634..16b6edbd9e 100644 --- a/gnu/tests/dict.scm +++ b/gnu/tests/dict.scm @@ -97,15 +97,16 @@ (define %dico-socket '(begin (use-modules (ice-9 rdelim)) (let ((sock (socket PF_INET SOCK_STREAM 0))) - (let loop () - (pk 'try) + (let loop ((i 0)) + (pk 'try i) (catch 'system-error (lambda () (connect sock AF_INET INADDR_LOOPBACK 2628)) (lambda args (pk 'connection-error args) - (sleep 1) - (loop)))) + (when (< i 20) + (sleep 1) + (loop (+ 1 i)))))) (read-line sock 'concat))) marionette)) From 37e726cb9545795c367d233447e08b61336df1f4 Mon Sep 17 00:00:00 2001 From: ng0 Date: Sat, 15 Apr 2017 13:49:48 +0000 Subject: [PATCH 38/85] gnu: vim: Update to 8.0.0566. * gnu/packages/vim.scm (vim): Update to 8.0.0566. Signed-off-by: Kei Kebreau --- gnu/packages/vim.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 3dbd6d952b..44ae52202c 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2016 Efraim Flashner -;;; Copyright © 2016, 2017 ng0 +;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Marius Bakke ;;; @@ -60,7 +60,7 @@ (define-module (gnu packages vim) (define-public vim (package (name "vim") - (version "8.0.0494") + (version "8.0.0566") (source (origin (method url-fetch) (uri (string-append "https://github.com/vim/vim/archive/v" @@ -68,7 +68,7 @@ (define-public vim (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "08kzimdyla35ndrbn68jf8pmzm7nd2qrydnvk57j089m6ajic62r")))) + "0qq9pj8391sikzaahlqi289l5wdkbvsdhz8qb6np268yqizpg4p2")))) (build-system gnu-build-system) (arguments `(#:test-target "test" From f06c154f0b466edf0730664e12371e974372c69b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 16 Apr 2017 01:18:26 +0200 Subject: [PATCH 39/85] gnu: youtube-dl: Update to 2017.04.16. * gnu/packages/video.scm (youtube-dl): Update to 2017.04.16. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 6599a326e4..b646641766 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -985,7 +985,7 @@ (define-public libvpx (define-public youtube-dl (package (name "youtube-dl") - (version "2017.04.14") + (version "2017.04.16") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -993,7 +993,7 @@ (define-public youtube-dl version ".tar.gz")) (sha256 (base32 - "1rjc4ilafzrig02znrlxwjyzk5rpcc3li55n8rw2c4dmjmvjppkh")))) + "1pgdfspzv15772q7kakfq5qx1r70lcviwzk6sz9z1cddxzffxgdd")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From 34529f8d356a9c6032733c0e8adc3e80d29b006f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 16 Apr 2017 01:25:52 +0200 Subject: [PATCH 40/85] gnu: offlineimap: Update to 7.1.0. * gnu/packages/mail.scm (offlineimap): Update to 7.1.0. --- gnu/packages/mail.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 7fa7ad5d87..dd33130f22 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2016 Marius Bakke ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Kyle Meyer +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -418,7 +419,7 @@ (define-public bogofilter (define-public offlineimap (package (name "offlineimap") - (version "7.0.14") + (version "7.1.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/OfflineIMAP/offlineimap/" @@ -426,7 +427,7 @@ (define-public offlineimap (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0i5dvygps1ai2qwgamab8kngrp0c5m3bgaw0jk34l8ypsk54wj8r")))) + "1r0sbgwyirpbks82ri9g88raf3mp8shq9rg0r92gkr7h6888v6fw")))) (build-system python-build-system) (native-inputs `(("asciidoc" ,asciidoc))) From f12fc528a5a016e1a6e02a268263b37c389e1e56 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 16 Apr 2017 01:48:11 +0200 Subject: [PATCH 41/85] gnu: thefuck: Update to 3.16. * gnu/packages/admin.scm (thefuck): Update to 3.16. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 7404e5bd15..3d822bf5a6 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1694,7 +1694,7 @@ (define-public dstat (define-public thefuck (package (name "thefuck") - (version "3.15") + (version "3.16") (source (origin (method url-fetch) (uri (string-append "https://github.com/nvbn/thefuck/archive/" @@ -1702,7 +1702,7 @@ (define-public thefuck (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1vxas21h5mf41cb6y7f7x07858ags7qg45lkf74rc0slqbic3l1h")) + "0jrhfxmj2asx4jdix9ks3fpl364ph8w9prhwpk4488aj1a0q4rak")) (patches (search-patches "thefuck-test-environ.patch")))) (build-system python-build-system) (arguments From 167f0e823e791abe33842478c35b69e94dad0d63 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 16 Apr 2017 01:53:14 +0200 Subject: [PATCH 42/85] gnu: game-development: Use HTTPS where possible. * gnu/packages/game-development.scm (sfml)[home-page]: Use HTTPS. (physfs)[source, home-page]: Likewise. (aseprite)[home-page]: Likewise. (python-pygame)[home-page]: Likewise. --- gnu/packages/game-development.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 8f5b1fb0da..2d52a8a3d2 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016, 2017 Kei Kebreau ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Julian Graham +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -253,7 +254,7 @@ (define-public sfml ("libjpeg" ,libjpeg) ("libsndfile" ,libsndfile) ("openal" ,openal))) - (home-page "http://www.sfml-dev.org") + (home-page "https://www.sfml-dev.org") (synopsis "Simple and Fast Multimedia Library") (description "SFML provides a simple interface to the various computer components, @@ -305,7 +306,7 @@ (define-public physfs (source (origin (method url-fetch) (uri (string-append - "http://icculus.org/physfs/downloads/physfs-" + "https://icculus.org/physfs/downloads/physfs-" version ".tar.bz2")) (file-name (string-append name "-" version ".tar.gz")) (sha256 @@ -318,7 +319,7 @@ (define-public physfs `(("zlib" ,zlib))) (native-inputs `(("doxygen" ,doxygen))) - (home-page "http://icculus.org/physfs") + (home-page "https://icculus.org/physfs") (synopsis "File system abstraction library") (description "PhysicsFS is a library to provide abstract access to various archives. @@ -510,7 +511,7 @@ (define-public aseprite (description "Aseprite is a tool for creating 2D pixel art for video games. In addition to basic pixel editing features, Aseprite can assist in the creation of animations, tiled graphics, texture atlases, and more.") - (home-page "http://www.aseprite.org/") + (home-page "https://www.aseprite.org/") (license license:gpl2+))) (define-public qqwing @@ -655,7 +656,7 @@ (define-public python-pygame ("libsmpeg" ,libsmpeg) ("portmidi" ,portmidi) ("v4l-utils" ,v4l-utils))) - (home-page "http://www.pygame.org") + (home-page "https://www.pygame.org") (synopsis "SDL wrapper for Python") (description "Pygame is a set of Python modules designed for writing games. Pygame adds functionality on top of the excellent SDL library. This allows you From fd22791e2ca08d6170cfdcd6a7134267d5bc3239 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 16 Apr 2017 01:38:36 +0200 Subject: [PATCH 43/85] gnu: bullet: Update to 2.86.1. * gnu/packages/game-development.scm (bullet): Update to 2.86.1. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 2d52a8a3d2..41d85aac87 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -70,7 +70,7 @@ (define-module (gnu packages game-development) (define-public bullet (package (name "bullet") - (version "2.85.1") + (version "2.86.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/bulletphysics/bullet3/" @@ -78,7 +78,7 @@ (define-public bullet (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0qpd37ws0xlxwy55dg058a5b4yw2jxiz09yyc3lc0frpa05pq5bf")))) + "0nghzcl84p8di215p7xj0gy1hyy072hw2xk9cnmav9hv6bjb4n60")))) (build-system cmake-build-system) (arguments '(#:configure-flags (list (string-append From 61af2675d34a7387611623881f872fb0821ae1f5 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Sat, 15 Apr 2017 14:33:39 +0200 Subject: [PATCH 44/85] gnu: Add graphene. * gnu/packages/gtk.scm (graphene): New variable. --- gnu/packages/gtk.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 770a8c9160..728ea2075f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016 Patrick Hetu ;;; Coypright © 2016 ng0 +;;; Coypright © 2017 Roel Janssen ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ (define-module (gnu packages gtk) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages texinfo) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -1419,3 +1421,41 @@ (define-public clipit thereof, global hotkeys and clipboard item actions. It was forked from Parcellite and adds bugfixes and features.") (license license:gpl2+))) + +(define-public graphene + (package + (name "graphene") + (version "1.6.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/ebassi/graphene/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1zd2daj7y590wnzn4jw0niyc4fnzgxrcl9i7nwhy8b25ks2hz5wq")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-introspection=yes") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'autogen + (lambda _ + (zero? (system* "./autogen.sh"))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("which" ,which) + ("pkg-config" ,pkg-config) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("python" ,python) + ("python-2" ,python-2) + ("glib" ,glib) + ("gobject-introspection" ,gobject-introspection))) + (home-page "http://ebassi.github.io/graphene") + (synopsis "Thin layer of graphic data types") + (description "This library provides graphic types and their relative API; +it does not deal with windowing system surfaces, drawing, scene graphs, or +input.") + (license license:expat))) From 5245399f47426a05f244c1281673fbd63054f999 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 16 Apr 2017 11:33:18 +0300 Subject: [PATCH 45/85] gnu: guile-daemon: Update to 0.1.2. * gnu/packages/guile.scm (guile-daemon): Update to 0.1.2. --- gnu/packages/guile.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index ff7cf40811..d45e60afc2 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017 Ricardo Wurmus ;;; Copyright © 2016 Erik Edrosa ;;; Copyright © 2016 Eraim Flashner -;;; Copyright © 2016 Alex Kost +;;; Copyright © 2016, 2017 Alex Kost ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira ;;; Copyright © 2016 Amirouche ;;; Copyright © 2016 Jan Nieuwenhuizen @@ -1375,7 +1375,7 @@ (define-public guile-xosd (define-public guile-daemon (package (name "guile-daemon") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/alezost/" name @@ -1383,7 +1383,7 @@ (define-public guile-daemon "/" name "-" version ".tar.gz")) (sha256 (base32 - "0wsq9l6a4sijq4i1r3kcddfaznsak2jc5k59gzkhs5il5d2kn5yi")))) + "0hh6gq6b6phpxm0b1dkxyzj3f4sxdf7dji63609lzypa5v1ad2gv")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) From c6726a5f88b17df0eae13c3d2e2187c4fc2a064f Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 16 Apr 2017 11:37:40 +0300 Subject: [PATCH 46/85] gnu: guile-xosd, guile-daemon: Switch to Guile 2.2. * gnu/packages/guile.scm (guile-xosd)[inputs]: Replace GUILE-2.0 with GUILE-2.2. (guile-daemon)[inputs]: Likewise. --- gnu/packages/guile.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index d45e60afc2..207daa54e6 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1359,7 +1359,7 @@ (define-public guile-xosd (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-2.0) + `(("guile" ,guile-2.2) ("libx11" ,libx11) ("libxext" ,libxext) ("libxinerama" ,libxinerama) @@ -1388,7 +1388,7 @@ (define-public guile-daemon (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("guile" ,guile-2.0))) + `(("guile" ,guile-2.2))) (home-page "https://github.com/alezost/guile-daemon") (synopsis "Evaluate code in a running Guile process") (description From 36890436710032d6c731e31becf6a5bd7aa4afaf Mon Sep 17 00:00:00 2001 From: Vasile Dumitrascu Date: Sat, 15 Apr 2017 13:24:52 +0200 Subject: [PATCH 47/85] gnu: Add emacs-calfw. * gnu/packages/emacs.scm (emacs-calfw): New variable. Signed-off-by: Alex Kost --- gnu/packages/emacs.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 976ea31e00..89108e7647 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1207,6 +1207,28 @@ (define-public emacs-auctex or XEmacs.") (license license:gpl3+))) +(define-public emacs-calfw + (package + (name "emacs-calfw") + (version "1.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/kiwanami/emacs-calfw/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17ssg8gx66yp63nhygjq2r6kgl4h45cacmrxsxs9f0lrfcx37k0l")))) + (build-system emacs-build-system) + (home-page "https://github.com/kiwanami/emacs-calfw/") + (synopsis "Calendar framework for Emacs") + (description + "This package displays a calendar view with various shedule data in +the Emacs buffer.") + (license license:gpl3+))) + (define-public emacs-mmm-mode (package (name "emacs-mmm-mode") From 1730c5b509c236a948b5a91ae6b7063384c1eee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 16 Apr 2017 11:51:38 +0200 Subject: [PATCH 48/85] lint: Avoid non-literal format strings. Reported by Mathieu Othacehe at . * guix/scripts/lint.scm (warn-if-package-has-input): Rename to... (package-input-intersection): ... this. Remove 'linted' and 'message' parameters. Return a list of inputs. (check-inputs-should-be-native): Adjust accordingly. (check-inputs-should-not-be-an-input-at-all): Likewise. --- guix/scripts/lint.scm | 66 ++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm index 811f167067..9e3e2ad95a 100644 --- a/guix/scripts/lint.scm +++ b/guix/scripts/lint.scm @@ -233,30 +233,27 @@ (define (check-end-of-sentence-space description) (format #f (_ "invalid description: ~s") description) 'description)))) -(define (warn-if-package-has-input linted inputs-to-check input-names message) - ;; Emit a warning MESSAGE if some of the inputs named in INPUT-NAMES are - ;; contained in INPUTS-TO-CHECK, which are assumed to be inputs of package - ;; LINTED. +(define (package-input-intersection inputs-to-check input-names) + "Return the intersection between INPUTS-TO-CHECK, the list of input tuples +of a package, and INPUT-NAMES, a list of package specifications such as +\"glib:bin\"." (match inputs-to-check (((labels packages . outputs) ...) - (for-each (lambda (package output) - (when (package? package) - (let ((input (string-append - (package-name package) - (if (> (length output) 0) - (string-append ":" (car output)) - "")))) - (when (member input input-names) - (emit-warning linted - (format #f (_ message) input) - 'inputs-to-check))))) - packages outputs)))) + (filter-map (lambda (package output) + (and (package? package) + (let ((input (string-append + (package-name package) + (if (> (length output) 0) + (string-append ":" (car output)) + "")))) + (and (member input input-names) + input)))) + packages outputs)))) (define (check-inputs-should-be-native package) ;; Emit a warning if some inputs of PACKAGE are likely to belong to its ;; native inputs. - (let ((message "'~a' should probably be a native input") - (inputs (package-inputs package)) + (let ((inputs (package-inputs package)) (input-names '("pkg-config" "extra-cmake-modules" @@ -274,24 +271,29 @@ (define (check-inputs-should-be-native package) "python-pytest-cov" "python2-pytest-cov" "python-setuptools-scm" "python2-setuptools-scm" "python-sphinx" "python2-sphinx"))) - (warn-if-package-has-input package inputs input-names message))) + (for-each (lambda (input) + (emit-warning + package + (format #f (_ "'~a' should probably be a native input") + input) + 'inputs-to-check)) + (package-input-intersection inputs input-names)))) (define (check-inputs-should-not-be-an-input-at-all package) ;; Emit a warning if some inputs of PACKAGE are likely to should not be ;; an input at all. - (let ((message "'~a' should probably not be an input at all") - (inputs (package-inputs package)) - (input-names - '("python-setuptools" - "python2-setuptools" - "python-pip" - "python2-pip"))) - (warn-if-package-has-input package (package-inputs package) - input-names message) - (warn-if-package-has-input package (package-native-inputs package) - input-names message) - (warn-if-package-has-input package (package-propagated-inputs package) - input-names message))) + (let ((input-names '("python-setuptools" + "python2-setuptools" + "python-pip" + "python2-pip"))) + (for-each (lambda (input) + (emit-warning + package + (format #f + (_ "'~a' should probably not be an input at all") + input))) + (package-input-intersection (package-direct-inputs package) + input-names)))) (define (package-name-regexp package) "Return a regexp that matches PACKAGE's name as a word at the beginning of a From a7ccfefd535c4033f40caa2342fa67d3a8c4c3f2 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 16 Apr 2017 09:13:28 -0400 Subject: [PATCH 49/85] gnu: diffoscope: Update to 81. * gnu/packages/package-management.scm (diffoscope): Update to 81. --- gnu/packages/package-management.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 82132d587a..d4f83d3510 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -450,16 +450,17 @@ (define-public rpm (define-public diffoscope (package (name "diffoscope") - (version "78") + (version "81") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "1bx8i6sx2mcvm166nhw0i5442ld6wigkwav8dsnv22y7gnsl9d7n")))) + "093lxy6zj69i19fxdkj3jnai3b1ajqbksyqcvy8wqj3plaaxjna5")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-before 'unpack 'n (lambda _ #t)) ;; setup.py mistakenly requires python-magic from PyPi, even ;; though the Python bindings of `file` are sufficient. ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844 From a790f262074c94f6b7acb118fb22981d71f1722f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 16 Apr 2017 21:21:36 +0200 Subject: [PATCH 50/85] gnu: nss: Increase test timeouts. * gnu/packages/patches/nss-increase-test-timeout.patch: Wait up to 60s before regarding a test as failed. --- gnu/packages/patches/nss-increase-test-timeout.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/patches/nss-increase-test-timeout.patch b/gnu/packages/patches/nss-increase-test-timeout.patch index 1e24940322..0895daff4e 100644 --- a/gnu/packages/patches/nss-increase-test-timeout.patch +++ b/gnu/packages/patches/nss-increase-test-timeout.patch @@ -1,4 +1,4 @@ -We've seen some tests take more than 20s to complete on a busy armhf +We've seen some tests take up to a minute to complete on a busy armhf machine. Even a busy x86_64 machine can use more than 5s on some tests. Increase timeouts to increase chances of a successful build. @@ -10,7 +10,7 @@ Increase timeouts to increase chances of a successful build. ASSERT_TRUE_WAIT((client_->state() != TlsAgent::STATE_CONNECTING) && (server_->state() != TlsAgent::STATE_CONNECTING), - 5000); -+ 25000); ++ 60000); } void TlsConnectTestBase::EnableExtendedMasterSecret() { @@ -19,7 +19,7 @@ Increase timeouts to increase chances of a successful build. failing_agent = client_; } - ASSERT_TRUE_WAIT(failing_agent->state() == TlsAgent::STATE_ERROR, 5000); -+ ASSERT_TRUE_WAIT(failing_agent->state() == TlsAgent::STATE_ERROR, 25000); ++ ASSERT_TRUE_WAIT(failing_agent->state() == TlsAgent::STATE_ERROR, 60000); } void TlsConnectTestBase::ConfigureVersion(uint16_t version) { From 0d82fafea4475896a00fabadd12bee6515ea8c7f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 4 Apr 2017 19:03:18 +0200 Subject: [PATCH 51/85] gnu: fio: Update to 2.19. * gnu/packages/benchmark.scm (fio): Update to 2.19. --- gnu/packages/benchmark.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 4dab620993..ab5da5ffc5 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -30,7 +30,7 @@ (define-module (gnu packages benchmark) (define-public fio (package (name "fio") - (version "2.18") + (version "2.19") (source (origin (method url-fetch) (uri (string-append @@ -38,7 +38,7 @@ (define-public fio "fio-" version ".tar.bz2")) (sha256 (base32 - "08kx2mh556xby9saayrbynwrkmh4v8wwrw759nbv025ch3xbw79n")))) + "0dwx2dpbsg3xyd8jzm64gazy6ij4zirlfdrbgcxr1a0z5smcmcw1")))) (build-system gnu-build-system) (arguments '(#:test-target "test" From d1e4ad1b02b2ea888557d3272c50b676faf18ca4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 16 Apr 2017 18:06:57 +0200 Subject: [PATCH 52/85] gnu: Fix typos in descriptions. * gnu/packages/admin.scm (di)[description]: Likewise. * gnu/packages/bioinformatics.scm (r-annotate)[description]: Likewise. * gnu/packages/datastructures.scm (sparsehash)[description]: Likewise. * gnu/packages/dns.scm (knot)[description]: Likewise. * gnu/packages/emacs.scm (emacs-idle-highlight)[synopsis, description]: Likewise. * gnu/packages/gnome.scm (libpeas)[description]: Likewise. * gnu/packages/gtk.scm (python2-pygtk)[description]: Likewise. * gnu/packages/kde-frameworks.scm (kactivities)[description]: Fix typo. * gnu/packages/libevent.scm (perl-anyevent)[description]: Likewise. * gnu/packages/machine-learning.scm (ghmm)[description]: Likewise. * gnu/packages/mail.scm (mlmmj)[description]: Likewise. * gnu/packages/maths.scm (vc)[description]: Likewise. * gnu/packages/music.scm (gx-super-fuzz-lv2)[description]: Likewise. * gnu/packages/networking.scm (nload)[description]: Likewise. * gnu/packages/python.scm (python-execnet)[description]: Likewise. * gnu/packages/terminals.scm (tilda)[description]: Likewise. * gnu/packages/python.scm (python-execnet, python-tables) (python2-coverage-test-runner, python2-rope)[description]: Likewise. --- gnu/packages/admin.scm | 2 +- gnu/packages/bioinformatics.scm | 2 +- gnu/packages/datastructures.scm | 2 +- gnu/packages/dns.scm | 2 +- gnu/packages/emacs.scm | 4 ++-- gnu/packages/gnome.scm | 12 ++++++------ gnu/packages/gtk.scm | 2 +- gnu/packages/kde-frameworks.scm | 4 ++-- gnu/packages/libevent.scm | 2 +- gnu/packages/machine-learning.scm | 2 +- gnu/packages/mail.scm | 2 +- gnu/packages/maths.scm | 2 +- gnu/packages/music.scm | 2 +- gnu/packages/networking.scm | 2 +- gnu/packages/python.scm | 8 ++++---- gnu/packages/terminals.scm | 2 +- 16 files changed, 26 insertions(+), 26 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3d822bf5a6..4daaddcfec 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1763,7 +1763,7 @@ (define-public di "'di' is a disk information utility, displaying everything (and more) that your @code{df} command does. It features the ability to display your disk usage in whatever format you prefer. It is designed to be -highly portable. Great for heterogenous networks.") +highly portable. Great for heterogeneous networks.") (license license:zlib))) (define-public cbatticon diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c71e70bc63..2b0303b06d 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -5406,7 +5406,7 @@ (define-public r-annotate (home-page "http://bioconductor.org/packages/annotate") (synopsis "Annotation for microarrays") - (description "This package provides R enviroments for the annotation of + (description "This package provides R environments for the annotation of microarrays.") (license license:artistic2.0))) diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index ef249b9659..79068a54d0 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -65,7 +65,7 @@ (define-public sparsehash "This library contains several hash-map implementations, similar in API to SGI's @code{hash_map} class, but with different performance characteristics. @code{sparse_hash_map} uses very little space overhead, 1-2 -bits per entry. @code{dense_hash_map} is very fast, particulary on lookup. +bits per entry. @code{dense_hash_map} is very fast, particularly on lookup. @code{sparse_hash_set} and @code{dense_hash_set} are the set versions of these routines. All these implementation use a hashtable with internal quadratic probing. This method is space-efficient -- there is no pointer overhead -- diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 53ffa54630..e567d6c802 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -377,7 +377,7 @@ (define-public knot "/etc/bash_completion.d")))) (home-page "https://www.knot-dns.cz/") (synopsis "Authoritative DNS name server") - (description "Knot DNS is an authorative name server for the @dfn{Domain + (description "Knot DNS is an authoritative name server for the @dfn{Domain Name System} (DNS), designed to meet the needs of root and @dfn{top-level domain} (TLD) name servers. It is implemented as a threaded daemon and uses a number of programming techniques to improve speed. For example, the responder diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 89108e7647..673bbdf893 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4059,10 +4059,10 @@ (define-public emacs-idle-highlight "0kdv10hrgqpskjh0zvpnzwlkn5bccnqxas62gkws6njln57bf8nl")))) (build-system emacs-build-system) (home-page "https://www.emacswiki.org/emacs/IdleHighlight") - (synopsis "Highlights all occurences of the word the point is on") + (synopsis "Highlights all occurrences of the word the point is on") (description "This Emacs package provides @code{idle-highlight-mode} that sets - an idle timer to highlight all occurences in the buffer of the word under + an idle timer to highlight all occurrences in the buffer of the word under the point.") (license license:gpl3+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 40bac9fd93..8db53f109a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -21,7 +21,7 @@ ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016 ng0 ;;; Copyright © 2016 David Craven -;;; Copyright © 2016 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Hartmut Goebel ;;; @@ -863,11 +863,11 @@ (define-public libpeas (home-page "https://wiki.gnome.org/Libpeas") (synopsis "GObject plugin system") (description - "Libpeas is a gobject-based plugins engine, and is targetted at giving -every application the chance to assume its own extensibility. It also has a -set of features including, but not limited to: multiple extension points; on -demand (lazy) programming language support for C, Python and JS; simplicity of -the API.") + "Libpeas is a gobject-based plugin engine, targeted at giving every +application the chance to assume its own extensibility. It also has a set of +features including, but not limited to: multiple extension points; on-demand +(lazy) programming language support for C, Python and JS; simplicity of the +API.") (license license:lgpl2.0+))) (define-public gtkglext diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 728ea2075f..f8526053ea 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1210,7 +1210,7 @@ (define-public python2-pygtk (synopsis "Python bindings for GTK+") (description "PyGTK allows you to write full featured GTK programs in Python. It is -targetted at GTK 2.x, and can be used in conjunction with gnome-python to +targeted at GTK 2.x, and can be used in conjunction with gnome-python to write GNOME applications.") (license license:lgpl2.1+))) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index 78654a1cd3..2ec176422c 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -1426,7 +1426,7 @@ (define-public kfilemetadata (synopsis "Extract metadata from different fileformats") (description "KFileMetaData provides a simple library for extracting the text and metadata from a number of different files. This library is typically -used by file indexers to retreive the metadata. This library can also be used +used by file indexers to retrieve the metadata. This library can also be used by applications to write metadata.") (license (list license:lgpl2.0 license:lgpl2.1 license:lgpl3)))) @@ -1750,7 +1750,7 @@ (define-public kactivities (home-page "https://community.kde.org/Frameworks") (synopsis "Core components for the KDE Activity concept") (description "KActivities provides the infrastructure needed to manage a -user's activites, allowing them to switch between tasks, and for applications +user's activities, allowing them to switch between tasks, and for applications to update their state to match the user's current activity. This includes a daemon, a library for interacting with that daemon, and plugins for integration with other frameworks.") diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 1bfdefd7b5..4aab447333 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -182,7 +182,7 @@ (define-public perl-anyevent "API for I/O, timer, signal, child process and completion events") (description "This module allows using a variety of events without forcing module -authors to pick a specific event loop, and without noticable overhead. +authors to pick a specific event loop, and without noticeable overhead. Currently supported event loops are EV, Event, Glib/Gtk2, Tk, Qt, @code{Event::Lib}, Irssi, @code{IO::Async} and POE (and thus also WxWidgets and Prima). It also comes with a very fast Pure Perl event loop that does diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 30f005a331..58ae81d207 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -207,7 +207,7 @@ (define-public ghmm (description "The General Hidden Markov Model library (GHMM) is a C library with additional Python bindings implementing a wide range of types of @dfn{Hidden -Markov Models} (HMM) and algorithms: discrete, continous emissions, basic +Markov Models} (HMM) and algorithms: discrete, continuous emissions, basic training, HMM clustering, HMM mixtures.") (license license:lgpl2.0+)))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index dd33130f22..983629f85d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2053,7 +2053,7 @@ (define-public mlmmj (description "Mlmmj is a simple and slim mailing list manager (MLM) inspired by ezmlm. It works with many different Mail Transport Agents (MTAs) and is simple for a -system adminstrator to install, configure and integrate with other software. +system administrator to install, configure and integrate with other software. As it uses very few resources, and requires no daemons, it is ideal for installation on systems where resources are limited. Its features include: @enumerate diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index a924764db0..272a0979ad 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3003,7 +3003,7 @@ (define-public vc instruction sets. Thus, an application written with Vc can be compiled for: @enumerate @item AVX and AVX2 -@item SSE2 upto SSE4.2 or SSE4a +@item SSE2 up to SSE4.2 or SSE4a @item Scalar @item MIC @item NEON (in development) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2a37cf4a4e..c434aa5eb2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2526,7 +2526,7 @@ (define-public gx-super-fuzz-lv2 (synopsis "Fuzz effect modelled after the UniVox SuperFuzz") (description "This package provides the LV2 plugin \"GxSuperFuzz\", an analog simulation of the UniVox SuperFuzz pedal. In this simulation the trim -pot, which is usualy in the housing, is exposed as a control parameter. It +pot, which is usually in the housing, is exposed as a control parameter. It adjusts the amount of harmonics."))) (define-public gx-vintage-fuzz-master-lv2 diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 3413487f9e..cb9903791e 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -380,7 +380,7 @@ (define-public nload (description "Nload is a console application which monitors network traffic and bandwidth usage in real time. It visualizes the in- and outgoing traffic using -two graphs and provides additional info like total amount of transfered data +two graphs, and provides additional info like total amount of transferred data and min/max network usage.") (license license:gpl2+))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 231c629297..8cd433a93d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7089,7 +7089,7 @@ (define-public python-tables (home-page "http://www.pytables.org/") (synopsis "Hierarchical datasets for Python") (description "PyTables is a package for managing hierarchical datasets and -designed to efficently cope with extremely large amounts of data.") +designed to efficiently cope with extremely large amounts of data.") (license license:bsd-3))) (define-public python2-tables @@ -8691,7 +8691,7 @@ (define-public python-execnet (description "Execnet provides a share-nothing model with channel-send/receive communication for distributing execution across many Python interpreters across version, platform and network barriers. It has a -minimal and fast API targetting the following uses: +minimal and fast API targeting the following uses: @enumerate @item distribute tasks to (many) local or remote CPUs @item write and deploy hybrid multi-process applications @@ -10790,7 +10790,7 @@ (define-public python2-rope (description "Rope is a refactoring library for Python. It facilitates the renaming, moving and extracting of attributes, functions, modules, fields and parameters in Python 2 source code. These refactorings can also be applied -to occurences in strings and comments.") +to occurrences in strings and comments.") (license license:gpl2))) (define-public python-py3status @@ -13832,7 +13832,7 @@ (define-public python2-coverage-test-runner (home-page "https://liw.fi/coverage-test-runner/") (synopsis "Python module for running unit tests") (description "@code{CoverageTestRunner} is a python module for running -unit tests and failing them if the unit test module does not excercise all +unit tests and failing them if the unit test module does not exercise all statements in the module it tests.") (license license:gpl3+))) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 7dcd164dc6..979278a53b 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -85,7 +85,7 @@ (define-public tilda gnome-terminal (GNOME) or Konsole (KDE), with the difference that it drops down from the edge of a screen when a certain configurable hotkey is pressed. This is similar to the built-in consoles in some applications. Tilda is highly -configureable through a graphical wizard.") +configurable through a graphical wizard.") (home-page "https://github.com/lanoxx/tilda") (license license:gpl2+))) From c9d7cd4762ca0bfc1a2295b788ab6ab1400c615f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 16 Apr 2017 20:42:11 +0200 Subject: [PATCH 53/85] gnu: perl-sys-cpu: Re-write description. * gnu/packages/perl.scm (perl-sys-cpu)[description]: Fix some typos by re-writing most of the description. --- gnu/packages/perl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3470121883..3eb7815f28 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2017 Raoul J.P. Bonnal ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 humanitiesNerd +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -6122,9 +6123,8 @@ (define-public perl-sys-cpu (build-system perl-build-system) (synopsis "Perl extension for getting CPU information") (description - "In responce to a post on perlmonks.org, a module for counting the number -of CPU's on a system. Support has now also been added for type of CPU and -clock speed.") + "Sys::CPU is a module for counting the number of CPUs on a system, and +determining their type and clock speed.") (home-page (string-append "http://search.cpan.org/~mzsanford/" "Sys-CPU-" version)) (license (package-license perl)))) From 9b9cc951bd1937ebfe830d52efbb5f64827992cc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 17 Apr 2017 01:35:23 +0200 Subject: [PATCH 54/85] gnu: yadifa: Update to 2.2.4. * gnu/packages/dns.scm (yadifa): Update to 2.2.4. --- gnu/packages/dns.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index e567d6c802..c0279565d8 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -275,9 +275,9 @@ (define-public libasr (define-public yadifa (package (name "yadifa") - (version "2.2.3") + (version "2.2.4") (source - (let ((revision "6711")) + (let ((revision "6924")) (origin (method url-fetch) (uri @@ -285,7 +285,7 @@ (define-public yadifa name "-" version "-" revision ".tar.gz")) (sha256 (base32 - "0ikfm40gx0zjw3gnxsw3rn1k4wb8jacgklja3ygcj1knq6hy2zaa"))))) + "060ydcfn9876bs6p5xi3p1k20ca547f4jck25r5x1hnxjlv7ss03"))))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) From 3759deaba1413270e623be7b56b7a4b3856fb6e8 Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Mon, 17 Apr 2017 14:55:16 +0200 Subject: [PATCH 55/85] gnu: node: Update to 7.8.0. * gnu/packages/node.scm (node): Update to 7.8.0. [properties]: Add timeout of 1 h. --- gnu/packages/node.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 2df7816b59..e8ce2e82f8 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -38,14 +38,14 @@ (define-module (gnu packages node) (define-public node (package (name "node") - (version "6.8.0") + (version "7.8.0") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "0lj3250hglz4w5ic4svd7wlg2r3qc49hnasvbva1v69l8yvx98m8")) + "1nkngdjbsm81nn3v0w0c2aqx9nb7mwy3z49ynq4wwcrzfr9ap8ka")) ;; https://github.com/nodejs/node/pull/9077 (patches (search-patches "node-9077.patch")))) (build-system gnu-build-system) @@ -62,6 +62,7 @@ (define-public node ;; Fix hardcoded /bin/sh references. (substitute* '("lib/child_process.js" "lib/internal/v8_prof_polyfill.js" + "test/parallel/test-child-process-spawnsync-shell.js" "test/parallel/test-stdio-closed.js") (("'/bin/sh'") (string-append "'" (which "sh") "'"))) @@ -130,4 +131,5 @@ (define-public node perfect for data-intensive real-time applications that run across distributed devices.") (home-page "http://nodejs.org/") - (license expat))) + (license expat) + (properties '((timeout . 216000))))) From 9505dafb9940686302835f03c22e4e24100e0798 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 17 Apr 2017 22:34:36 +0800 Subject: [PATCH 56/85] retroarch: Update to 1.5.0. * gnu/packages/games.scm (retroarch): Update to 1.5.0. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c712785091..b492c72494 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -433,7 +433,7 @@ (define-public angband (lambda _ (substitute* "acinclude.m4" (("ncursesw5-config") "ncursesw6-config")) - (zero? (system* "sh" "autogen.sh"))))))) + (zero? (system* "sh" "autogen.sh"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) @@ -1084,7 +1084,7 @@ (define-public fizmo (define-public retroarch (package (name "retroarch") - (version "1.3.6") + (version "1.5.0") (source (origin (method url-fetch) @@ -1092,7 +1092,7 @@ (define-public retroarch version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1xar0wagcz50clwwkvjg4zq9m1sjqw47vw3xx44pisdj94g21m5y")))) + (base32 "1rbdax3i33myg1v938pxy28117ihff2lml1ky6g70c8099fkirjx")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests From e5f0563d5d2cee21cd05b681e940af920f7ef979 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 17 Apr 2017 16:59:17 +0200 Subject: [PATCH 57/85] gnu: node: Actually set timeout to 1 h. * gnu/packages/node.scm (node)[properties]: Actually set timeout to 1 h. --- gnu/packages/node.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index e8ce2e82f8..cb57415161 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -132,4 +132,4 @@ (define-public node devices.") (home-page "http://nodejs.org/") (license expat) - (properties '((timeout . 216000))))) + (properties '((timeout . 3600))))) ; 1 h From a9eadc06ac57846aaa8fdeb550b32e44f59c9437 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Mon, 17 Apr 2017 11:01:39 +0200 Subject: [PATCH 58/85] scripts: system: Rename --no-grub option to --no-bootloader. * guix/scripts/system.scm (%options, show-help): Adjust accordingly. Keep "--no-grub" for compatibility reasons, but do not mention it in the help. Signed-off-by: Danny Milosavljevic --- guix/scripts/system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 9ffdc15abb..8fabdb5c14 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -765,7 +765,7 @@ (define (show-help) (display (_ " --image-size=SIZE for 'vm-image', produce an image of SIZE")) (display (_ " - --no-grub for 'init', do not install GRUB")) + --no-bootloader for 'init', do not install a bootloader")) (display (_ " --share=SPEC for 'vm', share host file system according to SPEC")) (display (_ " @@ -804,7 +804,7 @@ (define %options (lambda (opt name arg result) (alist-cons 'image-size (size->number arg) result))) - (option '("no-grub") #f #f + (option '("no-bootloader" "no-grub") #f #f (lambda (opt name arg result) (alist-cons 'install-bootloader? #f result))) (option '("full-boot") #f #f From 67ba411ce301e509b652ba9c83a5c63332109e88 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 17 Apr 2017 12:16:05 -0400 Subject: [PATCH 59/85] gnu: freedink-data: Update to 1.08.20170401. * gnu/packages/games.scm (freedink-data): Update to 1.08.20170401. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index b492c72494..31ba037af0 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -598,14 +598,14 @@ (define freedink-engine (define freedink-data (package (name "freedink-data") - (version "1.08.20140901") + (version "1.08.20170401") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freedink/freedink-data-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "04f1aa8gfz30qkgv7chjz5n1s8v5hbqs01h2113cq1ylm3isd5sp")))) + "1zx7qywibhznj7bnz217404scr8dfh0xj24xjihnda5iapzz7lz8")))) (build-system gnu-build-system) (arguments `(#:phases From b8a3190856ffe2524c2b43eda3500371e221cfa3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 17 Apr 2017 14:25:34 +0200 Subject: [PATCH 60/85] gnu: video: Always use HTTPS on videolan.org. * gnu/packages/video.scm (libdca, libdvdread, libdvdnav, libdvdnav-4) (libdvdcss)[source]: Use HTTPS. (libdca, libdvdcss, libbdplus, libaacs)[home-page]: Likewise. --- gnu/packages/video.scm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index b646641766..84400f409c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Feng Shu +;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -365,13 +366,13 @@ (define-public libdca (source (origin (method url-fetch) (uri (string-append - "http://download.videolan.org/pub/videolan/libdca/" + "https://download.videolan.org/pub/videolan/libdca/" version "/libdca-" version ".tar.bz2")) (sha256 (base32 "0hh6a7l8vvccsd5i1fkv9av2gzv9fy8m0b8jpsn5p6hh4bh2586v")))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libdca.html") + (home-page "https://www.videolan.org/developers/libdca.html") (synopsis "DTS Coherent Acoustics decoder") (description "libdca is a library for decoding DTS Coherent Acoustics streams.") @@ -1097,7 +1098,7 @@ (define-public libdvdread (version "5.0.3") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/videolan/" + (uri (string-append "https://download.videolan.org/videolan/" name "/" version "/" name "-" version ".tar.bz2")) (sha256 @@ -1120,7 +1121,7 @@ (define-public libdvdnav (version "5.0.3") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/videolan/" + (uri (string-append "https://download.videolan.org/videolan/" name "/" version "/" name "-" version ".tar.bz2")) (sha256 @@ -1154,7 +1155,7 @@ (define-public libdvdnav-4 (method url-fetch) (uri (string-append - "http://download.videolan.org/videolan/libdvdnav/libdvdnav-" + "https://download.videolan.org/videolan/libdvdnav/libdvdnav-" version ".tar.xz")) (sha256 (base32 @@ -1178,14 +1179,14 @@ (define-public libdvdcss (version "1.4.0") (source (origin (method url-fetch) - (uri (string-append "http://download.videolan.org/pub/" + (uri (string-append "https://download.videolan.org/pub/" name "/" version "/" name "-" version ".tar.bz2")) (sha256 (base32 "0nl45ifc4xcb196snv9d6hinfw614cqpzcqp92dg43c0hickg290")))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libdvdcss.html") + (home-page "https://www.videolan.org/developers/libdvdcss.html") (synopsis "Library for accessing DVDs as block devices") (description "libdvdcss is a simple library designed for accessing DVDs like a block @@ -1709,7 +1710,7 @@ (define-public libbdplus (inputs `(("libgcrypt" ,libgcrypt))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libbdplus.html") + (home-page "https://www.videolan.org/developers/libbdplus.html") (synopsis "Library for decrypting certain Blu-Ray discs") (description "libbdplus is a library which implements the BD+ System specifications.") @@ -1732,7 +1733,7 @@ (define-public libaacs `(("bison" ,bison) ("flex" ,flex))) (build-system gnu-build-system) - (home-page "http://www.videolan.org/developers/libaacs.html") + (home-page "https://www.videolan.org/developers/libaacs.html") (synopsis "Library for decrypting certain Blu-Ray discs") (description "libaacs is a library which implements the Advanced Access Content System specification.") From 4ca077d5729ba172c641fe19a27db8a1977c7be0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 17 Apr 2017 14:31:39 +0200 Subject: [PATCH 61/85] gnu: v4l-utils: Update to 1.12.3. * gnu/packages/video.scm (v4l-utils): Update to 1.12.3. [native-inputs]: Add perl. --- gnu/packages/video.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 84400f409c..87c9de3e34 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1492,14 +1492,14 @@ (define-public mlt (define-public v4l-utils (package (name "v4l-utils") - (version "1.10.1") + (version "1.12.3") (source (origin (method url-fetch) (uri (string-append "https://linuxtv.org/downloads/v4l-utils" "/v4l-utils-" version ".tar.bz2")) (sha256 (base32 - "1h1nhg5cmmzlbipak526nk4bm6d0yb217mll75f3rpg7kz1cqiv1")))) + "0vpl3jl0x441y7b5cn7zhdsyi954hp9h2p30jhnr1zkx1rpxsiss")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -1508,7 +1508,8 @@ (define-public v4l-utils "/lib/udev") "CXXFLAGS=-std=gnu++11"))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) ("glu" ,glu) From 2f4a58b512972975257d664e54fbc28e8a0c72fe Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 15 Apr 2017 17:57:00 -0400 Subject: [PATCH 62/85] gnu: Add libmnl. * gnu/packages/linux.scm (libmnl): New variable. --- gnu/packages/linux.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e1ae84e3a7..4e1aa0b143 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3711,3 +3711,25 @@ (define-public lshw machines (PowerMac G4 is known to work).") (home-page "https://www.ezix.org/project/wiki/HardwareLiSter") (license license:gpl2+))) + +(define-public libmnl + (package + (name "libmnl") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.netfilter.org/projects/libmnl/files/" + "libmnl-" version ".tar.bz2")) + (sha256 + (base32 + "108zampspaalv44zn0ar9h386dlfixpd149bnxa5hsi8kxlqj7qp")))) + (build-system gnu-build-system) + (home-page "https://www.netfilter.org/projects/libmnl/") + (synopsis "Netlink utility library") + (description "Libmnl is a minimalistic user-space library oriented to +Netlink developers. There are a lot of common tasks in parsing, validating, +constructing of both the Netlink header and TLVs that are repetitive and easy to +get wrong. This library aims to provide simple helpers that allows you to +re-use code and to avoid re-inventing the wheel.") + (license license:lgpl2.1+))) From b754c6121bc95c5c5f7409c93c69cd0207888723 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 15 Apr 2017 18:12:31 -0400 Subject: [PATCH 63/85] gnu: Add libnftnl. * gnu/packages/linux.scm (libnftnl): New variable. --- gnu/packages/linux.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4e1aa0b143..7a744ede6f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3733,3 +3733,28 @@ (define-public libmnl get wrong. This library aims to provide simple helpers that allows you to re-use code and to avoid re-inventing the wheel.") (license license:lgpl2.1+))) + +(define-public libnftnl + (package + (name "libnftnl") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.netfilter.org/projects/libnftnl/files/" + "libnftnl-" version ".tar.bz2")) + (sha256 + (base32 + "10irjrylcfkbp11617yr19vpfhgl54w0kw02jhj0i1abqv5nxdlv")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libmnl" ,libmnl))) + (home-page "https://www.netfilter.org/projects/libnftnl/index.html") + (synopsis "Netlink programming interface to the Linux nf_tables subsystem") + (description "Libnftnl is a userspace library providing a low-level netlink +programming interface to the in-kernel nf_tables subsystem. The library +libnftnl has been previously known as libnftables. This library is currently +used by nftables.") + (license license:gpl2+))) From 13223c8e5930cbcb8653e738f4bcda395c0cf70e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 15 Apr 2017 17:57:15 -0400 Subject: [PATCH 64/85] gnu: iptables: Update to 1.6.1. * gnu/packages/linux.scm (iptables): Update to 1.6.1. [source], [home-page]: Use HTTPS URLs. [inputs]: Add libmnl and libnftnl. [native-inputs]: Add bison, flex, and pkg-config. --- gnu/packages/linux.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7a744ede6f..7075e7c859 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1016,21 +1016,28 @@ (define-public alsa-plugins (define-public iptables (package (name "iptables") - (version "1.4.21") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append - "http://www.netfilter.org/projects/iptables/files/iptables-" + "https://www.netfilter.org/projects/iptables/files/iptables-" version ".tar.bz2")) (sha256 (base32 - "1q6kg7sf0pgpq0qhab6sywl23cngxxfzc9zdzscsba8x09l4q02j")))) + "1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg")))) (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("flex" ,flex) + ("bison" ,bison))) + (inputs + `(("libmnl" ,libmnl) + ("libnftnl" ,libnftnl))) (arguments '(#:tests? #f ; no test suite #:configure-flags ; add $libdir to the RUNPATH of executables (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))) - (home-page "http://www.netfilter.org/projects/iptables/index.html") + (home-page "https://www.netfilter.org/projects/iptables/index.html") (synopsis "Program to configure the Linux IP packet filtering rules") (description "iptables is the userspace command line program used to configure the From c04ef86e8114225f5e5859f379582ba6f69aacfb Mon Sep 17 00:00:00 2001 From: Petter Date: Mon, 17 Apr 2017 15:14:18 +0200 Subject: [PATCH 65/85] gnu: go: Update to 1.8.1. * gnu/packages/golang.scm (go-1.7): Replace with ... (go-1.8): New variable. [arguments]: Update substitutions in 'prebuild' phase. (go): Update to go-1.8. --- gnu/packages/golang.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 00630ce067..90a809eb27 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3,8 +3,9 @@ ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2016 Andy Wingo ;;; Copyright © 2016 Ludovic Courtès -;;; Copyright © 2016 Petter +;;; Copyright © 2016, 2017 Petter ;;; Copyright © 2016, 2017 Leo Famulari +;;; Copyright © 2017 Sergei Trofimovich ;;; ;;; This file is part of GNU Guix. ;;; @@ -197,11 +198,11 @@ (define-public go-1.4 sequential processes (CSP) concurrent programming features added.") (license license:bsd-3))) -(define-public go-1.7 +(define-public go-1.8 (package (inherit go-1.4) (name "go") - (version "1.7.5") + (version "1.8.1") (source (origin (method url-fetch) @@ -209,7 +210,7 @@ (define-public go-1.7 name version ".src.tar.gz")) (sha256 (base32 - "058q57zmi23rflingzhy1b87yl69mb62ql2psfxqr7q7l89lb0sf")))) + "0mqf8ydxdx1pwmrs8p8wl5y1qrplzxmxzgb6vkghy4l67z0g9nik")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) @@ -300,8 +301,8 @@ (define-public go-1.7 (("/etc/services") (string-append net-base "/etc/services"))) (substitute* "time/zoneinfo_unix.go" (("/usr/share/zoneinfo/") tzdata-path)) - (substitute* (find-files "cmd" "asm.c") - (("/lib/ld-linux.*\\.so\\.[0-9]") loader)) + (substitute* (find-files "cmd" "\\.go") + (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader)) #t))) (add-before 'build 'set-bootstrap-variables (lambda* (#:key outputs inputs #:allow-other-keys) @@ -364,4 +365,4 @@ (define-public go-1.7 `(("go" ,go-1.4) ,@(package-native-inputs go-1.4))))) -(define-public go go-1.7) +(define-public go go-1.8) From a408e757663a1f2cb075a9918bb49708906aaca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Tue, 11 Apr 2017 22:59:44 +0200 Subject: [PATCH 66/85] gnu: icu4c: Fix crashes in programs using system ICU. Fixes . * gnu/packages/patches/icu4c-reset-keyword-list-iterator.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/icu4c.scm (icu4c)[replacement]: New field. (icu4c/fixed): New variable. --- gnu/local.mk | 1 + gnu/packages/icu4c.scm | 11 ++ .../icu4c-reset-keyword-list-iterator.patch | 130 ++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 gnu/packages/patches/icu4c-reset-keyword-list-iterator.patch diff --git a/gnu/local.mk b/gnu/local.mk index cf9f5c7197..5822add4c8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -658,6 +658,7 @@ dist_patch_DATA = \ %D%/packages/patches/icu4c-CVE-2014-6585.patch \ %D%/packages/patches/icu4c-CVE-2015-1270.patch \ %D%/packages/patches/icu4c-CVE-2015-4760.patch \ + %D%/packages/patches/icu4c-reset-keyword-list-iterator.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/isl-0.11.1-aarch64-support.patch \ diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index d842f03b4e..2b51441002 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2015, 2016 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2017 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ (define-public icu4c (package (name "icu4c") (version "58.2") + (replacement icu4c/fixed) (source (origin (method url-fetch) (uri (string-append @@ -63,3 +65,12 @@ (define-public icu4c C/C++ part.") (license x11) (home-page "http://site.icu-project.org/"))) + +(define icu4c/fixed + (package + (inherit icu4c) + (replacement #f) + (source (origin + (inherit (package-source icu4c)) + (patches + (search-patches "icu4c-reset-keyword-list-iterator.patch")))))) diff --git a/gnu/packages/patches/icu4c-reset-keyword-list-iterator.patch b/gnu/packages/patches/icu4c-reset-keyword-list-iterator.patch new file mode 100644 index 0000000000..17970aa4a8 --- /dev/null +++ b/gnu/packages/patches/icu4c-reset-keyword-list-iterator.patch @@ -0,0 +1,130 @@ +Copied from upstream: http://bugs.icu-project.org/trac/changeset/39484/. + +Fixes (crashes). + +Paths and line endings have been adapted. + +Index: icu/source/common/ulist.c +=================================================================== +--- icu/source/common/ulist.c (revision 39483) ++++ icu/source/common/ulist.c (revision 39484) +@@ -30,5 +30,4 @@ + + int32_t size; +- int32_t currentIndex; + }; + +@@ -52,5 +51,4 @@ + newList->tail = NULL; + newList->size = 0; +- newList->currentIndex = -1; + + return newList; +@@ -81,6 +79,7 @@ + p->next->previous = p->previous; + } +- list->curr = NULL; +- list->currentIndex = 0; ++ if (p == list->curr) { ++ list->curr = p->next; ++ } + --list->size; + if (p->forceDelete) { +@@ -151,5 +150,4 @@ + list->head->previous = newItem; + list->head = newItem; +- list->currentIndex++; + } + +@@ -194,5 +192,4 @@ + curr = list->curr; + list->curr = curr->next; +- list->currentIndex++; + + return curr->data; +@@ -210,5 +207,4 @@ + if (list != NULL) { + list->curr = list->head; +- list->currentIndex = 0; + } + } +@@ -273,3 +269,2 @@ + return (UList *)(en->context); + } +- +Index: icu/source/i18n/ucol_res.cpp +=================================================================== +--- icu/source/i18n/ucol_res.cpp (revision 39483) ++++ icu/source/i18n/ucol_res.cpp (revision 39484) +@@ -681,4 +681,5 @@ + } + memcpy(en, &defaultKeywordValues, sizeof(UEnumeration)); ++ ulist_resetList(sink.values); // Initialize the iterator. + en->context = sink.values; + sink.values = NULL; // Avoid deletion in the sink destructor. +Index: icu/source/test/intltest/apicoll.cpp +=================================================================== +--- icu/source/test/intltest/apicoll.cpp (revision 39483) ++++ icu/source/test/intltest/apicoll.cpp (revision 39484) +@@ -82,14 +82,7 @@ + col = Collator::createInstance(Locale::getEnglish(), success); + if (U_FAILURE(success)){ +- errcheckln(success, "Default Collator creation failed. - %s", u_errorName(success)); +- return; +- } +- +- StringEnumeration* kwEnum = col->getKeywordValuesForLocale("", Locale::getEnglish(),true,success); +- if (U_FAILURE(success)){ +- errcheckln(success, "Get Keyword Values for Locale failed. - %s", u_errorName(success)); +- return; +- } +- delete kwEnum; ++ errcheckln(success, "English Collator creation failed. - %s", u_errorName(success)); ++ return; ++ } + + col->getVersion(versionArray); +@@ -230,4 +223,27 @@ + delete aFrCol; + delete junk; ++} ++ ++void CollationAPITest::TestKeywordValues() { ++ IcuTestErrorCode errorCode(*this, "TestKeywordValues"); ++ LocalPointer col(Collator::createInstance(Locale::getEnglish(), errorCode)); ++ if (errorCode.logIfFailureAndReset("English Collator creation failed")) { ++ return; ++ } ++ ++ LocalPointer kwEnum( ++ col->getKeywordValuesForLocale("collation", Locale::getEnglish(), TRUE, errorCode)); ++ if (errorCode.logIfFailureAndReset("Get Keyword Values for English Collator failed")) { ++ return; ++ } ++ assertTrue("expect at least one collation tailoring for English", kwEnum->count(errorCode) > 0); ++ const char *kw; ++ UBool hasStandard = FALSE; ++ while ((kw = kwEnum->next(NULL, errorCode)) != NULL) { ++ if (strcmp(kw, "standard") == 0) { ++ hasStandard = TRUE; ++ } ++ } ++ assertTrue("expect at least the 'standard' collation tailoring for English", hasStandard); + } + +@@ -2467,4 +2483,5 @@ + TESTCASE_AUTO_BEGIN; + TESTCASE_AUTO(TestProperty); ++ TESTCASE_AUTO(TestKeywordValues); + TESTCASE_AUTO(TestOperators); + TESTCASE_AUTO(TestDuplicate); +Index: icu/source/test/intltest/apicoll.h +=================================================================== +--- icu/source/test/intltest/apicoll.h (revision 39483) ++++ icu/source/test/intltest/apicoll.h (revision 39484) +@@ -36,4 +36,5 @@ + */ + void TestProperty(/* char* par */); ++ void TestKeywordValues(); + + /** From 483ab08f84acfb478d070d1a1c1a8cde3f5bb011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Wed, 12 Apr 2017 00:59:59 +0200 Subject: [PATCH 67/85] gnu: icecat: Use system ICU. * gnu/packages/gnuzilla.scm (icecat)[arguments] <#:configure-flags>: Remove comment for "--with-system-icu". --- gnu/packages/gnuzilla.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 3b69a6b815..97e5a2e8ac 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -524,11 +524,7 @@ (define-public icecat "--with-system-jpeg" ; must be libjpeg-turbo "--with-system-libevent" "--with-system-libvpx" - - ;; FIXME: It is preferable to build with system - ;; libraries, but this fixes crashes. - ;; "--with-system-icu" - + "--with-system-icu" "--with-system-nspr" "--with-system-nss" "--enable-system-pixman" From 794223bc776aeaf94da2d5b5f330c71fc404b238 Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Mon, 17 Apr 2017 15:27:18 -0400 Subject: [PATCH 68/85] gnu: Add youtube-dl-gui. * gnu/packages/video.scm (youtube-dl-gui): New variable. Signed-off-by: Leo Famulari --- gnu/packages/video.scm | 77 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 87c9de3e34..e1c6a989f3 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Feng Shu ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2017 Chris Marusich ;;; ;;; This file is part of GNU Guix. ;;; @@ -96,6 +97,7 @@ (define-module (gnu packages video) #:use-module (gnu packages version-control) #:use-module (gnu packages web) #:use-module (gnu packages webkit) + #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) @@ -1025,6 +1027,81 @@ (define-public youtube-dl (home-page "https://yt-dl.org") (license license:public-domain))) +(define-public youtube-dl-gui + (package + (name "youtube-dl-gui") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Youtube-DLG" version)) + (sha256 + (base32 + "0napxwzgls5ik1bxbp99vly32l23xpc4ng5kr24hfhf21ypjyadb")))) + (build-system python-build-system) + (arguments + ;; In Guix, wxpython has not yet been packaged for Python 3. + `(#:python ,python-2 + ;; This package has no tests. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-before 'build 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + ;; The youtube-dl-gui program lets you configure options. Some of + ;; them are problematic, so we change their defaults. + (substitute* "youtube_dl_gui/optionsmanager.py" + ;; When this is true, the builder process will try (and fail) to + ;; write logs to the builder user's home directory. + (("'enable_log': True") "'enable_log': False") + ;; This determines which youtube-dl program youtube-dl-gui will + ;; run. If we don't set this, then youtube-dl-gui might download + ;; an arbitrary copy from the Internet into the user's home + ;; directory and run it, so let's make sure youtube-dl-gui uses + ;; the youtube-dl from the inputs by default. + (("'youtubedl_path': self.config_path") + (string-append "'youtubedl_path': '" + (assoc-ref inputs "youtube-dl") + "/bin'")) + ;; When this is True, when youtube-dl-gui is finished downloading + ;; a file, it will try (and possibly fail) to open the directory + ;; containing the downloaded file. This can fail because it + ;; assumes that xdg-open is in PATH. Unfortunately, simply + ;; adding xdg-utils to the propagated inputs is not enough to + ;; make this work, so for now we set the default to False. + (("'open_dl_dir': True") "'open_dl_dir': False")) + ;; The youtube-dl program from the inputs is actually a wrapper + ;; script written in bash, so attempting to invoke it as a python + ;; script will fail. + (substitute* "youtube_dl_gui/downloaders.py" + (("cmd = \\['python', self\\.youtubedl_path\\]") + "cmd = [self.youtubedl_path]")) + ;; Use relative paths for installing data files so youtube-dl-gui + ;; installs the files relative to its prefix in the store, rather + ;; than relative to /. Also, instead of installing data files into + ;; $prefix/usr/share, install them into $prefix/share for + ;; consistency (see: (standards) Directory Variables). + (substitute* "setup.py" + (("= '/usr/share") "= 'share")) + ;; Update get_locale_file() so it finds the installed localization + ;; files. + (substitute* "youtube_dl_gui/utils.py" + (("os\\.path\\.join\\('/usr', 'share'") + (string-append "os.path.join('" + (assoc-ref %outputs "out") + "', 'share'")))))))) + (inputs + `(("python2-wxpython" ,python2-wxpython) + ("youtube-dl" ,youtube-dl))) + (home-page "https://github.com/MrS0m30n3/youtube-dl-gui") + (synopsis + "GUI (Graphical User Interface) for @command{youtube-dl}") + (description + "Youtube-dlG is a GUI (Graphical User Interface) for +@command{youtube-dl}. You can use it to download videos from YouTube and any +other site that youtube-dl supports.") + (license license:unlicense))) + (define-public you-get (package (name "you-get") From 3a0cfe675f7e18e3fb2c83657b5129e2c03a3f17 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 17 Apr 2017 15:55:31 -0400 Subject: [PATCH 69/85] gnu: capnproto: Update to 0.5.3.1 [security fixes]. See this document for more information about the security issues fixed in this release: * gnu/packages/serialization.scm (capnproto): Update to 0.5.3.1. --- gnu/packages/serialization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 9e073b7a98..eb3cb26759 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -262,7 +262,7 @@ (define-public jsoncpp (define-public capnproto (package (name "capnproto") - (version "0.5.3") + (version "0.5.3.1") (source (origin (method url-fetch) (uri (string-append @@ -270,7 +270,7 @@ (define-public capnproto version ".tar.gz")) (sha256 (base32 - "1yvaadhgakskqq5wpv53hd6fc3pp17mrdldw4i5cvgck4iwprcfd")))) + "06wi4fcxx58nc7pr2xga20hn11psk56b0yhna5bx2pw90mlcbd84")))) (build-system gnu-build-system) (arguments `(#:phases From 7eaa8cf2b9d1458b90969f2c01b40f3851e07ef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Miguel=20S=C3=A1nchez=20Garc=C3=ADa?= Date: Mon, 17 Apr 2017 19:08:34 +0200 Subject: [PATCH 70/85] gnu: vis: Update to 0.3. * gnu/packages/text-editors.scm (vis): Update to 0.3. [arguments]: Remove #:make-flags. Signed-off-by: Leo Famulari --- gnu/packages/text-editors.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 9da627b65b..920868b52d 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -42,18 +42,17 @@ (define-module (gnu packages text-editors) (define-public vis (package (name "vis") - (version "0.2") + (version "0.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/martanne/" name "/archive/v" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0bbmkblpndc53pvr8xcfywdn8g351yxfj8c46zp5d744c3bq2nry")))) + (base32 "0xvhkj4j8pcmpnsx7f93d6n2f068xnl7wacfs97vr0agxwrfvn5y")))) (build-system gnu-build-system) (arguments - `(#:make-flags '("CFLAGS=-pie") - #:tests? #f ; No tests. + `(#:tests? #f ; No tests. #:phases (modify-phases %standard-phases (add-after 'install 'wrap-binary From 05bdb5e64dea826552510cfeba8c63bcf487dcad Mon Sep 17 00:00:00 2001 From: Stefan Reichoer Date: Mon, 17 Apr 2017 21:35:33 +0200 Subject: [PATCH 71/85] gnu: Add ponymix. * gnu/packages/pulseaudio.scm (ponymix): New variable. Signed-off-by: Leo Famulari --- gnu/packages/pulseaudio.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index 71fcc3f827..d258c59fa5 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 Leo Famulari +;;; Copyright © 2017 Stefan Reichör ;;; ;;; This file is part of GNU Guix. ;;; @@ -247,3 +248,38 @@ (define-public pavucontrol graphical user interface to connect to a PulseAudio server and easily control the volume of all clients, sinks, etc.") (license l:gpl2+))) + +(define-public ponymix + (package + (name "ponymix") + (version "5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/falconindy/ponymix/" + "archive/" version ".tar.gz")) + (sha256 + (base32 + "1c0ch98zry3c4ixywwynjid1n1nh4xl4l1p548giq2w3zwflaghn")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There is no test suite. + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list (string-append "DESTDIR=" out))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + (substitute* "Makefile" + (("/usr") "")))) + (delete 'configure)))) ; There's no configure phase. + (inputs + `(("pulseaudio" ,pulseaudio))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/falconindy/ponymix") + (synopsis "Console-based PulseAudio mixer") + (description "Ponymix is a PulseAudio mixer and volume controller with a +command-line interface. In addition, it is possible to use named sources and +sinks.") + (license l:expat))) From f5c6edd60c58dfaff068207ebe3e01dc3fa48ed9 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 17 Apr 2017 22:55:06 +0200 Subject: [PATCH 72/85] gnu: sshfs-fuse: Update to 2.9. * gnu/packages/linux.scm (sshfs-fuse): Update to 2.9. [home-page]: Point to new home page. --- gnu/packages/linux.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7075e7c859..95b5b5ba19 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1576,22 +1576,22 @@ (define-public unionfs-fuse/static (define-public sshfs-fuse (package (name "sshfs-fuse") - (version "2.8") + (version "2.9") (source (origin (method url-fetch) (uri (string-append "https://github.com/libfuse/sshfs/releases/" - "download/sshfs_" version - "/sshfs-" version ".tar.gz")) + "download/sshfs-" version "/sshfs-" version + ".tar.gz")) (sha256 (base32 - "08mdd4rs7yys7hmyig6i08qlid76p17xlvrh64k7wsrfs1s92s3z")))) + "1pp5wsl1jx11apkv2fpp559miifqhi8ka400npy5awp9ghlf3la6")))) (build-system gnu-build-system) (inputs `(("fuse" ,fuse) ("glib" ,glib))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://fuse.sourceforge.net/sshfs.html") + (home-page "https://github.com/libfuse/sshfs") (synopsis "Mount remote file systems over SSH") (description "This is a file system client based on the SSH File Transfer Protocol. From 7c7b802cce37e5821086e8ddc95555f827d544aa Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Feb 2017 01:32:22 +0100 Subject: [PATCH 73/85] download: Add netfilter mirror. * guix/download.scm (%mirrors): Add mirrors for www.netfilter.org. --- guix/download.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/guix/download.scm b/guix/download.scm index 181bf45813..5a25725b49 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -124,6 +124,11 @@ (define %mirrors "http://tenet.dl.sourceforge.net/project/" "http://vorboss.dl.sourceforge.net/project/" "http://netassist.dl.sourceforge.net/project/") + (netfilter.org ; https://www.netfilter.org/mirrors.html + "http://ftp.netfilter.org/pub/" + "ftp://ftp.es.netfilter.org/mirrors/netfilter/" + "ftp://ftp.hu.netfilter.org/" + "ftp://www.lt.netfilter.org/pub/") (kernel.org "http://ramses.wh2.tu-dresden.de/pub/mirrors/kernel.org/" "http://linux-kernel.uio.no/pub/" From f11ae44fa1af73b7e3d34965868877d9e6209e25 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 27 Feb 2017 01:32:57 +0100 Subject: [PATCH 74/85] gnu: Use netfilter mirror where applicable. * gnu/packages/linux.scm (iptables, libmnl, libnftnl)[source]: Use mirror://netfilter.org. --- gnu/packages/linux.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 95b5b5ba19..9730838e3e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1020,7 +1020,7 @@ (define-public iptables (source (origin (method url-fetch) (uri (string-append - "https://www.netfilter.org/projects/iptables/files/iptables-" + "mirror://netfilter.org/iptables/iptables-" version ".tar.bz2")) (sha256 (base32 @@ -3726,7 +3726,7 @@ (define-public libmnl (source (origin (method url-fetch) - (uri (string-append "https://www.netfilter.org/projects/libmnl/files/" + (uri (string-append "mirror://netfilter.org/libmnl/" "libmnl-" version ".tar.bz2")) (sha256 (base32 @@ -3748,7 +3748,7 @@ (define-public libnftnl (source (origin (method url-fetch) - (uri (string-append "https://www.netfilter.org/projects/libnftnl/files/" + (uri (string-append "mirror://netfilter.org/libnftnl/" "libnftnl-" version ".tar.bz2")) (sha256 (base32 From 94df39cc085fe81685315b0991f5f10ddc757e99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 16 Apr 2017 17:25:11 +0200 Subject: [PATCH 75/85] records: Slight simplification. * guix/records.scm (make-syntactic-constructor): Simplify 'find' expression. --- guix/records.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/guix/records.scm b/guix/records.scm index f3f3aafb04..7de5fccef6 100644 --- a/guix/records.scm +++ b/guix/records.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -134,10 +134,9 @@ (define (field-bindings field+value) ((_ (field value) (... ...)) (let ((fields (map syntax->datum #'(field (... ...))))) (define (field-value f) - (or (and=> (find (lambda (x) - (eq? f (car (syntax->datum x)))) - #'((field value) (... ...))) - car) + (or (find (lambda (x) + (eq? f (syntax->datum x))) + #'(field (... ...))) (wrap-field-value f (field-default-value f)))) (let ((fields (append fields (map car default-values)))) From e16c823f802d09965acf50cad64ab278dc01c1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 17 Apr 2017 23:17:49 +0200 Subject: [PATCH 76/85] serialization: Remove Guile < 2.0.9 workaround. * guix/serialization.scm (write-contents): Assume 'sendfile' is always defined. --- guix/serialization.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/guix/serialization.scm b/guix/serialization.scm index 4a8cd2086e..e6ae2fc307 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm @@ -214,9 +214,8 @@ (define (call-with-binary-input-file file proc) (write-string "contents" p) (write-long-long size p) (call-with-binary-input-file file - ;; Use `sendfile' when available (Guile 2.0.8+). - (if (and (compile-time-value (defined? 'sendfile)) - (file-port? p)) + ;; Use 'sendfile' when P is a file port. + (if (file-port? p) (cut sendfile p <> size 0) (cut dump <> p size))) (write-padding size p)) From 54fbac3fb56f7fc53afeaf83fed2cefdff793bde Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 18 Apr 2017 00:24:04 +0200 Subject: [PATCH 77/85] Revert "gnu: nss: Increase test timeouts." This turned out to be a red herring: https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00365.html This reverts commit a790f262074c94f6b7acb118fb22981d71f1722f. --- gnu/packages/patches/nss-increase-test-timeout.patch | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/patches/nss-increase-test-timeout.patch b/gnu/packages/patches/nss-increase-test-timeout.patch index 0895daff4e..1e24940322 100644 --- a/gnu/packages/patches/nss-increase-test-timeout.patch +++ b/gnu/packages/patches/nss-increase-test-timeout.patch @@ -1,4 +1,4 @@ -We've seen some tests take up to a minute to complete on a busy armhf +We've seen some tests take more than 20s to complete on a busy armhf machine. Even a busy x86_64 machine can use more than 5s on some tests. Increase timeouts to increase chances of a successful build. @@ -10,7 +10,7 @@ Increase timeouts to increase chances of a successful build. ASSERT_TRUE_WAIT((client_->state() != TlsAgent::STATE_CONNECTING) && (server_->state() != TlsAgent::STATE_CONNECTING), - 5000); -+ 60000); ++ 25000); } void TlsConnectTestBase::EnableExtendedMasterSecret() { @@ -19,7 +19,7 @@ Increase timeouts to increase chances of a successful build. failing_agent = client_; } - ASSERT_TRUE_WAIT(failing_agent->state() == TlsAgent::STATE_ERROR, 5000); -+ ASSERT_TRUE_WAIT(failing_agent->state() == TlsAgent::STATE_ERROR, 60000); ++ ASSERT_TRUE_WAIT(failing_agent->state() == TlsAgent::STATE_ERROR, 25000); } void TlsConnectTestBase::ConfigureVersion(uint16_t version) { From 8bbd50e9687b7b799951677182523f84a1728c50 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 18 Apr 2017 00:25:39 +0200 Subject: [PATCH 78/85] Revert "gnu: nss, nss-certs: Update to 3.30.1." This version fails to build on some architectures: https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00365.html https://bugzilla.mozilla.org/show_bug.cgi?id=1351459 This reverts commit 96e98d51a7057b443a1c1b32046f8be6a1987a2f. --- gnu/packages/certs.scm | 4 ++-- gnu/packages/gnuzilla.scm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 31841d0e06..4b43348a50 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -74,7 +74,7 @@ (define certdata2pem (define-public nss-certs (package (name "nss-certs") - (version "3.30.1") + (version "3.30") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -85,7 +85,7 @@ (define-public nss-certs "nss-" version ".tar.gz"))) (sha256 (base32 - "1djypq081m22iw0wg0q7gnpndam5f8qjhqfd5v9by4c6l6lp78hz")))) + "1agkkwb51si4raw46p44vl3d0l7wzvdjcblpcdjjz6aymq6h1h58")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 97e5a2e8ac..bfb0f1eb41 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -194,7 +194,7 @@ (define-public nspr (define-public nss (package (name "nss") - (version "3.30.1") + (version "3.30") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -205,7 +205,7 @@ (define-public nss "nss-" version ".tar.gz"))) (sha256 (base32 - "1djypq081m22iw0wg0q7gnpndam5f8qjhqfd5v9by4c6l6lp78hz")) + "1agkkwb51si4raw46p44vl3d0l7wzvdjcblpcdjjz6aymq6h1h58")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")))) From f0bc6ca1f26184bda9f2afe2576042a952fb735b Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Tue, 18 Apr 2017 06:04:12 +0800 Subject: [PATCH 79/85] gnu: you-get: Update to 0.4.715. * gnu/packages/video.scm (you-get): Update to 0.4.715. Signed-off-by: Marius Bakke --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index e1c6a989f3..dcac350d0a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1105,7 +1105,7 @@ (define-public youtube-dl-gui (define-public you-get (package (name "you-get") - (version "0.4.652") + (version "0.4.715") (source (origin (method url-fetch) (uri (string-append @@ -1113,7 +1113,7 @@ (define-public you-get version "/you-get-" version ".tar.gz")) (sha256 (base32 - "0brkz98lycx8mmxjwmn7jlhqfdbvl0hy070n7skwr1k75kh99q30")))) + "043122hfh56fbbszp1kwd1f65asgyn60j1ijday93hf2dkhvbrnh")))) (build-system python-build-system) (arguments ;; no tests From 4e85f8d9d5c96847989dce5c71e6268772d07a3b Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 17 Apr 2017 21:22:40 -0400 Subject: [PATCH 80/85] gnu: mate-themes: Update to 3.22.10. * gnu/packages/mate.scm (mate-themes): Update to 3.22.10. --- gnu/packages/mate.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 8600539adf..c8c7c63ee5 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -61,16 +61,15 @@ (define-public mate-icon-theme (define-public mate-themes (package (name "mate-themes") - (version (package-version gtk+)) + (version "3.22.10") (source (origin (method url-fetch) (uri (string-append "http://pub.mate-desktop.org/releases/themes/" - (version-major+minor (package-version gtk+)) - "/mate-themes-" (package-version gtk+) - ".tar.xz")) + (version-major+minor version) "/mate-themes-" + version ".tar.xz")) (sha256 (base32 - "1gsfzrcbwp7835pbilk7cvda8hjsf9g3gl4llbm61y9j7a4x2kn6")))) + "03ficjfxa4qpx4vcshhk2zxryivckxpw7wcjgbn8xqnjk3lgzjcb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) From deddeb44f9c4bc62e06f57d5be713cb22f6fa199 Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Fri, 14 Apr 2017 23:06:15 +0800 Subject: [PATCH 81/85] gnu: Add emacs-xelb. * gnu/packages/emacs.scm (emacs-xelb): New variable. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 673bbdf893..306fb5eb72 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2017 Kyle Meyer ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2017 George Clemmer +;;; Copyright © 2017 Feng Shu ;;; ;;; This file is part of GNU Guix. ;;; @@ -4382,3 +4383,42 @@ (define-public emacs-cdlatex the same - CDLaTeX focuses on speediness for inserting LaTeX constructs.") (license license:gpl3+))) + +(define-public emacs-xelb + (package + (name "emacs-xelb") + (version "0.12") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/xelb-" + version ".tar")) + (sha256 + (base32 + "0i9n0f3ibj4a5pwcsvwrah9m0fz32m0x6a9wsmjn3li20v8pcb81")))) + (build-system emacs-build-system) + ;; The following functions and variables needed by emacs-xelb are + ;; not included in emacs-minimal: + ;; x-display-screens, x-keysym-table, x-alt-keysym, x-meta-keysym + ;; x-hyper-keysym, x-super-keysym, libxml-parse-xml-region + ;; x-display-pixel-width, x-display-pixel-height + (arguments + `(#:emacs ,emacs + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'regenerate-el-files + (lambda* (#:key inputs #:allow-other-keys) + (zero? (system* "make" + (string-append "PROTO_PATH=" + (assoc-ref inputs "xcb-proto") + "/share/xcb") + (string-append "EMACS_BIN=" + (assoc-ref inputs "emacs") + "/bin/emacs -Q")))))))) + (native-inputs `(("xcb-proto" ,xcb-proto))) + (home-page "https://github.com/ch11ng/xelb") + (synopsis "X protocol Emacs Lisp binding") + (description "@code{emacs-xelb} is a pure Emacs Lisp implementation of the +X11 protocol based on the XML description files from the XCB project. It +features an object-oriented API and permits a certain degree of concurrency. +It should enable you to implement low-level X11 applications.") + (license license:gpl3+))) From 2b3b745c00bda3a3cf2602ac8db57cd2634e20c5 Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Sat, 15 Apr 2017 20:23:10 +0800 Subject: [PATCH 82/85] gnu: Add emacs-exwm. * gnu/packages/emacs.scm (emacs-exwm): New variable. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 306fb5eb72..6eb8751ad9 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4422,3 +4422,75 @@ (define-public emacs-xelb features an object-oriented API and permits a certain degree of concurrency. It should enable you to implement low-level X11 applications.") (license license:gpl3+))) + +(define-public emacs-exwm + (package + (name "emacs-exwm") + (version "0.13") + (synopsis "Emacs X window manager") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/exwm-" + version ".tar")) + (sha256 + (base32 + "0n1wzy6chh024r0yaywjbf7mdsrxs6hrfycv5v0ps0drf6q3zldc")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-xelb" ,emacs-xelb))) + (inputs + `(("xhost" ,xhost) + ("dbus" ,dbus))) + ;; The following functions and variables needed by emacs-exwm are + ;; not included in emacs-minimal: + ;; scroll-bar-mode, fringe-mode + ;; x-display-pixel-width, x-display-pixel-height + (arguments + `(#:emacs ,emacs + #:phases + (modify-phases %standard-phases + (add-after 'build 'install-xsession + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (xsessions (string-append out "/share/xsessions")) + (bin (string-append out "/bin")) + (exwm-executable (string-append bin "/exwm"))) + ;; Add a .desktop file to xsessions + (mkdir-p xsessions) + (mkdir-p bin) + (with-output-to-file + (string-append xsessions "/exwm.desktop") + (lambda _ + (format #t "[Desktop Entry]~@ + Name=~a~@ + Comment=~a~@ + Exec=~a~@ + TryExec=~@*~a~@ + Type=Application~%" ,name ,synopsis exwm-executable))) + ;; Add a shell wrapper to bin + ;; Set DISPLAY variable to work around + ;; https://github.com/ch11ng/exwm/issues/213 + (with-output-to-file exwm-executable + (lambda _ + (format #t "#!~a ~@ + export DISPLAY=:0 ~@ + ~a +SI:localuser:$USER ~@ + exec ~a --exit-with-session ~a --eval '~s' ~%" + (string-append (assoc-ref inputs "bash") "/bin/sh") + (string-append (assoc-ref inputs "xhost") "/bin/xhost") + (string-append (assoc-ref inputs "dbus") "/bin/dbus-launch") + (string-append (assoc-ref inputs "emacs") "/bin/emacs") + '(cond + ((file-exists-p "~/.exwm") + (load-file "~/.exwm")) + ((not (featurep 'exwm)) + (require 'exwm) + (require 'exwm-config) + (exwm-config-default) + (message "exwm configuration not found. Falling back to default configuration...")))))) + (chmod exwm-executable #o555) + #t)))))) + (home-page "https://github.com/ch11ng/exwm") + (description "EXWM is a full-featured tiling X window manager for Emacs +built on top of XELB.") + (license license:gpl3+))) From b5fb9430ba29ef80661a7730717399bf54f7115b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 18 Apr 2017 15:30:22 +0200 Subject: [PATCH 83/85] gnu: multipath-tools: Don't install to /usr sub-folders. * gnu/packages/linux.scm (multipath-tools)<#:make-flags>: Add SYSTEMDPATH entry. <#:phases>: Add new 'patch-source' phase. --- gnu/packages/linux.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9730838e3e..968aa9b58f 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2630,11 +2630,17 @@ (define-public multipath-tools '(#:tests? #f ; No tests. #:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) + "SYSTEMDPATH=lib" (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + (substitute* "Makefile.inc" + (("\\$\\(prefix\\)/usr") "$(prefix)")) + #t)) (delete 'configure) (add-before 'build 'set-CC (lambda _ From 7f412f335d93ce8bdc12fb90230be627905b6fdb Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 18 Apr 2017 15:42:40 +0200 Subject: [PATCH 84/85] gnu: multipath-tools: Update to 0.7.1. * gnu/packages/linux.scm (multipath-tools): Update to 0.7.1. [native-inputs]: Add PERL and PKG-CONFIG. [inputs]: Add JSON-C. [arguments]: Add two more substitutions in 'patch-source' phase. --- gnu/packages/linux.scm | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 968aa9b58f..548a8b0a98 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -86,6 +86,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages video) + #:use-module (gnu packages web) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg) @@ -2606,7 +2607,7 @@ (define-public mdadm-static (define-public multipath-tools (package (name "multipath-tools") - (version "0.6.4") + (version "0.7.1") (source (origin (method url-fetch) (uri (string-append "http://git.opensvc.com/?p=multipath-tools/" @@ -2614,7 +2615,7 @@ (define-public multipath-tools (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "12smwmljrkl2afc06dghd2253rqnfawvzr818a2xpxr06f44f9qy")) + "0w0rgi3lqksaki30yvd4l5rgjqb0d7js1sh7masl8aw6xbrsm26p")) (modules '((guix build utils))) (snippet '(begin @@ -2637,19 +2638,29 @@ (define-public multipath-tools #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-source - (lambda _ - (substitute* "Makefile.inc" - (("\\$\\(prefix\\)/usr") "$(prefix)")) - #t)) + (lambda* (#:key inputs #:allow-other-keys) + (let ((lvm2 (assoc-ref inputs "lvm2")) + (udev (assoc-ref inputs "udev"))) + (substitute* "Makefile.inc" + (("\\$\\(prefix\\)/usr") "$(prefix)")) + (substitute* '("kpartx/Makefile" "libmultipath/Makefile") + (("/usr/include/libdevmapper.h") + (string-append lvm2 "/include/libdevmapper.h")) + (("/usr/include/libudev.h") + (string-append udev "/include/libudev.h"))) + #t))) (delete 'configure) (add-before 'build 'set-CC (lambda _ (setenv "CC" "gcc") #t))))) (native-inputs - `(("valgrind" ,valgrind))) + `(("perl" ,perl) + ("pkg-config" ,pkg-config) + ("valgrind" ,valgrind))) (inputs `(("ceph:lib" ,ceph "lib") + ("json-c" ,json-c) ("libaio" ,libaio) ("liburcu" ,liburcu) ("lvm2" ,lvm2) From f8818360d5c185543b4bd1ad1c3c3ad7191af0c4 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Tue, 18 Apr 2017 11:25:53 +0200 Subject: [PATCH 85/85] doc: Replace --no-grub by --no-bootloader. Fixes . Followup to a9eadc06ac57846aaa8fdeb550b32e44f59c9437. * doc/guix.texi: Replace all references to "--no-grub" by "--no-bootloader". Signed-off-by: Danny Milosavljevic --- doc/guix.texi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 810139dbc1..fd3483ee5d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7413,7 +7413,7 @@ guix system init /mnt/etc/config.scm /mnt @noindent This copies all the necessary files and installs GRUB on -@file{/dev/sdX}, unless you pass the @option{--no-grub} option. For +@file{/dev/sdX}, unless you pass the @option{--no-bootloader} option. For more information, @pxref{Invoking guix system}. This command may trigger downloads or builds of missing packages, which can take some time. @@ -15094,7 +15094,7 @@ overwritten. This behavior mirrors that of @command{guix package} It also adds a GRUB menu entry for the new OS configuration, and moves entries for older configurations to a submenu---unless -@option{--no-grub} is passed. +@option{--no-bootloader} is passed. @quotation Note @c The paragraph below refers to the problem discussed at @@ -15174,7 +15174,7 @@ needed for the system to operate correctly---e.g., the @file{/etc}, @file{/var}, and @file{/run} directories, and the @file{/bin/sh} file. This command also installs GRUB on the device specified in -@file{my-os-config}, unless the @option{--no-grub} option was passed. +@file{my-os-config}, unless the @option{--no-bootloader} option was passed. @item vm @cindex virtual machine