From a91d75ecbde59b5400e4812868c3a55e12a220d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Oct 2016 18:01:34 +0200 Subject: [PATCH 01/27] tests: Skip 'pivot-root' test on Linux > 4.7.5. * tests/syscalls.scm ("pivot-root"): Skip when 'uname' returns a 'utsname:release' > 4.7.5. --- tests/syscalls.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/syscalls.scm b/tests/syscalls.scm index 1b31d87f23..9eb19f9c80 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm @@ -146,7 +146,10 @@ (define perform-container-tests? (waitpid fork-pid) result)))))))) -(unless perform-container-tests? +;; XXX: Skip this test when running Linux > 4.7.5 to work around +;; . +(when (or (not perform-container-tests?) + (version>? (utsname:release (uname)) "4.7.5")) (test-skip 1)) (test-equal "pivot-root" #t From d6aca5835a9b4b2cfb1cf8191faac6628975de8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Oct 2016 18:15:57 +0200 Subject: [PATCH 02/27] tests: Adjust pypi test to recent importer change. This is a followup to b5c347ad3d83ee580c111bd14c80b469b0dcb294. * tests/pypi.scm ("pypi->guix-package"): Expect 'propagated-inputs', not 'inputs'. ("pypi->guix-package, wheels"): Likewise. --- tests/pypi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/pypi.scm b/tests/pypi.scm index ab4e9c958b..9d2fcc7391 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -122,7 +122,7 @@ (define test-metadata ('base32 (? string? hash))))) ('build-system 'python-build-system) - ('inputs + ('propagated-inputs ('quasiquote (("python-bar" ('unquote 'python-bar)) ("python-baz" ('unquote 'python-baz)) @@ -182,7 +182,7 @@ (define test-metadata ('base32 (? string? hash))))) ('build-system 'python-build-system) - ('inputs + ('propagated-inputs ('quasiquote (("python-bar" ('unquote 'python-bar)) ("python-baz" ('unquote 'python-baz)) From d88767a39986692e4d89d2d4ec8edfc0d4f51782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Oct 2016 20:04:06 +0200 Subject: [PATCH 03/27] tests: Use #:fallback? #t when building system tests. * build-aux/run-system-tests.scm (run-system-tests): Pass #:fallback? #t to 'set-build-options*'. --- build-aux/run-system-tests.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-aux/run-system-tests.scm b/build-aux/run-system-tests.scm index 3f3a70e7b4..b582bc5e57 100644 --- a/build-aux/run-system-tests.scm +++ b/build-aux/run-system-tests.scm @@ -68,7 +68,8 @@ (define tests (out -> (map derivation->output-path drv))) (mbegin %store-monad (show-what-to-build* drv) - (set-build-options* #:keep-going? #t #:keep-failed? #t) + (set-build-options* #:keep-going? #t #:keep-failed? #t + #:fallback? #t) (built-derivations* drv) (mlet %store-monad ((valid (filterm (store-lift valid-path?) out)) From 5479aa2b7cf9164e87a1d1184ec97a9bba5cea92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Oct 2016 20:04:52 +0200 Subject: [PATCH 04/27] tests: Test installation with store on a separate partition. This is a followup to 0f65f54ebd76324653fd5506a7dab42ee44d9255. * gnu/tests/install.scm (%separate-store-os, %separate-store-os-source) (%separate-store-installation-script, %test-separate-store-os): New variables. --- gnu/tests/install.scm | 82 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 4e79fdb294..0f54935ea8 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -33,6 +33,7 @@ (define-module (gnu tests install) #:use-module (guix gexp) #:use-module (guix utils) #:export (%test-installed-os + %test-separate-store-os %test-encrypted-os)) ;;; Commentary: @@ -222,6 +223,87 @@ (define %test-installed-os "installed-os"))))) +;;; +;;; Separate /gnu/store partition. +;;; + +(define-os-with-source (%separate-store-os %separate-store-os-source) + ;; The OS we want to install. + (use-modules (gnu) (gnu tests) (srfi srfi-1)) + + (operating-system + (host-name "liberigilo") + (timezone "Europe/Paris") + (locale "en_US.UTF-8") + + (bootloader (grub-configuration (device "/dev/vdb"))) + (kernel-arguments '("console=ttyS0")) + (file-systems (cons* (file-system + (device "root-fs") + (title 'label) + (mount-point "/") + (type "ext4")) + (file-system + (device "store-fs") + (title 'label) + (mount-point "/gnu") + (type "ext4") + (needed-for-boot? #t)) ;definitely! + %base-file-systems)) + (users %base-user-accounts) + (services (cons (service marionette-service-type + (marionette-configuration + (imported-modules '((gnu services herd) + (guix combinators))))) + %base-services)))) + +(define %separate-store-installation-script + ;; Installation with a separate /gnu partition. + "\ +. /etc/profile +set -e -x +guix --version + +export GUIX_BUILD_OPTIONS=--no-grafts +guix build isc-dhcp +parted --script /dev/vdb mklabel gpt \\ + mkpart primary ext2 1M 3M \\ + mkpart primary ext2 3M 100M \\ + mkpart primary ext2 100M 1G \\ + set 1 boot on \\ + set 1 bios_grub on +mkfs.ext4 -L root-fs /dev/vdb2 +mkfs.ext4 -L store-fs /dev/vdb3 +mount /dev/vdb2 /mnt +mkdir /mnt/gnu +mount /dev/vdb3 /mnt/gnu +df -h /mnt +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/target-config.scm /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n") + +(define %test-separate-store-os + (system-test + (name "separate-store-os") + (description + "Test basic functionality of an OS installed like one would do by hand, +where /gnu lives on a separate partition.") + (value + (mlet* %store-monad ((image (run-install %separate-store-os + %separate-store-os-source + #:script + %separate-store-installation-script)) + (command (qemu-command/writable-image image))) + (run-basic-test %separate-store-os command "separate-store-os"))))) + + +;;; +;;; LUKS-encrypted root file system. +;;; + (define-os-with-source (%encrypted-root-os %encrypted-root-os-source) ;; The OS we want to install. (use-modules (gnu) (gnu tests) (srfi srfi-1)) From 30b12678301940a8cf15da22ef327cc7613d5607 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 26 Oct 2016 19:43:22 -0400 Subject: [PATCH 05/27] gnu: vdirsyncer: Update to 0.14.0. * gnu/packages/dav.scm (vdirsyncer): Update to 0.14.0. --- gnu/packages/dav.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index be6c40f4ba..215ece9ab2 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -52,13 +52,13 @@ (define-public radicale (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.13.1") + (version "0.14.0") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "1c4kipcc7dx1rn5j1a1x7wckz09mm9ihwakf3ramwn1y78q5zanb")))) + "1mbh2gykx9sqsnyfa962ifxksx4afl2lb9rcsbd6rsh3gj2il898")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases From 522fc32ebd34b6cb68bb2aa3156360c06826e106 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 26 Oct 2016 20:09:19 -0400 Subject: [PATCH 06/27] gnu: shotwell: Update to 0.25.0. * gnu/packages/gnome.scm (shotwell): Update to 0.25.0. [inputs]: Add gcr. --- gnu/packages/gnome.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 1bd0caccb3..d5995e5d22 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -3841,7 +3841,7 @@ (define-public gexiv2 (define-public shotwell (package (name "shotwell") - (version "0.23.5") + (version "0.25.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3849,7 +3849,7 @@ (define-public shotwell name "-" version ".tar.xz")) (sha256 (base32 - "0fgs1rgvkmy79bmpxrsvm5w8rvqml4l1vnwma0xqx5zzm02p8a07")))) + "0f3ly7nxy3kqwgs40avsqkxcz98bfmlhlk30n0d7j7ndk67zz57h")))) (build-system glib-or-gtk-build-system) (propagated-inputs `(("dconf" ,dconf))) @@ -3872,7 +3872,8 @@ (define-public shotwell ("libsoup" ,libsoup) ("libxml2" ,libxml2) ("libgudev" ,libgudev) - ("libgphoto2" ,libgphoto2))) + ("libgphoto2" ,libgphoto2) + ("gcr" ,gcr))) (home-page "https://wiki.gnome.org/Apps/Shotwell") (synopsis "Photo manager for GNOME 3") (description From 49a531f54541e65a0773452a7e5aaeb734116af0 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 27 Oct 2016 10:09:10 +0200 Subject: [PATCH 07/27] gnu: python-pathlib2: Add comment. As suggested by Efraim Flashner. * gnu/packages/python.scm (python-pathlib2): Add comment. --- gnu/packages/python.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cff9897dd4..459a44c4ca 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8898,6 +8898,9 @@ (define-public python2-pathlib2 (base32 "0p050msg5c8d0kadv702jnfshaxrb0il765cpkgnhn6mq5hakcyy")))) (build-system python-build-system) + ;; We only need the the Python 2 variant, since for Python 3 our minimum + ;; version is 3.4 which already includes this package as part of the + ;; standard library. (arguments `(#:python ,python-2)) (native-inputs From e68168eb87cdc95fa97dc5aab0c03bd1633cd67b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Oct 2016 10:04:48 +0300 Subject: [PATCH 08/27] gnu: valgrind: Update to 3.12.0. * gnu/packages/valgrind.scm (valgrind): Update to 3.12.0. --- gnu/packages/valgrind.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index ed847c2def..55ae88641c 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -30,14 +30,14 @@ (define-module (gnu packages valgrind) (define-public valgrind (package (name "valgrind") - (version "3.11.0") + (version "3.12.0") (source (origin (method url-fetch) (uri (string-append "http://valgrind.org/downloads/valgrind-" version ".tar.bz2")) (sha256 (base32 - "0hiv871b9bk689mv42mkhp76za78l5773glszfkdbpf1m1qn4fbc")) + "18bnrw9b1d55wi1wnl68n25achsp9w48n51n1xw4fwjjnaal7jk7")) (patches (search-patches "valgrind-enable-arm.patch")))) (build-system gnu-build-system) (arguments From 5fd84e288cac9a7ddfea9810f6459b02b9f2f86d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Oct 2016 10:16:39 +0300 Subject: [PATCH 09/27] gnu: valgrind: Use 'modify-phases' syntax. * gnu/packages/valgrind.scm (valgrind)[arguments]: Use 'modify-phases' syntax. --- gnu/packages/valgrind.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 55ae88641c..5f2bef16df 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,18 +42,18 @@ (define-public valgrind (patches (search-patches "valgrind-enable-arm.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-after - 'install 'patch-suppression-files - (lambda* (#:key outputs #:allow-other-keys) - ;; Don't assume the FHS. - (let* ((out (assoc-ref outputs "out")) - (dir (string-append out "/lib/valgrind"))) - (substitute* (find-files dir "\\.supp$") - (("obj:/lib") "obj:*/lib") - (("obj:/usr/X11R6/lib") "obj:*/lib") - (("obj:/usr/lib") "obj:*/lib")) - #t)) - %standard-phases))) + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'patch-suppression-files + (lambda* (#:key outputs #:allow-other-keys) + ;; Don't assume the FHS. + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out "/lib/valgrind"))) + (substitute* (find-files dir "\\.supp$") + (("obj:/lib") "obj:*/lib") + (("obj:/usr/X11R6/lib") "obj:*/lib") + (("obj:/usr/lib") "obj:*/lib")) + #t)))))) (inputs `(;; GDB is needed to provide a sane default for `--db-command'. ("gdb" ,gdb))) (native-inputs `(("perl" ,perl))) From 8888fe826c44b760783c2a82f140ebcda67bb22d Mon Sep 17 00:00:00 2001 From: ng0 Date: Sun, 16 Oct 2016 23:00:28 +0000 Subject: [PATCH 10/27] gnu: Add dbacl. * gnu/packages/textutils.scm (dbacl): New variable. Signed-off-by: Efraim Flashner --- gnu/packages/textutils.scm | 86 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index a9725b47d3..2259a16c91 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2016 Alex Griffin ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 ng0 ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,12 @@ (define-module (gnu packages textutils) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages readline) + #:use-module (gnu packages slang) #:use-module (gnu packages zip)) (define-public recode @@ -373,3 +379,83 @@ (define-public utfcpp (description "UTF8-CPP is a C++ library for handling UTF-8 encoded text in a portable way.") (license license:boost1.0))) + +(define-public dbacl + (package + (name "dbacl") + (version "1.14") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.lbreyer.com/gpl/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list + (string-append "-I" (assoc-ref %build-inputs "slang") + "/include/slang") + (string-append "-I" (assoc-ref %build-inputs "ncurses") + "/include/ncurses")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'delete-sample6-and-japanese + (lambda _ + (substitute* "doc/Makefile.am" + (("sample6.txt") "") + (("japanese.txt") "")) + (delete-file "doc/sample6.txt") + (delete-file "doc/japanese.txt") + (substitute* (list "src/tests/Makefile.am" + "src/tests/Makefile.in") + (("dbacl-jap.shin") "") + (("dbacl-jap.sh") "")) + #t)) + (add-after 'unpack 'delete-test + ;; See comments about the license. + (lambda _ + (delete-file "src/tests/dbacl-jap.shin"))) + (add-after 'delete-sample6-and-japanese 'autoreconf + (lambda _ + (zero? (system* "autoreconf" "-vif")))) + (add-after 'unpack 'fix-test-files + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (substitute* (find-files "src/tests/" "\\.shin$") + (("PATH=/bin:/usr/bin") + "#PATH=/bin:/usr/bin") + (("diff") (string-append (which "diff"))) + (("tr") (string-append (which "tr")))) + #t)))))) + (inputs + `(("ncurses" ,ncurses) + ("perl" ,perl) + ("readline" ,readline) + ("slang" ,slang))) + (native-inputs + `(("libtool" ,libtool) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (home-page "http://www.lbreyer.com/dbacl.html") + (synopsis "Bayesian text and email classifier") + (description + "dbacl is a fast Bayesian text and email classifier. It builds a variety +of language models using maximum entropy (minimum divergence) principles, and +these can then be used to categorize input data automatically among multiple +categories.") + ;; The software is licensed as GPLv3 or later, but + ;; includes various sample texts in the doc dir: + ;; - sample1.txt, sample3 and sampe5.txt are in the public domain, + ;; by Mark Twain. + ;; - sample2.txt, sample4.txt are in the public domain, by Aristotle. + ;; - sample6.txt is a forwarded email, copyright unknown. + ;; Guix does exclude sample6.txt. + ;; - japanese.txt is a Japanese unoffical translation of the + ;; GNU General Public License, (c) by the Free Software Foundation. + ;; Guix excludes this file. + (license (list license:gpl3+ license:public-domain)))) From a6b256affc94bce215003e52de50ed3fa6fc0106 Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Sat, 22 Oct 2016 12:04:24 -0400 Subject: [PATCH 11/27] gnu: Add pcsc-lite. * gnu/packages/security-token.scm (pcsc-lite): New variable. Signed-off-by: Marius Bakke --- gnu/packages/security-token.scm | 38 +++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 36ccaa5203..735b2fe0ec 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016 Mike Gerwitz ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,9 +24,11 @@ (define-module (gnu packages security-token) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (gnu packages pkg-config) + #:use-module (gnu packages curl) + #:use-module (gnu packages linux) #:use-module (gnu packages man) - #:use-module (gnu packages curl)) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config)) (define-public libyubikey (package @@ -47,6 +50,37 @@ (define-public libyubikey (home-page "https://developers.yubico.com/yubico-c/") (license license:bsd-2))) +(define-public pcsc-lite + (package + (name "pcsc-lite") + (version "1.8.18") + (source (origin + (method url-fetch) + (uri (string-append + "https://alioth.debian.org/frs/download.php/file/4179/" + "pcsc-lite-" version ".tar.bz2")) + (sha256 + (base32 + "0189s10xsgcmdvc2sixakncwlv47cg6by6m9vdm038gn32q34bdj")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers"))) + (native-inputs + `(("perl" ,perl) ; for pod2man + ("pkg-config" ,pkg-config))) + (inputs + `(("libudev" ,eudev))) + (home-page "https://pcsclite.alioth.debian.org/pcsclite.html") + (synopsis "Middleware to access a smart card using PC/SC") + (description + "pcsc-lite provides an interface to communicate with smartcards and +readers using the SCard API. pcsc-lite is used to connect to the PC/SC daemon +from a client application and provide access to the desired reader.") + (license (list license:bsd-3 ; pcsc-lite + license:expat ; src/sd-daemon.[ch] + license:isc ; src/strlcat.c src/strlcpy.c + license:gpl3+)))) ; src/spy/* + (define-public ykclient (package (name "ykclient") From cd9ed6c1cbd9fdcfa38825b8109a646fb968b7a8 Mon Sep 17 00:00:00 2001 From: Mike Gerwitz Date: Sat, 22 Oct 2016 12:06:02 -0400 Subject: [PATCH 12/27] gnu: gnupg: Add support for pcsc-lite. * gnu/packages/gnupg.scm (gnupg)[inputs]: Add pcsc-lite. [arguments]: Rename phase 'patch-config-files' to 'patch-paths'. Patch `scd/scdaemon.c' with absolute path of libpcsclite.so. Signed-off-by: Marius Bakke --- gnu/packages/gnupg.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 5fcc03a222..60c43abda1 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2016 Christopher Allan Webber ;;; Copyright © 2016 Nils Gillmann ;;; Copyright © 2016 Christopher Baines +;;; Copyright © 2016 Mike Gerwitz ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ (define-module (gnu packages gnupg) #:use-module (gnu packages gnome) #:use-module (gnu packages pkg-config) #:use-module (gnu packages ncurses) + #:use-module (gnu packages security-token) #:use-module (gnu packages tls) #:use-module (guix packages) #:use-module (guix download) @@ -261,6 +263,7 @@ (define-public gnupg ("libksba" ,libksba) ("npth" ,npth) ("openldap" ,openldap) + ("pcsc-lite" ,pcsc-lite) ("readline" ,readline) ("sqlite" ,sqlite) ("zlib" ,zlib))) @@ -268,10 +271,14 @@ (define-public gnupg `(#:configure-flags '("--enable-gpg2-is-gpg") #:phases (modify-phases %standard-phases - (add-before 'configure 'patch-config-files - (lambda _ + (add-before 'configure 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) (substitute* "tests/openpgp/defs.inc" (("/bin/pwd") (which "pwd"))) + (substitute* "scd/scdaemon.c" + (("\"(libpcsclite\\.so[^\"]*)\"" _ name) + (string-append "\"" (assoc-ref inputs "pcsc-lite") + "/lib/" name "\""))) #t))))) (home-page "https://gnupg.org/") (synopsis "GNU Privacy Guard") From 6270769dc216fc6a2f54ca77d3090e3e610ade1c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Oct 2016 09:13:19 +0200 Subject: [PATCH 13/27] gnu: btrfs-progs: Update to 4.8.2. * gnu/packages/linux.scm (btrfs-progs): Update to 4.8.2. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c3c84f4a86..45a2cf9799 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2590,7 +2590,7 @@ (define-public gpm (define-public btrfs-progs (package (name "btrfs-progs") - (version "4.8.1") + (version "4.8.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -2598,7 +2598,7 @@ (define-public btrfs-progs "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "10yv823g92jbd6iq8d70y0bvs716jv956bq7khqmbhdzg9q6svl3")))) + "0pswcfmdnfc586770h74abp67gn2xv8fd46vxlimnmn837sj7h41")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of binaries in "out" (~16MiB!) From 483b7ce7ae2186a6c0fb4591b4d9308a5da648d8 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Oct 2016 11:02:59 +0200 Subject: [PATCH 14/27] gnu: mcelog: Update to 144. * gnu/packages/linux.scm (mcelog): Update to 144. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 45a2cf9799..c959f62424 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2953,14 +2953,14 @@ (define-public module-init-tools (define-public mcelog (package (name "mcelog") - (version "143") + (version "144") (source (origin (method url-fetch) (uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/" "mcelog.git/snapshot/v" version ".tar.gz")) (sha256 (base32 - "1mn5i1d6ybfxqgr6smlpxcx1wb53h0r2rp90ild7919b9yqxpk0x")) + "03jyhsl0s59sfqykj5p6gkb03k4w1h9ay31yxym1dnzis5sq99pa")) (file-name (string-append name "-" version ".tar.gz")) (modules '((guix build utils))) (snippet From 5d5790ce44667cac4236559caba3516922c99843 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Oct 2016 11:55:57 +0300 Subject: [PATCH 15/27] gnu: Use 'https' for libsdl urls. * gnu/packages/sdl.scm (sdl, sdl2, sdl-image, sdl-mixer, sdl-net) (sdl-ttf, sdl2-image, sdl2-ttf)[source]: Use https. [home-page]: Use https. --- gnu/packages/sdl.scm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 161689bf24..aba57c159a 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2015 Alex Kost +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,7 +48,7 @@ (define-public sdl (source (origin (method url-fetch) (uri - (string-append "http://libsdl.org/release/SDL-" + (string-append "https://libsdl.org/release/SDL-" version ".tar.gz")) (sha256 (base32 @@ -81,7 +82,7 @@ (define-public sdl (description "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware.") - (home-page "http://libsdl.org/") + (home-page "https://libsdl.org/") (license lgpl2.1))) (define-public sdl2 @@ -91,7 +92,7 @@ (define-public sdl2 (source (origin (method url-fetch) (uri - (string-append "http://libsdl.org/release/SDL2-" + (string-append "https://libsdl.org/release/SDL2-" version ".tar.gz")) (sha256 (base32 @@ -154,7 +155,7 @@ (define-public sdl-image (source (origin (method url-fetch) (uri - (string-append "http://www.libsdl.org/projects/SDL_image/release/SDL_image-" + (string-append "https://www.libsdl.org/projects/SDL_image/release/SDL_image-" version ".tar.gz")) (sha256 (base32 @@ -180,7 +181,7 @@ (define-public sdl-image (description "SDL_image is an image file loading library for SDL that supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF, WEBP, XCF, XPM, and XV.") - (home-page "http://www.libsdl.org/projects/SDL_image/") + (home-page "https://www.libsdl.org/projects/SDL_image/") (license zlib))) (define-public sdl-mixer @@ -190,7 +191,7 @@ (define-public sdl-mixer (source (origin (method url-fetch) (uri - (string-append "http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-" + (string-append "https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-" version ".tar.gz")) (sha256 (base32 @@ -218,7 +219,7 @@ (define-public sdl-mixer It supports any number of simultaneously playing channels of 16 bit stereo audio, plus a single channel of music. Supported format include FLAC, MOD, MIDI, Ogg Vorbis, and MP3.") - (home-page "http://www.libsdl.org/projects/SDL_mixer/") + (home-page "https://www.libsdl.org/projects/SDL_mixer/") (license zlib))) (define-public sdl-net @@ -228,7 +229,7 @@ (define-public sdl-net (source (origin (method url-fetch) (uri - (string-append "http://www.libsdl.org/projects/SDL_net/release/SDL_net-" + (string-append "https://www.libsdl.org/projects/SDL_net/release/SDL_net-" version ".tar.gz")) (sha256 (base32 @@ -239,7 +240,7 @@ (define-public sdl-net (synopsis "SDL networking library") (description "SDL_net is a small, cross-platform networking library for SDL.") - (home-page "http://www.libsdl.org/projects/SDL_net/") + (home-page "https://www.libsdl.org/projects/SDL_net/") (license zlib))) (define-public sdl-ttf @@ -249,7 +250,7 @@ (define-public sdl-ttf (source (origin (method url-fetch) (uri - (string-append "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-" + (string-append "https://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-" version ".tar.gz")) (sha256 (base32 @@ -261,7 +262,7 @@ (define-public sdl-ttf (native-inputs `(("pkg-config" ,pkg-config))) (synopsis "SDL TrueType font library") (description "SDL_ttf is a TrueType font rendering library for SDL.") - (home-page "http://www.libsdl.org/projects/SDL_ttf/") + (home-page "https://www.libsdl.org/projects/SDL_ttf/") (license zlib))) (define* (sdl-union #:optional (packages (list sdl sdl-gfx sdl-net sdl-ttf @@ -308,7 +309,7 @@ (define-public sdl2-image (source (origin (method url-fetch) (uri - (string-append "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-" + (string-append "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-" version ".tar.gz")) (sha256 (base32 @@ -342,7 +343,7 @@ (define-public sdl2-ttf (source (origin (method url-fetch) (uri - (string-append "http://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-" + (string-append "https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-" version ".tar.gz")) (modules '((guix build utils))) (snippet From 355d8e873b655b80bad34d283c1ea8cfff4c5d02 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Oct 2016 12:07:35 +0300 Subject: [PATCH 16/27] gnu: sdl2: Update to 2.0.5. * gnu/packages/sdl.scm (sdl2): Update to 2.0.5. --- gnu/packages/sdl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index aba57c159a..a942b33302 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -88,7 +88,7 @@ (define-public sdl (define-public sdl2 (package (inherit sdl) (name "sdl2") - (version "2.0.4") + (version "2.0.5") (source (origin (method url-fetch) (uri @@ -96,7 +96,7 @@ (define-public sdl2 version ".tar.gz")) (sha256 (base32 - "0jqp46mxxbh9lhpx1ih6sp93k752j2smhpc0ad0q4cb3px0famfs")))) + "11c75qj1qxmx67iwkvf9z4x69phk301pdn86zzr6jncnap7kh824")))) (license bsd-3))) (define-public libmikmod From 7d876afdd8648a481fd8736985cd3359086b0dfb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Oct 2016 12:13:07 +0300 Subject: [PATCH 17/27] gnu: libmikmod: Update to 3.3.10. * gnu/packages/sdl.scm (libmikmod): Update to 3.3.10. --- gnu/packages/sdl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index a942b33302..bb4ad1c90b 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -102,14 +102,14 @@ (define-public sdl2 (define-public libmikmod (package (name "libmikmod") - (version "3.3.7") + (version "3.3.10") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/mikmod/libmikmod/" version "/libmikmod-" version ".tar.gz")) (sha256 (base32 - "18nrkf5l50hfg0y50yxr7bvik9f002lhn8c00nbcp6dgm5011x2c")))) + "0j7g4jpa2zgzw7x6s3rldypa7zlwjvn97rwx0sylx1iihhlzbcq0")))) (build-system gnu-build-system) (arguments ;; By default, libmikmod tries to dlopen libasound etc., which won't work From 631fda7e90c5327cb365b785b221f37a899e8bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Oct 2016 11:18:53 +0200 Subject: [PATCH 18/27] gnu: Add mdadm-static. * gnu/packages/linux.scm (mdadm-static): New variable. --- gnu/packages/linux.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c959f62424..3db3a58a02 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2374,6 +2374,35 @@ (define-public mdadm arrays when needed.") (license license:gpl2+))) +(define-public mdadm-static + (package + (inherit mdadm) + (name "mdadm-static") + (arguments + (substitute-keyword-arguments (package-arguments mdadm) + ((#:make-flags flags) + `(cons "LDFLAGS = -static" ,flags)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'remove-cruft + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (precious? (lambda (file) + (member file '("." ".." "sbin")))) + (directories (scandir out (negate precious?)))) + (with-directory-excursion out + (for-each delete-file-recursively directories) + (remove-store-references "sbin/mdadm") + (delete-file "sbin/mdmon") + #t)))))) + ((#:modules modules %gnu-build-system-modules) + `((ice-9 ftw) ,@modules)) + ((#:strip-flags _ '()) + ''("--strip-all")) ;strip a few extra KiB + ((#:allowed-references _ '("out")) + '("out")))) ;refer only self + (synopsis "Statically-linked 'mdadm' command for use in an initrd"))) + (define-public libaio (package (name "libaio") From 4ed2f515d69a199154c272997f4683b89ac0a9b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Oct 2016 11:20:26 +0200 Subject: [PATCH 19/27] mapped-devices: Use 'mdadm-static' in 'raid-device-mapping'. * gnu/system/mapped-devices.scm (open-raid-device, close-raid-device): Use MDADM-STATIC instead of MDADM. Use 'file-append'. --- gnu/system/mapped-devices.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index 2487638c52..e44f2693a7 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -24,7 +24,7 @@ (define-module (gnu system mapped-devices) #:use-module (gnu services) #:use-module (gnu services shepherd) #:autoload (gnu packages cryptsetup) (cryptsetup) - #:autoload (gnu packages linux) (mdadm) + #:autoload (gnu packages linux) (mdadm-static) #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:export (mapped-device @@ -150,12 +150,14 @@ (define (open-raid-device sources target) (sleep 1) (loop (+ 1 attempts)))) - (zero? (apply system* (string-append #$mdadm "/sbin/mdadm") + ;; Use 'mdadm-static' rather than 'mdadm' to avoid pulling its whole + ;; closure (80 MiB) in the initrd when a RAID device is needed for boot. + (zero? (apply system* #$(file-append mdadm-static "/sbin/mdadm") "--assemble" #$target sources)))) (define (close-raid-device sources target) "Return a gexp that stops the RAID device TARGET." - #~(zero? (system* (string-append #$mdadm "/sbin/mdadm") + #~(zero? (system* #$(file-append mdadm-static "/sbin/mdadm") "--stop" #$target))) (define raid-device-mapping From b800b8da2123fb6877c706a06e531b7266aee507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Oct 2016 11:21:28 +0200 Subject: [PATCH 20/27] tests: Add #:memory-size parameter for the command to run the installed OS. * gnu/tests/install.scm (qemu-command/writable-image): Add #:memory-size parameter and honor it. --- gnu/tests/install.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 0f54935ea8..b3908ec7b2 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -191,9 +191,9 @@ (define marionette (gexp->derivation "installation" install))) -(define (qemu-command/writable-image image) +(define* (qemu-command/writable-image image #:key (memory-size 256)) "Return as a monadic value the command to run QEMU on a writable copy of -IMAGE, a disk image." +IMAGE, a disk image. The QEMU VM is has access to MEMORY-SIZE MiB of RAM." (mlet %store-monad ((system (current-system))) (return #~(let ((image #$image)) ;; First we need a writable copy of the image. @@ -205,7 +205,7 @@ (define (qemu-command/writable-image image) ,@(if (file-exists? "/dev/kvm") '("-enable-kvm") '()) - "-no-reboot" "-m" "256" + "-no-reboot" "-m" #$(number->string memory-size) "-drive" "file=disk.img,if=virtio"))))) From 49baaff4d2995cc4455843d7249894cb7456d8d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Oct 2016 13:44:13 +0200 Subject: [PATCH 21/27] file-systems: 'disk-partitions' detected partitions from mapped devices. Previously, partitions of mdadm- or cryptsetup-produced block devices would not be returned by 'disk-partitions'. * gnu/build/file-systems.scm (disk-partitions)[last-character]: New procedure. [partition?]: Add 'name' parameter and rewrite. Adjust caller. * gnu/build/file-systems.scm (ENOENT-safe): Silently ignore ENOMEDIUM. --- gnu/build/file-systems.scm | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index f1fccbdf2e..bfc353ae6b 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -192,15 +192,15 @@ (define (luks-header-uuid header) (define (disk-partitions) "Return the list of device names corresponding to valid disk partitions." - (define (partition? major minor) - (let ((marker (format #f "/sys/dev/block/~a:~a/partition" major minor))) - (catch 'system-error - (lambda () - (not (zero? (call-with-input-file marker read)))) - (lambda args - (if (= ENOENT (system-error-errno args)) - #f - (apply throw args)))))) + (define (last-character str) + (string-ref str (- (string-length str) 1))) + + (define (partition? name major minor) + ;; Select device names that end in a digit, like libblkid's 'probe_all' + ;; function does. Checking for "/sys/dev/block/MAJOR:MINOR/partition" + ;; doesn't work for partitions coming from mapped devices. + (and (char-set-contains? char-set:digit (last-character name)) + (> major 2))) ;ignore RAM disks and floppy disks (call-with-input-file "/proc/partitions" (lambda (port) @@ -217,7 +217,7 @@ (define (partition? major minor) (match (string-tokenize line) (((= string->number major) (= string->number minor) blocks name) - (if (partition? major minor) + (if (partition? name major minor) (loop (cons name parts)) (loop parts)))))))))) @@ -232,12 +232,15 @@ (define (ENOENT-safe proc) ;; When running on the hand-made /dev, ;; 'disk-partitions' could return partitions for which ;; we have no /dev node. Handle that gracefully. - (if (= ENOENT (system-error-errno args)) - (begin - (format (current-error-port) - "warning: device '~a' not found~%" device) - #f) - (apply throw args)))))) + (let ((errno (system-error-errno args))) + (cond ((= ENOENT errno) + (format (current-error-port) + "warning: device '~a' not found~%" device) + #f) + ((= ENOMEDIUM errno) ;for removable media + #f) + (else + (apply throw args)))))))) (define (partition-predicate read field =) "Return a predicate that returns true if the FIELD of partition header that From 245cc5f5d55e8c0931a1a2d2becd78f9805de2df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Oct 2016 13:46:43 +0200 Subject: [PATCH 22/27] tests: Test installation with a RAID root partition. * gnu/tests/install.scm (%raid-root-os, %raid-root-os-source) (%raid-root-installation-script, %test-raid-root-os): New variables. --- gnu/tests/install.scm | 84 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index b3908ec7b2..98f8649af8 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -34,6 +34,7 @@ (define-module (gnu tests install) #:use-module (guix utils) #:export (%test-installed-os %test-separate-store-os + %test-raid-root-os %test-encrypted-os)) ;;; Commentary: @@ -299,6 +300,89 @@ (define %test-separate-store-os (command (qemu-command/writable-image image))) (run-basic-test %separate-store-os command "separate-store-os"))))) + +;;; +;;; RAID root device. +;;; + +(define-os-with-source (%raid-root-os %raid-root-os-source) + ;; An OS whose root partition is a RAID partition. + (use-modules (gnu) (gnu tests)) + + (operating-system + (host-name "raidified") + (timezone "Europe/Paris") + (locale "en_US.utf8") + + (bootloader (grub-configuration (device "/dev/vdb"))) + (kernel-arguments '("console=ttyS0")) + (initrd (lambda (file-systems . rest) + ;; Add a kernel module for RAID-0 (aka. "stripe"). + (apply base-initrd file-systems + #:extra-modules '("raid0") + rest))) + (mapped-devices (list (mapped-device + (source (list "/dev/vda2" "/dev/vda3")) + (target "/dev/md0") + (type raid-device-mapping)))) + (file-systems (cons (file-system + (device "root-fs") + (title 'label) + (mount-point "/") + (type "ext4") + (dependencies mapped-devices)) + %base-file-systems)) + (users %base-user-accounts) + (services (cons (service marionette-service-type + (marionette-configuration + (imported-modules '((gnu services herd) + (guix combinators))))) + %base-services)))) + +(define %raid-root-installation-script + ;; Installation with a separate /gnu partition. See + ;; for more on RAID and + ;; mdadm. + "\ +. /etc/profile +set -e -x +guix --version + +export GUIX_BUILD_OPTIONS=--no-grafts +parted --script /dev/vdb mklabel gpt \\ + mkpart primary ext2 1M 3M \\ + mkpart primary ext2 3M 600M \\ + mkpart primary ext2 600M 1200M \\ + set 1 boot on \\ + set 1 bios_grub on +mdadm --create /dev/md0 --verbose --level=stripe --raid-devices=2 \\ + /dev/vdb2 /dev/vdb3 +mkfs.ext4 -L root-fs /dev/md0 +mount /dev/md0 /mnt +df -h /mnt +herd start cow-store /mnt +mkdir /mnt/etc +cp /etc/target-config.scm /mnt/etc/config.scm +guix system init /mnt/etc/config.scm /mnt --no-substitutes +sync +reboot\n") + +(define %test-raid-root-os + (system-test + (name "raid-root-os") + (description + "Test functionality of an OS installed with a RAID root partition managed +by 'mdadm'.") + (value + (mlet* %store-monad ((image (run-install %raid-root-os + %raid-root-os-source + #:script + %raid-root-installation-script + #:target-size (* 1300 MiB))) + (command (qemu-command/writable-image image))) + (run-basic-test %raid-root-os + `(,@command) "raid-root-os"))))) + ;;; ;;; LUKS-encrypted root file system. From 6178274d19ed3e637b5365b64a28f298574df81f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 27 Oct 2016 14:03:07 +0100 Subject: [PATCH 23/27] gnu: python-urllib3: Update to 1.18.1. * gnu/packages/python.scm (python-urllib3): Update to 1.18.1. [home-page]: Use https URL. --- gnu/packages/python.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 459a44c4ca..f33a2fa11f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -7711,14 +7711,14 @@ (define-public python2-promise (define-public python-urllib3 (package (name "python-urllib3") - (version "1.13.1") + (version "1.18.1") (source (origin (method url-fetch) (uri (pypi-uri "urllib3" version)) (sha256 (base32 - "10rrbr6c6k7j5dvfsyj4b2gsgxg9gggnn708qixf6ll57xqivfkf")))) + "1wb8aqnq53vzh2amrv8kc66f3h6fx217y0q62y6n30a64p2yqmam")))) (build-system python-build-system) (arguments `(#:tests? #f)) (native-inputs @@ -7733,7 +7733,7 @@ (define-public python-urllib3 ("python-ndg-httpsclient" ,python-ndg-httpsclient) ("python-pyasn1" ,python-pyasn1) ("python-pyopenssl" ,python-pyopenssl))) - (home-page "http://urllib3.readthedocs.org/") + (home-page "https://urllib3.readthedocs.org/") (synopsis "HTTP library with thread-safe connection pooling") (description "Urllib3 supports features left out of urllib and urllib2 libraries. It From b5ce25cc0ecd1d8393f89ddca91be7000c0cc2cd Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 27 Oct 2016 16:36:09 +0200 Subject: [PATCH 24/27] gnu: r: Use uname from Guix * gnu/packages/statistics.scm (r): Use uname from Guix. --- gnu/packages/statistics.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 29eaadf394..b15f9cf45e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -118,6 +118,13 @@ (define-public r "/lib/R/lib")) #:phases (modify-phases %standard-phases + (add-before 'configure 'patch-uname + (lambda* (#:key inputs #:allow-other-keys) + (let ((uname-bin (string-append (assoc-ref inputs "coreutils") + "/bin/uname"))) + (substitute* "src/scripts/R.sh.in" + (("uname") uname-bin))) + #t)) (add-before 'configure 'set-default-pager ;; Set default pager to "cat", because otherwise it is "false", @@ -169,6 +176,7 @@ (define-public r `(;; We need not only cairo here, but pango to ensure that tests for the ;; "cairo" bitmapType plotting backend succeed. ("pango" ,pango) + ("coreutils" ,coreutils) ("curl" ,curl) ("tzdata" ,tzdata) ("gfortran" ,gfortran) From 233fbb61022c79ff0c2b11d908f34f3020d7fbbb Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 23 Oct 2016 11:26:25 -0400 Subject: [PATCH 25/27] gnu: windowmaker: Add support for more image formats. * gnu/packages/gnustep.scm (windowmaker)[inputs]: Add giflib, libpng, and libtiff. --- gnu/packages/gnustep.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnustep.scm b/gnu/packages/gnustep.scm index f49b25492e..6c365cbbc4 100644 --- a/gnu/packages/gnustep.scm +++ b/gnu/packages/gnustep.scm @@ -76,7 +76,10 @@ (define-public windowmaker ("libxft" ,libxft) ("libx11" ,libx11) ("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg))) + ("libjpeg" ,libjpeg) + ("giflib" ,giflib) + ("libpng" ,libpng) + ("libtiff" ,libtiff))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://windowmaker.org/") From 327be74720bff418e611e399f92a4182a98e9750 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 27 Oct 2016 20:14:17 +0300 Subject: [PATCH 26/27] gnu: jasper: Updat eto 1.900.16. * gnu/packages/image.scm (japer): Update to 1.900.16. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index acde2d4064..4e1c10f16b 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -781,14 +781,14 @@ (define-public devil (define-public jasper (package (name "jasper") - (version "1.900.13") + (version "1.900.16") (source (origin (method url-fetch) (uri (string-append "https://www.ece.uvic.ca/~frodo/jasper" "/software/jasper-" version ".tar.gz")) (sha256 (base32 - "0nmy5248gar057s94a30fssvq70m3jy4vdrfcispvn01ih33fa19")))) + "0wgrz6970sf8apyld35vrxamzx46fq15l0ipkvjsjlbwfrhj57rl")))) (build-system gnu-build-system) (arguments '(#:make-flags '("CFLAGS=-std=c99"))) ; 1.900.13 added c++ style comments From 7500e42b3e51fa9ba5fb2ba552f168081b7f044a Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Thu, 27 Oct 2016 20:07:05 +0200 Subject: [PATCH 27/27] gnu: Add r-mutationalpatterns. * gnu/packages/bioinformatics.scm (r-mutationalpatterns): New variable. --- gnu/packages/bioinformatics.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index fa35531868..4e9397e14e 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7394,6 +7394,39 @@ (define-public rcas-web @dfn{RNA-centric annotation system} (RCAS).") (license license:agpl3+))) +(define-public r-mutationalpatterns + (package + (name "r-mutationalpatterns") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "MutationalPatterns" version)) + (sha256 + (base32 + "1a3c2bm0xx0q4gf98jiw74msmdf2fr8rbsdysd5ww9kqlzmsbr17")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biostrings" ,r-biostrings) + ("r-genomicranges" ,r-genomicranges) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-iranges" ,r-iranges) + ("r-nmf" ,r-nmf) + ("r-plyr" ,r-plyr) + ("r-pracma" ,r-pracma) + ("r-reshape2" ,r-reshape2) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-variantannotation" ,r-variantannotation))) + (home-page "http://bioconductor.org/packages/MutationalPatterns/") + (synopsis "Extract and visualize mutational patterns in genomic data") + (description "This package provides an extensive toolset for the +characterization and visualization of a wide range of mutational patterns +in SNV base substitution data.") + (license license:expat))) + (define-public emboss (package (name "emboss")